From 744647e78a8b662479cfda36245547878eb774b3 Mon Sep 17 00:00:00 2001 From: Michelle Blanchette Date: Thu, 5 Oct 2023 11:16:08 -0400 Subject: [PATCH] update plugins --- .../PostmanEmailQueryLog.php | 6 +- .../PostmanSendTestEmailController.php | 2 +- .../post-smtp/Postman/PostmanEmailLogs.php | 2 +- .../Postman/PostmanViewController.php | 30 +- wp-content/plugins/post-smtp/postman-smtp.php | 6 +- wp-content/plugins/post-smtp/readme.txt | 10 +- .../plugins/post-smtp/style/testEmail.html | 2 +- ... => activity-report-widget.1695657196.css} | 0 ...iff.1690810710.css => diff.1695657196.css} | 0 ....1690810710.css => fullLog.1695657196.css} | 0 ...f.1690810710.css => iptraf.1695657196.css} | 0 ...jquery-ui-timepicker-addon.1695657196.css} | 0 ...10710.css => jquery-ui.min.1695657196.css} | 0 ...=> jquery-ui.structure.min.1695657196.css} | 0 ...css => jquery-ui.theme.min.1695657196.css} | 0 ...0810710.css => care-global.1695657196.css} | 0 ...are.1690810710.css => care.1695657196.css} | 0 ...0810710.css => free-global.1695657196.css} | 0 ...ree.1690810710.css => free.1695657196.css} | 0 ...0710.css => premium-global.1695657196.css} | 0 ....1690810710.css => premium.1695657196.css} | 0 ...710.css => response-global.1695657196.css} | 0 ....css => response-variables.1695657196.css} | 0 ...1690810710.css => response.1695657196.css} | 0 ...ain.1690810710.css => main.1695657196.css} | 0 ....1690810710.css => phpinfo.1695657196.css} | 0 ...0810710.css => wf-adminbar.1695657196.css} | 0 ...0810710.css => wf-colorbox.1695657196.css} | 0 ...710.css => wf-font-awesome.1695657196.css} | 0 ...690810710.css => wf-global.1695657196.css} | 0 ...0810710.css => wf-ionicons.1695657196.css} | 0 ...10710.css => wf-onboarding.1695657196.css} | 0 ...0710.css => wf-roboto-font.1695657196.css} | 0 ...10710.css => wfselect2.min.1695657196.css} | 0 ...810710.css => wordfenceBox.1695657196.css} | 0 ...dmin.1690810710.js => admin.1695657196.js} | 17 + ...710.js => admin.ajaxWatcher.1695657196.js} | 0 ...710.js => admin.liveTraffic.1695657196.js} | 0 ....1690810710.js => chart.umd.1695657196.js} | 0 ...{date.1690810710.js => date.1695657196.js} | 0 ... jquery-ui-timepicker-addon.1695657196.js} | 0 ...0.js => jquery.colorbox-min.1695657196.js} | 0 ...10710.js => jquery.colorbox.1695657196.js} | 0 ...710.js => jquery.qrcode.min.1695657196.js} | 0 ...10710.js => jquery.tmpl.min.1695657196.js} | 0 ...810710.js => knockout-3.5.1.1695657196.js} | 0 ...690810710.js => wfdashboard.1695657196.js} | 0 ...1690810710.js => wfdropdown.1695657196.js} | 0 ...l.1690810710.js => wfglobal.1695657196.js} | 0 ...18n.1690810710.js => wfi18n.1695657196.js} | 0 ...90810710.js => wfonboarding.1695657196.js} | 0 ....1690810710.js => wfpopover.1695657196.js} | 0 ...0810710.js => wfselect2.min.1695657196.js} | 0 .../plugins/wordfence/languages/wordfence.pot | 409 +- .../plugins/wordfence/lib/menu_scanner.php | 1 + wp-content/plugins/wordfence/lib/wfIssues.php | 9 +- .../plugins/wordfence/lib/wfScanEngine.php | 108 +- .../plugins/wordfence/lib/wfScanMonitor.php | 2 +- .../wordfence/lib/wfSupportController.php | 2 + .../plugins/wordfence/lib/wfUpdateCheck.php | 39 +- .../wordfence/lib/wfVersionSupport.php | 2 +- .../plugins/wordfence/lib/wordfenceClass.php | 31 +- ...810710.css => admin-global.1695657196.css} | 0 ...in.1690810710.css => admin.1695657196.css} | 0 ...1690810710.css => colorbox.1695657196.css} | 0 ...1690810710.css => embedded.1695657196.css} | 0 ...810710.css => font-awesome.1695657196.css} | 0 ...1690810710.css => ionicons.1695657196.css} | 0 ...10710.css => jquery-ui.min.1695657196.css} | 0 ...=> jquery-ui.structure.min.1695657196.css} | 0 ...css => jquery-ui.theme.min.1695657196.css} | 0 ...in.1690810710.css => login.1695657196.css} | 0 ...css => woocommerce-account.1695657196.css} | 0 ...90810710.js => admin-global.1695657196.js} | 0 ...dmin.1690810710.js => admin.1695657196.js} | 0 ....1690810710.js => chart.umd.1695657196.js} | 0 ...10710.js => jquery.colorbox.1695657196.js} | 0 ...0.js => jquery.colorbox.min.1695657196.js} | 0 ...710.js => jquery.qrcode.min.1695657196.js} | 0 ...10710.js => jquery.tmpl.min.1695657196.js} | 0 ...ogin.1690810710.js => login.1695657196.js} | 0 .../wordfence-login-security.php | 2 +- wp-content/plugins/wordfence/readme.txt | 12 +- .../wordfence/wf-waf/src/lib/storage/file.php | 3 +- .../vendor/wordfence/wf-waf/src/lib/utils.php | 5 +- .../vendor/wordfence/wf-waf/src/lib/waf.php | 9 + .../scanner/issue-suspiciousAdminUsers.php | 1 + .../views/scanner/issue-wfUpgradeError.php | 22 + .../plugins/wordfence/waf/bootstrap.php | 19 +- wp-content/plugins/wordfence/wordfence.php | 6 +- ...lass-admin-asset-yoast-components-l10n.php | 78 - .../admin/class-gutenberg-compatibility.php | 4 +- ...demy-2120-rtl.css => academy-2130-rtl.css} | 0 .../{academy-2120.css => academy-2130.css} | 0 ...2120-rtl.css => admin-global-2130-rtl.css} | 0 ...-global-2120.css => admin-global-2130.css} | 0 .../css/dist/adminbar-2120-rtl.css | 1 - .../wordpress-seo/css/dist/adminbar-2120.css | 1 - .../css/dist/adminbar-2130-rtl.css | 1 + .../wordpress-seo/css/dist/adminbar-2130.css | 1 + ...2120-rtl.css => ai-generator-2130-rtl.css} | 0 ...nerator-2120.css => ai-generator-2130.css} | 0 ...lerts-2120-rtl.css => alerts-2130-rtl.css} | 0 .../dist/{alerts-2120.css => alerts-2130.css} | 0 ...rd-2120-rtl.css => dashboard-2130-rtl.css} | 0 ...{dashboard-2120.css => dashboard-2130.css} | 0 ...ge-2120-rtl.css => edit-page-2130-rtl.css} | 0 ...{edit-page-2120.css => edit-page-2130.css} | 0 ...or-2120-rtl.css => elementor-2130-rtl.css} | 0 ...{elementor-2120.css => elementor-2130.css} | 0 ...20-rtl.css => featured-image-2130-rtl.css} | 0 ...image-2120.css => featured-image-2130.css} | 0 ...tl.css => filter-explanation-2130-rtl.css} | 0 ...n-2120.css => filter-explanation-2130.css} | 0 ... => first-time-configuration-2130-rtl.css} | 0 ....css => first-time-configuration-2130.css} | 0 ...{icons-2120-rtl.css => icons-2130-rtl.css} | 0 .../dist/{icons-2120.css => icons-2130.css} | 0 ...120-rtl.css => inside-editor-2130-rtl.css} | 0 ...editor-2120.css => inside-editor-2130.css} | 0 ...120-rtl.css => introductions-2130-rtl.css} | 0 ...ctions-2120.css => introductions-2130.css} | 0 ...abox-2120-rtl.css => metabox-2130-rtl.css} | 0 .../{metabox-2120.css => metabox-2130.css} | 0 ... => metabox-primary-category-2130-rtl.css} | 0 ....css => metabox-primary-category-2130.css} | 0 ...{modal-2120-rtl.css => modal-2130-rtl.css} | 0 .../dist/{modal-2120.css => modal-2130.css} | 0 ...epo-2120-rtl.css => monorepo-2130-rtl.css} | 0 .../{monorepo-2120.css => monorepo-2130.css} | 0 ...2120-rtl.css => new-settings-2130-rtl.css} | 0 ...ettings-2120.css => new-settings-2130.css} | 0 ...120-rtl.css => notifications-2130-rtl.css} | 0 ...ations-2120.css => notifications-2130.css} | 0 ...n-2120-rtl.css => score_icon-2130-rtl.css} | 0 ...core_icon-2120.css => score_icon-2130.css} | 0 ...ss => structured-data-blocks-2130-rtl.css} | 0 ...20.css => structured-data-blocks-2130.css} | 0 ...port-2120-rtl.css => support-2130-rtl.css} | 0 .../{support-2120.css => support-2130.css} | 0 ...ind-2120-rtl.css => tailwind-2130-rtl.css} | 0 .../{tailwind-2120.css => tailwind-2130.css} | 0 ...120-rtl.css => toggle-switch-2130-rtl.css} | 0 ...switch-2120.css => toggle-switch-2130.css} | 0 ...ips-2120-rtl.css => tooltips-2130-rtl.css} | 0 .../{tooltips-2120.css => tooltips-2130.css} | 0 ...uts-2120-rtl.css => workouts-2130-rtl.css} | 0 .../{workouts-2120.css => workouts-2130.css} | 0 ...rtl.css => wpseo-dismissible-2130-rtl.css} | 0 ...le-2120.css => wpseo-dismissible-2130.css} | 0 ...-rtl.css => yoast-extensions-2130-rtl.css} | 0 ...ons-2120.css => yoast-extensions-2130.css} | 0 ...-rtl.css => yst_plugin_tools-2130-rtl.css} | 0 ...ols-2120.css => yst_plugin_tools-2130.css} | 0 ...120-rtl.css => yst_seo_score-2130-rtl.css} | 0 ..._score-2120.css => yst_seo_score-2130.css} | 0 .../inc/sitemaps/class-sitemaps.php | 20 - .../inc/wpseo-functions-deprecated.php | 14 - .../wordpress-seo/js/dist/block-editor.js | 2 +- .../wordpress-seo/js/dist/classic-editor.js | 2 +- .../wordpress-seo/js/dist/elementor.js | 2 +- .../js/dist/externals/analysis.js | 74 +- .../wordpress-seo/js/dist/post-edit.js | 2 +- wp-content/plugins/wordpress-seo/readme.txt | 33 +- .../src/builders/indexable-link-builder.php | 161 +- .../admin/ryte/class-ryte-option.php | 169 - .../admin/ryte/class-ryte-request.php | 34 - .../src/deprecated/admin/ryte/class-ryte.php | 284 - .../configuration-workout-action.php | 11 - .../front-end-inspector-conditional.php | 23 - .../japanese-support-conditional.php | 26 - .../integrations/admin/ryte-integration.php | 163 - .../auto-update-notification-presenter.php | 42 - .../routes/configuration-workout-route.php | 188 - .../src/services/health-check/curl-check.php | 53 - .../services/health-check/curl-reports.php | 74 - .../src/services/health-check/curl-runner.php | 113 - .../src/services/health-check/ryte-check.php | 56 - .../services/health-check/ryte-reports.php | 93 - .../src/services/health-check/ryte-runner.php | 114 - .../plugins/wordpress-seo/src/functions.php | 2 - .../src/generated/assets/externals.php | 2 +- .../src/generated/assets/plugin.php | 2 +- .../wordpress-seo/src/generated/container.php | 16 - .../src/helpers/image-helper.php | 3 +- .../plugins/wordpress-seo/vendor/autoload.php | 2 +- .../vendor/composer/InstalledVersions.php | 13 +- .../vendor/composer/autoload_classmap.php | 46 +- .../vendor/composer/autoload_real.php | 8 +- .../vendor/composer/autoload_static.php | 54 +- .../vendor/composer/installed.php | 22 +- .../guzzlehttp/guzzle/src/BodySummarizer.php | 23 + .../guzzle/src/BodySummarizerInterface.php | 12 + .../guzzlehttp/guzzle/src/Client.php | 180 +- .../guzzlehttp/guzzle/src/ClientInterface.php | 22 +- .../guzzlehttp/guzzle/src/ClientTrait.php | 227 + .../guzzle/src/Cookie/CookieJar.php | 85 +- .../guzzle/src/Cookie/CookieJarInterface.php | 20 +- .../guzzle/src/Cookie/FileCookieJar.php | 36 +- .../guzzle/src/Cookie/SessionCookieJar.php | 26 +- .../guzzle/src/Cookie/SetCookie.php | 217 +- .../src/Exception/BadResponseException.php | 20 +- .../guzzle/src/Exception/ConnectException.php | 34 +- .../guzzle/src/Exception/GuzzleException.php | 21 +- .../guzzle/src/Exception/RequestException.php | 85 +- .../guzzle/src/Exception/SeekException.php | 25 - .../guzzle/src/Handler/CurlFactory.php | 200 +- .../src/Handler/CurlFactoryInterface.php | 7 +- .../guzzle/src/Handler/CurlHandler.php | 16 +- .../guzzle/src/Handler/CurlMultiHandler.php | 101 +- .../guzzle/src/Handler/EasyHandle.php | 60 +- .../guzzle/src/Handler/HeaderProcessor.php | 36 + .../guzzle/src/Handler/MockHandler.php | 95 +- .../guzzlehttp/guzzle/src/Handler/Proxy.php | 23 +- .../guzzle/src/Handler/StreamHandler.php | 246 +- .../guzzlehttp/guzzle/src/HandlerStack.php | 115 +- .../guzzle/src/MessageFormatter.php | 54 +- .../guzzle/src/MessageFormatterInterface.php | 17 + .../guzzlehttp/guzzle/src/Middleware.php | 108 +- .../guzzlehttp/guzzle/src/Pool.php | 43 +- .../guzzle/src/PrepareBodyMiddleware.php | 27 +- .../guzzle/src/RedirectMiddleware.php | 76 +- .../guzzlehttp/guzzle/src/RequestOptions.php | 77 +- .../guzzlehttp/guzzle/src/RetryMiddleware.php | 72 +- .../guzzlehttp/guzzle/src/TransferStats.php | 44 +- .../guzzlehttp/guzzle/src/UriTemplate.php | 191 - .../guzzlehttp/guzzle/src/Utils.php | 320 +- .../guzzlehttp/guzzle/src/functions.php | 242 +- .../guzzle/src/functions_include.php | 2 +- .../promises/src/AggregateException.php | 3 +- .../promises/src/CancellationException.php | 1 + .../guzzlehttp/promises/src/Coroutine.php | 38 +- .../guzzlehttp/promises/src/Create.php | 19 +- .../guzzlehttp/promises/src/Each.php | 15 +- .../guzzlehttp/promises/src/EachPromise.php | 40 +- .../promises/src/FulfilledPromise.php | 28 +- .../guzzlehttp/promises/src/Is.php | 17 +- .../guzzlehttp/promises/src/Promise.php | 41 +- .../promises/src/PromiseInterface.php | 33 +- .../promises/src/PromisorInterface.php | 5 +- .../promises/src/RejectedPromise.php | 29 +- .../promises/src/RejectionException.php | 7 +- .../guzzlehttp/promises/src/TaskQueue.php | 15 +- .../promises/src/TaskQueueInterface.php | 9 +- .../guzzlehttp/promises/src/Utils.php | 62 +- .../guzzlehttp/promises/src/functions.php | 334 - .../promises/src/functions_include.php | 8 - .../guzzlehttp/psr7/src/AppendStream.php | 60 +- .../guzzlehttp/psr7/src/BufferStream.php | 45 +- .../guzzlehttp/psr7/src/CachingStream.php | 34 +- .../guzzlehttp/psr7/src/DroppingStream.php | 12 +- .../src/Exception/MalformedUriException.php | 12 + .../guzzlehttp/psr7/src/FnStream.php | 68 +- .../guzzlehttp/psr7/src/Header.php | 101 +- .../guzzlehttp/psr7/src/HttpFactory.php | 76 + .../guzzlehttp/psr7/src/InflateStream.php | 46 +- .../guzzlehttp/psr7/src/LazyOpenStream.php | 20 +- .../guzzlehttp/psr7/src/LimitStream.php | 32 +- .../guzzlehttp/psr7/src/Message.php | 40 +- .../guzzlehttp/psr7/src/MessageTrait.php | 57 +- .../guzzlehttp/psr7/src/MimeType.php | 20 +- .../guzzlehttp/psr7/src/MultipartStream.php | 47 +- .../guzzlehttp/psr7/src/NoSeekStream.php | 11 +- .../guzzlehttp/psr7/src/PumpStream.php | 72 +- .../guzzlehttp/psr7/src/Query.php | 23 +- .../guzzlehttp/psr7/src/Request.php | 26 +- .../guzzlehttp/psr7/src/Response.php | 36 +- .../guzzlehttp/psr7/src/Rfc7230.php | 13 +- .../guzzlehttp/psr7/src/ServerRequest.php | 96 +- .../guzzlehttp/psr7/src/Stream.php | 78 +- .../psr7/src/StreamDecoratorTrait.php | 59 +- .../guzzlehttp/psr7/src/StreamWrapper.php | 43 +- .../guzzlehttp/psr7/src/UploadedFile.php | 157 +- .../guzzlehttp/psr7/src/Uri.php | 288 +- .../guzzlehttp/psr7/src/UriComparator.php | 10 +- .../guzzlehttp/psr7/src/UriNormalizer.php | 40 +- .../guzzlehttp/psr7/src/UriResolver.php | 30 +- .../guzzlehttp/psr7/src/Utils.php | 104 +- .../guzzlehttp/psr7/src/functions.php | 400 -- .../guzzlehttp/psr7/src/functions_include.php | 8 - .../src/Provider/AbstractProvider.php | 82 +- .../Exception/IdentityProviderException.php | 4 +- .../src/Provider/GenericProvider.php | 13 +- .../src/ClientExceptionInterface.php | 10 + .../psr/http-client/src/ClientInterface.php | 19 + .../src/NetworkExceptionInterface.php | 23 + .../src/RequestExceptionInterface.php | 23 + .../src/RequestFactoryInterface.php | 18 + .../src/ResponseFactoryInterface.php | 18 + .../src/ServerRequestFactoryInterface.php | 24 + .../src/StreamFactoryInterface.php | 43 + .../src/UploadedFileFactoryInterface.php | 28 + .../http-factory/src/UriFactoryInterface.php | 17 + .../psr/http-message/src/MessageInterface.php | 22 +- .../psr/http-message/src/RequestInterface.php | 14 +- .../http-message/src/ResponseInterface.php | 6 +- .../src/ServerRequestInterface.php | 24 +- .../psr/http-message/src/StreamInterface.php | 30 +- .../src/UploadedFileInterface.php | 12 +- .../psr/http-message/src/UriInterface.php | 32 +- .../psr/log/Psr/Log/AbstractLogger.php | 32 +- .../psr/log/Psr/Log/LoggerAwareTrait.php | 2 +- .../psr/log/Psr/Log/LoggerInterface.php | 40 +- .../psr/log/Psr/Log/LoggerTrait.php | 2 + .../psr/log/Psr/Log/NullLogger.php | 2 + .../deprecation-contracts/function.php | 27 + .../app/Config/OptionsConfig.php | 2 +- .../app/Controllers/CertificateController.php | 8 +- .../app/Controllers/IdentityController.php | 56 + .../app/Controllers/RestApiController.php | 12 + .../app/Helpers/AuthenticationHelper.php | 2 + .../app/Support/Authentication.php | 5 +- .../wordpress-sdk/app/WordPressSDK.php | 2 +- .../build/wordproof-block-editor.js | 4 +- .../build/wordproof-classic-editor.js | 2 +- .../build/wordproof-elementor-editor.js | 2 +- .../plugins/wordpress-seo/wp-seo-main.php | 13 +- wp-content/plugins/wordpress-seo/wp-seo.php | 4 +- .../wp-rocket/assets/js/lazyload-css.js | 6 +- .../wp-rocket/assets/js/lazyload-css.min.js | 2 +- .../assets/js/lazyload-css.min.js.map | 2 +- wp-content/plugins/wp-rocket/composer.lock | 81 +- .../wp-rocket/dynamic-lists-delayjs.json | 2 +- .../Metaboxes/PostEditOptionsSubscriber.php | 207 + .../inc/Engine/Admin/ServiceProvider.php | 9 +- .../inc/Engine/CDN/Admin/Subscriber.php | 32 + .../inc/Engine/CDN/ServiceProvider.php | 4 + .../Engine/Cache/PurgeActionsSubscriber.php | 16 +- .../Engine/Common/Queue/RUCSSQueueRunner.php | 16 +- .../Engine/CriticalPath/Admin/Subscriber.php | 15 + .../inc/Engine/Deactivation/Deactivation.php | 13 +- .../Engine/Deactivation/ServiceProvider.php | 12 + .../Engine/Media/Lazyload/AdminSubscriber.php | 16 + .../Media/Lazyload/CSS/Admin/Subscriber.php | 11 +- .../Lazyload/CSS/Front/MappingFormatter.php | 1 + .../Media/Lazyload/CanLazyloadTrait.php | 3 + .../Optimization/DeferJS/AdminSubscriber.php | 14 + .../Optimization/DelayJS/Admin/Subscriber.php | 16 +- .../DynamicLists/DynamicLists.php | 11 +- .../DynamicLists/ServiceProvider.php | 1 + .../Optimization/Minify/AdminSubscriber.php | 15 +- .../Minify/CSS/AdminSubscriber.php | 23 +- .../RUCSS/Admin/OptionSubscriber.php | 78 + .../Optimization/RUCSS/Admin/Subscriber.php | 28 - .../Optimization/RUCSS/Controller/UsedCSS.php | 27 +- .../RUCSS/Database/Queries/UsedCSS.php | 20 +- .../Optimization/RUCSS/ServiceProvider.php | 8 +- wp-content/plugins/wp-rocket/inc/Plugin.php | 4 + .../inc/ThirdParty/Hostings/SpinUpWP.php | 62 +- .../inc/ThirdParty/Plugins/CDN/Cloudflare.php | 54 +- .../inc/ThirdParty/Themes/ServiceProvider.php | 2 + .../inc/ThirdParty/Themes/Shoptimizer.php | 56 + .../wp-rocket/inc/admin/ui/meta-boxes.php | 198 - .../plugins/wp-rocket/inc/admin/upgrader.php | 2 - .../plugins/wp-rocket/inc/deprecated/3.15.php | 179 + wp-content/plugins/wp-rocket/inc/main.php | 1 + .../wp-rocket/languages/rocket-de_DE.mo | Bin 109532 -> 110474 bytes .../wp-rocket/languages/rocket-de_DE.po | 5636 +++++++++-------- .../wp-rocket/languages/rocket-fa_IR.mo | Bin 132195 -> 131830 bytes .../wp-rocket/languages/rocket-fa_IR.po | 5451 ++++++++-------- .../wp-rocket/languages/rocket-fr_FR.mo | Bin 114523 -> 114514 bytes .../wp-rocket/languages/rocket-fr_FR.po | 4 +- .../wp-rocket/languages/rocket-pt_BR.mo | Bin 112213 -> 111885 bytes .../wp-rocket/languages/rocket-pt_BR.po | 256 +- .../wp-rocket/languages/rocket-pt_PT.mo | Bin 113204 -> 112786 bytes .../wp-rocket/languages/rocket-pt_PT.po | 5594 ++++++++-------- .../wp-rocket/languages/rocket-tr_TR.mo | Bin 113822 -> 113418 bytes .../wp-rocket/languages/rocket-tr_TR.po | 5552 ++++++++-------- .../plugins/wp-rocket/languages/rocket.pot | 191 +- .../plugins/wp-rocket/vendor/autoload.php | 2 +- .../vendor/composer/autoload_classmap.php | 4 + .../vendor/composer/autoload_real.php | 8 +- .../vendor/composer/autoload_static.php | 14 +- .../views/metaboxes/post_edit_options.php | 49 + wp-content/plugins/wp-rocket/wp-rocket.php | 6 +- 375 files changed, 16629 insertions(+), 16903 deletions(-) rename wp-content/plugins/wordfence/css/{activity-report-widget.1690810710.css => activity-report-widget.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{diff.1690810710.css => diff.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{fullLog.1690810710.css => fullLog.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{iptraf.1690810710.css => iptraf.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{jquery-ui-timepicker-addon.1690810710.css => jquery-ui-timepicker-addon.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{jquery-ui.min.1690810710.css => jquery-ui.min.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{jquery-ui.structure.min.1690810710.css => jquery-ui.structure.min.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{jquery-ui.theme.min.1690810710.css => jquery-ui.theme.min.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/license/{care-global.1690810710.css => care-global.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/license/{care.1690810710.css => care.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/license/{free-global.1690810710.css => free-global.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/license/{free.1690810710.css => free.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/license/{premium-global.1690810710.css => premium-global.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/license/{premium.1690810710.css => premium.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/license/{response-global.1690810710.css => response-global.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/license/{response-variables.1690810710.css => response-variables.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/license/{response.1690810710.css => response.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{main.1690810710.css => main.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{phpinfo.1690810710.css => phpinfo.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{wf-adminbar.1690810710.css => wf-adminbar.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{wf-colorbox.1690810710.css => wf-colorbox.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{wf-font-awesome.1690810710.css => wf-font-awesome.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{wf-global.1690810710.css => wf-global.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{wf-ionicons.1690810710.css => wf-ionicons.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{wf-onboarding.1690810710.css => wf-onboarding.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{wf-roboto-font.1690810710.css => wf-roboto-font.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{wfselect2.min.1690810710.css => wfselect2.min.1695657196.css} (100%) rename wp-content/plugins/wordfence/css/{wordfenceBox.1690810710.css => wordfenceBox.1695657196.css} (100%) rename wp-content/plugins/wordfence/js/{admin.1690810710.js => admin.1695657196.js} (99%) rename wp-content/plugins/wordfence/js/{admin.ajaxWatcher.1690810710.js => admin.ajaxWatcher.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{admin.liveTraffic.1690810710.js => admin.liveTraffic.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{chart.umd.1690810710.js => chart.umd.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{date.1690810710.js => date.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{jquery-ui-timepicker-addon.1690810710.js => jquery-ui-timepicker-addon.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{jquery.colorbox-min.1690810710.js => jquery.colorbox-min.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{jquery.colorbox.1690810710.js => jquery.colorbox.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{jquery.qrcode.min.1690810710.js => jquery.qrcode.min.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{jquery.tmpl.min.1690810710.js => jquery.tmpl.min.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{knockout-3.5.1.1690810710.js => knockout-3.5.1.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{wfdashboard.1690810710.js => wfdashboard.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{wfdropdown.1690810710.js => wfdropdown.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{wfglobal.1690810710.js => wfglobal.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{wfi18n.1690810710.js => wfi18n.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{wfonboarding.1690810710.js => wfonboarding.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{wfpopover.1690810710.js => wfpopover.1695657196.js} (100%) rename wp-content/plugins/wordfence/js/{wfselect2.min.1690810710.js => wfselect2.min.1695657196.js} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{admin-global.1690810710.css => admin-global.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{admin.1690810710.css => admin.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{colorbox.1690810710.css => colorbox.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{embedded.1690810710.css => embedded.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{font-awesome.1690810710.css => font-awesome.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{ionicons.1690810710.css => ionicons.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{jquery-ui.min.1690810710.css => jquery-ui.min.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{jquery-ui.structure.min.1690810710.css => jquery-ui.structure.min.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{jquery-ui.theme.min.1690810710.css => jquery-ui.theme.min.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{login.1690810710.css => login.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/css/{woocommerce-account.1690810710.css => woocommerce-account.1695657196.css} (100%) rename wp-content/plugins/wordfence/modules/login-security/js/{admin-global.1690810710.js => admin-global.1695657196.js} (100%) rename wp-content/plugins/wordfence/modules/login-security/js/{admin.1690810710.js => admin.1695657196.js} (100%) rename wp-content/plugins/wordfence/modules/login-security/js/{chart.umd.1690810710.js => chart.umd.1695657196.js} (100%) rename wp-content/plugins/wordfence/modules/login-security/js/{jquery.colorbox.1690810710.js => jquery.colorbox.1695657196.js} (100%) rename wp-content/plugins/wordfence/modules/login-security/js/{jquery.colorbox.min.1690810710.js => jquery.colorbox.min.1695657196.js} (100%) rename wp-content/plugins/wordfence/modules/login-security/js/{jquery.qrcode.min.1690810710.js => jquery.qrcode.min.1695657196.js} (100%) rename wp-content/plugins/wordfence/modules/login-security/js/{jquery.tmpl.min.1690810710.js => jquery.tmpl.min.1695657196.js} (100%) rename wp-content/plugins/wordfence/modules/login-security/js/{login.1690810710.js => login.1695657196.js} (100%) create mode 100755 wp-content/plugins/wordfence/views/scanner/issue-wfUpgradeError.php delete mode 100755 wp-content/plugins/wordpress-seo/admin/class-admin-asset-yoast-components-l10n.php rename wp-content/plugins/wordpress-seo/css/dist/{academy-2120-rtl.css => academy-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{academy-2120.css => academy-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{admin-global-2120-rtl.css => admin-global-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{admin-global-2120.css => admin-global-2130.css} (100%) delete mode 100755 wp-content/plugins/wordpress-seo/css/dist/adminbar-2120-rtl.css delete mode 100755 wp-content/plugins/wordpress-seo/css/dist/adminbar-2120.css create mode 100755 wp-content/plugins/wordpress-seo/css/dist/adminbar-2130-rtl.css create mode 100755 wp-content/plugins/wordpress-seo/css/dist/adminbar-2130.css rename wp-content/plugins/wordpress-seo/css/dist/{ai-generator-2120-rtl.css => ai-generator-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{ai-generator-2120.css => ai-generator-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{alerts-2120-rtl.css => alerts-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{alerts-2120.css => alerts-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{dashboard-2120-rtl.css => dashboard-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{dashboard-2120.css => dashboard-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{edit-page-2120-rtl.css => edit-page-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{edit-page-2120.css => edit-page-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{elementor-2120-rtl.css => elementor-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{elementor-2120.css => elementor-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{featured-image-2120-rtl.css => featured-image-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{featured-image-2120.css => featured-image-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{filter-explanation-2120-rtl.css => filter-explanation-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{filter-explanation-2120.css => filter-explanation-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{first-time-configuration-2120-rtl.css => first-time-configuration-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{first-time-configuration-2120.css => first-time-configuration-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{icons-2120-rtl.css => icons-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{icons-2120.css => icons-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{inside-editor-2120-rtl.css => inside-editor-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{inside-editor-2120.css => inside-editor-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{introductions-2120-rtl.css => introductions-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{introductions-2120.css => introductions-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{metabox-2120-rtl.css => metabox-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{metabox-2120.css => metabox-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{metabox-primary-category-2120-rtl.css => metabox-primary-category-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{metabox-primary-category-2120.css => metabox-primary-category-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{modal-2120-rtl.css => modal-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{modal-2120.css => modal-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{monorepo-2120-rtl.css => monorepo-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{monorepo-2120.css => monorepo-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{new-settings-2120-rtl.css => new-settings-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{new-settings-2120.css => new-settings-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{notifications-2120-rtl.css => notifications-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{notifications-2120.css => notifications-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{score_icon-2120-rtl.css => score_icon-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{score_icon-2120.css => score_icon-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{structured-data-blocks-2120-rtl.css => structured-data-blocks-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{structured-data-blocks-2120.css => structured-data-blocks-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{support-2120-rtl.css => support-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{support-2120.css => support-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{tailwind-2120-rtl.css => tailwind-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{tailwind-2120.css => tailwind-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{toggle-switch-2120-rtl.css => toggle-switch-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{toggle-switch-2120.css => toggle-switch-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{tooltips-2120-rtl.css => tooltips-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{tooltips-2120.css => tooltips-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{workouts-2120-rtl.css => workouts-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{workouts-2120.css => workouts-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{wpseo-dismissible-2120-rtl.css => wpseo-dismissible-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{wpseo-dismissible-2120.css => wpseo-dismissible-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{yoast-extensions-2120-rtl.css => yoast-extensions-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{yoast-extensions-2120.css => yoast-extensions-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{yst_plugin_tools-2120-rtl.css => yst_plugin_tools-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{yst_plugin_tools-2120.css => yst_plugin_tools-2130.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{yst_seo_score-2120-rtl.css => yst_seo_score-2130-rtl.css} (100%) rename wp-content/plugins/wordpress-seo/css/dist/{yst_seo_score-2120.css => yst_seo_score-2130.css} (100%) delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte-option.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte-request.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/actions/configuration/configuration-workout-action.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/conditionals/front-end-inspector-conditional.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/conditionals/japanese-support-conditional.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/integrations/admin/ryte-integration.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/presenters/admin/auto-update-notification-presenter.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/routes/configuration-workout-route.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/curl-check.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/curl-reports.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/curl-runner.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/ryte-check.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/ryte-reports.php delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/ryte-runner.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions.php delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions_include.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions.php delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions_include.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/ClientInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/NetworkExceptionInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/RequestExceptionInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/RequestFactoryInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/ResponseFactoryInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/ServerRequestFactoryInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/StreamFactoryInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/UploadedFileFactoryInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/UriFactoryInterface.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/symfony/deprecation-contracts/function.php create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php create mode 100755 wp-content/plugins/wp-rocket/inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php create mode 100755 wp-content/plugins/wp-rocket/inc/Engine/CDN/Admin/Subscriber.php create mode 100755 wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php create mode 100755 wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/Shoptimizer.php create mode 100755 wp-content/plugins/wp-rocket/inc/deprecated/3.15.php create mode 100755 wp-content/plugins/wp-rocket/views/metaboxes/post_edit_options.php diff --git a/wp-content/plugins/post-smtp/Postman/Postman-Email-Log/PostmanEmailQueryLog.php b/wp-content/plugins/post-smtp/Postman/Postman-Email-Log/PostmanEmailQueryLog.php index fb1c94db4..f531c4857 100755 --- a/wp-content/plugins/post-smtp/Postman/Postman-Email-Log/PostmanEmailQueryLog.php +++ b/wp-content/plugins/post-smtp/Postman/Postman-Email-Log/PostmanEmailQueryLog.php @@ -280,7 +280,11 @@ public function get_log( $id, $columns = array() ) { $columns = empty( $columns ) ? '*' : implode( ',', $columns ); return $this->db->get_row( - "SELECT {$columns} FROM `{$this->table}` WHERE id = {$id};", + $this->db->prepare( + "SELECT {$columns} FROM %i WHERE id = %d", + $this->table, + $id + ), ARRAY_A ); diff --git a/wp-content/plugins/post-smtp/Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php b/wp-content/plugins/post-smtp/Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php index 09df8e738..f584cf819 100755 --- a/wp-content/plugins/post-smtp/Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php +++ b/wp-content/plugins/post-smtp/Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php @@ -423,7 +423,7 @@ private function createMessageContent() { ' ', ' ', ' ', - sprintf( '
%s: poofytoo.com - %s', $imageSource, $withPermission ), + sprintf( '
%s: poofytoo - %s', $imageSource, $withPermission ), ' ', ' ', ' ', diff --git a/wp-content/plugins/post-smtp/Postman/PostmanEmailLogs.php b/wp-content/plugins/post-smtp/Postman/PostmanEmailLogs.php index c59ae5d58..c7a97e57c 100755 --- a/wp-content/plugins/post-smtp/Postman/PostmanEmailLogs.php +++ b/wp-content/plugins/post-smtp/Postman/PostmanEmailLogs.php @@ -668,7 +668,7 @@ public function resend_email() { if( isset( $_POST['action'] ) && $_POST['action'] == 'ps-resend-email' ) { - $id = sanitize_text_field( $_POST['id'] ); + $id = intval( $_POST['id'] ); $response = ''; $email_query_log = new PostmanEmailQueryLog(); $log = $email_query_log->get_log( $id ); diff --git a/wp-content/plugins/post-smtp/Postman/PostmanViewController.php b/wp-content/plugins/post-smtp/Postman/PostmanViewController.php index 9096cff64..60ec0933b 100755 --- a/wp-content/plugins/post-smtp/Postman/PostmanViewController.php +++ b/wp-content/plugins/post-smtp/Postman/PostmanViewController.php @@ -373,33 +373,45 @@ public function outputDefaultContent() {

- + - +
- +
- + - +
- + - +
- + - + + +
+
+ + + + +
+
+ + +
diff --git a/wp-content/plugins/post-smtp/postman-smtp.php b/wp-content/plugins/post-smtp/postman-smtp.php index ab5f7a3ed..ff8e7c139 100755 --- a/wp-content/plugins/post-smtp/postman-smtp.php +++ b/wp-content/plugins/post-smtp/postman-smtp.php @@ -6,7 +6,7 @@ * Plugin Name: Post SMTP * Plugin URI: https://wordpress.org/plugins/post-smtp/ * Description: Email not reliable? Post SMTP is the first and only WordPress SMTP plugin to implement OAuth 2.0 for Gmail, Hotmail and Yahoo Mail. Setup is a breeze with the Configuration Wizard and integrated Port Tester. Enjoy worry-free delivery even if your password changes! - * Version: 2.6.0 + * Version: 2.6.1 * Author: Post SMTP * Text Domain: post-smtp * Author URI: https://postmansmtp.com @@ -48,7 +48,7 @@ function ps_fs() { 'type' => 'plugin', 'public_key' => 'pk_28fcefa3d0ae86f8cdf6b7f71c0cc', 'is_premium' => false, - 'has_addons' => true, + 'has_addons' => false, 'bundle_id' => '10910', 'bundle_public_key' => 'pk_c5110ef04ba30cd57dd970a269a1a', 'has_paid_plans' => true, @@ -102,7 +102,7 @@ function ps_fs_custom_icon() { define( 'POST_SMTP_BASE', __FILE__ ); define( 'POST_SMTP_PATH', __DIR__ ); define( 'POST_SMTP_URL', plugins_url('', POST_SMTP_BASE ) ); -define( 'POST_SMTP_VER', '2.6.0' ); +define( 'POST_SMTP_VER', '2.6.1' ); define( 'POST_SMTP_DB_VERSION', '1.0.1' ); define( 'POST_SMTP_ASSETS', plugin_dir_url( __FILE__ ) . 'assets/' ); diff --git a/wp-content/plugins/post-smtp/readme.txt b/wp-content/plugins/post-smtp/readme.txt index 493b3ab6d..1c4ad9c45 100755 --- a/wp-content/plugins/post-smtp/readme.txt +++ b/wp-content/plugins/post-smtp/readme.txt @@ -3,8 +3,8 @@ Plugin URI: https://wpexperts.io/ Contributors: wpexpertsio Tags: email, mail, smtp, wordpress smtp, email log, postman smtp, postman, gmail, google apps, hotmail, yahoo, mandrill api, sendgrid api, elastic email, office365, mailgun Requires at least: 5.6.0 -Tested up to: 6.3 -Stable tag: 2.6.0 +Tested up to: 6.3.1 +Stable tag: 2.6.1 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -306,6 +306,12 @@ To avoid being flagged as spam, you need to prove your email isn't forged. On a == Changelog == += 2.6.1 - 2023-10-03 = + +* Fix: Removed broken link from test email. +* Improvement: Improved SQL query to meet latest security standards. +* Improvement: Replaced sanitize_text_field() with intval() as suggested by WP Scan team. + = 2.6.0 - 2023-09-12 = **NEW** diff --git a/wp-content/plugins/post-smtp/style/testEmail.html b/wp-content/plugins/post-smtp/style/testEmail.html index 544b0e673..55d3d2697 100755 --- a/wp-content/plugins/post-smtp/style/testEmail.html +++ b/wp-content/plugins/post-smtp/style/testEmail.html @@ -30,7 +30,7 @@ -
Image source: poofytoo.com - Used with permission +
Image source: poofytoo - Used with permission diff --git a/wp-content/plugins/wordfence/css/activity-report-widget.1690810710.css b/wp-content/plugins/wordfence/css/activity-report-widget.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/activity-report-widget.1690810710.css rename to wp-content/plugins/wordfence/css/activity-report-widget.1695657196.css diff --git a/wp-content/plugins/wordfence/css/diff.1690810710.css b/wp-content/plugins/wordfence/css/diff.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/diff.1690810710.css rename to wp-content/plugins/wordfence/css/diff.1695657196.css diff --git a/wp-content/plugins/wordfence/css/fullLog.1690810710.css b/wp-content/plugins/wordfence/css/fullLog.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/fullLog.1690810710.css rename to wp-content/plugins/wordfence/css/fullLog.1695657196.css diff --git a/wp-content/plugins/wordfence/css/iptraf.1690810710.css b/wp-content/plugins/wordfence/css/iptraf.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/iptraf.1690810710.css rename to wp-content/plugins/wordfence/css/iptraf.1695657196.css diff --git a/wp-content/plugins/wordfence/css/jquery-ui-timepicker-addon.1690810710.css b/wp-content/plugins/wordfence/css/jquery-ui-timepicker-addon.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/jquery-ui-timepicker-addon.1690810710.css rename to wp-content/plugins/wordfence/css/jquery-ui-timepicker-addon.1695657196.css diff --git a/wp-content/plugins/wordfence/css/jquery-ui.min.1690810710.css b/wp-content/plugins/wordfence/css/jquery-ui.min.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/jquery-ui.min.1690810710.css rename to wp-content/plugins/wordfence/css/jquery-ui.min.1695657196.css diff --git a/wp-content/plugins/wordfence/css/jquery-ui.structure.min.1690810710.css b/wp-content/plugins/wordfence/css/jquery-ui.structure.min.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/jquery-ui.structure.min.1690810710.css rename to wp-content/plugins/wordfence/css/jquery-ui.structure.min.1695657196.css diff --git a/wp-content/plugins/wordfence/css/jquery-ui.theme.min.1690810710.css b/wp-content/plugins/wordfence/css/jquery-ui.theme.min.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/jquery-ui.theme.min.1690810710.css rename to wp-content/plugins/wordfence/css/jquery-ui.theme.min.1695657196.css diff --git a/wp-content/plugins/wordfence/css/license/care-global.1690810710.css b/wp-content/plugins/wordfence/css/license/care-global.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/license/care-global.1690810710.css rename to wp-content/plugins/wordfence/css/license/care-global.1695657196.css diff --git a/wp-content/plugins/wordfence/css/license/care.1690810710.css b/wp-content/plugins/wordfence/css/license/care.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/license/care.1690810710.css rename to wp-content/plugins/wordfence/css/license/care.1695657196.css diff --git a/wp-content/plugins/wordfence/css/license/free-global.1690810710.css b/wp-content/plugins/wordfence/css/license/free-global.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/license/free-global.1690810710.css rename to wp-content/plugins/wordfence/css/license/free-global.1695657196.css diff --git a/wp-content/plugins/wordfence/css/license/free.1690810710.css b/wp-content/plugins/wordfence/css/license/free.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/license/free.1690810710.css rename to wp-content/plugins/wordfence/css/license/free.1695657196.css diff --git a/wp-content/plugins/wordfence/css/license/premium-global.1690810710.css b/wp-content/plugins/wordfence/css/license/premium-global.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/license/premium-global.1690810710.css rename to wp-content/plugins/wordfence/css/license/premium-global.1695657196.css diff --git a/wp-content/plugins/wordfence/css/license/premium.1690810710.css b/wp-content/plugins/wordfence/css/license/premium.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/license/premium.1690810710.css rename to wp-content/plugins/wordfence/css/license/premium.1695657196.css diff --git a/wp-content/plugins/wordfence/css/license/response-global.1690810710.css b/wp-content/plugins/wordfence/css/license/response-global.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/license/response-global.1690810710.css rename to wp-content/plugins/wordfence/css/license/response-global.1695657196.css diff --git a/wp-content/plugins/wordfence/css/license/response-variables.1690810710.css b/wp-content/plugins/wordfence/css/license/response-variables.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/license/response-variables.1690810710.css rename to wp-content/plugins/wordfence/css/license/response-variables.1695657196.css diff --git a/wp-content/plugins/wordfence/css/license/response.1690810710.css b/wp-content/plugins/wordfence/css/license/response.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/license/response.1690810710.css rename to wp-content/plugins/wordfence/css/license/response.1695657196.css diff --git a/wp-content/plugins/wordfence/css/main.1690810710.css b/wp-content/plugins/wordfence/css/main.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/main.1690810710.css rename to wp-content/plugins/wordfence/css/main.1695657196.css diff --git a/wp-content/plugins/wordfence/css/phpinfo.1690810710.css b/wp-content/plugins/wordfence/css/phpinfo.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/phpinfo.1690810710.css rename to wp-content/plugins/wordfence/css/phpinfo.1695657196.css diff --git a/wp-content/plugins/wordfence/css/wf-adminbar.1690810710.css b/wp-content/plugins/wordfence/css/wf-adminbar.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/wf-adminbar.1690810710.css rename to wp-content/plugins/wordfence/css/wf-adminbar.1695657196.css diff --git a/wp-content/plugins/wordfence/css/wf-colorbox.1690810710.css b/wp-content/plugins/wordfence/css/wf-colorbox.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/wf-colorbox.1690810710.css rename to wp-content/plugins/wordfence/css/wf-colorbox.1695657196.css diff --git a/wp-content/plugins/wordfence/css/wf-font-awesome.1690810710.css b/wp-content/plugins/wordfence/css/wf-font-awesome.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/wf-font-awesome.1690810710.css rename to wp-content/plugins/wordfence/css/wf-font-awesome.1695657196.css diff --git a/wp-content/plugins/wordfence/css/wf-global.1690810710.css b/wp-content/plugins/wordfence/css/wf-global.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/wf-global.1690810710.css rename to wp-content/plugins/wordfence/css/wf-global.1695657196.css diff --git a/wp-content/plugins/wordfence/css/wf-ionicons.1690810710.css b/wp-content/plugins/wordfence/css/wf-ionicons.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/wf-ionicons.1690810710.css rename to wp-content/plugins/wordfence/css/wf-ionicons.1695657196.css diff --git a/wp-content/plugins/wordfence/css/wf-onboarding.1690810710.css b/wp-content/plugins/wordfence/css/wf-onboarding.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/wf-onboarding.1690810710.css rename to wp-content/plugins/wordfence/css/wf-onboarding.1695657196.css diff --git a/wp-content/plugins/wordfence/css/wf-roboto-font.1690810710.css b/wp-content/plugins/wordfence/css/wf-roboto-font.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/wf-roboto-font.1690810710.css rename to wp-content/plugins/wordfence/css/wf-roboto-font.1695657196.css diff --git a/wp-content/plugins/wordfence/css/wfselect2.min.1690810710.css b/wp-content/plugins/wordfence/css/wfselect2.min.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/wfselect2.min.1690810710.css rename to wp-content/plugins/wordfence/css/wfselect2.min.1695657196.css diff --git a/wp-content/plugins/wordfence/css/wordfenceBox.1690810710.css b/wp-content/plugins/wordfence/css/wordfenceBox.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/css/wordfenceBox.1690810710.css rename to wp-content/plugins/wordfence/css/wordfenceBox.1695657196.css diff --git a/wp-content/plugins/wordfence/js/admin.1690810710.js b/wp-content/plugins/wordfence/js/admin.1695657196.js similarity index 99% rename from wp-content/plugins/wordfence/js/admin.1690810710.js rename to wp-content/plugins/wordfence/js/admin.1695657196.js index 01dbb3450..b23273daa 100755 --- a/wp-content/plugins/wordfence/js/admin.1690810710.js +++ b/wp-content/plugins/wordfence/js/admin.1695657196.js @@ -3068,6 +3068,23 @@ } }); }, + + acknowledgeAdminUser: function (issueID) { + var self = this; + this.ajax('wordfence_acknowledgeAdminUser', { + issueID: issueID + }, function(res) { + if (res.ok) { + self.loadIssues(function() { + self.colorboxModal((self.isSmallScreen ? '300px' : '400px'), __("Successfully acknowledged admin"), sprintf(__("The admin user %s will no longer show up in future scans."), res.user_login)); + }); + } else if (res.errorMsg) { + self.loadIssues(function() { + WFAD.colorboxError(res.errorMsg, res.tokenInvalid); + }); + } + }); + }, windowHasFocus: function() { if (typeof document.hasFocus === 'function') { diff --git a/wp-content/plugins/wordfence/js/admin.ajaxWatcher.1690810710.js b/wp-content/plugins/wordfence/js/admin.ajaxWatcher.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/admin.ajaxWatcher.1690810710.js rename to wp-content/plugins/wordfence/js/admin.ajaxWatcher.1695657196.js diff --git a/wp-content/plugins/wordfence/js/admin.liveTraffic.1690810710.js b/wp-content/plugins/wordfence/js/admin.liveTraffic.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/admin.liveTraffic.1690810710.js rename to wp-content/plugins/wordfence/js/admin.liveTraffic.1695657196.js diff --git a/wp-content/plugins/wordfence/js/chart.umd.1690810710.js b/wp-content/plugins/wordfence/js/chart.umd.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/chart.umd.1690810710.js rename to wp-content/plugins/wordfence/js/chart.umd.1695657196.js diff --git a/wp-content/plugins/wordfence/js/date.1690810710.js b/wp-content/plugins/wordfence/js/date.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/date.1690810710.js rename to wp-content/plugins/wordfence/js/date.1695657196.js diff --git a/wp-content/plugins/wordfence/js/jquery-ui-timepicker-addon.1690810710.js b/wp-content/plugins/wordfence/js/jquery-ui-timepicker-addon.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/jquery-ui-timepicker-addon.1690810710.js rename to wp-content/plugins/wordfence/js/jquery-ui-timepicker-addon.1695657196.js diff --git a/wp-content/plugins/wordfence/js/jquery.colorbox-min.1690810710.js b/wp-content/plugins/wordfence/js/jquery.colorbox-min.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/jquery.colorbox-min.1690810710.js rename to wp-content/plugins/wordfence/js/jquery.colorbox-min.1695657196.js diff --git a/wp-content/plugins/wordfence/js/jquery.colorbox.1690810710.js b/wp-content/plugins/wordfence/js/jquery.colorbox.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/jquery.colorbox.1690810710.js rename to wp-content/plugins/wordfence/js/jquery.colorbox.1695657196.js diff --git a/wp-content/plugins/wordfence/js/jquery.qrcode.min.1690810710.js b/wp-content/plugins/wordfence/js/jquery.qrcode.min.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/jquery.qrcode.min.1690810710.js rename to wp-content/plugins/wordfence/js/jquery.qrcode.min.1695657196.js diff --git a/wp-content/plugins/wordfence/js/jquery.tmpl.min.1690810710.js b/wp-content/plugins/wordfence/js/jquery.tmpl.min.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/jquery.tmpl.min.1690810710.js rename to wp-content/plugins/wordfence/js/jquery.tmpl.min.1695657196.js diff --git a/wp-content/plugins/wordfence/js/knockout-3.5.1.1690810710.js b/wp-content/plugins/wordfence/js/knockout-3.5.1.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/knockout-3.5.1.1690810710.js rename to wp-content/plugins/wordfence/js/knockout-3.5.1.1695657196.js diff --git a/wp-content/plugins/wordfence/js/wfdashboard.1690810710.js b/wp-content/plugins/wordfence/js/wfdashboard.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/wfdashboard.1690810710.js rename to wp-content/plugins/wordfence/js/wfdashboard.1695657196.js diff --git a/wp-content/plugins/wordfence/js/wfdropdown.1690810710.js b/wp-content/plugins/wordfence/js/wfdropdown.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/wfdropdown.1690810710.js rename to wp-content/plugins/wordfence/js/wfdropdown.1695657196.js diff --git a/wp-content/plugins/wordfence/js/wfglobal.1690810710.js b/wp-content/plugins/wordfence/js/wfglobal.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/wfglobal.1690810710.js rename to wp-content/plugins/wordfence/js/wfglobal.1695657196.js diff --git a/wp-content/plugins/wordfence/js/wfi18n.1690810710.js b/wp-content/plugins/wordfence/js/wfi18n.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/wfi18n.1690810710.js rename to wp-content/plugins/wordfence/js/wfi18n.1695657196.js diff --git a/wp-content/plugins/wordfence/js/wfonboarding.1690810710.js b/wp-content/plugins/wordfence/js/wfonboarding.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/wfonboarding.1690810710.js rename to wp-content/plugins/wordfence/js/wfonboarding.1695657196.js diff --git a/wp-content/plugins/wordfence/js/wfpopover.1690810710.js b/wp-content/plugins/wordfence/js/wfpopover.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/wfpopover.1690810710.js rename to wp-content/plugins/wordfence/js/wfpopover.1695657196.js diff --git a/wp-content/plugins/wordfence/js/wfselect2.min.1690810710.js b/wp-content/plugins/wordfence/js/wfselect2.min.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/js/wfselect2.min.1690810710.js rename to wp-content/plugins/wordfence/js/wfselect2.min.1695657196.js diff --git a/wp-content/plugins/wordfence/languages/wordfence.pot b/wp-content/plugins/wordfence/languages/wordfence.pot index 7255d6163..187aa4f9f 100755 --- a/wp-content/plugins/wordfence/languages/wordfence.pot +++ b/wp-content/plugins/wordfence/languages/wordfence.pot @@ -1,17 +1,17 @@ # Copyright (C) 2023 Wordfence -# This file is distributed under the same license as the Wordfence Security plugin. +# This file is distributed under the GPLv3. msgid "" msgstr "" -"Project-Id-Version: Wordfence Security 7.10.3\n" -"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wordfence-zip-DRQa4hG9o\n" +"Project-Id-Version: Wordfence Security 7.10.4\n" +"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wordfence-zip-jST0vjW28\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2023-07-31T09:38:31-04:00\n" +"POT-Creation-Date: 2023-09-25T15:53:16+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"X-Generator: WP-CLI 2.4.0\n" +"X-Generator: WP-CLI 2.7.1\n" "X-Domain: wordfence\n" #. Plugin Name of the plugin @@ -249,10 +249,11 @@ msgstr "" #: lib/wfScanEngine.php:1334 #: lib/wfScanEngine.php:1477 #: lib/wfScanEngine.php:1841 -#: lib/wfScanEngine.php:2087 -#: lib/wfScanEngine.php:2126 -#: lib/wfScanEngine.php:2327 -#: lib/wfScanEngine.php:2369 +#: lib/wfScanEngine.php:1960 +#: lib/wfScanEngine.php:2133 +#: lib/wfScanEngine.php:2172 +#: lib/wfScanEngine.php:2373 +#: lib/wfScanEngine.php:2415 #: lib/wfVersionCheckController.php:69 #: lib/wfVersionCheckController.php:92 #: lib/wfVersionCheckController.php:168 @@ -491,11 +492,11 @@ msgstr "" #: lib/menu_tools_diagnostic.php:905 #: lib/menu_tools_twoFactor.php:235 #: lib/menu_tools_twoFactor.php:273 -#: lib/wordfenceClass.php:8269 -#: lib/wordfenceClass.php:8313 -#: lib/wordfenceClass.php:8377 -#: lib/wordfenceClass.php:8437 -#: lib/wordfenceClass.php:8483 +#: lib/wordfenceClass.php:8298 +#: lib/wordfenceClass.php:8342 +#: lib/wordfenceClass.php:8406 +#: lib/wordfenceClass.php:8466 +#: lib/wordfenceClass.php:8512 #: modules/login-security/views/manage/deactivate.php:31 #: modules/login-security/views/manage/regenerate.php:26 #: views/blocking/block-list.php:501 @@ -979,7 +980,7 @@ msgstr "" #: lib/menu_dashboard.php:67 #: lib/menu_dashboard_options.php:111 #: lib/menu_scanner.php:27 -#: lib/menu_scanner.php:295 +#: lib/menu_scanner.php:296 #: lib/wordfenceClass.php:6834 #: models/page/wfPage.php:113 msgid "Scan" @@ -1205,9 +1206,9 @@ msgstr "" #: lib/menu_firewall_waf.php:255 #: lib/menu_firewall_waf.php:272 #: lib/menu_firewall_waf.php:289 -#: lib/menu_scanner.php:303 -#: lib/menu_scanner.php:320 -#: lib/menu_scanner.php:372 +#: lib/menu_scanner.php:304 +#: lib/menu_scanner.php:321 +#: lib/menu_scanner.php:373 #: views/tours/login-security.php:37 #: views/tours/login-security.php:53 msgid "Next" @@ -1232,9 +1233,9 @@ msgstr "" #: lib/menu_firewall_waf.php:271 #: lib/menu_firewall_waf.php:288 #: lib/menu_firewall_waf.php:306 -#: lib/menu_scanner.php:319 -#: lib/menu_scanner.php:335 -#: lib/menu_scanner.php:386 +#: lib/menu_scanner.php:320 +#: lib/menu_scanner.php:336 +#: lib/menu_scanner.php:387 #: views/tours/login-security.php:52 #: views/tours/login-security.php:69 msgid "Previous" @@ -1255,8 +1256,8 @@ msgstr "" #: lib/menu_firewall_blocking.php:226 #: lib/menu_firewall_waf.php:307 #: lib/menu_firewall_waf.php:354 -#: lib/menu_scanner.php:336 -#: lib/menu_scanner.php:387 +#: lib/menu_scanner.php:337 +#: lib/menu_scanner.php:388 #: lib/menu_tools_livetraffic.php:577 #: lib/menu_tools_livetraffic.php:608 msgid "Got it" @@ -2454,10 +2455,10 @@ msgstr "" #: lib/wordfenceClass.php:6228 #: lib/wordfenceClass.php:6230 #: lib/wordfenceClass.php:6281 -#: lib/wordfenceClass.php:8294 -#: lib/wordfenceClass.php:8301 -#: lib/wordfenceClass.php:8408 -#: lib/wordfenceClass.php:8472 +#: lib/wordfenceClass.php:8323 +#: lib/wordfenceClass.php:8330 +#: lib/wordfenceClass.php:8437 +#: lib/wordfenceClass.php:8501 #: modules/login-security/classes/controller/wordfencels.php:366 #: modules/login-security/classes/controller/wordfencels.php:369 #: views/dashboard/options-group-import.php:147 @@ -2468,39 +2469,39 @@ msgstr "" msgid "Close" msgstr "" -#: lib/menu_scanner.php:296 +#: lib/menu_scanner.php:297 msgid "A Wordfence scan looks for malware, malicious URLs, and patterns of infections by examining all of the files, posts, and comments on your WordPress website. It also checks your server and monitors your site's online reputation." msgstr "" -#: lib/menu_scanner.php:310 +#: lib/menu_scanner.php:311 msgid "Manage Scan Settings" msgstr "" -#: lib/menu_scanner.php:312 +#: lib/menu_scanner.php:313 msgid "Set up the way you want the scan to monitor your site security including custom scan configurations and scheduling." msgstr "" -#: lib/menu_scanner.php:327 +#: lib/menu_scanner.php:328 msgid "Start Your First Scan" msgstr "" -#: lib/menu_scanner.php:328 +#: lib/menu_scanner.php:329 msgid "By default, Wordfence will scan your site daily. Start your first scan now to see if your site has any security issues that need to be addressed. From here you can run manual scans any time you like." msgstr "" -#: lib/menu_scanner.php:364 +#: lib/menu_scanner.php:365 msgid "Scan Options & Settings" msgstr "" -#: lib/menu_scanner.php:366 +#: lib/menu_scanner.php:367 msgid "All of your scan options, including scheduling, are now located here." msgstr "" -#: lib/menu_scanner.php:379 +#: lib/menu_scanner.php:380 msgid "Scan Progress and Activity" msgstr "" -#: lib/menu_scanner.php:380 +#: lib/menu_scanner.php:381 msgid "Track each scan stage as Wordfence scans your entire site. Along the way you can see the activity log one line at a time or expand the activity log for a more detailed view. Clicking on scan results will reveal detailed scan findings." msgstr "" @@ -3999,7 +4000,7 @@ msgstr "" #. translators: URL to the WordPress admin panel. #: lib/wfActivityReport.php:507 -#: lib/wfIssues.php:487 +#: lib/wfIssues.php:488 msgid "No longer an administrator for this site? Click here to stop receiving security alerts." msgstr "" @@ -4009,37 +4010,37 @@ msgid "Wordfence activity for %1$s on %2$s" msgstr "" #: lib/wfActivityReport.php:584 -#: lib/wordfenceClass.php:8705 +#: lib/wordfenceClass.php:8734 msgid "Blocked because the IP is blocklisted" msgstr "" #. translators: Reason for firewall action. #: lib/wfActivityReport.php:587 -#: lib/wordfenceClass.php:8708 +#: lib/wordfenceClass.php:8737 msgid "Blocked for %s" msgstr "" #. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value. #: lib/wfActivityReport.php:599 -#: lib/wordfenceClass.php:8722 +#: lib/wordfenceClass.php:8751 msgid "Blocked for %1$s in query string: %2$s = %3$s" msgstr "" #. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value. #: lib/wfActivityReport.php:602 -#: lib/wordfenceClass.php:8727 +#: lib/wordfenceClass.php:8756 msgid "Blocked for %1$s in POST body: %2$s = %3$s" msgstr "" #. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value. #: lib/wfActivityReport.php:605 -#: lib/wordfenceClass.php:8732 +#: lib/wordfenceClass.php:8761 msgid "Blocked for %1$s in cookie: %2$s = %3$s" msgstr "" #. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value. #: lib/wfActivityReport.php:608 -#: lib/wordfenceClass.php:8737 +#: lib/wordfenceClass.php:8766 msgid "Blocked for %1$s in file: %2$s = %3$s" msgstr "" @@ -4053,7 +4054,7 @@ msgstr "" #: lib/wordfenceClass.php:6287 #: lib/wordfenceClass.php:6542 #: lib/wordfenceClass.php:6577 -#: lib/wordfenceClass.php:9285 +#: lib/wordfenceClass.php:9314 msgid "Dismiss" msgstr "" @@ -5289,7 +5290,7 @@ msgid "Unable to remove code execution protections applied to the .htaccess file msgstr "" #: lib/wfConfig.php:1193 -#: lib/wordfenceClass.php:7757 +#: lib/wordfenceClass.php:7786 #: modules/login-security/classes/controller/settings.php:214 msgid "The grace period end time must be in the future." msgstr "" @@ -5633,7 +5634,7 @@ msgstr "" #: lib/wfDiagnostic.php:431 #: lib/wfDiagnostic.php:929 #: lib/wfDiagnostic.php:956 -#: lib/wfUpdateCheck.php:114 +#: lib/wfUpdateCheck.php:117 #: views/scanner/issue-base.php:118 msgid "None" msgstr "" @@ -6735,8 +6736,8 @@ msgstr "" #. translators: Scan result description. #: lib/wfScanEngine.php:1147 -#: lib/wfScanEngine.php:2329 -#: lib/wfScanEngine.php:2371 +#: lib/wfScanEngine.php:2375 +#: lib/wfScanEngine.php:2417 msgid "Adding issue: %s" msgstr "" @@ -6781,7 +6782,7 @@ msgid "Examining URLs found in posts we scanned for dangerous websites" msgstr "" #: lib/wfScanEngine.php:1292 -#: lib/wfScanEngine.php:2292 +#: lib/wfScanEngine.php:2338 msgid "Done examining URLs" msgstr "" @@ -6988,240 +6989,263 @@ msgstr "" msgid "Scanning for old themes, plugins and core files" msgstr "" -#: lib/wfScanEngine.php:1942 +#. translators: error message. +#: lib/wfScanEngine.php:1951 +msgid "The update check performed during the scan encountered an error: %s" +msgstr "" + +#: lib/wfScanEngine.php:1953 +msgid "Wordfence cannot detect if the installed plugins and themes are up to date. This might be caused by a PHP compatibility issue in one or more plugins/themes." +msgstr "" + +#: lib/wfScanEngine.php:1956 +msgid "Wordfence cannot detect if this plugin/theme is up to date. This might be caused by a PHP compatibility issue in the plugin." +msgstr "" + +#. translators: Support URL. +#: lib/wfScanEngine.php:1960 +#: lib/wfScanEngine.php:2133 +#: lib/wfScanEngine.php:2172 +#: lib/wfScanEngine.php:2373 +#: lib/wfScanEngine.php:2415 +msgid "Get more information. (" +msgstr "" + +#: lib/wfScanEngine.php:1969 +msgid "Update Check Encountered Error" +msgstr "" + +#. translators: plugin/theme slug. +#: lib/wfScanEngine.php:1969 +msgid "Update Check Encountered Error on '%s'" +msgstr "" + +#: lib/wfScanEngine.php:1988 msgid "Your WordPress version is out of date" msgstr "" #. translators: Software version. -#: lib/wfScanEngine.php:1943 +#: lib/wfScanEngine.php:1989 msgid "WordPress version %s is now available. Please upgrade immediately to get the latest security updates from WordPress." msgstr "" #. translators: 1. Plugin name. 2. Software version. 3. Software version. -#: lib/wfScanEngine.php:1970 +#: lib/wfScanEngine.php:2016 msgid "The Plugin \"%1$s\" needs an upgrade (%2$s -> %3$s)." msgstr "" #. translators: Theme name. -#: lib/wfScanEngine.php:1977 -#: lib/wfScanEngine.php:2011 +#: lib/wfScanEngine.php:2023 +#: lib/wfScanEngine.php:2057 msgid "You need to upgrade \"%s\" to the newest version to ensure you have any security fixes the developer has released." msgstr "" #. translators: 1. Theme name. 2. Software version. 3. Software version. -#: lib/wfScanEngine.php:2004 +#: lib/wfScanEngine.php:2050 msgid "The Theme \"%1$s\" needs an upgrade (%2$s -> %3$s)." msgstr "" #. translators: 1. Plugin name. 2. Software version. 3. Software version. -#: lib/wfScanEngine.php:2055 +#: lib/wfScanEngine.php:2101 msgid "The Plugin \"%1$s\" appears to be abandoned (updated %2$s, tested to WP %3$s)." msgstr "" #. translators: 1. Plugin name. 2. Software version. -#: lib/wfScanEngine.php:2062 +#: lib/wfScanEngine.php:2108 msgid "It was last updated %1$s ago and tested up to WordPress %2$s." msgstr "" #. translators: 1. Plugin name. 2. Software version. -#: lib/wfScanEngine.php:2069 +#: lib/wfScanEngine.php:2115 msgid "The Plugin \"%1$s\" appears to be abandoned (updated %2$s)." msgstr "" #. translators: Time duration. -#: lib/wfScanEngine.php:2075 +#: lib/wfScanEngine.php:2121 msgid "It was last updated %s ago." msgstr "" -#: lib/wfScanEngine.php:2081 -#: lib/wfScanEngine.php:2120 +#: lib/wfScanEngine.php:2127 +#: lib/wfScanEngine.php:2166 msgid "It has unpatched security issues and may have compatibility problems with the current version of WordPress." msgstr "" -#: lib/wfScanEngine.php:2083 -#: lib/wfScanEngine.php:2122 +#: lib/wfScanEngine.php:2129 +#: lib/wfScanEngine.php:2168 msgid "Your site is still using this plugin, but it is not currently available on wordpress.org. Plugins can be removed from wordpress.org for various reasons. This can include benign issues like a plugin author discontinuing development or moving the plugin distribution to their own site, but some might also be due to security issues. In any case, future updates may or may not be available, so it is worth investigating the cause and deciding whether to temporarily or permanently replace or remove the plugin." msgstr "" -#. translators: Support URL. -#: lib/wfScanEngine.php:2087 -#: lib/wfScanEngine.php:2126 -#: lib/wfScanEngine.php:2327 -#: lib/wfScanEngine.php:2369 -msgid "Get more information. (" -msgstr "" - #. translators: Plugin name. -#: lib/wfScanEngine.php:2118 +#: lib/wfScanEngine.php:2164 msgid "The Plugin \"%s\" has been removed from wordpress.org but is still installed on your site." msgstr "" -#: lib/wfScanEngine.php:2145 +#: lib/wfScanEngine.php:2191 msgid "The Plugin \"%s\" has a security vulnerability." msgstr "" -#: lib/wfScanEngine.php:2148 +#: lib/wfScanEngine.php:2194 msgid "To protect your site from this vulnerability, the safest option is to deactivate and completely remove \"%s\" until a patched version is available. Get more information. (opens in new tab)" msgstr "" -#: lib/wfScanEngine.php:2184 +#: lib/wfScanEngine.php:2230 msgid "Scanning for admin users not created through WordPress" msgstr "" #. translators: WordPress username. -#: lib/wfScanEngine.php:2206 +#: lib/wfScanEngine.php:2252 msgid "An admin user with the username %s was created outside of WordPress." msgstr "" #. translators: WordPress username. -#: lib/wfScanEngine.php:2207 +#: lib/wfScanEngine.php:2253 msgid "An admin user with the username %s was created outside of WordPress. It's possible a plugin could have created the account, but if you do not recognize the user, we suggest you remove it." msgstr "" #. translators: WordPress username. -#: lib/wfScanEngine.php:2233 +#: lib/wfScanEngine.php:2279 msgid "An admin user with a suspicious username %s was found." msgstr "" #. translators: WordPress username. -#: lib/wfScanEngine.php:2234 +#: lib/wfScanEngine.php:2280 msgid "An admin user with a suspicious username %s was found. Administrators accounts with usernames similar to this are commonly seen created by hackers. It's possible a plugin could have created the account, but if you do not recognize the user, we suggest you remove it." msgstr "" -#: lib/wfScanEngine.php:2255 +#: lib/wfScanEngine.php:2301 msgid "Scanning for suspicious site options" msgstr "" -#: lib/wfScanEngine.php:2290 +#: lib/wfScanEngine.php:2336 msgid "Examining URLs found in the options we scanned for dangerous websites" msgstr "" #. translators: URL. -#: lib/wfScanEngine.php:2314 -#: lib/wfScanEngine.php:2320 +#: lib/wfScanEngine.php:2360 +#: lib/wfScanEngine.php:2366 msgid "Option contains a suspected malware URL: %s" msgstr "" #. translators: URL. -#: lib/wfScanEngine.php:2315 +#: lib/wfScanEngine.php:2361 msgid "This option contains a suspected malware URL listed on Google's list of malware sites. It may indicate your site is infected with malware. The URL is: %s" msgstr "" #. translators: URL. -#: lib/wfScanEngine.php:2317 +#: lib/wfScanEngine.php:2363 msgid "Option contains a suspected phishing site URL: %s" msgstr "" #. translators: URL. -#: lib/wfScanEngine.php:2318 +#: lib/wfScanEngine.php:2364 msgid "This option contains a URL that is a suspected phishing site that is currently listed on Google's list of known phishing sites. It may indicate your site is infected with malware. The URL is: %s" msgstr "" #. translators: URL. -#: lib/wfScanEngine.php:2321 +#: lib/wfScanEngine.php:2367 msgid "This option contains a URL that is currently listed on Wordfence's domain blocklist. It may indicate your site is infected with malware. The URL is: %s" msgstr "" -#: lib/wfScanEngine.php:2361 +#: lib/wfScanEngine.php:2407 msgid "Checking for future GeoIP support" msgstr "" -#: lib/wfScanEngine.php:2366 +#: lib/wfScanEngine.php:2412 msgid "PHP Update Needed for Country Blocking" msgstr "" #. translators: Software version. -#: lib/wfScanEngine.php:2367 +#: lib/wfScanEngine.php:2413 msgid "The GeoIP database that is required for country blocking has been updated to a new format. This new format requires sites to run PHP 5.4 or newer, and this site is on PHP %s. To ensure country blocking continues functioning, please update PHP." msgstr "" -#: lib/wfScanEngine.php:2417 +#: lib/wfScanEngine.php:2463 msgid "Previous scan was stopped successfully." msgstr "" -#: lib/wfScanEngine.php:2418 +#: lib/wfScanEngine.php:2464 msgid "Scan was stopped on administrator request." msgstr "" -#: lib/wfScanEngine.php:2434 +#: lib/wfScanEngine.php:2480 msgid "Entering start scan routine" msgstr "" -#: lib/wfScanEngine.php:2437 +#: lib/wfScanEngine.php:2483 msgid "A scan is already running. Use the stop scan button if you would like to terminate the current scan." msgstr "" -#: lib/wfScanEngine.php:2453 +#: lib/wfScanEngine.php:2499 msgid "Cached result for scan start test: %s" msgstr "" #. translators: Scan start test result data. -#: lib/wfScanEngine.php:2469 +#: lib/wfScanEngine.php:2515 msgid "Test result of scan start URL fetch: %s" msgstr "" #. translators: WordPress admin panel URL. -#: lib/wfScanEngine.php:2482 +#: lib/wfScanEngine.php:2528 msgid "Starting cron with normal ajax at URL %s" msgstr "" #. translators: Error message. #. translators: WordPress admin panel URL. -#: lib/wfScanEngine.php:2506 -#: lib/wfScanEngine.php:2541 +#: lib/wfScanEngine.php:2552 +#: lib/wfScanEngine.php:2587 msgid "There was an error starting the scan: %s." msgstr "" -#: lib/wfScanEngine.php:2508 -#: lib/wfScanEngine.php:2543 +#: lib/wfScanEngine.php:2554 +#: lib/wfScanEngine.php:2589 msgid "There was an unknown error starting the scan." msgstr "" -#: lib/wfScanEngine.php:2515 -#: lib/wfScanEngine.php:2549 +#: lib/wfScanEngine.php:2561 +#: lib/wfScanEngine.php:2595 msgid "Scan process ended after forking." msgstr "" #. translators: WordPress admin panel URL. -#: lib/wfScanEngine.php:2519 +#: lib/wfScanEngine.php:2565 msgid "Starting cron via proxy at URL %s" msgstr "" #. translators: Time in seconds. -#: lib/wfScanEngine.php:2595 +#: lib/wfScanEngine.php:2641 msgid "Got value from wf config maxExecutionTime: %s" msgstr "" #. translators: Time in seconds. -#: lib/wfScanEngine.php:2599 +#: lib/wfScanEngine.php:2645 msgid "getMaxExecutionTime() returning config value: %s" msgstr "" #. translators: PHP ini value. -#: lib/wfScanEngine.php:2606 +#: lib/wfScanEngine.php:2652 msgid "Got max_execution_time value from ini: %s" msgstr "" #. translators: 1. PHP ini setting. 2. Time in seconds. -#: lib/wfScanEngine.php:2613 +#: lib/wfScanEngine.php:2659 msgid "ini value of %1$d is higher than value for WORDFENCE_SCAN_MAX_INI_EXECUTION_TIME (%2$d), reducing" msgstr "" #. translators: PHP ini setting. -#: lib/wfScanEngine.php:2623 +#: lib/wfScanEngine.php:2669 msgid "getMaxExecutionTime() returning half ini value: %d" msgstr "" -#: lib/wfScanEngine.php:2629 +#: lib/wfScanEngine.php:2675 msgid "getMaxExecutionTime() returning default of: 15" msgstr "" #. translators: 1. HTTP status code. -#: lib/wfScanEngine.php:2831 +#: lib/wfScanEngine.php:2877 msgid "Got error response from Wordfence servers: %s" msgstr "" -#: lib/wfScanEngine.php:2835 +#: lib/wfScanEngine.php:2881 msgid "Invalid response from Wordfence servers." msgstr "" @@ -7238,11 +7262,11 @@ msgid "Send Unlock Email" msgstr "" #. translators: 1. Plugin slug. -#: lib/wfUpdateCheck.php:44 +#: lib/wfUpdateCheck.php:47 msgid "Outdated plugin scan adjusted invalid return value in plugins_api filter for %s" msgstr "" -#: lib/wfUpdateCheck.php:106 +#: lib/wfUpdateCheck.php:109 #: views/dashboard/options-group-alert.php:73 #: views/scanner/issue-base.php:32 #: views/scanner/issue-base.php:41 @@ -7250,7 +7274,7 @@ msgstr "" msgid "Critical" msgstr "" -#: lib/wfUpdateCheck.php:108 +#: lib/wfUpdateCheck.php:111 #: views/dashboard/options-group-alert.php:74 #: views/scanner/issue-base.php:33 #: views/scanner/issue-base.php:42 @@ -7258,7 +7282,7 @@ msgstr "" msgid "High" msgstr "" -#: lib/wfUpdateCheck.php:110 +#: lib/wfUpdateCheck.php:113 #: views/dashboard/options-group-alert.php:75 #: views/scanner/issue-base.php:34 #: views/scanner/issue-base.php:43 @@ -7266,7 +7290,7 @@ msgstr "" msgid "Medium" msgstr "" -#: lib/wfUpdateCheck.php:112 +#: lib/wfUpdateCheck.php:115 #: views/dashboard/options-group-alert.php:76 #: views/scanner/issue-base.php:35 #: views/scanner/issue-base.php:44 @@ -8028,7 +8052,7 @@ msgstr "" #: lib/wordfenceClass.php:5351 #: lib/wordfenceClass.php:7555 #: lib/wordfenceClass.php:7590 -#: lib/wordfenceClass.php:7622 +#: lib/wordfenceClass.php:7651 msgid "We could not find that issue in our database." msgstr "" @@ -9298,6 +9322,8 @@ msgstr "" #: lib/wordfenceClass.php:7559 #: lib/wordfenceClass.php:7563 #: lib/wordfenceClass.php:7594 +#: lib/wordfenceClass.php:7621 +#: lib/wordfenceClass.php:7625 msgid "We could not find that user in the database." msgstr "" @@ -9305,232 +9331,236 @@ msgstr "" msgid "This user's email is the network admin email. It will need to be changed before deleting this user." msgstr "" -#: lib/wordfenceClass.php:7631 +#: lib/wordfenceClass.php:7617 +msgid "We could not find that issue in the database." +msgstr "" + +#: lib/wordfenceClass.php:7660 msgid "Wordfence could not find your .htaccess file." msgstr "" -#: lib/wordfenceClass.php:7647 +#: lib/wordfenceClass.php:7676 msgid "Updating the .htaccess did not fix the issue. You may need to add Options -Indexes to your httpd.conf if using Apache, or find documentation on how to disable directory listing for your web server." msgstr "" -#: lib/wordfenceClass.php:7653 +#: lib/wordfenceClass.php:7682 msgid "There was an error writing to your .htaccess file." msgstr "" -#: lib/wordfenceClass.php:7732 +#: lib/wordfenceClass.php:7761 msgid "Required parameters not sent." msgstr "" -#: lib/wordfenceClass.php:7742 +#: lib/wordfenceClass.php:7771 msgid "The WAF is currently in read-only mode and will not save any configuration changes." msgstr "" -#: lib/wordfenceClass.php:7780 +#: lib/wordfenceClass.php:7809 #: views/waf/option-whitelist.php:60 msgid "Allowlisted via Firewall Options page" msgstr "" -#: lib/wordfenceClass.php:8067 +#: lib/wordfenceClass.php:8096 msgid "Allowlisted via Live Traffic" msgstr "" -#: lib/wordfenceClass.php:8231 -#: lib/wordfenceClass.php:8328 +#: lib/wordfenceClass.php:8260 +#: lib/wordfenceClass.php:8357 msgid "A valid server configuration was not provided." msgstr "" -#: lib/wordfenceClass.php:8242 -#: lib/wordfenceClass.php:8349 +#: lib/wordfenceClass.php:8271 +#: lib/wordfenceClass.php:8378 msgid "Filesystem Credentials Required" msgstr "" #. translators: Support URL. -#: lib/wordfenceClass.php:8244 -#: lib/wordfenceClass.php:8268 -#: lib/wordfenceClass.php:8312 +#: lib/wordfenceClass.php:8273 +#: lib/wordfenceClass.php:8297 +#: lib/wordfenceClass.php:8341 msgid "If you cannot complete the setup process, click here for help (opens in new tab)" msgstr "" #. translators: Support URL. -#: lib/wordfenceClass.php:8245 +#: lib/wordfenceClass.php:8274 msgid "Once you have entered credentials, click Continue to complete the setup." msgstr "" -#: lib/wordfenceClass.php:8266 -#: lib/wordfenceClass.php:8374 +#: lib/wordfenceClass.php:8295 +#: lib/wordfenceClass.php:8403 msgid "Filesystem Permission Error" msgstr "" -#: lib/wordfenceClass.php:8292 +#: lib/wordfenceClass.php:8321 msgid "Manual Installation Instructions" msgstr "" -#: lib/wordfenceClass.php:8299 +#: lib/wordfenceClass.php:8328 msgid "Installation Successful" msgstr "" -#: lib/wordfenceClass.php:8310 +#: lib/wordfenceClass.php:8339 msgid "Installation Failed" msgstr "" #. translators: Support URL. -#: lib/wordfenceClass.php:8351 -#: lib/wordfenceClass.php:8376 -#: lib/wordfenceClass.php:8407 +#: lib/wordfenceClass.php:8380 +#: lib/wordfenceClass.php:8405 #: lib/wordfenceClass.php:8436 -#: lib/wordfenceClass.php:8482 +#: lib/wordfenceClass.php:8465 +#: lib/wordfenceClass.php:8511 #: views/waf/waf-uninstall.php:13 msgid "If you cannot complete the uninstall process, click here for help (opens in new tab)" msgstr "" #. translators: Support URL. -#: lib/wordfenceClass.php:8352 +#: lib/wordfenceClass.php:8381 msgid "Once you have entered credentials, click Continue to complete uninstallation." msgstr "" -#: lib/wordfenceClass.php:8396 +#: lib/wordfenceClass.php:8425 msgid "The auto_prepend_file setting has been successfully removed from .htaccess and .user.ini. Once this change takes effect, Extended Protection Mode will be disabled." msgstr "" -#: lib/wordfenceClass.php:8398 +#: lib/wordfenceClass.php:8427 msgid "Any previous value for auto_prepend_file will need to be re-enabled manually if still needed." msgstr "" #. translators: Time until. -#: lib/wordfenceClass.php:8402 +#: lib/wordfenceClass.php:8431 msgid "Waiting for it to take effect. This may take up to %s." msgstr "" -#: lib/wordfenceClass.php:8405 +#: lib/wordfenceClass.php:8434 msgid "Waiting for Changes" msgstr "" -#: lib/wordfenceClass.php:8427 +#: lib/wordfenceClass.php:8456 msgid "Extended Protection Mode has not been disabled. This may be because auto_prepend_file is configured somewhere else or the value is still cached by PHP." msgstr "" -#: lib/wordfenceClass.php:8429 +#: lib/wordfenceClass.php:8458 msgid "Retrying Failed." msgstr "" -#: lib/wordfenceClass.php:8431 +#: lib/wordfenceClass.php:8460 #: modules/login-security/views/settings/user-stats.php:75 msgid "Try Again" msgstr "" -#: lib/wordfenceClass.php:8434 +#: lib/wordfenceClass.php:8463 msgid "Unable to Uninstall" msgstr "" -#: lib/wordfenceClass.php:8470 +#: lib/wordfenceClass.php:8499 msgid "Uninstallation Complete" msgstr "" -#: lib/wordfenceClass.php:8480 +#: lib/wordfenceClass.php:8509 msgid "Uninstallation Failed" msgstr "" #. translators: 1. Number of attacks/blocks. 2. Time since. -#: lib/wordfenceClass.php:8688 +#: lib/wordfenceClass.php:8717 msgid "The Wordfence Web Application Firewall has blocked %1$d attacks over the last %2$s." msgstr "" -#: lib/wordfenceClass.php:8693 +#: lib/wordfenceClass.php:8722 msgid "Wordfence is blocking these attacks, and we're sending this notice to make you aware that there is a higher volume of the attacks than usual. Additionally, the Wordfence Real-Time IP Blocklist can block known attackers' IP addresses automatically for Premium users, including any probing requests that may not be malicious on their own. All Wordfence users can also opt to block the attacking IPs manually if desired. As always, be sure to watch your scan results and keep your plugins, themes and WordPress core version updated." msgstr "" -#: lib/wordfenceClass.php:8695 +#: lib/wordfenceClass.php:8724 msgid "Below is a sample of these recent attacks:" msgstr "" -#: lib/wordfenceClass.php:9277 +#: lib/wordfenceClass.php:9306 msgid "An error was detected with this site's configuration that is preventing a successful connection to Wordfence Central. Disconnecting from Central on the Wordfence Dashboard and reconnecting may resolve it. If the issue persists, please contact Wordfence support." msgstr "" -#: lib/wordfenceClass.php:9284 +#: lib/wordfenceClass.php:9313 msgid "To make your site as secure as possible, take a moment to optimize the Wordfence Web Application Firewall:" msgstr "" -#: lib/wordfenceClass.php:9284 +#: lib/wordfenceClass.php:9313 msgid "Click here to configure" msgstr "" #. translators: Support URL. -#: lib/wordfenceClass.php:9287 +#: lib/wordfenceClass.php:9316 msgid "If you cannot complete the setup process, click here for help (opens in new tab)." msgstr "" -#: lib/wordfenceClass.php:9293 +#: lib/wordfenceClass.php:9322 #: views/waf/waf-install-success.php:14 msgid "Nice work! The firewall is now optimized." msgstr "" -#: lib/wordfenceClass.php:9295 -#: lib/wordfenceClass.php:9307 +#: lib/wordfenceClass.php:9324 +#: lib/wordfenceClass.php:9336 #: views/waf/waf-install-success.php:16 #: views/waf/waf-uninstall-success.php:19 msgid "The changes have not yet taken effect. If you are using LiteSpeed or IIS as your web server or CGI/FastCGI interface, you may need to wait a few minutes for the changes to take effect since the configuration files are sometimes cached. You also may need to select a different server configuration in order to complete this step, but wait for a few minutes before trying. You can try refreshing this page." msgstr "" -#: lib/wordfenceClass.php:9301 +#: lib/wordfenceClass.php:9330 #: views/waf/waf-uninstall-success.php:15 msgid "Uninstallation was successful!" msgstr "" -#: lib/wordfenceClass.php:9304 +#: lib/wordfenceClass.php:9333 #: views/waf/waf-uninstall-success.php:17 msgid "Uninstallation from this site was successful! The Wordfence Firewall is still active because it is installed in another WordPress installation." msgstr "" -#: lib/wordfenceClass.php:9312 +#: lib/wordfenceClass.php:9341 msgid "The update was successful!" msgstr "" -#: lib/wordfenceClass.php:9462 +#: lib/wordfenceClass.php:9491 msgid "Auth grant is invalid." msgstr "" #. translators: Error message. -#: lib/wordfenceClass.php:9477 +#: lib/wordfenceClass.php:9506 msgid "Invalid response from Wordfence Central: %s" msgstr "" #. translators: JSON property. -#: lib/wordfenceClass.php:9483 -#: lib/wordfenceClass.php:9496 +#: lib/wordfenceClass.php:9512 +#: lib/wordfenceClass.php:9525 msgid "Invalid response from Wordfence Central. Parameter %s not found in response." msgstr "" -#: lib/wordfenceClass.php:9525 -#: lib/wordfenceClass.php:9662 +#: lib/wordfenceClass.php:9554 +#: lib/wordfenceClass.php:9691 msgid "Access token not found." msgstr "" -#: lib/wordfenceClass.php:9570 -#: lib/wordfenceClass.php:9637 +#: lib/wordfenceClass.php:9599 +#: lib/wordfenceClass.php:9666 msgid "Invalid response from Wordfence Central." msgstr "" -#: lib/wordfenceClass.php:9613 +#: lib/wordfenceClass.php:9642 msgid "Auth grant not found." msgstr "" -#: lib/wordfenceClass.php:9883 +#: lib/wordfenceClass.php:9912 msgid "We were unable to create the wordfence-waf.php file in the root of the WordPress installation. It's possible WordPress cannot write to the wordfence-waf.php file because of file permissions. Please verify the permissions are correct and retry the installation." msgstr "" -#: lib/wordfenceClass.php:9975 -#: lib/wordfenceClass.php:10046 +#: lib/wordfenceClass.php:10004 +#: lib/wordfenceClass.php:10075 msgid "We were unable to make changes to the .htaccess file. It's possible WordPress cannot write to the .htaccess file because of file permissions, which may have been set by another security plugin, or you may have set them manually. Please verify the permissions allow the web server to write to the file, and retry the installation." msgstr "" #. translators: File path. -#: lib/wordfenceClass.php:10016 -#: lib/wordfenceClass.php:10064 +#: lib/wordfenceClass.php:10045 +#: lib/wordfenceClass.php:10093 msgid "We were unable to make changes to the %1$s file. It's possible WordPress cannot write to the %1$s file because of file permissions. Please verify the permissions are correct and retry the installation." msgstr "" -#: lib/wordfenceClass.php:10080 +#: lib/wordfenceClass.php:10109 msgid "We were unable to remove the wordfence-waf.php file in the root of the WordPress installation. It's possible WordPress cannot remove the wordfence-waf.php file because of file permissions. Please verify the permissions are correct and retry the removal." msgstr "" @@ -12531,7 +12561,7 @@ msgstr "" #: views/scanner/issue-spamvertizeCheck.php:12 #: views/scanner/issue-spamvertizeCheck.php:19 #: views/scanner/issue-suspiciousAdminUsers.php:12 -#: views/scanner/issue-suspiciousAdminUsers.php:21 +#: views/scanner/issue-suspiciousAdminUsers.php:22 #: views/scanner/issue-timelimit.php:12 #: views/scanner/issue-timelimit.php:19 #: views/scanner/issue-wafStatus.php:14 @@ -12548,6 +12578,8 @@ msgstr "" #: views/scanner/issue-wfThemeUpgrade.php:32 #: views/scanner/issue-wfUpgrade.php:15 #: views/scanner/issue-wfUpgrade.php:29 +#: views/scanner/issue-wfUpgradeError.php:12 +#: views/scanner/issue-wfUpgradeError.php:20 #: views/scanner/issue-wpscan_directoryList.php:14 #: views/scanner/issue-wpscan_directoryList.php:25 #: views/scanner/issue-wpscan_fullPathDiscl.php:14 @@ -12573,7 +12605,7 @@ msgstr "" #: views/scanner/issue-publiclyAccessible.php:19 #: views/scanner/issue-skippedPaths.php:20 #: views/scanner/issue-spamvertizeCheck.php:15 -#: views/scanner/issue-suspiciousAdminUsers.php:17 +#: views/scanner/issue-suspiciousAdminUsers.php:18 #: views/scanner/issue-timelimit.php:15 #: views/scanner/issue-wafStatus.php:17 #: views/scanner/issue-wfPluginAbandoned.php:24 @@ -12582,6 +12614,7 @@ msgstr "" #: views/scanner/issue-wfPluginVulnerable.php:22 #: views/scanner/issue-wfThemeUpgrade.php:23 #: views/scanner/issue-wfUpgrade.php:21 +#: views/scanner/issue-wfUpgradeError.php:15 #: views/scanner/issue-wpscan_directoryList.php:19 #: views/scanner/issue-wpscan_fullPathDiscl.php:19 msgid "Mark as Fixed" @@ -12859,6 +12892,10 @@ msgstr "" msgid "Revoke Capabilities" msgstr "" +#: views/scanner/issue-suspiciousAdminUsers.php:17 +msgid "Acknowledge User" +msgstr "" + #: views/scanner/issue-timelimit.php:8 msgid "Time Limit" msgstr "" @@ -12941,6 +12978,7 @@ msgid "Plugin Upgrade" msgstr "" #: views/scanner/issue-wfPluginUpgrade.php:10 +#: views/scanner/issue-wfUpgradeError.php:10 msgid "Ignore Update" msgstr "" @@ -12962,6 +13000,7 @@ msgstr "" #: views/scanner/issue-wfPluginUpgrade.php:25 #: views/scanner/issue-wfThemeUpgrade.php:24 #: views/scanner/issue-wfUpgrade.php:22 +#: views/scanner/issue-wfUpgradeError.php:16 msgid "View Updates" msgstr "" @@ -13011,6 +13050,10 @@ msgstr "" msgid "New WordPress Version" msgstr "" +#: views/scanner/issue-wfUpgradeError.php:8 +msgid "Update Check Error" +msgstr "" + #: views/scanner/issue-wpscan_directoryList.php:8 msgid "Directory Listing Enabled" msgstr "" diff --git a/wp-content/plugins/wordfence/lib/menu_scanner.php b/wp-content/plugins/wordfence/lib/menu_scanner.php index e1f49af92..39ab29b69 100755 --- a/wp-content/plugins/wordfence/lib/menu_scanner.php +++ b/wp-content/plugins/wordfence/lib/menu_scanner.php @@ -237,6 +237,7 @@ echo wfView::create('scanner/site-cleaning-beta-sigs')->render(); echo wfView::create('scanner/no-issues')->render(); echo wfView::create('scanner/issue-wfUpgrade')->render(); +echo wfView::create('scanner/issue-wfUpgradeError')->render(); echo wfView::create('scanner/issue-wfPluginUpgrade')->render(); echo wfView::create('scanner/issue-wfThemeUpgrade')->render(); echo wfView::create('scanner/issue-wfPluginRemoved')->render(); diff --git a/wp-content/plugins/wordfence/lib/wfIssues.php b/wp-content/plugins/wordfence/lib/wfIssues.php index 1d7676a18..52225b8d5 100755 --- a/wp-content/plugins/wordfence/lib/wfIssues.php +++ b/wp-content/plugins/wordfence/lib/wfIssues.php @@ -78,13 +78,14 @@ class wfIssues { 'wfPluginRemoved' => wfIssues::SEVERITY_CRITICAL, 'wfPluginUpgrade' => wfIssues::SEVERITY_MEDIUM, 'wfThemeUpgrade' => wfIssues::SEVERITY_MEDIUM, + 'wfUpgradeError' => wfIssues::SEVERITY_MEDIUM, 'wfUpgrade' => wfIssues::SEVERITY_HIGH, 'wpscan_directoryList' => wfIssues::SEVERITY_HIGH, 'wpscan_fullPathDiscl' => wfIssues::SEVERITY_HIGH, ); public static function validIssueTypes() { - return array('checkHowGetIPs', 'checkSpamIP', 'commentBadURL', 'configReadable', 'coreUnknown', 'database', 'diskSpace', 'wafStatus', 'easyPassword', 'file', 'geoipSupport', 'knownfile', 'optionBadURL', 'postBadTitle', 'postBadURL', 'publiclyAccessible', 'spamvertizeCheck', 'suspiciousAdminUsers', 'timelimit', 'wfPluginAbandoned', 'wfPluginRemoved', 'wfPluginUpgrade', 'wfPluginVulnerable', 'wfThemeUpgrade', 'wfUpgrade', 'wpscan_directoryList', 'wpscan_fullPathDiscl', 'skippedPaths'); + return array('checkHowGetIPs', 'checkSpamIP', 'commentBadURL', 'configReadable', 'coreUnknown', 'database', 'diskSpace', 'wafStatus', 'easyPassword', 'file', 'geoipSupport', 'knownfile', 'optionBadURL', 'postBadTitle', 'postBadURL', 'publiclyAccessible', 'spamvertizeCheck', 'suspiciousAdminUsers', 'timelimit', 'wfPluginAbandoned', 'wfPluginRemoved', 'wfPluginUpgrade', 'wfPluginVulnerable', 'wfThemeUpgrade', 'wfUpgradeError', 'wfUpgrade', 'wpscan_directoryList', 'wpscan_fullPathDiscl', 'skippedPaths'); } public static function statusPrep(){ @@ -530,13 +531,13 @@ public function deleteUpdateIssues($type) { } public function deleteAllUpdateIssues() { - $issues = $this->getDB()->querySelect("SELECT id, status, ignoreP, ignoreC FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')"); + $issues = $this->getDB()->querySelect("SELECT id, status, ignoreP, ignoreC FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfUpgradeError' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')"); $this->clearEmailedStatus($issues); - $this->getDB()->queryWrite("DELETE FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')"); + $this->getDB()->queryWrite("DELETE FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfUpgradeError' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')"); if (wfCentral::isConnected()) { - wfCentral::deleteIssueTypes(array('wfUpgrade', 'wfPluginUpgrade', 'wfThemeUpgrade')); + wfCentral::deleteIssueTypes(array('wfUpgrade', 'wfUpgradeError', 'wfPluginUpgrade', 'wfThemeUpgrade')); } } diff --git a/wp-content/plugins/wordfence/lib/wfScanEngine.php b/wp-content/plugins/wordfence/lib/wfScanEngine.php index 869832848..3e19e5317 100755 --- a/wp-content/plugins/wordfence/lib/wfScanEngine.php +++ b/wp-content/plugins/wordfence/lib/wfScanEngine.php @@ -1889,36 +1889,50 @@ private function scan_oldVersions_main() { foreach ($this->pluginRepoStatus as $slug => $status) { if ($status === false) { - $result = plugins_api('plugin_information', array( - 'slug' => $slug, - 'fields' => array( - 'short_description' => false, - 'description' => false, - 'sections' => false, - 'tested' => true, - 'requires' => true, - 'rating' => false, - 'ratings' => false, - 'downloaded' => false, - 'downloadlink' => false, - 'last_updated' => true, - 'added' => false, - 'tags' => false, - 'compatibility' => true, - 'homepage' => true, - 'versions' => false, - 'donate_link' => false, - 'reviews' => false, - 'banners' => false, - 'icons' => false, - 'active_installs' => false, - 'group' => false, - 'contributors' => false, - ), - )); - unset($result->versions); - unset($result->screenshots); - $this->pluginRepoStatus[$slug] = $result; + try { + $result = plugins_api('plugin_information', array( + 'slug' => $slug, + 'fields' => array( + 'short_description' => false, + 'description' => false, + 'sections' => false, + 'tested' => true, + 'requires' => true, + 'rating' => false, + 'ratings' => false, + 'downloaded' => false, + 'downloadlink' => false, + 'last_updated' => true, + 'added' => false, + 'tags' => false, + 'compatibility' => true, + 'homepage' => true, + 'versions' => false, + 'donate_link' => false, + 'reviews' => false, + 'banners' => false, + 'icons' => false, + 'active_installs' => false, + 'group' => false, + 'contributors' => false, + ), + )); + unset($result->versions); + unset($result->screenshots); + $this->pluginRepoStatus[$slug] = $result; + } + catch (Exception $e) { + error_log(sprintf('Caught exception while attempting to refresh update status for slug %s: %s', $slug, $e->getMessage())); + $this->pluginRepoStatus[$slug] = false; + wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_KEY, sprintf('%s [%s]', $e->getMessage(), $slug), false); + wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_SLUG_KEY, $slug, false); + } + catch (Throwable $t) { + error_log(sprintf('Caught error while attempting to refresh update status for slug %s: %s', $slug, $t->getMessage())); + $this->pluginRepoStatus[$slug] = false; + wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_KEY, sprintf('%s [%s]', $t->getMessage(), $slug), false); + wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_SLUG_KEY, $slug, false); + } $this->forkIfNeeded(); } @@ -1929,7 +1943,39 @@ private function scan_oldVersions_finish() { $haveIssues = wfIssues::STATUS_SECURE; if (!$this->isFullScan()) { - $this->deleteNewIssues(array('wfUpgrade', 'wfPluginUpgrade', 'wfThemeUpgrade')); + $this->deleteNewIssues(array('wfUpgradeError', 'wfUpgrade', 'wfPluginUpgrade', 'wfThemeUpgrade')); + } + + if ($lastError = wfConfig::get(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_KEY)) { + $lastSlug = wfConfig::get(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_SLUG_KEY); + $longMsg = sprintf(/* translators: error message. */ __("The update check performed during the scan encountered an error: %s", 'wordfence'), esc_html($lastError)); + if ($lastSlug === false) { + $longMsg .= ' ' . __('Wordfence cannot detect if the installed plugins and themes are up to date. This might be caused by a PHP compatibility issue in one or more plugins/themes.', 'wordfence'); + } + else { + $longMsg .= ' ' . __('Wordfence cannot detect if this plugin/theme is up to date. This might be caused by a PHP compatibility issue in the plugin.', 'wordfence'); + } + $longMsg .= ' ' . sprintf( + /* translators: Support URL. */ + __('Get more information. (' . esc_html__('opens in new tab', 'wordfence') . ')', 'wordfence'), wfSupportController::esc_supportURL(wfSupportController::ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED)); + + $ignoreKey = ($lastSlug === false ? 'wfUpgradeErrorGeneral' : sprintf('wfUpgradeError-%s', $lastSlug)); + + $added = $this->addIssue( + 'wfUpgradeError', + wfIssues::SEVERITY_MEDIUM, + $ignoreKey, + $ignoreKey, + ($lastSlug === false ? __("Update Check Encountered Error", 'wordfence') : sprintf(/* translators: plugin/theme slug. */ __("Update Check Encountered Error on '%s'", 'wordfence'), esc_html($lastSlug))), + $longMsg, + array() + ); + if ($added == wfIssues::ISSUE_ADDED || $added == wfIssues::ISSUE_UPDATED) { + $haveIssues = wfIssues::STATUS_PROBLEM; + } + else if ($haveIssues != wfIssues::STATUS_PROBLEM && ($added == wfIssues::ISSUE_IGNOREP || $added == wfIssues::ISSUE_IGNOREC)) { + $haveIssues = wfIssues::STATUS_IGNORED; + } } // WordPress core updates needed diff --git a/wp-content/plugins/wordfence/lib/wfScanMonitor.php b/wp-content/plugins/wordfence/lib/wfScanMonitor.php index bbfaa2417..2b9e3d5f3 100755 --- a/wp-content/plugins/wordfence/lib/wfScanMonitor.php +++ b/wp-content/plugins/wordfence/lib/wfScanMonitor.php @@ -73,8 +73,8 @@ public static function monitorScan() { if ($lastAttempt === null || $now - $lastAttempt < self::SCAN_START_TIMEOUT) return; $lastSuccess = wfConfig::get(self::CONFIG_LAST_SUCCESS); + self::setRemainingResumeAttempts(--$remainingAttempts); if ($lastSuccess === null || $lastAttempt > $lastSuccess) { - self::setRemainingResumeAttempts(--$remainingAttempts); wordfence::status(2, 'info', sprintf(__('Attempting to resume scan stage (%d attempt(s) remaining)...', 'wordfence'), $remainingAttempts)); self::resumeScan(); } diff --git a/wp-content/plugins/wordfence/lib/wfSupportController.php b/wp-content/plugins/wordfence/lib/wfSupportController.php index a381721ad..35044666b 100755 --- a/wp-content/plugins/wordfence/lib/wfSupportController.php +++ b/wp-content/plugins/wordfence/lib/wfSupportController.php @@ -149,6 +149,7 @@ class wfSupportController { const ITEM_SCAN_RESULT_PUBLIC_CONFIG = 'scan-result-public-config'; const ITEM_SCAN_RESULT_PLUGIN_ABANDONED = 'scan-result-plugin-abandoned'; const ITEM_SCAN_RESULT_PLUGIN_REMOVED = 'scan-result-plugin-removed'; + const ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED = 'scan-result-update-check-failed'; const ITEM_SCAN_RESULT_OPTION_MALWARE_URL = 'scan-result-option-malware-url'; const ITEM_SCAN_RESULT_GEOIP_UPDATE = 'scan-result-geoip-update'; const ITEM_SCAN_RESULT_WAF_DISABLED = 'scan-result-waf-disabled'; @@ -341,6 +342,7 @@ public static function supportURL($item = self::ITEM_INDEX) { case self::ITEM_SCAN_RESULT_PUBLIC_CONFIG: case self::ITEM_SCAN_RESULT_PLUGIN_ABANDONED: case self::ITEM_SCAN_RESULT_PLUGIN_REMOVED: + case self::ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED: case self::ITEM_SCAN_RESULT_OPTION_MALWARE_URL: case self::ITEM_SCAN_RESULT_GEOIP_UPDATE: case self::ITEM_SCAN_RESULT_WAF_DISABLED: diff --git a/wp-content/plugins/wordfence/lib/wfUpdateCheck.php b/wp-content/plugins/wordfence/lib/wfUpdateCheck.php index e2ffad798..4661fd7bb 100755 --- a/wp-content/plugins/wordfence/lib/wfUpdateCheck.php +++ b/wp-content/plugins/wordfence/lib/wfUpdateCheck.php @@ -6,6 +6,9 @@ class wfUpdateCheck { const VULN_SEVERITY_MEDIUM = 40; const VULN_SEVERITY_LOW = 1; const VULN_SEVERITY_NONE = 0; + + const LAST_UPDATE_CHECK_ERROR_KEY = 'lastUpdateCheckError'; + const LAST_UPDATE_CHECK_ERROR_SLUG_KEY = 'lastUpdateCheckErrorSlug'; private $needs_core_update = false; private $core_update_version = 0; @@ -169,6 +172,11 @@ public function needsAnyUpdates() { * @return $this */ public function checkAllUpdates($useCachedValued = true) { + if (!$useCachedValued) { + wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_KEY); + wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_SLUG_KEY); + } + return $this->checkCoreUpdates($useCachedValued) ->checkPluginUpdates($useCachedValued) ->checkThemeUpdates($useCachedValued); @@ -189,7 +197,7 @@ public function checkCoreUpdates($useCachedValued = true) { require_once(ABSPATH . 'wp-admin/includes/update.php'); } - include(ABSPATH . WPINC . '/version.php'); //defines $wp_version + include(ABSPATH . WPINC . '/version.php'); /** @var $wp_version */ $update_core = get_preferred_from_update_core(); if ($useCachedValued && isset($update_core->last_checked) && isset($update_core->version_checked) && 12 * HOUR_IN_SECONDS > (time() - $update_core->last_checked) && $update_core->version_checked == $wp_version) { //Duplicate of _maybe_update_core, which is a private call @@ -276,7 +284,19 @@ private function fetchPluginUpdates($useCache = true) { return $update_plugins; if (!function_exists('wp_update_plugins')) require_once(ABSPATH . WPINC . '/update.php'); - wp_update_plugins(); + try { + wp_update_plugins(); + } + catch (Exception $e) { + wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $e->getMessage(), false); + wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_SLUG_KEY); + error_log('Caught exception while attempting to refresh plugin update status: ' . $e->getMessage()); + } + catch (Throwable $t) { + wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $t->getMessage(), false); + wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_SLUG_KEY); + error_log('Caught error while attempting to refresh plugin update status: ' . $t->getMessage()); + } return get_site_transient('update_plugins'); } @@ -293,7 +313,7 @@ public function checkPluginUpdates($useCachedValued = true, $checkVulnerabilitie self::requirePluginsApi(); - $update_plugins = $this->fetchPluginUpdates(); + $update_plugins = $this->fetchPluginUpdates($useCachedValued); //Get the full plugin list if (!function_exists('get_plugins')) { @@ -357,7 +377,18 @@ public function checkThemeUpdates($useCachedValued = true, $checkVulnerabilities //Do nothing, use cached value } else { - wp_update_themes(); + try { + wp_update_themes(); + } + catch (Exception $e) { + wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $e->getMessage(), false); + error_log('Caught exception while attempting to refresh theme update status: ' . $e->getMessage()); + } + catch (Throwable $t) { + wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $t->getMessage(), false); + error_log('Caught error while attempting to refresh theme update status: ' . $t->getMessage()); + } + $update_themes = get_site_transient('update_themes'); } diff --git a/wp-content/plugins/wordfence/lib/wfVersionSupport.php b/wp-content/plugins/wordfence/lib/wfVersionSupport.php index 5ddddd5e0..16713dabf 100755 --- a/wp-content/plugins/wordfence/lib/wfVersionSupport.php +++ b/wp-content/plugins/wordfence/lib/wfVersionSupport.php @@ -6,5 +6,5 @@ $wfOpenSSLDeprecatingVersion = '1.0.1'; $wfOpenSSLMinimumVersion = '1.0.1'; -$wfWordPressDeprecatingVersion = '4.4.0'; +$wfWordPressDeprecatingVersion = '4.7.0'; $wfWordPressMinimumVersion = '3.9.0'; diff --git a/wp-content/plugins/wordfence/lib/wordfenceClass.php b/wp-content/plugins/wordfence/lib/wordfenceClass.php index dfa925f89..5c9efe0d0 100755 --- a/wp-content/plugins/wordfence/lib/wordfenceClass.php +++ b/wp-content/plugins/wordfence/lib/wordfenceClass.php @@ -6098,7 +6098,7 @@ public static function admin_init(){ 'loadTwoFactor', 'sendTestEmail', 'email_summary_email_address_debug', 'unblockNetwork', 'sendDiagnostic', 'saveDisclosureState', 'saveWAFConfig', 'updateWAFRules', 'loadLiveTraffic', 'whitelistWAFParamKey', - 'disableDirectoryListing', 'fixFPD', 'deleteAdminUser', 'revokeAdminUser', + 'disableDirectoryListing', 'fixFPD', 'deleteAdminUser', 'revokeAdminUser', 'acknowledgeAdminUser', 'hideFileHtaccess', 'saveDebuggingConfig', 'whitelistBulkDelete', 'whitelistBulkEnable', 'whitelistBulkDisable', 'dismissNotification', 'utilityScanForBlacklisted', 'dashboardShowMore', @@ -7608,6 +7608,35 @@ public static function ajax_revokeAdminUser_callback() { 'user_login' => $userLogin, ); } + + public static function ajax_acknowledgeAdminUser_callback() { + $issueID = absint(!empty($_POST['issueID']) ? $_POST['issueID'] : 0); + $wfIssues = new wfIssues(); + $issue = $wfIssues->getIssueByID($issueID); + if (!$issue) { + return array('errorMsg' => __("We could not find that issue in the database.", 'wordfence')); + } + $data = $issue['data']; + if (empty($data['userID'])) { + return array('errorMsg' => __("We could not find that user in the database.", 'wordfence')); + } + $user = new WP_User($data['userID']); + if (!$user->exists()) { + return array('errorMsg' => __("We could not find that user in the database.", 'wordfence')); + } + $userLogin = $user->user_login; + + $adminUsers = new wfAdminUserMonitor(); + $adminUsers->addAdmin($data['userID']); + + $wfIssues->deleteIssue($issueID); + wfScanEngine::refreshScanNotification($wfIssues); + + return array( + 'ok' => 1, + 'user_login' => $userLogin, + ); + } /** * diff --git a/wp-content/plugins/wordfence/modules/login-security/css/admin-global.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/admin-global.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/admin-global.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/admin-global.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/css/admin.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/admin.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/admin.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/admin.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/css/colorbox.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/colorbox.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/colorbox.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/colorbox.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/css/embedded.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/embedded.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/embedded.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/embedded.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/css/font-awesome.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/font-awesome.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/font-awesome.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/font-awesome.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/css/ionicons.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/ionicons.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/ionicons.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/ionicons.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.min.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.min.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.min.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.min.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.structure.min.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.structure.min.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.structure.min.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.structure.min.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.theme.min.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.theme.min.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.theme.min.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.theme.min.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/css/login.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/login.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/login.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/login.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/css/woocommerce-account.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/woocommerce-account.1695657196.css similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/css/woocommerce-account.1690810710.css rename to wp-content/plugins/wordfence/modules/login-security/css/woocommerce-account.1695657196.css diff --git a/wp-content/plugins/wordfence/modules/login-security/js/admin-global.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/admin-global.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/js/admin-global.1690810710.js rename to wp-content/plugins/wordfence/modules/login-security/js/admin-global.1695657196.js diff --git a/wp-content/plugins/wordfence/modules/login-security/js/admin.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/admin.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/js/admin.1690810710.js rename to wp-content/plugins/wordfence/modules/login-security/js/admin.1695657196.js diff --git a/wp-content/plugins/wordfence/modules/login-security/js/chart.umd.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/chart.umd.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/js/chart.umd.1690810710.js rename to wp-content/plugins/wordfence/modules/login-security/js/chart.umd.1695657196.js diff --git a/wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.1690810710.js rename to wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.1695657196.js diff --git a/wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.min.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.min.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.min.1690810710.js rename to wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.min.1695657196.js diff --git a/wp-content/plugins/wordfence/modules/login-security/js/jquery.qrcode.min.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/jquery.qrcode.min.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/js/jquery.qrcode.min.1690810710.js rename to wp-content/plugins/wordfence/modules/login-security/js/jquery.qrcode.min.1695657196.js diff --git a/wp-content/plugins/wordfence/modules/login-security/js/jquery.tmpl.min.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/jquery.tmpl.min.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/js/jquery.tmpl.min.1690810710.js rename to wp-content/plugins/wordfence/modules/login-security/js/jquery.tmpl.min.1695657196.js diff --git a/wp-content/plugins/wordfence/modules/login-security/js/login.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/login.1695657196.js similarity index 100% rename from wp-content/plugins/wordfence/modules/login-security/js/login.1690810710.js rename to wp-content/plugins/wordfence/modules/login-security/js/login.1695657196.js diff --git a/wp-content/plugins/wordfence/modules/login-security/wordfence-login-security.php b/wp-content/plugins/wordfence/modules/login-security/wordfence-login-security.php index 8258ecf16..bc2c9885d 100755 --- a/wp-content/plugins/wordfence/modules/login-security/wordfence-login-security.php +++ b/wp-content/plugins/wordfence/modules/login-security/wordfence-login-security.php @@ -27,7 +27,7 @@ define('WORDFENCE_LS_FROM_CORE', ($wfCoreActive && isset($wfCoreLoading) && $wfCoreLoading)); define('WORDFENCE_LS_VERSION', '1.1.4'); - define('WORDFENCE_LS_BUILD_NUMBER', '1690810710'); + define('WORDFENCE_LS_BUILD_NUMBER', '1695657196'); define('WORDFENCE_LS_PLUGIN_BASENAME', plugin_basename(__FILE__)); diff --git a/wp-content/plugins/wordfence/readme.txt b/wp-content/plugins/wordfence/readme.txt index b7fe3f6f4..b3ad84996 100755 --- a/wp-content/plugins/wordfence/readme.txt +++ b/wp-content/plugins/wordfence/readme.txt @@ -4,7 +4,7 @@ Tags: security, waf, malware, 2fa, two factor, login security, firewall, brute f Requires at least: 3.9 Requires PHP: 5.5 Tested up to: 6.3 -Stable tag: 7.10.3 +Stable tag: 7.10.4 License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.html @@ -189,13 +189,21 @@ Secure your website with Wordfence. == Changelog == += 7.10.4 - September 25, 2023 = +* Improvement: "Admin created outside of WordPress" scan results may now be reviewed and approved +* Improvement: The WAF storage engine may now be specified by setting the environmental variable "WFWAF_STORAGE_ENGINE" +* Improvement: Detect when a plugin or theme with a custom update handler is broken and blocking update version checks +* Change: Deprecated support for WordPress versions lower than 4.7.0 +* Change: Exclude parse errors of a damaged compiled rules file from reporting +* Fix: Suppress PHP notices related to rule loading when running WP-CLI +* Fix: Fixed an issue with the scan monitor cron that could leave it running unnecessarily + = 7.10.3 - July 31, 2023 = * Improvement: Updated GeoIP database * Fix: Added missing text domain to translation function call * Fix: Corrected inconsistent styling of switch controls * Change: Made MySQLi storage engine the default for Flywheel hosted sites - = 7.10.2 - July 17, 2023 = * Fix: Prevented bundled sodium_compat library from conflicting with versions included with older WordPress versions diff --git a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php index 39bb86fa1..d1ab75b98 100755 --- a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php +++ b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php @@ -17,8 +17,7 @@ public static function allowFileWriting() { return true; } - $sapi = @php_sapi_name(); - if ($sapi == "cli") { + if (wfWAFUtils::isCli()) { return false; } return true; diff --git a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/utils.php b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/utils.php index cfcd65fad..8f480e013 100755 --- a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/utils.php +++ b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/utils.php @@ -1229,6 +1229,9 @@ protected static function _removeUnneededTokens($token) { public static function isVersionBelow($target, $compared) { return $compared === null || version_compare($compared, $target, '<'); } - + + public static function isCli() { + return (@php_sapi_name()==='cli') || !array_key_exists('REQUEST_METHOD', $_SERVER); + } } } \ No newline at end of file diff --git a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/waf.php b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/waf.php index 764cf5d72..fee2e978b 100755 --- a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/waf.php +++ b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/waf.php @@ -328,6 +328,11 @@ public function run() { public function loadRules() { $storageEngine = $this->getStorageEngine(); if ($storageEngine instanceof wfWAFStorageFile) { + $logLevel = error_reporting(); + if (wfWAFUtils::isCli()) { //Done to suppress errors from WP-CLI when the WAF is run on environments that have a server level constant to use the MySQLi storage engine that is not in place when running from the CLI + error_reporting(0); + } + // Acquire lock on this file so we're not including it while it's being written in another process. $handle = fopen($storageEngine->getRulesFile(), 'r'); $locked = $handle !== false && flock($handle, LOCK_SH); @@ -337,6 +342,10 @@ public function loadRules() { flock($handle, LOCK_UN); if ($handle !== false) fclose($handle); + + if (wfWAFUtils::isCli()) { + error_reporting($logLevel); + } } else { $wafRules = $storageEngine->getRules(); if (is_array($wafRules)) { diff --git a/wp-content/plugins/wordfence/views/scanner/issue-suspiciousAdminUsers.php b/wp-content/plugins/wordfence/views/scanner/issue-suspiciousAdminUsers.php index 251c1ce8e..b090fe761 100755 --- a/wp-content/plugins/wordfence/views/scanner/issue-suspiciousAdminUsers.php +++ b/wp-content/plugins/wordfence/views/scanner/issue-suspiciousAdminUsers.php @@ -14,6 +14,7 @@ 'detailControls' => array( '' . __('Delete User', 'wordfence') . '', '' . __('Revoke Capabilities', 'wordfence') . '', + '' . __('Acknowledge User', 'wordfence') . '', '' . __('Mark as Fixed', 'wordfence') . '', ), 'textOutput' => (isset($textOutput) ? $textOutput : null), diff --git a/wp-content/plugins/wordfence/views/scanner/issue-wfUpgradeError.php b/wp-content/plugins/wordfence/views/scanner/issue-wfUpgradeError.php new file mode 100755 index 000000000..a66979405 --- /dev/null +++ b/wp-content/plugins/wordfence/views/scanner/issue-wfUpgradeError.php @@ -0,0 +1,22 @@ + 'wfUpgradeError', + 'displayType' => __('Update Check Error', 'wordfence'), + 'iconSVG' => '', + 'summaryControls' => array(wfView::create('scanner/issue-control-ignore', array('ignoreC' => __('Ignore Update', 'wordfence'))), wfView::create('scanner/issue-control-show-details')), + 'detailPairs' => array( + __('Details', 'wordfence') => '{{html longMsg}}', + ), + 'detailControls' => array( + '' . __('Mark as Fixed', 'wordfence') . '', + '' . __('View Updates', 'wordfence') . '', + ), + 'textOutput' => (isset($textOutput) ? $textOutput : null), + 'textOutputDetailPairs' => array( + __('Details', 'wordfence') => '$longMsg', + ), +))->render(); \ No newline at end of file diff --git a/wp-content/plugins/wordfence/waf/bootstrap.php b/wp-content/plugins/wordfence/waf/bootstrap.php index cd8b35c38..a5dd590ef 100755 --- a/wp-content/plugins/wordfence/waf/bootstrap.php +++ b/wp-content/plugins/wordfence/waf/bootstrap.php @@ -837,8 +837,10 @@ protected function loadTranslations() { try { - - if (!defined('WFWAF_STORAGE_ENGINE') && (WF_IS_WP_ENGINE || WF_IS_FLYWHEEL)) { + if (!defined('WFWAF_STORAGE_ENGINE') && isset($_SERVER['WFWAF_STORAGE_ENGINE'])) { + define('WFWAF_STORAGE_ENGINE', $_SERVER['WFWAF_STORAGE_ENGINE']); + } + else if (!defined('WFWAF_STORAGE_ENGINE') && (WF_IS_WP_ENGINE || WF_IS_FLYWHEEL)) { define('WFWAF_STORAGE_ENGINE', 'mysqli'); } @@ -1019,10 +1021,15 @@ protected function loadTranslations() { ); } catch (Throwable $t) { - error_log("An unexpected error occurred during WAF execution: {$t}"); - $wf_waf_failure = array( - 'throwable' => $t - ); + error_log("An unexpected exception occurred during WAF execution: {$t}"); + if (class_exists('ParseError') && $t instanceof ParseError) { + //Do nothing + } + else { + $wf_waf_failure = array( + 'throwable' => $t + ); + } } if (wfWAF::getInstance() === null) { require_once __DIR__ . '/dummy.php'; diff --git a/wp-content/plugins/wordfence/wordfence.php b/wp-content/plugins/wordfence/wordfence.php index 1d1df0751..53bd7797d 100755 --- a/wp-content/plugins/wordfence/wordfence.php +++ b/wp-content/plugins/wordfence/wordfence.php @@ -4,7 +4,7 @@ Plugin URI: http://www.wordfence.com/ Description: Wordfence Security - Anti-virus, Firewall and Malware Scan Author: Wordfence -Version: 7.10.3 +Version: 7.10.4 Author URI: http://www.wordfence.com/ Text Domain: wordfence Domain Path: /languages @@ -38,8 +38,8 @@ if (!defined('ABSPATH')) { exit; } -define('WORDFENCE_VERSION', '7.10.3'); -define('WORDFENCE_BUILD_NUMBER', '1690810710'); +define('WORDFENCE_VERSION', '7.10.4'); +define('WORDFENCE_BUILD_NUMBER', '1695657196'); define('WORDFENCE_BASENAME', function_exists('plugin_basename') ? plugin_basename(__FILE__) : basename(dirname(__FILE__)) . '/' . basename(__FILE__)); diff --git a/wp-content/plugins/wordpress-seo/admin/class-admin-asset-yoast-components-l10n.php b/wp-content/plugins/wordpress-seo/admin/class-admin-asset-yoast-components-l10n.php deleted file mode 100755 index b38fe3a8f..000000000 --- a/wp-content/plugins/wordpress-seo/admin/class-admin-asset-yoast-components-l10n.php +++ /dev/null @@ -1,78 +0,0 @@ -asset_manager = new WPSEO_Admin_Asset_Manager(); - } - - /** - * Localizes the given script with the JavaScript translations. - * - * @codeCoverageIgnore - * @deprecated 18.0 - * - * @param string $script_handle The script handle to localize for. - * - * @return void - */ - public function localize_script( $script_handle ) { - _deprecated_function( __FUNCTION__, '18.0' ); - $translations = [ - 'yoast-components' => $this->get_translations( 'yoast-components' ), - 'wordpress-seo' => $this->get_translations( 'wordpress-seojs' ), - 'yoast-schema-blocks' => $this->get_translations( 'yoast-schema-blocks' ), - ]; - $this->asset_manager->localize_script( $script_handle, 'wpseoYoastJSL10n', $translations ); - } - - /** - * Returns translations necessary for JS files. - * - * @codeCoverageIgnore - * @deprecated 18.0 - * - * @param string $component The component to retrieve the translations for. - * @return object|null The translations in a Jed format for JS files. - */ - protected function get_translations( $component ) { - _deprecated_function( __FUNCTION__, '18.0' ); - $locale = \get_user_locale(); - - $file = WPSEO_PATH . 'languages/' . $component . '-' . $locale . '.json'; - if ( file_exists( $file ) ) { - // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents -- Retrieving a local file. - $file = file_get_contents( $file ); - if ( is_string( $file ) && $file !== '' ) { - return json_decode( $file, true ); - } - } - - return null; - } -} diff --git a/wp-content/plugins/wordpress-seo/admin/class-gutenberg-compatibility.php b/wp-content/plugins/wordpress-seo/admin/class-gutenberg-compatibility.php index 80451943a..1ce0ca121 100755 --- a/wp-content/plugins/wordpress-seo/admin/class-gutenberg-compatibility.php +++ b/wp-content/plugins/wordpress-seo/admin/class-gutenberg-compatibility.php @@ -15,14 +15,14 @@ class WPSEO_Gutenberg_Compatibility { * * @var string */ - const CURRENT_RELEASE = '16.6.0'; + const CURRENT_RELEASE = '16.7.0'; /** * The minimally supported version of Gutenberg by the plugin. * * @var string */ - const MINIMUM_SUPPORTED = '16.6.0'; + const MINIMUM_SUPPORTED = '16.7.0'; /** * Holds the current version. diff --git a/wp-content/plugins/wordpress-seo/css/dist/academy-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/academy-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/academy-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/academy-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/academy-2120.css b/wp-content/plugins/wordpress-seo/css/dist/academy-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/academy-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/academy-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/admin-global-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/admin-global-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/admin-global-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/admin-global-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/admin-global-2120.css b/wp-content/plugins/wordpress-seo/css/dist/admin-global-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/admin-global-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/admin-global-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120-rtl.css deleted file mode 100755 index c51ee93cc..000000000 --- a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120-rtl.css +++ /dev/null @@ -1 +0,0 @@ -.wpseo-score-icon{background:#888;border-radius:50%!important;display:inline-block!important;height:12px!important;margin:3px 3px 0 10px;vertical-align:top;width:12px!important}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:10px 4px 0 0!important}#wp-admin-bar-wpseo-menu .wpseo-score-icon.adminbar-sub-menu-score{margin:11px 4px 0 0!important}#wp-admin-bar-wpseo-menu-default .ab-item{line-height:2.46153846!important}#wp-admin-bar-wpseo-menu .ab-submenu{margin-bottom:5px}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu #wp-admin-bar-wpseo-menu-default li#wp-admin-bar-wpseo-get-premium a{color:#fff!important;font-weight:700!important}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu .wpseo-focus-keyword{display:inline-block!important;max-width:100px!important;overflow:hidden;text-overflow:ellipsis!important;vertical-align:bottom;white-space:nowrap}#wpadminbar .yoast-badge{border-radius:8px;display:inline-block;font-weight:600;line-height:1.6;margin-right:4px;padding:0 8px}#wpadminbar .yoast-beta-badge{background-color:#cce5ff;color:#004973}#wpadminbar .yoast-premium-badge{background-color:#fff3cd;color:#674e00}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{background-color:#a4286a;border-radius:10px 0 10px 10px;box-shadow:-1px 1px 1px 1px grey;color:#fff;right:0;padding:2px 12px;position:absolute;top:32px;white-space:nowrap}#wpadminbar .yoast-issue-added{display:none}#wpadminbar .yoast-issue-counter{border-radius:9px;color:#fff;display:inline;padding:1px 6px 1px 7px!important}#wpadminbar .yoast-logo.svg{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJmaWxsOiM4Mjg3OGMiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjAzLjYgMzk1YzYuOC0xNy40IDYuOC0zNi42IDAtNTRsLTc5LjQtMjA0aDcwLjlsNDcuNyAxNDkuNCA3NC44LTIwNy42SDExNi40Yy00MS44IDAtNzYgMzQuMi03NiA3NlYzNTdjMCA0MS44IDM0LjIgNzYgNzYgNzZIMTczYzE2LTguOSAyNC42LTIyLjcgMzAuNi0zOHpNNDcxLjYgMTU0LjhjMC00MS44LTM0LjItNzYtNzYtNzZoLTNMMjg1LjcgMzY1Yy05LjYgMjYuNy0xOS40IDQ5LjMtMzAuMyA2OGgyMTYuMlYxNTQuOHoiLz48cGF0aCBkPSJtMzM4IDEuMy05My4zIDI1OS4xLTQyLjEtMTMxLjloLTg5LjFsODMuOCAyMTUuMmM2IDE1LjUgNiAzMi41IDAgNDgtNy40IDE5LTE5IDM3LjMtNTMgNDEuOWwtNy4yIDF2NzZoOC4zYzgxLjcgMCAxMTguOS01Ny4yIDE0OS42LTE0Mi45TDQzMS42IDEuM0gzMzh6TTI3OS40IDM2MmMtMzIuOSA5Mi02Ny42IDEyOC43LTEyNS43IDEzMS44di00NWMzNy41LTcuNSA1MS4zLTMxIDU5LjEtNTEuMSA3LjUtMTkuMyA3LjUtNDAuNyAwLTYwbC03NS0xOTIuN2g1Mi44bDUzLjMgMTY2LjggMTA1LjktMjk0aDU4LjFMMjc5LjQgMzYyeiIvPjwvc3ZnPg==");background-position:100% 6px;background-repeat:no-repeat;background-size:20px;float:right;height:30px;width:26px}#wpadminbar #wp-admin-bar-wpseo-licenses .ab-item{color:#f18500}@media screen and (max-width:782px){#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:16px 2px 0 10px!important}#wpadminbar #wp-admin-bar-wpseo-menu{display:block;position:static}#wpadminbar .yoast-logo.svg{background-position:50% 8px;background-size:30px;height:46px;width:52px}#wpadminbar .yoast-logo+.yoast-issue-counter{margin-right:-5px;margin-left:10px}#wpadminbar .ab-sub-wrapper .yoast-issue-counter{position:relative;top:-5px;vertical-align:text-top}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{line-height:1.8;top:46px;white-space:normal}#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-kwresearch,#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-settings{display:none}} \ No newline at end of file diff --git a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120.css b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120.css deleted file mode 100755 index 937972332..000000000 --- a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120.css +++ /dev/null @@ -1 +0,0 @@ -.wpseo-score-icon{background:#888;border-radius:50%!important;display:inline-block!important;height:12px!important;margin:3px 10px 0 3px;vertical-align:top;width:12px!important}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:10px 0 0 4px!important}#wp-admin-bar-wpseo-menu .wpseo-score-icon.adminbar-sub-menu-score{margin:11px 0 0 4px!important}#wp-admin-bar-wpseo-menu-default .ab-item{line-height:2.46153846!important}#wp-admin-bar-wpseo-menu .ab-submenu{margin-bottom:5px}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu #wp-admin-bar-wpseo-menu-default li#wp-admin-bar-wpseo-get-premium a{color:#fff!important;font-weight:700!important}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu .wpseo-focus-keyword{display:inline-block!important;max-width:100px!important;overflow:hidden;text-overflow:ellipsis!important;vertical-align:bottom;white-space:nowrap}#wpadminbar .yoast-badge{border-radius:8px;display:inline-block;font-weight:600;line-height:1.6;margin-left:4px;padding:0 8px}#wpadminbar .yoast-beta-badge{background-color:#cce5ff;color:#004973}#wpadminbar .yoast-premium-badge{background-color:#fff3cd;color:#674e00}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{background-color:#a4286a;border-radius:0 10px 10px 10px;box-shadow:1px 1px 1px 1px grey;color:#fff;left:0;padding:2px 12px;position:absolute;top:32px;white-space:nowrap}#wpadminbar .yoast-issue-added{display:none}#wpadminbar .yoast-issue-counter{border-radius:9px;color:#fff;display:inline;padding:1px 7px 1px 6px!important}#wpadminbar .yoast-logo.svg{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJmaWxsOiM4Mjg3OGMiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjAzLjYgMzk1YzYuOC0xNy40IDYuOC0zNi42IDAtNTRsLTc5LjQtMjA0aDcwLjlsNDcuNyAxNDkuNCA3NC44LTIwNy42SDExNi40Yy00MS44IDAtNzYgMzQuMi03NiA3NlYzNTdjMCA0MS44IDM0LjIgNzYgNzYgNzZIMTczYzE2LTguOSAyNC42LTIyLjcgMzAuNi0zOHpNNDcxLjYgMTU0LjhjMC00MS44LTM0LjItNzYtNzYtNzZoLTNMMjg1LjcgMzY1Yy05LjYgMjYuNy0xOS40IDQ5LjMtMzAuMyA2OGgyMTYuMlYxNTQuOHoiLz48cGF0aCBkPSJtMzM4IDEuMy05My4zIDI1OS4xLTQyLjEtMTMxLjloLTg5LjFsODMuOCAyMTUuMmM2IDE1LjUgNiAzMi41IDAgNDgtNy40IDE5LTE5IDM3LjMtNTMgNDEuOWwtNy4yIDF2NzZoOC4zYzgxLjcgMCAxMTguOS01Ny4yIDE0OS42LTE0Mi45TDQzMS42IDEuM0gzMzh6TTI3OS40IDM2MmMtMzIuOSA5Mi02Ny42IDEyOC43LTEyNS43IDEzMS44di00NWMzNy41LTcuNSA1MS4zLTMxIDU5LjEtNTEuMSA3LjUtMTkuMyA3LjUtNDAuNyAwLTYwbC03NS0xOTIuN2g1Mi44bDUzLjMgMTY2LjggMTA1LjktMjk0aDU4LjFMMjc5LjQgMzYyeiIvPjwvc3ZnPg==");background-position:0 6px;background-repeat:no-repeat;background-size:20px;float:left;height:30px;width:26px}#wpadminbar #wp-admin-bar-wpseo-licenses .ab-item{color:#f18500}@media screen and (max-width:782px){#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:16px 10px 0 2px!important}#wpadminbar #wp-admin-bar-wpseo-menu{display:block;position:static}#wpadminbar .yoast-logo.svg{background-position:50% 8px;background-size:30px;height:46px;width:52px}#wpadminbar .yoast-logo+.yoast-issue-counter{margin-left:-5px;margin-right:10px}#wpadminbar .ab-sub-wrapper .yoast-issue-counter{position:relative;top:-5px;vertical-align:text-top}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{line-height:1.8;top:46px;white-space:normal}#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-kwresearch,#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-settings{display:none}} \ No newline at end of file diff --git a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130-rtl.css new file mode 100755 index 000000000..e48c47610 --- /dev/null +++ b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130-rtl.css @@ -0,0 +1 @@ +.wpseo-score-icon{background:#888;border-radius:50%!important;display:inline-block!important;height:12px!important;margin:3px 3px 0 10px;vertical-align:top;width:12px!important}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:10px 4px 0 0!important}#wp-admin-bar-wpseo-menu .wpseo-score-icon.adminbar-sub-menu-score{margin:11px 4px 0 0!important}#wp-admin-bar-wpseo-menu-default .ab-item{line-height:2.46153846!important}#wp-admin-bar-wpseo-menu .ab-submenu{margin-bottom:5px}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu #wp-admin-bar-wpseo-menu-default li#wp-admin-bar-wpseo-get-premium a{color:#fff!important;font-weight:700!important}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu .wpseo-focus-keyword{display:inline-block!important;max-width:100px!important;overflow:hidden;text-overflow:ellipsis!important;vertical-align:bottom;white-space:nowrap}#wpadminbar .yoast-badge{border-radius:8px;display:inline-block;font-weight:600;line-height:1.6;margin-right:4px;padding:0 8px}#wpadminbar .yoast-beta-badge{background-color:#cce5ff;color:#004973}#wpadminbar .yoast-premium-badge{background-color:#fff3cd;color:#674e00}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{background-color:#a4286a;border-radius:10px 0 10px 10px;box-shadow:-1px 1px 1px 1px grey;color:#fff;right:0;padding:2px 12px;position:absolute;top:32px;white-space:nowrap}#wpadminbar .yoast-issue-added{display:none}#wpadminbar .yoast-issue-counter{background-color:#d63638;border-radius:9px;color:#fff;display:inline;padding:1px 6px 1px 7px!important}#wpadminbar .yoast-logo.svg{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJmaWxsOiM4Mjg3OGMiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjAzLjYgMzk1YzYuOC0xNy40IDYuOC0zNi42IDAtNTRsLTc5LjQtMjA0aDcwLjlsNDcuNyAxNDkuNCA3NC44LTIwNy42SDExNi40Yy00MS44IDAtNzYgMzQuMi03NiA3NlYzNTdjMCA0MS44IDM0LjIgNzYgNzYgNzZIMTczYzE2LTguOSAyNC42LTIyLjcgMzAuNi0zOHpNNDcxLjYgMTU0LjhjMC00MS44LTM0LjItNzYtNzYtNzZoLTNMMjg1LjcgMzY1Yy05LjYgMjYuNy0xOS40IDQ5LjMtMzAuMyA2OGgyMTYuMlYxNTQuOHoiLz48cGF0aCBkPSJtMzM4IDEuMy05My4zIDI1OS4xLTQyLjEtMTMxLjloLTg5LjFsODMuOCAyMTUuMmM2IDE1LjUgNiAzMi41IDAgNDgtNy40IDE5LTE5IDM3LjMtNTMgNDEuOWwtNy4yIDF2NzZoOC4zYzgxLjcgMCAxMTguOS01Ny4yIDE0OS42LTE0Mi45TDQzMS42IDEuM0gzMzh6TTI3OS40IDM2MmMtMzIuOSA5Mi02Ny42IDEyOC43LTEyNS43IDEzMS44di00NWMzNy41LTcuNSA1MS4zLTMxIDU5LjEtNTEuMSA3LjUtMTkuMyA3LjUtNDAuNyAwLTYwbC03NS0xOTIuN2g1Mi44bDUzLjMgMTY2LjggMTA1LjktMjk0aDU4LjFMMjc5LjQgMzYyeiIvPjwvc3ZnPg==");background-position:100% 6px;background-repeat:no-repeat;background-size:20px;float:right;height:30px;width:26px}#wpadminbar #wp-admin-bar-wpseo-licenses .ab-item{color:#f18500}@media screen and (max-width:782px){#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:16px 2px 0 10px!important}#wpadminbar #wp-admin-bar-wpseo-menu{display:block;position:static}#wpadminbar .yoast-logo.svg{background-position:50% 8px;background-size:30px;height:46px;width:52px}#wpadminbar .yoast-logo+.yoast-issue-counter{margin-right:-5px;margin-left:10px}#wpadminbar .ab-sub-wrapper .yoast-issue-counter{position:relative;top:-5px;vertical-align:text-top}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{line-height:1.8;top:46px;white-space:normal}#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-kwresearch,#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-settings{display:none}} \ No newline at end of file diff --git a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130.css b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130.css new file mode 100755 index 000000000..b59ff2a1b --- /dev/null +++ b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130.css @@ -0,0 +1 @@ +.wpseo-score-icon{background:#888;border-radius:50%!important;display:inline-block!important;height:12px!important;margin:3px 10px 0 3px;vertical-align:top;width:12px!important}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:10px 0 0 4px!important}#wp-admin-bar-wpseo-menu .wpseo-score-icon.adminbar-sub-menu-score{margin:11px 0 0 4px!important}#wp-admin-bar-wpseo-menu-default .ab-item{line-height:2.46153846!important}#wp-admin-bar-wpseo-menu .ab-submenu{margin-bottom:5px}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu #wp-admin-bar-wpseo-menu-default li#wp-admin-bar-wpseo-get-premium a{color:#fff!important;font-weight:700!important}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu .wpseo-focus-keyword{display:inline-block!important;max-width:100px!important;overflow:hidden;text-overflow:ellipsis!important;vertical-align:bottom;white-space:nowrap}#wpadminbar .yoast-badge{border-radius:8px;display:inline-block;font-weight:600;line-height:1.6;margin-left:4px;padding:0 8px}#wpadminbar .yoast-beta-badge{background-color:#cce5ff;color:#004973}#wpadminbar .yoast-premium-badge{background-color:#fff3cd;color:#674e00}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{background-color:#a4286a;border-radius:0 10px 10px 10px;box-shadow:1px 1px 1px 1px grey;color:#fff;left:0;padding:2px 12px;position:absolute;top:32px;white-space:nowrap}#wpadminbar .yoast-issue-added{display:none}#wpadminbar .yoast-issue-counter{background-color:#d63638;border-radius:9px;color:#fff;display:inline;padding:1px 7px 1px 6px!important}#wpadminbar .yoast-logo.svg{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJmaWxsOiM4Mjg3OGMiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjAzLjYgMzk1YzYuOC0xNy40IDYuOC0zNi42IDAtNTRsLTc5LjQtMjA0aDcwLjlsNDcuNyAxNDkuNCA3NC44LTIwNy42SDExNi40Yy00MS44IDAtNzYgMzQuMi03NiA3NlYzNTdjMCA0MS44IDM0LjIgNzYgNzYgNzZIMTczYzE2LTguOSAyNC42LTIyLjcgMzAuNi0zOHpNNDcxLjYgMTU0LjhjMC00MS44LTM0LjItNzYtNzYtNzZoLTNMMjg1LjcgMzY1Yy05LjYgMjYuNy0xOS40IDQ5LjMtMzAuMyA2OGgyMTYuMlYxNTQuOHoiLz48cGF0aCBkPSJtMzM4IDEuMy05My4zIDI1OS4xLTQyLjEtMTMxLjloLTg5LjFsODMuOCAyMTUuMmM2IDE1LjUgNiAzMi41IDAgNDgtNy40IDE5LTE5IDM3LjMtNTMgNDEuOWwtNy4yIDF2NzZoOC4zYzgxLjcgMCAxMTguOS01Ny4yIDE0OS42LTE0Mi45TDQzMS42IDEuM0gzMzh6TTI3OS40IDM2MmMtMzIuOSA5Mi02Ny42IDEyOC43LTEyNS43IDEzMS44di00NWMzNy41LTcuNSA1MS4zLTMxIDU5LjEtNTEuMSA3LjUtMTkuMyA3LjUtNDAuNyAwLTYwbC03NS0xOTIuN2g1Mi44bDUzLjMgMTY2LjggMTA1LjktMjk0aDU4LjFMMjc5LjQgMzYyeiIvPjwvc3ZnPg==");background-position:0 6px;background-repeat:no-repeat;background-size:20px;float:left;height:30px;width:26px}#wpadminbar #wp-admin-bar-wpseo-licenses .ab-item{color:#f18500}@media screen and (max-width:782px){#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:16px 10px 0 2px!important}#wpadminbar #wp-admin-bar-wpseo-menu{display:block;position:static}#wpadminbar .yoast-logo.svg{background-position:50% 8px;background-size:30px;height:46px;width:52px}#wpadminbar .yoast-logo+.yoast-issue-counter{margin-left:-5px;margin-right:10px}#wpadminbar .ab-sub-wrapper .yoast-issue-counter{position:relative;top:-5px;vertical-align:text-top}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{line-height:1.8;top:46px;white-space:normal}#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-kwresearch,#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-settings{display:none}} \ No newline at end of file diff --git a/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/ai-generator-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/ai-generator-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2120.css b/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/ai-generator-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/ai-generator-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/alerts-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/alerts-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/alerts-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/alerts-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/alerts-2120.css b/wp-content/plugins/wordpress-seo/css/dist/alerts-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/alerts-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/alerts-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/dashboard-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/dashboard-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/dashboard-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/dashboard-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/dashboard-2120.css b/wp-content/plugins/wordpress-seo/css/dist/dashboard-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/dashboard-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/dashboard-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/edit-page-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/edit-page-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/edit-page-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/edit-page-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/edit-page-2120.css b/wp-content/plugins/wordpress-seo/css/dist/edit-page-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/edit-page-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/edit-page-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/elementor-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/elementor-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/elementor-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/elementor-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/elementor-2120.css b/wp-content/plugins/wordpress-seo/css/dist/elementor-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/elementor-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/elementor-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/featured-image-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/featured-image-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/featured-image-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/featured-image-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/featured-image-2120.css b/wp-content/plugins/wordpress-seo/css/dist/featured-image-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/featured-image-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/featured-image-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2120.css b/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2120.css b/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/icons-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/icons-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/icons-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/icons-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/icons-2120.css b/wp-content/plugins/wordpress-seo/css/dist/icons-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/icons-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/icons-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/inside-editor-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/inside-editor-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2120.css b/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/inside-editor-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/inside-editor-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/introductions-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/introductions-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/introductions-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/introductions-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/introductions-2120.css b/wp-content/plugins/wordpress-seo/css/dist/introductions-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/introductions-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/introductions-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/metabox-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/metabox-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/metabox-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/metabox-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/metabox-2120.css b/wp-content/plugins/wordpress-seo/css/dist/metabox-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/metabox-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/metabox-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2120.css b/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/modal-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/modal-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/modal-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/modal-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/modal-2120.css b/wp-content/plugins/wordpress-seo/css/dist/modal-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/modal-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/modal-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/monorepo-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/monorepo-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/monorepo-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/monorepo-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/monorepo-2120.css b/wp-content/plugins/wordpress-seo/css/dist/monorepo-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/monorepo-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/monorepo-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/new-settings-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/new-settings-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/new-settings-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/new-settings-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/new-settings-2120.css b/wp-content/plugins/wordpress-seo/css/dist/new-settings-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/new-settings-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/new-settings-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/notifications-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/notifications-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/notifications-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/notifications-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/notifications-2120.css b/wp-content/plugins/wordpress-seo/css/dist/notifications-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/notifications-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/notifications-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/score_icon-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/score_icon-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/score_icon-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/score_icon-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/score_icon-2120.css b/wp-content/plugins/wordpress-seo/css/dist/score_icon-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/score_icon-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/score_icon-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2120.css b/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/support-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/support-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/support-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/support-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/support-2120.css b/wp-content/plugins/wordpress-seo/css/dist/support-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/support-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/support-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/tailwind-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/tailwind-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/tailwind-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/tailwind-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/tailwind-2120.css b/wp-content/plugins/wordpress-seo/css/dist/tailwind-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/tailwind-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/tailwind-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2120.css b/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/tooltips-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/tooltips-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/tooltips-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/tooltips-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/tooltips-2120.css b/wp-content/plugins/wordpress-seo/css/dist/tooltips-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/tooltips-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/tooltips-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/workouts-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/workouts-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/workouts-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/workouts-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/workouts-2120.css b/wp-content/plugins/wordpress-seo/css/dist/workouts-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/workouts-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/workouts-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2120.css b/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2120.css b/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2120.css b/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2130.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2130-rtl.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2120-rtl.css rename to wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2130-rtl.css diff --git a/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2120.css b/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2130.css similarity index 100% rename from wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2120.css rename to wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2130.css diff --git a/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php b/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php index 4ddbb5292..8a44822d7 100755 --- a/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php +++ b/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php @@ -540,26 +540,6 @@ public function get_last_modified( $post_types ) { return YoastSEO()->helpers->date->format( self::get_last_modified_gmt( $post_types ) ); } - // phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Argument is kept for documentation purposes. - - /** - * Notify search engines of the updated sitemap. - * - * @deprecated 19.2 - * - * @codeCoverageIgnore - * - * @param string|null $url Optional URL to make the ping for. - */ - public static function ping_search_engines( $url = null ) { - _deprecated_function( __METHOD__, 'Yoast SEO 19.2', 'WPSEO_Sitemaps_Admin::ping_search_engines' ); - - $admin = new WPSEO_Sitemaps_Admin(); - $admin->ping_search_engines(); - } - - // phpcs:enable - /** * Get the maximum number of entries per XML sitemap. * diff --git a/wp-content/plugins/wordpress-seo/inc/wpseo-functions-deprecated.php b/wp-content/plugins/wordpress-seo/inc/wpseo-functions-deprecated.php index a6367d890..936e105ad 100755 --- a/wp-content/plugins/wordpress-seo/inc/wpseo-functions-deprecated.php +++ b/wp-content/plugins/wordpress-seo/inc/wpseo-functions-deprecated.php @@ -5,17 +5,3 @@ * @package WPSEO\Deprecated */ -if ( ! function_exists( 'wpseo_cli_init' ) ) { - - /** - * Initialize the WP-CLI integration. - * - * @deprecated 19.6.1 - * @codeCoverageIgnore - * - * @phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound - */ - function wpseo_cli_init() { - _deprecated_function( __FUNCTION__, 'Yoast SEO 19.6.1' ); - } -} diff --git a/wp-content/plugins/wordpress-seo/js/dist/block-editor.js b/wp-content/plugins/wordpress-seo/js/dist/block-editor.js index ba2672039..d8dc81156 100755 --- a/wp-content/plugins/wordpress-seo/js/dist/block-editor.js +++ b/wp-content/plugins/wordpress-seo/js/dist/block-editor.js @@ -497,7 +497,7 @@ Object(J.__)("Your %s is now protected via the blockchain!","wordpress-seo"),Obj * %3$s translates to the Post type in singular form. */ "The %3$s will automatically be timestamped every time you %1$supdate%2$s or %1$spublish%2$s.","wordpress-seo"),"","",Object(ne.a)("current_post_type")),{b:Object(Q.createElement)("b",null)})),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(oe.NewButton,{variant:"primary",onClick:t},"Continue")))};ce.propTypes={closeModal:ie.a.func.isRequired};var le,de=ce;function ue(){return(ue=Object.assign||function(e){for(var t=1;t{const{closeModal:t}=e,a=Object(Q.useCallback)(e=>{t(),e.preventDefault(),Object(ne.c)()});return Object(Q.createElement)("div",null,Object(Q.createElement)("div",{className:"yoast-wordproof-modal-image"},Object(Q.createElement)(pe,{className:"yoast-wordproof-modal-svg__webhook-failed"})),Object(Q.createElement)("div",null,Object(J.__)("There was a connection problem. This could be because your third party connections are blocked.","wordpress-seo"),Object(Q.createElement)("br",null),Object(X.a)(Object(J.sprintf)(Object(J.__)("Find possible solutions in this %1$sArticle%2$s.","wordpress-seo"),"",""),"https://help.wordproof.com/en/articles/4823201-how-do-i-whitelist-wordproof-in-cloudflare")),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(oe.NewButton,{variant:"secondary",onClick:a},Object(J.__)("Try again","wordpress-seo"))),Object(Q.createElement)("div",null,Object(X.a)(Object(J.sprintf)(// translators: %1$s and %2$s are replaced by opening and closing tags. %3$s expands to WordProof. -Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo"),"","","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var be=me,he=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),r=Object(Q.useCallback)(()=>{t("webhook:failed")}),n=Object(Q.useCallback)(()=>{t("oauth:success")}),o=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",n,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",r,!1),()=>{window.removeEventListener("wordproof:oauth:success",n,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",r,!1)}),[]);const s=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(he.a,{onRequestClose:o,additionalClassName:"yoast-wordproof-modal",title:s()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:o}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(be,{closeModal:o})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var r=a(47),n=a(40),o=a(120),s=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(n.a)("popup_redirect_authentication_url"),c=Object(n.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const o=e.top.outerHeight/2+e.top.screenY-n/2,s=e.top.outerWidth/2+e.top.screenX-r/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${r},\n\t\theight=${n},\n\t\ttop=${o},\n\t\tleft=${s}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:r}=e;if(r===Object(n.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await b(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await h(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(o.a)(t),!1===a&&(await Object(r.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},b=async e=>{await Object(r.c)(()=>Object(s.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(n.a)("origin")),!0},async()=>!1)},h=async e=>{await Object(r.c)(()=>Object(s.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},,,,,function(e,t,a){"use strict";var r=a(5),n=a(8);t.a=Object(r.withSelect)(e=>{const{getWarningMessage:t}=e("yoast-seo/editor");return{message:t()}})(n.Warning)},,,,,,function(e,t,a){"use strict";var r=a(5),n=a(20),o=a(11),s=a.n(o),i=a(0),c=a(3),l=c.forwardRef((function(e,t){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),c.createElement("path",{d:"M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z"}))})),d=a(1),u=a(256),p=a(2),m=a.n(p),b=a(9),h=a.n(b),g=a(77),f=a(41),O=a(112),y=a(104),w=a(79),j=a(125);const E=h()(l)` +Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo"),"","","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var be=me,he=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),r=Object(Q.useCallback)(()=>{t("webhook:failed")}),n=Object(Q.useCallback)(()=>{t("oauth:success")}),o=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",n,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",r,!1),()=>{window.removeEventListener("wordproof:oauth:success",n,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",r,!1)}),[]);const s=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(he.a,{onRequestClose:o,additionalClassName:"yoast-wordproof-modal",title:s()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:o}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(be,{closeModal:o})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var r=a(47),n=a(40),o=a(120),s=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(n.a)("popup_redirect_authentication_url"),c=Object(n.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const o=e.top.outerHeight/2+e.top.screenY-n/2,s=e.top.outerWidth/2+e.top.screenX-r/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${r},\n\t\theight=${n},\n\t\ttop=${o},\n\t\tleft=${s}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:r}=e;if(r===Object(n.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await b(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await p("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await h(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(o.a)(t),!1===a&&(await Object(r.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},b=async e=>{await Object(r.c)(()=>Object(s.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(n.a)("origin")),!0},async()=>!1)},h=async e=>{await Object(r.c)(()=>Object(s.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},,,,,function(e,t,a){"use strict";var r=a(5),n=a(8);t.a=Object(r.withSelect)(e=>{const{getWarningMessage:t}=e("yoast-seo/editor");return{message:t()}})(n.Warning)},,,,,,function(e,t,a){"use strict";var r=a(5),n=a(20),o=a(11),s=a.n(o),i=a(0),c=a(3),l=c.forwardRef((function(e,t){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),c.createElement("path",{d:"M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z"}))})),d=a(1),u=a(256),p=a(2),m=a.n(p),b=a(9),h=a.n(b),g=a(77),f=a(41),O=a(112),y=a(104),w=a(79),j=a(125);const E=h()(l)` width: 18px; height: 18px; margin: 3px; diff --git a/wp-content/plugins/wordpress-seo/js/dist/classic-editor.js b/wp-content/plugins/wordpress-seo/js/dist/classic-editor.js index 153307419..ce02e7242 100755 --- a/wp-content/plugins/wordpress-seo/js/dist/classic-editor.js +++ b/wp-content/plugins/wordpress-seo/js/dist/classic-editor.js @@ -491,7 +491,7 @@ Object(J.__)("Your %s is now protected via the blockchain!","wordpress-seo"),Obj * %3$s translates to the Post type in singular form. */ "The %3$s will automatically be timestamped every time you %1$supdate%2$s or %1$spublish%2$s.","wordpress-seo"),"","",Object(re.a)("current_post_type")),{b:Object(Q.createElement)("b",null)})),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(oe.NewButton,{variant:"primary",onClick:t},"Continue")))};ce.propTypes={closeModal:ie.a.func.isRequired};var le,de=ce;function ue(){return(ue=Object.assign||function(e){for(var t=1;t{const{closeModal:t}=e,a=Object(Q.useCallback)(e=>{t(),e.preventDefault(),Object(re.c)()});return Object(Q.createElement)("div",null,Object(Q.createElement)("div",{className:"yoast-wordproof-modal-image"},Object(Q.createElement)(pe,{className:"yoast-wordproof-modal-svg__webhook-failed"})),Object(Q.createElement)("div",null,Object(J.__)("There was a connection problem. This could be because your third party connections are blocked.","wordpress-seo"),Object(Q.createElement)("br",null),Object(X.a)(Object(J.sprintf)(Object(J.__)("Find possible solutions in this %1$sArticle%2$s.","wordpress-seo"),"",""),"https://help.wordproof.com/en/articles/4823201-how-do-i-whitelist-wordproof-in-cloudflare")),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(oe.NewButton,{variant:"secondary",onClick:a},Object(J.__)("Try again","wordpress-seo"))),Object(Q.createElement)("div",null,Object(X.a)(Object(J.sprintf)(// translators: %1$s and %2$s are replaced by opening and closing tags. %3$s expands to WordProof. -Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo"),"","","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var he=me,be=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),n=Object(Q.useCallback)(()=>{t("webhook:failed")}),r=Object(Q.useCallback)(()=>{t("oauth:success")}),o=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",r,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",n,!1),()=>{window.removeEventListener("wordproof:oauth:success",r,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",n,!1)}),[]);const s=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(be.a,{onRequestClose:o,additionalClassName:"yoast-wordproof-modal",title:s()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:o}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(he,{closeModal:o})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(47),r=a(40),o=a(120),s=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(r.a)("popup_redirect_authentication_url"),c=Object(r.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const o=e.top.outerHeight/2+e.top.screenY-r/2,s=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${o},\n\t\tleft=${s}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:n}=e;if(n===Object(r.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await h(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await b(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(o.a)(t),!1===a&&(await Object(n.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},h=async e=>{await Object(n.c)(()=>Object(s.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(r.a)("origin")),!0},async()=>!1)},b=async e=>{await Object(n.c)(()=>Object(s.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},,,,,function(e,t,a){"use strict";var n=a(5),r=a(8);t.a=Object(n.withSelect)(e=>{const{getWarningMessage:t}=e("yoast-seo/editor");return{message:t()}})(r.Warning)},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return ae}));var n=a(0),r=a(2),o=a.n(r),s=a(19),i=a(144),c=a(78);function l(e){let{theme:t}=e;return Object(n.createElement)(c.a,{theme:t,location:"metabox"},Object(n.createElement)(s.Slot,{name:"YoastMetabox"},e=>Object(i.a)(e)))}var d=a(5),u=a(20),p=a(1),m=a(14),h=a(145),b=a(155),g=a(182),f=a(62),y=a(92),O=a(49),w=a(146),j=a(147),E=a(156),v=a(148),_=a(157);const T=e=>{let{location:t}=e;const a=Object(d.useSelect)(e=>e("yoast-seo/editor").isFleschReadingEaseAvailable(),[]);return Object(n.createElement)(O.a,{title:Object(p.__)("Insights","wordpress-seo"),id:"yoast-insights-collapsible-"+t,className:"yoast-insights"},Object(n.createElement)(E.a,{location:t}),Object(n.createElement)("div",null,a&&Object(n.createElement)("div",{className:"yoast-insights-row"},Object(n.createElement)(j.a,null)),Object(n.createElement)("div",{className:"yoast-insights-row yoast-insights-row--columns"},Object(n.createElement)(w.a,null),Object(n.createElement)(v.a,null)),Object(y.isFeatureEnabled)("TEXT_FORMALITY")&&Object(n.createElement)(_.a,{location:t,name:"YoastTextFormalityMetabox"})))};T.propTypes={location:o.a.string},T.defaultProps={location:"metabox"};var k=T,x=a(33),S=a(152),R=a(9),C=a.n(R),I=a(132),L=a(123),P=a(86);const A=C.a.div` +Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo"),"","","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var he=me,be=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),n=Object(Q.useCallback)(()=>{t("webhook:failed")}),r=Object(Q.useCallback)(()=>{t("oauth:success")}),o=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",r,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",n,!1),()=>{window.removeEventListener("wordproof:oauth:success",r,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",n,!1)}),[]);const s=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(be.a,{onRequestClose:o,additionalClassName:"yoast-wordproof-modal",title:s()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:o}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(he,{closeModal:o})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(47),r=a(40),o=a(120),s=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(r.a)("popup_redirect_authentication_url"),c=Object(r.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const o=e.top.outerHeight/2+e.top.screenY-r/2,s=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${o},\n\t\tleft=${s}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:n}=e;if(n===Object(r.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await h(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await p("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await b(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(o.a)(t),!1===a&&(await Object(n.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},h=async e=>{await Object(n.c)(()=>Object(s.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(r.a)("origin")),!0},async()=>!1)},b=async e=>{await Object(n.c)(()=>Object(s.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},,,,,function(e,t,a){"use strict";var n=a(5),r=a(8);t.a=Object(n.withSelect)(e=>{const{getWarningMessage:t}=e("yoast-seo/editor");return{message:t()}})(r.Warning)},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return ae}));var n=a(0),r=a(2),o=a.n(r),s=a(19),i=a(144),c=a(78);function l(e){let{theme:t}=e;return Object(n.createElement)(c.a,{theme:t,location:"metabox"},Object(n.createElement)(s.Slot,{name:"YoastMetabox"},e=>Object(i.a)(e)))}var d=a(5),u=a(20),p=a(1),m=a(14),h=a(145),b=a(155),g=a(182),f=a(62),y=a(92),O=a(49),w=a(146),j=a(147),E=a(156),v=a(148),_=a(157);const T=e=>{let{location:t}=e;const a=Object(d.useSelect)(e=>e("yoast-seo/editor").isFleschReadingEaseAvailable(),[]);return Object(n.createElement)(O.a,{title:Object(p.__)("Insights","wordpress-seo"),id:"yoast-insights-collapsible-"+t,className:"yoast-insights"},Object(n.createElement)(E.a,{location:t}),Object(n.createElement)("div",null,a&&Object(n.createElement)("div",{className:"yoast-insights-row"},Object(n.createElement)(j.a,null)),Object(n.createElement)("div",{className:"yoast-insights-row yoast-insights-row--columns"},Object(n.createElement)(w.a,null),Object(n.createElement)(v.a,null)),Object(y.isFeatureEnabled)("TEXT_FORMALITY")&&Object(n.createElement)(_.a,{location:t,name:"YoastTextFormalityMetabox"})))};T.propTypes={location:o.a.string},T.defaultProps={location:"metabox"};var k=T,x=a(33),S=a(152),R=a(9),C=a.n(R),I=a(132),L=a(123),P=a(86);const A=C.a.div` padding: 16px; `,M=e=>{let{useOpenGraphData:t,useTwitterData:a}=e;return Object(n.createElement)(n.Fragment,null,a&&t&&Object(n.createElement)(n.Fragment,null,Object(n.createElement)(O.a,{hasSeparator:!1 /* translators: Social media appearance refers to a preview of how a page will be represented on social media. */,title:Object(p.__)("Social media appearance","wordpress-seo"),initialIsOpen:!0},Object(n.createElement)(P.b,null,Object(p.__)("Determine how your post should look on social media like Facebook, Twitter, Instagram, WhatsApp, Threads, LinkedIn, Slack, and more.","wordpress-seo")),Object(n.createElement)(I.a,null),Object(n.createElement)(P.a,null,Object(p.__)("To customize the appearance of your post specifically for Twitter, please fill out the 'Twitter appearance' settings below. If you leave these settings untouched, the 'Social media appearance' settings mentioned above will also be applied for sharing on Twitter.","wordpress-seo"))),Object(n.createElement)(O.a,{title:Object(p.__)("Twitter appearance","wordpress-seo"),hasSeparator:!0,initialIsOpen:!1},Object(n.createElement)(L.a,null))),t&&!a&&Object(n.createElement)(A,null,Object(n.createElement)(P.b,null,Object(p.__)("Determine how your post should look on social media like Facebook, Twitter, Instagram, WhatsApp, Threads, LinkedIn, Slack, and more.","wordpress-seo")),Object(n.createElement)(I.a,null)),!t&&a&&Object(n.createElement)(A,null,Object(n.createElement)(P.b,null,Object(p.__)("To customize the appearance of your post specifically for Twitter, please fill out the 'Twitter appearance' settings below.","wordpress-seo")),Object(n.createElement)(L.a,null)))};M.propTypes={useOpenGraphData:o.a.bool.isRequired,useTwitterData:o.a.bool.isRequired};var F=M,q=Object(d.withSelect)(e=>{const{getPreferences:t}=e("yoast-seo/editor"),{useOpenGraphData:a,useTwitterData:n}=t();return{useOpenGraphData:a,useTwitterData:n}})(F),D=a(74);function N(e){let{target:t}=e;return Object(n.createElement)(D.a,{target:t},Object(n.createElement)(q,null))}N.propTypes={target:o.a.string.isRequired};var W=a(153),z=a(141),U=a(125),B=a(42),$=a(175),H=a(154),K=a(149),Y=a(16),V=a(88),G=a(11),Z=a.n(G),Q=a(89);const J=e=>{let{store:t="yoast-seo/editor",image:a=null,title:r,promoId:o,alertKey:s,children:i,...c}=e;const l=Object(d.select)(t).isPromotionActive(o);return!(()=>{var e,t;const a=Object(d.select)("yoast-seo/editor").getWarningMessage();return(null!==(e=null===(t=Object(d.select)("yoast-seo-premium/editor"))||void 0===t?void 0:t.getMetaboxWarning())&&void 0!==e?e:[]).length>0||a.length>0})()&&l&&Object(n.createElement)(Q.a,Z()({alertKey:s,store:t,id:s,title:r,image:a},c),i)};J.propTypes={store:o.a.string,image:o.a.elementType,title:o.a.string.isRequired,promoId:o.a.string.isRequired,alertKey:o.a.string.isRequired,children:o.a.node};const X=()=>{const e=Object(d.select)("yoast-seo/editor").selectLinkParams();return Object(n.createElement)(J,{title:Object(p.__)("Is your WooCommerce store ready for Black Friday?","wordpress-seo"),promoId:"black_friday_2023_checklist",alertKey:"black-friday-2023-product-editor-checklist",store:"yoast-seo/editor",image:V.a},Object(n.createInterpolateElement)(Object(p.sprintf)( diff --git a/wp-content/plugins/wordpress-seo/js/dist/elementor.js b/wp-content/plugins/wordpress-seo/js/dist/elementor.js index 54ae9e73f..9bb9b94c9 100755 --- a/wp-content/plugins/wordpress-seo/js/dist/elementor.js +++ b/wp-content/plugins/wordpress-seo/js/dist/elementor.js @@ -511,7 +511,7 @@ Object(J.__)("Your %s is now protected via the blockchain!","wordpress-seo"),Obj * %3$s translates to the Post type in singular form. */ "The %3$s will automatically be timestamped every time you %1$supdate%2$s or %1$spublish%2$s.","wordpress-seo"),"","",Object(re.a)("current_post_type")),{b:Object(Q.createElement)("b",null)})),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(se.NewButton,{variant:"primary",onClick:t},"Continue")))};ce.propTypes={closeModal:ie.a.func.isRequired};var le,de=ce;function ue(){return(ue=Object.assign||function(e){for(var t=1;t{const{closeModal:t}=e,a=Object(Q.useCallback)(e=>{t(),e.preventDefault(),Object(re.c)()});return Object(Q.createElement)("div",null,Object(Q.createElement)("div",{className:"yoast-wordproof-modal-image"},Object(Q.createElement)(pe,{className:"yoast-wordproof-modal-svg__webhook-failed"})),Object(Q.createElement)("div",null,Object(J.__)("There was a connection problem. This could be because your third party connections are blocked.","wordpress-seo"),Object(Q.createElement)("br",null),Object(X.a)(Object(J.sprintf)(Object(J.__)("Find possible solutions in this %1$sArticle%2$s.","wordpress-seo"),"",""),"https://help.wordproof.com/en/articles/4823201-how-do-i-whitelist-wordproof-in-cloudflare")),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(se.NewButton,{variant:"secondary",onClick:a},Object(J.__)("Try again","wordpress-seo"))),Object(Q.createElement)("div",null,Object(X.a)(Object(J.sprintf)(// translators: %1$s and %2$s are replaced by opening and closing tags. %3$s expands to WordProof. -Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo"),"","","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var he=me,be=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),n=Object(Q.useCallback)(()=>{t("webhook:failed")}),r=Object(Q.useCallback)(()=>{t("oauth:success")}),s=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",r,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",n,!1),()=>{window.removeEventListener("wordproof:oauth:success",r,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",n,!1)}),[]);const o=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(be.a,{onRequestClose:s,additionalClassName:"yoast-wordproof-modal",title:o()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:s}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(he,{closeModal:s})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(47),r=a(40),s=a(120),o=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(r.a)("popup_redirect_authentication_url"),c=Object(r.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const s=e.top.outerHeight/2+e.top.screenY-r/2,o=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${s},\n\t\tleft=${o}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:n}=e;if(n===Object(r.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await h(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await b(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(s.a)(t),!1===a&&(await Object(n.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},h=async e=>{await Object(n.c)(()=>Object(o.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(r.a)("origin")),!0},async()=>!1)},b=async e=>{await Object(n.c)(()=>Object(o.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},function(e,t,a){"use strict";a.r(t),a.d(t,"wistiaEmbedPermission",(function(){return o})),a.d(t,"DISMISS_ALERT",(function(){return r.DISMISS_ALERT})),a.d(t,"SNIPPET_EDITOR_FIND_CUSTOM_FIELDS",(function(){return s}));var n=a(25),r=a(138);function s(e){let{query:t,postId:a}=e;return new Promise(e=>{wpseoApi.get("meta/search",{query:t,post_id:a},t=>{e(t.meta)})})}const o=n.s[n.d]},,,,,,,,,,function(e,t,a){"use strict";var n=a(5),r=a(20),s=a(11),o=a.n(s),i=a(0),c=a(3),l=c.forwardRef((function(e,t){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),c.createElement("path",{d:"M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z"}))})),d=a(1),u=a(256),p=a(2),m=a.n(p),h=a(9),b=a.n(h),g=a(77),f=a(41),y=a(112),w=a(104),O=a(79),j=a(125);const E=b()(l)` +Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo"),"","","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var he=me,be=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),n=Object(Q.useCallback)(()=>{t("webhook:failed")}),r=Object(Q.useCallback)(()=>{t("oauth:success")}),s=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",r,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",n,!1),()=>{window.removeEventListener("wordproof:oauth:success",r,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",n,!1)}),[]);const o=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(be.a,{onRequestClose:s,additionalClassName:"yoast-wordproof-modal",title:o()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:s}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(he,{closeModal:s})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(47),r=a(40),s=a(120),o=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(r.a)("popup_redirect_authentication_url"),c=Object(r.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const s=e.top.outerHeight/2+e.top.screenY-r/2,o=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${s},\n\t\tleft=${o}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:n}=e;if(n===Object(r.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await h(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await p("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await b(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(s.a)(t),!1===a&&(await Object(n.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},h=async e=>{await Object(n.c)(()=>Object(o.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(r.a)("origin")),!0},async()=>!1)},b=async e=>{await Object(n.c)(()=>Object(o.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},function(e,t,a){"use strict";a.r(t),a.d(t,"wistiaEmbedPermission",(function(){return o})),a.d(t,"DISMISS_ALERT",(function(){return r.DISMISS_ALERT})),a.d(t,"SNIPPET_EDITOR_FIND_CUSTOM_FIELDS",(function(){return s}));var n=a(25),r=a(138);function s(e){let{query:t,postId:a}=e;return new Promise(e=>{wpseoApi.get("meta/search",{query:t,post_id:a},t=>{e(t.meta)})})}const o=n.s[n.d]},,,,,,,,,,function(e,t,a){"use strict";var n=a(5),r=a(20),s=a(11),o=a.n(s),i=a(0),c=a(3),l=c.forwardRef((function(e,t){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),c.createElement("path",{d:"M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z"}))})),d=a(1),u=a(256),p=a(2),m=a.n(p),h=a(9),b=a.n(h),g=a(77),f=a(41),y=a(112),w=a(104),O=a(79),j=a(125);const E=b()(l)` width: 18px; height: 18px; margin: 3px; diff --git a/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js b/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js index 47acc16f9..4c237337e 100755 --- a/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js +++ b/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js @@ -1,10 +1,10 @@ -window.yoast=window.yoast||{},window.yoast.analysis=function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=396)}([,,function(e,t){e.exports=window.lodash},,function(e,t){e.exports=window.wp.i18n},,,,,,,,,,,,,,function(e,t,r){(function(e){var n=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),l=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&t._extend(n,r),T(n.showHidden)&&(n.showHidden=!1),T(n.depth)&&(n.depth=2),T(n.colors)&&(n.colors=!1),T(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,e,n.depth)}function l(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function c(e,t){return e}function u(e,r,n){if(e.customInspect&&r&&A(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var s=r.inspect(n,e);return _(s)||(s=u(e,s,n)),s}var i=function(e,t){if(T(t))return e.stylize("undefined","undefined");if(_(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return m(t)?e.stylize(""+t,"number"):g(t)?e.stylize(""+t,"boolean"):f(t)?e.stylize("null","null"):void 0}(e,r);if(i)return i;var a=Object.keys(r),o=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),y(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return h(r);if(0===a.length){if(A(r)){var l=r.name?": "+r.name:"";return e.stylize("[Function"+l+"]","special")}if(E(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(b(r))return e.stylize(Date.prototype.toString.call(r),"date");if(y(r))return h(r)}var c,v="",O=!1,C=["{","}"];return p(r)&&(O=!0,C=["[","]"]),A(r)&&(v=" [Function"+(r.name?": "+r.name:"")+"]"),E(r)&&(v=" "+RegExp.prototype.toString.call(r)),b(r)&&(v=" "+Date.prototype.toUTCString.call(r)),y(r)&&(v=" "+h(r)),0!==a.length||O&&0!=r.length?n<0?E(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=O?function(e,t,r,n,s){for(var i=[],a=0,o=t.length;a60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,v,C)):C[0]+v+C[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,r,n,s,i){var a,o,l;if((l=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?o=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(o=e.stylize("[Setter]","special")),k(n,s)||(a="["+s+"]"),o||(e.seen.indexOf(l.value)<0?(o=f(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(o=i?o.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+o.split("\n").map((function(e){return" "+e})).join("\n")):o=e.stylize("[Circular]","special")),T(a)){if(i&&s.match(/^\d+$/))return o;(a=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function p(e){return Array.isArray(e)}function g(e){return"boolean"==typeof e}function f(e){return null===e}function m(e){return"number"==typeof e}function _(e){return"string"==typeof e}function T(e){return void 0===e}function E(e){return v(e)&&"[object RegExp]"===O(e)}function v(e){return"object"==typeof e&&null!==e}function b(e){return v(e)&&"[object Date]"===O(e)}function y(e){return v(e)&&("[object Error]"===O(e)||e instanceof Error)}function A(e){return"function"==typeof e}function O(e){return Object.prototype.toString.call(e)}function C(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(r){if(T(i)&&(i=e.env.NODE_DEBUG||""),r=r.toUpperCase(),!a[r])if(new RegExp("\\b"+r+"\\b","i").test(i)){var n=e.pid;a[r]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",r,n,e)}}else a[r]=function(){};return a[r]},t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=p,t.isBoolean=g,t.isNull=f,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=_,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=T,t.isRegExp=E,t.isObject=v,t.isDate=b,t.isError=y,t.isFunction=A,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(331);var w=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(){var e=new Date,t=[C(e.getHours()),C(e.getMinutes()),C(e.getSeconds())].join(":");return[e.getDate(),w[e.getMonth()],t].join(" ")}function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",S(),t.format.apply(t,arguments))},t.inherits=r(332),t._extend=function(e,t){if(!t||!v(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var N="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(N&&e[N]){var t;if("function"!=typeof(t=e[N]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,N,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),s=[],i=0;i1)for(var r=1;r1?1:a)+n[n.length-1].length};return{addRule:function(e,t){s.push({regex:e,type:t})},onText:function(e){for(var r=t+e,i=n(s,r);i&&i.max_index!==r.length;)o(r.substring(0,i.max_index),i.rule.type),r=r.substring(i.max_index),i=n(s,r);t=r},end:function(){if(0!==t.length){var e=r(s,t);if(!e){var n=new Error("unable to tokenize");throw n.tokenizer2={buffer:t,line:i,col:a},n}o(t,e.type)}}}}},,,,,,,,,,,function(e,t,r){r(159),e.exports=r(339)},function(e,t,r){e.exports=r(342)},function(e,t){e.exports={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag",CDATA:"cdata",Doctype:"doctype",isTag:function(e){return"tag"===e.type||"script"===e.type||"style"===e.type}}},,,,,,,function(e,t,r){(function(e,r){(function(){var n="object"==typeof e&&e&&e.Object===Object&&e,s="object"==typeof self&&self&&self.Object===Object&&self,i=n||s||Function("return this")(),a=t&&!t.nodeType&&t,o=a&&"object"==typeof r&&r&&!r.nodeType&&r,l=/[&<>"']/g,c=RegExp(l.source);n="object"==typeof e&&e&&e.Object===Object&&e,s="object"==typeof self&&self&&self.Object===Object&&self,i=n||s||Function("return this")();var u,h=(u={"&":"&","<":"<",">":">",'"':""","'":"'"},function(e){return null==u?void 0:u[e]}),d=Object.prototype,p=d.hasOwnProperty,g=d.toString,f=i.Symbol,m=f?f.toStringTag:void 0,_=f?f.prototype:void 0,T=_?_.toString:void 0;function E(e){if("string"==typeof e)return e;if(v(e))return function(e,t){for(var r=-1,n=null==e?0:e.length,s=Array(n);++r\n ',r?a+=null==(i=n.disabledMarkText)?"":i:t[l].identifier===s?a+=null==(i=n.removeMarksInText)?"":i:a+=null==(i=n.markInText)?"":i,a+="\n \n "),a+='\n \n \n '+(null==(i=t[l].screenReaderText)?"":i)+'\n '+(null==(i=t[l].text)?"":i)+"\n \n ";return a+"\n\n"},hiddenSpan:function(e){e||(e={});const{whiteSpace:t,width:r}=e;var n="",s=b;return Array.prototype.join,n+='\n'},relevantWords:function(e){e||(e={});const{words:t}=e;var r,n="";for(var s in Array.prototype.join,n+="\n \n \n \n \n \n \n \n \n \n \n ",t)n+="\n \n \n \n \n \n \n \n \n \n \n ";return n+"\n
WordDensityOccurrencesLengthRelevant word percentageLength bonusMultiplierRelevance
"+(null==(r=t[s].word)?"":r)+""+(null==(r=t[s].density)?"":r)+""+(null==(r=t[s].occurrences)?"":r)+""+(null==(r=t[s].length)?"":r)+""+(null==(r=t[s].relevantWordPercentage)?"":r)+""+(null==(r=t[s].lengthBonus)?"":r)+""+(null==(r=t[s].multiplier)?"":r)+""+(null==(r=t[s].relevance)?"":r)+"
\n"},snippetEditor:function(e){e||(e={});const{i18n:t,rendered:r,metaDescriptionDate:n,raw:s,placeholder:i}=e;var a="",o=b;return Array.prototype.join,a+='
\n\t
\n\t\t

'+o(t.snippetPreview)+'

\n\t

'+o(t.snippetPreviewDescription)+'

\n\n\t\t
\n\t\t\t
\n\t\t\t\t'+o(t.titleLabel)+'\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(r.title)+'\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t'+o(t.slugLabel)+'\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(r.baseUrl)+'\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(r.snippetCite)+'\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t'+o(t.metaDescriptionLabel)+"\n\t\t\t\t",""!==n&&(a+='\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(n)+" -\n\t\t\t\t\t\n\t\t\t\t"),a+'\n\t\t\t\t\n\t\t\t\t\t'+o(r.meta)+"\n\t\t\t\t\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\n\t
\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t
\n
\n"}};o?((o.exports=y).templates=y,a.templates=y):i.templates=y}).call(this)}).call(this,r(20),r(172)(e))},function(e,t,r){"use strict";var n=r(378),s=r(379);function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=E,t.resolve=function(e,t){return E(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?E(e,!1,!0).resolveObject(t):t},t.format=function(e){return s.isString(e)&&(e=E(e)),e instanceof i?e.format():i.prototype.format.call(e)},t.Url=i;var a=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,l=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(c),h=["%","/","?",";","#"].concat(u),d=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,g=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,f={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},_={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},T=r(380);function E(e,t,r){if(e&&s.isObject(e)&&e instanceof i)return e;var n=new i;return n.parse(e,t,r),n}i.prototype.parse=function(e,t,r){if(!s.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),o=-1!==i&&i127?D+="x":D+=x[L];if(!D.match(p)){var P=R.slice(0,S),F=R.slice(S+1),j=x.match(g);j&&(P.push(j[1]),F.unshift(j[2])),F.length&&(E="/"+F.join(".")+E),this.hostname=P.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),N||(this.hostname=n.toASCII(this.hostname));var B=this.port?":"+this.port:"",U=this.hostname||"";this.host=U+B,this.href+=this.host,N&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==E[0]&&(E="/"+E))}if(!f[y])for(S=0,I=u.length;S0)&&r.host.split("@"))&&(r.auth=N.shift(),r.host=r.hostname=N.shift())),r.search=e.search,r.query=e.query,s.isNull(r.pathname)&&s.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!A.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var C=A.slice(-1)[0],w=(r.host||e.host||A.length>1)&&("."===C||".."===C)||""===C,S=0,k=A.length;k>=0;k--)"."===(C=A[k])?A.splice(k,1):".."===C?(A.splice(k,1),S++):S&&(A.splice(k,1),S--);if(!b&&!y)for(;S--;S)A.unshift("..");!b||""===A[0]||A[0]&&"/"===A[0].charAt(0)||A.unshift(""),w&&"/"!==A.join("/").substr(-1)&&A.push("");var N,R=""===A[0]||A[0]&&"/"===A[0].charAt(0);return O&&(r.hostname=r.host=R?"":A.length?A.shift():"",(N=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=N.shift(),r.host=r.hostname=N.shift())),(b=b||r.host&&A.length)&&!R&&A.unshift(""),A.length?r.pathname=A.join("/"):(r.pathname=null,r.path=null),s.isNull(r.pathname)&&s.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},i.prototype.parseHost=function(){var e=this.host,t=o.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},,,,,,,,,,,,function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},function(e,t,r){"use strict";const n=r(384),s=r(103),i=r(385),a=r(104),o=s.CODE_POINTS,l=s.CODE_POINT_SEQUENCES,c={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},u="DATA_STATE";function h(e){return e===o.SPACE||e===o.LINE_FEED||e===o.TABULATION||e===o.FORM_FEED}function d(e){return e>=o.DIGIT_0&&e<=o.DIGIT_9}function p(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_Z}function g(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_Z}function f(e){return g(e)||p(e)}function m(e){return f(e)||d(e)}function _(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_F}function T(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_F}function E(e){return e+32}function v(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function b(e){return String.fromCharCode(E(e))}function y(e,t){const r=i[++e];let n=++e,s=n+r-1;for(;n<=s;){const e=n+s>>>1,a=i[e];if(at))return i[e+r];s=e-1}}return-1}class A{constructor(){this.preprocessor=new n,this.tokenQueue=[],this.allowCDATA=!1,this.state=u,this.returnState="",this.charRefCode=-1,this.tempBuff=[],this.lastStartTagName="",this.consumedAfterSnapshot=-1,this.active=!1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr=null}_err(){}_errOnNextCodePoint(e){this._consume(),this._err(e),this._unconsume()}getNextToken(){for(;!this.tokenQueue.length&&this.active;){this.consumedAfterSnapshot=0;const e=this._consume();this._ensureHibernation()||this[this.state](e)}return this.tokenQueue.shift()}write(e,t){this.active=!0,this.preprocessor.write(e,t)}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e)}_ensureHibernation(){if(this.preprocessor.endOfChunkHit){for(;this.consumedAfterSnapshot>0;this.consumedAfterSnapshot--)this.preprocessor.retreat();return this.active=!1,this.tokenQueue.push({type:A.HIBERNATION_TOKEN}),!0}return!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(){this.consumedAfterSnapshot--,this.preprocessor.retreat()}_reconsumeInState(e){this.state=e,this._unconsume()}_consumeSequenceIfMatch(e,t,r){let n=0,s=!0;const i=e.length;let a=0,l=t,c=void 0;for(;a0&&(l=this._consume(),n++),l===o.EOF){s=!1;break}if(c=e[a],l!==c&&(r||l!==E(c))){s=!1;break}}if(!s)for(;n--;)this._unconsume();return s}_isTempBufferEqualToScriptString(){if(this.tempBuff.length!==l.SCRIPT_STRING.length)return!1;for(let e=0;e0&&this._err(a.endTagWithAttributes),e.selfClosing&&this._err(a.endTagWithTrailingSolidus)),this.tokenQueue.push(e)}_emitCurrentCharacterToken(){this.currentCharacterToken&&(this.tokenQueue.push(this.currentCharacterToken),this.currentCharacterToken=null)}_emitEOFToken(){this._createEOFToken(),this._emitCurrentToken()}_appendCharToCurrentCharacterToken(e,t){this.currentCharacterToken&&this.currentCharacterToken.type!==e&&this._emitCurrentCharacterToken(),this.currentCharacterToken?this.currentCharacterToken.chars+=t:this._createCharacterToken(e,t)}_emitCodePoint(e){let t=A.CHARACTER_TOKEN;h(e)?t=A.WHITESPACE_CHARACTER_TOKEN:e===o.NULL&&(t=A.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(t,v(e))}_emitSeveralCodePoints(e){for(let t=0;t-1;){const e=i[n],s=e<7;s&&1&e&&(t=2&e?[i[++n],i[++n]]:[i[++n]],r=0);const a=this._consume();if(this.tempBuff.push(a),r++,a===o.EOF)break;n=s?4&e?y(n,a):-1:a===e?++n:-1}for(;r--;)this.tempBuff.pop(),this._unconsume();return t}_isCharacterReferenceInAttribute(){return"ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE"===this.returnState||"ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE"===this.returnState||"ATTRIBUTE_VALUE_UNQUOTED_STATE"===this.returnState}_isCharacterReferenceAttributeQuirk(e){if(!e&&this._isCharacterReferenceInAttribute()){const e=this._consume();return this._unconsume(),e===o.EQUALS_SIGN||m(e)}return!1}_flushCodePointsConsumedAsCharacterReference(){if(this._isCharacterReferenceInAttribute())for(let e=0;e")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state="SCRIPT_DATA_ESCAPED_STATE",this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state="SCRIPT_DATA_ESCAPED_STATE",this._emitCodePoint(e))}SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE(e){e===o.SOLIDUS?(this.tempBuff=[],this.state="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE"):f(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE")):(this._emitChars("<"),this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE"))}SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE(e){f(e)?(this._createEndTagToken(),this._reconsumeInState("SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE")):(this._emitChars("")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitCodePoint(e))}SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE(e){e===o.SOLIDUS?(this.tempBuff=[],this.state="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",this._emitChars("/")):this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPED_STATE")}SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE(e){h(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?"SCRIPT_DATA_ESCAPED_STATE":"SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitCodePoint(e)):p(e)?(this.tempBuff.push(E(e)),this._emitCodePoint(e)):g(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPED_STATE")}BEFORE_ATTRIBUTE_NAME_STATE(e){h(e)||(e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?this._reconsumeInState("AFTER_ATTRIBUTE_NAME_STATE"):e===o.EQUALS_SIGN?(this._err(a.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state="ATTRIBUTE_NAME_STATE"):(this._createAttr(""),this._reconsumeInState("ATTRIBUTE_NAME_STATE")))}ATTRIBUTE_NAME_STATE(e){h(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?(this._leaveAttrName("AFTER_ATTRIBUTE_NAME_STATE"),this._unconsume()):e===o.EQUALS_SIGN?this._leaveAttrName("BEFORE_ATTRIBUTE_VALUE_STATE"):p(e)?this.currentAttr.name+=b(e):e===o.QUOTATION_MARK||e===o.APOSTROPHE||e===o.LESS_THAN_SIGN?(this._err(a.unexpectedCharacterInAttributeName),this.currentAttr.name+=v(e)):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.name+=s.REPLACEMENT_CHARACTER):this.currentAttr.name+=v(e)}AFTER_ATTRIBUTE_NAME_STATE(e){h(e)||(e===o.SOLIDUS?this.state="SELF_CLOSING_START_TAG_STATE":e===o.EQUALS_SIGN?this.state="BEFORE_ATTRIBUTE_VALUE_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState("ATTRIBUTE_NAME_STATE")))}BEFORE_ATTRIBUTE_VALUE_STATE(e){h(e)||(e===o.QUOTATION_MARK?this.state="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE":e===o.APOSTROPHE?this.state="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.missingAttributeValue),this.state=u,this._emitCurrentToken()):this._reconsumeInState("ATTRIBUTE_VALUE_UNQUOTED_STATE"))}ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE":e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE":e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}ATTRIBUTE_VALUE_UNQUOTED_STATE(e){h(e)?this._leaveAttrValue("BEFORE_ATTRIBUTE_NAME_STATE"):e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_UNQUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.GREATER_THAN_SIGN?(this._leaveAttrValue(u),this._emitCurrentToken()):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.QUOTATION_MARK||e===o.APOSTROPHE||e===o.LESS_THAN_SIGN||e===o.EQUALS_SIGN||e===o.GRAVE_ACCENT?(this._err(a.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=v(e)):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}AFTER_ATTRIBUTE_VALUE_QUOTED_STATE(e){h(e)?this._leaveAttrValue("BEFORE_ATTRIBUTE_NAME_STATE"):e===o.SOLIDUS?this._leaveAttrValue("SELF_CLOSING_START_TAG_STATE"):e===o.GREATER_THAN_SIGN?(this._leaveAttrValue(u),this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._err(a.missingWhitespaceBetweenAttributes),this._reconsumeInState("BEFORE_ATTRIBUTE_NAME_STATE"))}SELF_CLOSING_START_TAG_STATE(e){e===o.GREATER_THAN_SIGN?(this.currentToken.selfClosing=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._err(a.unexpectedSolidusInTag),this._reconsumeInState("BEFORE_ATTRIBUTE_NAME_STATE"))}BOGUS_COMMENT_STATE(e){e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._emitCurrentToken(),this._emitEOFToken()):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.data+=s.REPLACEMENT_CHARACTER):this.currentToken.data+=v(e)}MARKUP_DECLARATION_OPEN_STATE(e){this._consumeSequenceIfMatch(l.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state="COMMENT_START_STATE"):this._consumeSequenceIfMatch(l.DOCTYPE_STRING,e,!1)?this.state="DOCTYPE_STATE":this._consumeSequenceIfMatch(l.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state="CDATA_SECTION_STATE":(this._err(a.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state="BOGUS_COMMENT_STATE"):this._ensureHibernation()||(this._err(a.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState("BOGUS_COMMENT_STATE"))}COMMENT_START_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_START_DASH_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.abruptClosingOfEmptyComment),this.state=u,this._emitCurrentToken()):this._reconsumeInState("COMMENT_STATE")}COMMENT_START_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.abruptClosingOfEmptyComment),this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState("COMMENT_STATE"))}COMMENT_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_DASH_STATE":e===o.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state="COMMENT_LESS_THAN_SIGN_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.data+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.data+=v(e)}COMMENT_LESS_THAN_SIGN_STATE(e){e===o.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state="COMMENT_LESS_THAN_SIGN_BANG_STATE"):e===o.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState("COMMENT_STATE")}COMMENT_LESS_THAN_SIGN_BANG_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE":this._reconsumeInState("COMMENT_STATE")}COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE":this._reconsumeInState("COMMENT_END_DASH_STATE")}COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE(e){e!==o.GREATER_THAN_SIGN&&e!==o.EOF&&this._err(a.nestedComment),this._reconsumeInState("COMMENT_END_STATE")}COMMENT_END_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_STATE":e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState("COMMENT_STATE"))}COMMENT_END_STATE(e){e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EXCLAMATION_MARK?this.state="COMMENT_END_BANG_STATE":e===o.HYPHEN_MINUS?this.currentToken.data+="-":e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState("COMMENT_STATE"))}COMMENT_END_BANG_STATE(e){e===o.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state="COMMENT_END_DASH_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.incorrectlyClosedComment),this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--!",this._reconsumeInState("COMMENT_STATE"))}DOCTYPE_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_NAME_STATE":e===o.GREATER_THAN_SIGN?this._reconsumeInState("BEFORE_DOCTYPE_NAME_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingWhitespaceBeforeDoctypeName),this._reconsumeInState("BEFORE_DOCTYPE_NAME_STATE"))}BEFORE_DOCTYPE_NAME_STATE(e){h(e)||(p(e)?(this._createDoctypeToken(b(e)),this.state="DOCTYPE_NAME_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this._createDoctypeToken(s.REPLACEMENT_CHARACTER),this.state="DOCTYPE_NAME_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeName),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._createDoctypeToken(v(e)),this.state="DOCTYPE_NAME_STATE"))}DOCTYPE_NAME_STATE(e){h(e)?this.state="AFTER_DOCTYPE_NAME_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):p(e)?this.currentToken.name+=b(e):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.name+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.name+=v(e)}AFTER_DOCTYPE_NAME_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this._consumeSequenceIfMatch(l.PUBLIC_STRING,e,!1)?this.state="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE":this._consumeSequenceIfMatch(l.SYSTEM_STRING,e,!1)?this.state="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE":this._ensureHibernation()||(this._err(a.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE(e){h(e)||(e===o.QUOTATION_MARK?(this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.publicId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=v(e)}DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.publicId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=v(e)}AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE(e){h(e)?this.state="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE(e){h(e)||(e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.systemId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=v(e)}DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.systemId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=v(e)}AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.unexpectedCharacterAfterDoctypeSystemIdentifier),this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}BOGUS_DOCTYPE_STATE(e){e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.NULL?this._err(a.unexpectedNullCharacter):e===o.EOF&&(this._emitCurrentToken(),this._emitEOFToken())}CDATA_SECTION_STATE(e){e===o.RIGHT_SQUARE_BRACKET?this.state="CDATA_SECTION_BRACKET_STATE":e===o.EOF?(this._err(a.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}CDATA_SECTION_BRACKET_STATE(e){e===o.RIGHT_SQUARE_BRACKET?this.state="CDATA_SECTION_END_STATE":(this._emitChars("]"),this._reconsumeInState("CDATA_SECTION_STATE"))}CDATA_SECTION_END_STATE(e){e===o.GREATER_THAN_SIGN?this.state=u:e===o.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState("CDATA_SECTION_STATE"))}CHARACTER_REFERENCE_STATE(e){this.tempBuff=[o.AMPERSAND],e===o.NUMBER_SIGN?(this.tempBuff.push(e),this.state="NUMERIC_CHARACTER_REFERENCE_STATE"):m(e)?this._reconsumeInState("NAMED_CHARACTER_REFERENCE_STATE"):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}NAMED_CHARACTER_REFERENCE_STATE(e){const t=this._matchNamedCharacterReference(e);if(this._ensureHibernation())this.tempBuff=[o.AMPERSAND];else if(t){const e=this.tempBuff[this.tempBuff.length-1]===o.SEMICOLON;this._isCharacterReferenceAttributeQuirk(e)||(e||this._errOnNextCodePoint(a.missingSemicolonAfterCharacterReference),this.tempBuff=t),this._flushCodePointsConsumedAsCharacterReference(),this.state=this.returnState}else this._flushCodePointsConsumedAsCharacterReference(),this.state="AMBIGUOS_AMPERSAND_STATE"}AMBIGUOS_AMPERSAND_STATE(e){m(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=v(e):this._emitCodePoint(e):(e===o.SEMICOLON&&this._err(a.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}NUMERIC_CHARACTER_REFERENCE_STATE(e){this.charRefCode=0,e===o.LATIN_SMALL_X||e===o.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE"):this._reconsumeInState("DECIMAL_CHARACTER_REFERENCE_START_STATE")}HEXADEMICAL_CHARACTER_REFERENCE_START_STATE(e){!function(e){return d(e)||_(e)||T(e)}(e)?(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState("HEXADEMICAL_CHARACTER_REFERENCE_STATE")}DECIMAL_CHARACTER_REFERENCE_START_STATE(e){d(e)?this._reconsumeInState("DECIMAL_CHARACTER_REFERENCE_STATE"):(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}HEXADEMICAL_CHARACTER_REFERENCE_STATE(e){_(e)?this.charRefCode=16*this.charRefCode+e-55:T(e)?this.charRefCode=16*this.charRefCode+e-87:d(e)?this.charRefCode=16*this.charRefCode+e-48:e===o.SEMICOLON?this.state="NUMERIC_CHARACTER_REFERENCE_END_STATE":(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState("NUMERIC_CHARACTER_REFERENCE_END_STATE"))}DECIMAL_CHARACTER_REFERENCE_STATE(e){d(e)?this.charRefCode=10*this.charRefCode+e-48:e===o.SEMICOLON?this.state="NUMERIC_CHARACTER_REFERENCE_END_STATE":(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState("NUMERIC_CHARACTER_REFERENCE_END_STATE"))}NUMERIC_CHARACTER_REFERENCE_END_STATE(){if(this.charRefCode===o.NULL)this._err(a.nullCharacterReference),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(a.characterReferenceOutsideUnicodeRange),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(s.isSurrogate(this.charRefCode))this._err(a.surrogateCharacterReference),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(s.isUndefinedCodePoint(this.charRefCode))this._err(a.noncharacterCharacterReference);else if(s.isControlCodePoint(this.charRefCode)||this.charRefCode===o.CARRIAGE_RETURN){this._err(a.controlCharacterReference);const e=c[this.charRefCode];e&&(this.charRefCode=e)}this.tempBuff=[this.charRefCode],this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)}}A.CHARACTER_TOKEN="CHARACTER_TOKEN",A.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",A.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",A.START_TAG_TOKEN="START_TAG_TOKEN",A.END_TAG_TOKEN="END_TAG_TOKEN",A.COMMENT_TOKEN="COMMENT_TOKEN",A.DOCTYPE_TOKEN="DOCTYPE_TOKEN",A.EOF_TOKEN="EOF_TOKEN",A.HIBERNATION_TOKEN="HIBERNATION_TOKEN",A.MODE={DATA:u,RCDATA:"RCDATA_STATE",RAWTEXT:"RAWTEXT_STATE",SCRIPT_DATA:"SCRIPT_DATA_STATE",PLAINTEXT:"PLAINTEXT_STATE"},A.getTokenAttr=function(e,t){for(let r=e.attrs.length-1;r>=0;r--)if(e.attrs[r].name===t)return e.attrs[r].value;return null},e.exports=A},,,,,,,,,,,,,,,,,function(e,t,r){r(334),e.exports=r(160)},function(e,t){e.exports=function(e,t,r){var n="";if(n+=e.name||"Error",n+=": "+(e.message||""),r instanceof Array)for(var s in r)n+="\n # "+r[s];for(var i in t)n+="\n at "+t[i].toString();return n}},function(e,t,r){"use strict";const n=[65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];t.REPLACEMENT_CHARACTER="�",t.CODE_POINTS={EOF:-1,NULL:0,TABULATION:9,CARRIAGE_RETURN:13,LINE_FEED:10,FORM_FEED:12,SPACE:32,EXCLAMATION_MARK:33,QUOTATION_MARK:34,NUMBER_SIGN:35,AMPERSAND:38,APOSTROPHE:39,HYPHEN_MINUS:45,SOLIDUS:47,DIGIT_0:48,DIGIT_9:57,SEMICOLON:59,LESS_THAN_SIGN:60,EQUALS_SIGN:61,GREATER_THAN_SIGN:62,QUESTION_MARK:63,LATIN_CAPITAL_A:65,LATIN_CAPITAL_F:70,LATIN_CAPITAL_X:88,LATIN_CAPITAL_Z:90,RIGHT_SQUARE_BRACKET:93,GRAVE_ACCENT:96,LATIN_SMALL_A:97,LATIN_SMALL_F:102,LATIN_SMALL_X:120,LATIN_SMALL_Z:122,REPLACEMENT_CHARACTER:65533},t.CODE_POINT_SEQUENCES={DASH_DASH_STRING:[45,45],DOCTYPE_STRING:[68,79,67,84,89,80,69],CDATA_START_STRING:[91,67,68,65,84,65,91],SCRIPT_STRING:[115,99,114,105,112,116],PUBLIC_STRING:[80,85,66,76,73,67],SYSTEM_STRING:[83,89,83,84,69,77]},t.isSurrogate=function(e){return e>=55296&&e<=57343},t.isSurrogatePair=function(e){return e>=56320&&e<=57343},t.getSurrogatePairCodePoint=function(e,t){return 1024*(e-55296)+9216+t},t.isControlCodePoint=function(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159},t.isUndefinedCodePoint=function(e){return e>=64976&&e<=65007||n.indexOf(e)>-1}},function(e,t,r){"use strict";e.exports={controlCharacterInInputStream:"control-character-in-input-stream",noncharacterInInputStream:"noncharacter-in-input-stream",surrogateInInputStream:"surrogate-in-input-stream",nonVoidHtmlElementStartTagWithTrailingSolidus:"non-void-html-element-start-tag-with-trailing-solidus",endTagWithAttributes:"end-tag-with-attributes",endTagWithTrailingSolidus:"end-tag-with-trailing-solidus",unexpectedSolidusInTag:"unexpected-solidus-in-tag",unexpectedNullCharacter:"unexpected-null-character",unexpectedQuestionMarkInsteadOfTagName:"unexpected-question-mark-instead-of-tag-name",invalidFirstCharacterOfTagName:"invalid-first-character-of-tag-name",unexpectedEqualsSignBeforeAttributeName:"unexpected-equals-sign-before-attribute-name",missingEndTagName:"missing-end-tag-name",unexpectedCharacterInAttributeName:"unexpected-character-in-attribute-name",unknownNamedCharacterReference:"unknown-named-character-reference",missingSemicolonAfterCharacterReference:"missing-semicolon-after-character-reference",unexpectedCharacterAfterDoctypeSystemIdentifier:"unexpected-character-after-doctype-system-identifier",unexpectedCharacterInUnquotedAttributeValue:"unexpected-character-in-unquoted-attribute-value",eofBeforeTagName:"eof-before-tag-name",eofInTag:"eof-in-tag",missingAttributeValue:"missing-attribute-value",missingWhitespaceBetweenAttributes:"missing-whitespace-between-attributes",missingWhitespaceAfterDoctypePublicKeyword:"missing-whitespace-after-doctype-public-keyword",missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:"missing-whitespace-between-doctype-public-and-system-identifiers",missingWhitespaceAfterDoctypeSystemKeyword:"missing-whitespace-after-doctype-system-keyword",missingQuoteBeforeDoctypePublicIdentifier:"missing-quote-before-doctype-public-identifier",missingQuoteBeforeDoctypeSystemIdentifier:"missing-quote-before-doctype-system-identifier",missingDoctypePublicIdentifier:"missing-doctype-public-identifier",missingDoctypeSystemIdentifier:"missing-doctype-system-identifier",abruptDoctypePublicIdentifier:"abrupt-doctype-public-identifier",abruptDoctypeSystemIdentifier:"abrupt-doctype-system-identifier",cdataInHtmlContent:"cdata-in-html-content",incorrectlyOpenedComment:"incorrectly-opened-comment",eofInScriptHtmlCommentLikeText:"eof-in-script-html-comment-like-text",eofInDoctype:"eof-in-doctype",nestedComment:"nested-comment",abruptClosingOfEmptyComment:"abrupt-closing-of-empty-comment",eofInComment:"eof-in-comment",incorrectlyClosedComment:"incorrectly-closed-comment",eofInCdata:"eof-in-cdata",absenceOfDigitsInNumericCharacterReference:"absence-of-digits-in-numeric-character-reference",nullCharacterReference:"null-character-reference",surrogateCharacterReference:"surrogate-character-reference",characterReferenceOutsideUnicodeRange:"character-reference-outside-unicode-range",controlCharacterReference:"control-character-reference",noncharacterCharacterReference:"noncharacter-character-reference",missingWhitespaceBeforeDoctypeName:"missing-whitespace-before-doctype-name",missingDoctypeName:"missing-doctype-name",invalidCharacterSequenceAfterDoctypeName:"invalid-character-sequence-after-doctype-name",duplicateAttribute:"duplicate-attribute",nonConformingDoctype:"non-conforming-doctype",missingDoctype:"missing-doctype",misplacedDoctype:"misplaced-doctype",endTagWithoutMatchingOpenElement:"end-tag-without-matching-open-element",closingOfElementWithOpenChildElements:"closing-of-element-with-open-child-elements",disallowedContentInNoscriptInHead:"disallowed-content-in-noscript-in-head",openElementsLeftAfterEof:"open-elements-left-after-eof",abandonedHeadElementChild:"abandoned-head-element-child",misplacedStartTagForHeadElement:"misplaced-start-tag-for-head-element",nestedNoscriptInHead:"nested-noscript-in-head",eofInElementThatCanContainOnlyText:"eof-in-element-that-can-contain-only-text"}},function(e,t,r){"use strict";const n=r(33);e.exports=class extends n{constructor(e,t){super(e),this.posTracker=null,this.onParseError=t.onParseError}_setErrorLocation(e){e.startLine=e.endLine=this.posTracker.line,e.startCol=e.endCol=this.posTracker.col,e.startOffset=e.endOffset=this.posTracker.offset}_reportError(e){const t={code:e,startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};this._setErrorLocation(t),this.onParseError(t)}_getOverriddenMethods(e){return{_err(t){e._reportError(t)}}}}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){e.exports=r(333)},function(e,t,r){r(101).check("es5")},function(e,t,r){var n=new(r(335)),s=function(e){return n.test(e)};s.define=function(e,t){n.define(e,t)},s.check=function(e){n.check(e)},s.test=s,e.exports=s},function(e,t,r){var n=r(162),s={input:!0,option:!0,optgroup:!0,select:!0,button:!0,datalist:!0,textarea:!0},i={tr:{tr:!0,th:!0,td:!0},th:{th:!0},td:{thead:!0,th:!0,td:!0},body:{head:!0,link:!0,script:!0},li:{li:!0},p:{p:!0},h1:{p:!0},h2:{p:!0},h3:{p:!0},h4:{p:!0},h5:{p:!0},h6:{p:!0},select:s,input:s,output:s,button:s,datalist:s,textarea:s,option:{option:!0},optgroup:{optgroup:!0}},a={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},o={__proto__:null,math:!0,svg:!0},l={__proto__:null,mi:!0,mo:!0,mn:!0,ms:!0,mtext:!0,"annotation-xml":!0,foreignObject:!0,desc:!0,title:!0},c=/\s|\//;function u(e,t){this._options=t||{},this._cbs=e||{},this._tagname="",this._attribname="",this._attribvalue="",this._attribs=null,this._stack=[],this._foreignContext=[],this.startIndex=0,this.endIndex=null,this._lowerCaseTagNames="lowerCaseTags"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode,this._lowerCaseAttributeNames="lowerCaseAttributeNames"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode,this._options.Tokenizer&&(n=this._options.Tokenizer),this._tokenizer=new n(this._options,this),this._cbs.onparserinit&&this._cbs.onparserinit(this)}r(83)(u,r(353).EventEmitter),u.prototype._updatePosition=function(e){null===this.endIndex?this._tokenizer._sectionStart<=e?this.startIndex=0:this.startIndex=this._tokenizer._sectionStart-e:this.startIndex=this.endIndex+1,this.endIndex=this._tokenizer.getAbsoluteIndex()},u.prototype.ontext=function(e){this._updatePosition(1),this.endIndex--,this._cbs.ontext&&this._cbs.ontext(e)},u.prototype.onopentagname=function(e){if(this._lowerCaseTagNames&&(e=e.toLowerCase()),this._tagname=e,!this._options.xmlMode&&e in i)for(var t;(t=this._stack[this._stack.length-1])in i[e];this.onclosetag(t));!this._options.xmlMode&&e in a||(this._stack.push(e),e in o?this._foreignContext.push(!0):e in l&&this._foreignContext.push(!1)),this._cbs.onopentagname&&this._cbs.onopentagname(e),this._cbs.onopentag&&(this._attribs={})},u.prototype.onopentagend=function(){this._updatePosition(1),this._attribs&&(this._cbs.onopentag&&this._cbs.onopentag(this._tagname,this._attribs),this._attribs=null),!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in a&&this._cbs.onclosetag(this._tagname),this._tagname=""},u.prototype.onclosetag=function(e){if(this._updatePosition(1),this._lowerCaseTagNames&&(e=e.toLowerCase()),(e in o||e in l)&&this._foreignContext.pop(),!this._stack.length||e in a&&!this._options.xmlMode)this._options.xmlMode||"br"!==e&&"p"!==e||(this.onopentagname(e),this._closeCurrentTag());else{var t=this._stack.lastIndexOf(e);if(-1!==t)if(this._cbs.onclosetag)for(t=this._stack.length-t;t--;)this._cbs.onclosetag(this._stack.pop());else this._stack.length=t;else"p"!==e||this._options.xmlMode||(this.onopentagname(e),this._closeCurrentTag())}},u.prototype.onselfclosingtag=function(){this._options.xmlMode||this._options.recognizeSelfClosing||this._foreignContext[this._foreignContext.length-1]?this._closeCurrentTag():this.onopentagend()},u.prototype._closeCurrentTag=function(){var e=this._tagname;this.onopentagend(),this._stack[this._stack.length-1]===e&&(this._cbs.onclosetag&&this._cbs.onclosetag(e),this._stack.pop())},u.prototype.onattribname=function(e){this._lowerCaseAttributeNames&&(e=e.toLowerCase()),this._attribname=e},u.prototype.onattribdata=function(e){this._attribvalue+=e},u.prototype.onattribend=function(){this._cbs.onattribute&&this._cbs.onattribute(this._attribname,this._attribvalue),this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)&&(this._attribs[this._attribname]=this._attribvalue),this._attribname="",this._attribvalue=""},u.prototype._getInstructionName=function(e){var t=e.search(c),r=t<0?e:e.substr(0,t);return this._lowerCaseTagNames&&(r=r.toLowerCase()),r},u.prototype.ondeclaration=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction("!"+t,"!"+e)}},u.prototype.onprocessinginstruction=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction("?"+t,"?"+e)}},u.prototype.oncomment=function(e){this._updatePosition(4),this._cbs.oncomment&&this._cbs.oncomment(e),this._cbs.oncommentend&&this._cbs.oncommentend()},u.prototype.oncdata=function(e){this._updatePosition(1),this._options.xmlMode||this._options.recognizeCDATA?(this._cbs.oncdatastart&&this._cbs.oncdatastart(),this._cbs.ontext&&this._cbs.ontext(e),this._cbs.oncdataend&&this._cbs.oncdataend()):this.oncomment("[CDATA["+e+"]]")},u.prototype.onerror=function(e){this._cbs.onerror&&this._cbs.onerror(e)},u.prototype.onend=function(){if(this._cbs.onclosetag)for(var e=this._stack.length;e>0;this._cbs.onclosetag(this._stack[--e]));this._cbs.onend&&this._cbs.onend()},u.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname="",this._attribname="",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},u.prototype.parseComplete=function(e){this.reset(),this.end(e)},u.prototype.write=function(e){this._tokenizer.write(e)},u.prototype.end=function(e){this._tokenizer.end(e)},u.prototype.pause=function(){this._tokenizer.pause()},u.prototype.resume=function(){this._tokenizer.resume()},u.prototype.parseChunk=u.prototype.write,u.prototype.done=u.prototype.end,e.exports=u},function(e,t,r){e.exports=me;var n=r(348),s=r(350),i=r(351),a=r(352),o=0,l=o++,c=o++,u=o++,h=o++,d=o++,p=o++,g=o++,f=o++,m=o++,_=o++,T=o++,E=o++,v=o++,b=o++,y=o++,A=o++,O=o++,C=o++,w=o++,S=o++,k=o++,N=o++,R=o++,I=o++,x=o++,D=o++,L=o++,M=o++,P=o++,F=o++,j=o++,B=o++,U=o++,H=o++,$=o++,K=o++,q=o++,G=o++,z=o++,W=o++,Y=o++,V=o++,Q=o++,X=o++,J=o++,Z=o++,ee=o++,te=o++,re=o++,ne=o++,se=o++,ie=o++,ae=o++,oe=o++,le=o++,ce=0,ue=ce++,he=ce++,de=ce++;function pe(e){return" "===e||"\n"===e||"\t"===e||"\f"===e||"\r"===e}function ge(e,t,r){var n=e.toLowerCase();return e===n?function(e){e===n?this._state=t:(this._state=r,this._index--)}:function(s){s===n||s===e?this._state=t:(this._state=r,this._index--)}}function fe(e,t){var r=e.toLowerCase();return function(n){n===r||n===e?this._state=t:(this._state=u,this._index--)}}function me(e,t){this._state=l,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=l,this._special=ue,this._cbs=t,this._running=!0,this._ended=!1,this._xmlMode=!(!e||!e.xmlMode),this._decodeEntities=!(!e||!e.decodeEntities)}me.prototype._stateText=function(e){"<"===e?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=c,this._sectionStart=this._index):this._decodeEntities&&this._special===ue&&"&"===e&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=l,this._state=se,this._sectionStart=this._index)},me.prototype._stateBeforeTagName=function(e){"/"===e?this._state=d:"<"===e?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===e||this._special!==ue||pe(e)?this._state=l:"!"===e?(this._state=y,this._sectionStart=this._index+1):"?"===e?(this._state=O,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==e&&"S"!==e?u:j,this._sectionStart=this._index)},me.prototype._stateInTagName=function(e){("/"===e||">"===e||pe(e))&&(this._emitToken("onopentagname"),this._state=f,this._index--)},me.prototype._stateBeforeCloseingTagName=function(e){pe(e)||(">"===e?this._state=l:this._special!==ue?"s"===e||"S"===e?this._state=B:(this._state=l,this._index--):(this._state=p,this._sectionStart=this._index))},me.prototype._stateInCloseingTagName=function(e){(">"===e||pe(e))&&(this._emitToken("onclosetag"),this._state=g,this._index--)},me.prototype._stateAfterCloseingTagName=function(e){">"===e&&(this._state=l,this._sectionStart=this._index+1)},me.prototype._stateBeforeAttributeName=function(e){">"===e?(this._cbs.onopentagend(),this._state=l,this._sectionStart=this._index+1):"/"===e?this._state=h:pe(e)||(this._state=m,this._sectionStart=this._index)},me.prototype._stateInSelfClosingTag=function(e){">"===e?(this._cbs.onselfclosingtag(),this._state=l,this._sectionStart=this._index+1):pe(e)||(this._state=f,this._index--)},me.prototype._stateInAttributeName=function(e){("="===e||"/"===e||">"===e||pe(e))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=_,this._index--)},me.prototype._stateAfterAttributeName=function(e){"="===e?this._state=T:"/"===e||">"===e?(this._cbs.onattribend(),this._state=f,this._index--):pe(e)||(this._cbs.onattribend(),this._state=m,this._sectionStart=this._index)},me.prototype._stateBeforeAttributeValue=function(e){'"'===e?(this._state=E,this._sectionStart=this._index+1):"'"===e?(this._state=v,this._sectionStart=this._index+1):pe(e)||(this._state=b,this._sectionStart=this._index,this._index--)},me.prototype._stateInAttributeValueDoubleQuotes=function(e){'"'===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateInAttributeValueSingleQuotes=function(e){"'"===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateInAttributeValueNoQuotes=function(e){pe(e)||">"===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f,this._index--):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateBeforeDeclaration=function(e){this._state="["===e?N:"-"===e?C:A},me.prototype._stateInDeclaration=function(e){">"===e&&(this._cbs.ondeclaration(this._getSection()),this._state=l,this._sectionStart=this._index+1)},me.prototype._stateInProcessingInstruction=function(e){">"===e&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=l,this._sectionStart=this._index+1)},me.prototype._stateBeforeComment=function(e){"-"===e?(this._state=w,this._sectionStart=this._index+1):this._state=A},me.prototype._stateInComment=function(e){"-"===e&&(this._state=S)},me.prototype._stateAfterComment1=function(e){this._state="-"===e?k:w},me.prototype._stateAfterComment2=function(e){">"===e?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=l,this._sectionStart=this._index+1):"-"!==e&&(this._state=w)},me.prototype._stateBeforeCdata1=ge("C",R,A),me.prototype._stateBeforeCdata2=ge("D",I,A),me.prototype._stateBeforeCdata3=ge("A",x,A),me.prototype._stateBeforeCdata4=ge("T",D,A),me.prototype._stateBeforeCdata5=ge("A",L,A),me.prototype._stateBeforeCdata6=function(e){"["===e?(this._state=M,this._sectionStart=this._index+1):(this._state=A,this._index--)},me.prototype._stateInCdata=function(e){"]"===e&&(this._state=P)},me.prototype._stateAfterCdata1=function(e){this._state="]"===e?F:M},me.prototype._stateAfterCdata2=function(e){">"===e?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=l,this._sectionStart=this._index+1):"]"!==e&&(this._state=M)},me.prototype._stateBeforeSpecial=function(e){"c"===e||"C"===e?this._state=U:"t"===e||"T"===e?this._state=Q:(this._state=u,this._index--)},me.prototype._stateBeforeSpecialEnd=function(e){this._special!==he||"c"!==e&&"C"!==e?this._special!==de||"t"!==e&&"T"!==e?this._state=l:this._state=ee:this._state=G},me.prototype._stateBeforeScript1=fe("R",H),me.prototype._stateBeforeScript2=fe("I",$),me.prototype._stateBeforeScript3=fe("P",K),me.prototype._stateBeforeScript4=fe("T",q),me.prototype._stateBeforeScript5=function(e){("/"===e||">"===e||pe(e))&&(this._special=he),this._state=u,this._index--},me.prototype._stateAfterScript1=ge("R",z,l),me.prototype._stateAfterScript2=ge("I",W,l),me.prototype._stateAfterScript3=ge("P",Y,l),me.prototype._stateAfterScript4=ge("T",V,l),me.prototype._stateAfterScript5=function(e){">"===e||pe(e)?(this._special=ue,this._state=p,this._sectionStart=this._index-6,this._index--):this._state=l},me.prototype._stateBeforeStyle1=fe("Y",X),me.prototype._stateBeforeStyle2=fe("L",J),me.prototype._stateBeforeStyle3=fe("E",Z),me.prototype._stateBeforeStyle4=function(e){("/"===e||">"===e||pe(e))&&(this._special=de),this._state=u,this._index--},me.prototype._stateAfterStyle1=ge("Y",te,l),me.prototype._stateAfterStyle2=ge("L",re,l),me.prototype._stateAfterStyle3=ge("E",ne,l),me.prototype._stateAfterStyle4=function(e){">"===e||pe(e)?(this._special=ue,this._state=p,this._sectionStart=this._index-5,this._index--):this._state=l},me.prototype._stateBeforeEntity=ge("#",ie,ae),me.prototype._stateBeforeNumericEntity=ge("X",le,oe),me.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+16&&(t=6);t>=2;){var r=this._buffer.substr(e,t);if(i.hasOwnProperty(r))return this._emitPartial(i[r]),void(this._sectionStart+=t+1);t--}},me.prototype._stateInNamedEntity=function(e){";"===e?(this._parseNamedEntityStrict(),this._sectionStart+1"z")&&(e<"A"||e>"Z")&&(e<"0"||e>"9")&&(this._xmlMode||this._sectionStart+1===this._index||(this._baseState!==l?"="!==e&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},me.prototype._decodeNumericEntity=function(e,t){var r=this._sectionStart+e;if(r!==this._index){var s=this._buffer.substring(r,this._index),i=parseInt(s,t);this._emitPartial(n(i)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},me.prototype._stateInNumericEntity=function(e){";"===e?(this._decodeNumericEntity(2,10),this._sectionStart++):(e<"0"||e>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},me.prototype._stateInHexEntity=function(e){";"===e?(this._decodeNumericEntity(3,16),this._sectionStart++):(e<"a"||e>"f")&&(e<"A"||e>"F")&&(e<"0"||e>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},me.prototype._cleanup=function(){this._sectionStart<0?(this._buffer="",this._bufferOffset+=this._index,this._index=0):this._running&&(this._state===l?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer="",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer="",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},me.prototype.write=function(e){this._ended&&this._cbs.onerror(Error(".write() after done!")),this._buffer+=e,this._parse()},me.prototype._parse=function(){for(;this._index","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},function(e){e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=void 0;var s=u(n(r(168)).default),i=h(s);t.encodeXML=m(s);var a,o,l=u(n(r(167)).default),c=h(l);function u(e){return Object.keys(e).sort().reduce((function(t,r){return t[e[r]]="&"+r+";",t}),{})}function h(e){for(var t=[],r=[],n=0,s=Object.keys(e);n1?p(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}var f=new RegExp(i.source+"|"+d.source,"g");function m(e){return function(t){return t.replace(f,(function(t){return e[t]||g(t)}))}}t.escape=function(e){return e.replace(f,g)},t.escapeUTF8=function(e){return e.replace(i,g)}},function(e,t,r){e.exports=o;var n=r(161),s=r(370).Writable,i=r(371).StringDecoder,a=r(171).Buffer;function o(e,t){var r=this._parser=new n(e,t),a=this._decoder=new i;s.call(this,{decodeStrings:!1}),this.once("finish",(function(){r.end(a.end())}))}r(83)(o,s),o.prototype._write=function(e,t,r){e instanceof a&&(e=this._decoder.write(e)),this._parser.write(e),r()}},function(e,t,r){"use strict";(function(e){var n=r(373),s=r(374),i=r(375);function a(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function g(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return U(e).length;default:if(n)return B(e).length;t=(""+t).toLowerCase(),n=!0}}function f(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return N(this,t,r);case"utf8":case"utf-8":return w(this,t,r);case"ascii":return S(this,t,r);case"latin1":case"binary":return k(this,t,r);case"base64":return C(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function _(e,t,r,n,s){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0){if(!s)return-1;r=0}if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:T(e,t,r,n,s);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):T(e,[t],r,n,s);throw new TypeError("val must be string, number or Buffer")}function T(e,t,r,n,s){var i,a=1,o=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,l/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(s){var u=-1;for(i=r;io&&(r=o-l),i=r;i>=0;i--){for(var h=!0,d=0;ds&&(n=s):n=s;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var a=0;a>8,s=r%256,i.push(s),i.push(n);return i}(t,e.length-r),e,r,n)}function C(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function w(e,t,r){r=Math.min(e.length,r);for(var n=[],s=t;s239?4:c>223?3:c>191?2:1;if(s+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=e[s+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=e[s+1],a=e[s+2],128==(192&i)&&128==(192&a)&&(l=(15&c)<<12|(63&i)<<6|63&a)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=e[s+1],a=e[s+2],o=e[s+3],128==(192&i)&&128==(192&a)&&128==(192&o)&&(l=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&o)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),s+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var r="",n=0;ns)&&(r=s);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function x(e,t,r,n,s,i){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||te.length)throw new RangeError("Index out of range")}function D(e,t,r,n){t<0&&(t=65535+t+1);for(var s=0,i=Math.min(e.length-r,2);s>>8*(n?s:1-s)}function L(e,t,r,n){t<0&&(t=4294967295+t+1);for(var s=0,i=Math.min(e.length-r,4);s>>8*(n?s:3-s)&255}function M(e,t,r,n,s,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function P(e,t,r,n,i){return i||M(e,0,r,4),s.write(e,t,r,n,23,4),r+4}function F(e,t,r,n,i){return i||M(e,0,r,8),s.write(e,t,r,n,52,8),r+8}t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=a(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return c(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return function(e,t,r,n){return u(t),t<=0?o(null,t):void 0!==r?"string"==typeof n?o(null,t).fill(r,n):o(null,t).fill(r):o(null,t)}(0,e,t,r)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,s=0,i=Math.min(r,n);s0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},l.prototype.compare=function(e,t,r,n,s){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),t<0||r>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&t>=r)return 0;if(n>=s)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(s>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),o=Math.min(i,a),c=this.slice(n,s),u=e.slice(t,r),h=0;hs)&&(r=s),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return E(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":return b(this,e,t,r);case"latin1":case"binary":return y(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(s*=256);)n+=this[e+--t]*s;return n},l.prototype.readUInt8=function(e,t){return t||I(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||I(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||I(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=this[e],s=1,i=0;++i=(s*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=t,s=1,i=this[e+--n];n>0&&(s*=256);)i+=this[e+--n]*s;return i>=(s*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readInt8=function(e,t){return t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||I(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||I(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||I(e,4,this.length),s.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||I(e,4,this.length),s.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||I(e,8,this.length),s.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||I(e,8,this.length),s.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||x(this,e,t,r,Math.pow(2,8*r)-1,0);var s=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+s]=e/i&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):L(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var s=Math.pow(2,8*r-1);x(this,e,t,r,s-1,-s)}var i=0,a=1,o=0;for(this[t]=255&e;++i>0)-o&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var s=Math.pow(2,8*r-1);x(this,e,t,r,s-1,-s)}var i=r-1,a=1,o=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===o&&0!==this[t+i+1]&&(o=1),this[t+i]=(e/a>>0)-o&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):L(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return P(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return P(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return F(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return F(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--s)e[s+t]=this[s+r];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(s=0;s>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!s){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&i.push(239,191,189);continue}s=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),s=r;continue}r=65536+(s-55296<<10|r-56320)}else s&&(t-=3)>-1&&i.push(239,191,189);if(s=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function U(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function H(e,t,r,n){for(var s=0;s=t.length||s>=e.length);++s)t[s+r]=e[s];return s}}).call(this,r(20))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return o}));var n=r(200);let s;function i(){return null===s.yoast.shortlinker&&(s.yoast.shortlinker=new n.a),s.yoast.shortlinker}function a(e){i().configure(e)}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i().createAnchorOpeningTag(e,t)}s="undefined"==typeof window?"undefined"==typeof self?e:self:window,s.yoast=s.yoast||{},s.yoast.shortlinker=s.yoast.shortlinker||null}).call(this,r(20))},function(e,t,r){"use strict";const n=r(33),s=r(84),i=r(175);e.exports=class extends n{constructor(e){super(e),this.tokenizer=e,this.posTracker=n.install(e.preprocessor,i),this.currentAttrLocation=null,this.ctLoc=null}_getCurrentLocation(){return{startLine:this.posTracker.line,startCol:this.posTracker.col,startOffset:this.posTracker.offset,endLine:-1,endCol:-1,endOffset:-1}}_attachCurrentAttrLocationInfo(){this.currentAttrLocation.endLine=this.posTracker.line,this.currentAttrLocation.endCol=this.posTracker.col,this.currentAttrLocation.endOffset=this.posTracker.offset;const e=this.tokenizer.currentToken,t=this.tokenizer.currentAttr;e.location.attrs||(e.location.attrs=Object.create(null)),e.location.attrs[t.name]=this.currentAttrLocation}_getOverriddenMethods(e,t){const r={_createStartTagToken(){t._createStartTagToken.call(this),this.currentToken.location=e.ctLoc},_createEndTagToken(){t._createEndTagToken.call(this),this.currentToken.location=e.ctLoc},_createCommentToken(){t._createCommentToken.call(this),this.currentToken.location=e.ctLoc},_createDoctypeToken(r){t._createDoctypeToken.call(this,r),this.currentToken.location=e.ctLoc},_createCharacterToken(r,n){t._createCharacterToken.call(this,r,n),this.currentCharacterToken.location=e.ctLoc},_createEOFToken(){t._createEOFToken.call(this),this.currentToken.location=e._getCurrentLocation()},_createAttr(r){t._createAttr.call(this,r),e.currentAttrLocation=e._getCurrentLocation()},_leaveAttrName(r){t._leaveAttrName.call(this,r),e._attachCurrentAttrLocationInfo()},_leaveAttrValue(r){t._leaveAttrValue.call(this,r),e._attachCurrentAttrLocationInfo()},_emitCurrentToken(){const r=this.currentToken.location;this.currentCharacterToken&&(this.currentCharacterToken.location.endLine=r.startLine,this.currentCharacterToken.location.endCol=r.startCol,this.currentCharacterToken.location.endOffset=r.startOffset),this.currentToken.type===s.EOF_TOKEN?(r.endLine=r.startLine,r.endCol=r.startCol,r.endOffset=r.startOffset):(r.endLine=e.posTracker.line,r.endCol=e.posTracker.col+1,r.endOffset=e.posTracker.offset+1),t._emitCurrentToken.call(this)},_emitCurrentCharacterToken(){const r=this.currentCharacterToken&&this.currentCharacterToken.location;r&&-1===r.endOffset&&(r.endLine=e.posTracker.line,r.endCol=e.posTracker.col,r.endOffset=e.posTracker.offset),t._emitCurrentCharacterToken.call(this)}};return Object.keys(s.MODE).forEach(n=>{const i=s.MODE[n];r[i]=function(r){e.ctLoc=e._getCurrentLocation(),t[i].call(this,r)}}),r}}},function(e,t,r){"use strict";const n=r(33);e.exports=class extends n{constructor(e){super(e),this.preprocessor=e,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.offset=0,this.col=0,this.line=1}_getOverriddenMethods(e,t){return{advance(){const r=this.pos+1,n=this.html[r];return e.isEol&&(e.isEol=!1,e.line++,e.lineStartPos=r),("\n"===n||"\r"===n&&"\n"!==this.html[r+1])&&(e.isEol=!0),e.col=r-e.lineStartPos+1,e.offset=e.droppedBufferSize+r,t.advance.call(this)},retreat(){t.retreat.call(this),e.isEol=!1,e.col=this.pos-e.lineStartPos+1},dropParsedChunk(){const r=this.pos;t.dropParsedChunk.call(this);const n=r-this.pos;e.lineStartPos-=n,e.droppedBufferSize+=n,e.offset=e.droppedBufferSize+this.pos}}}}},function(e,t,r){"use strict";const{DOCUMENT_MODE:n}=r(48);t.createDocument=function(){return{nodeName:"#document",mode:n.NO_QUIRKS,childNodes:[]}},t.createDocumentFragment=function(){return{nodeName:"#document-fragment",childNodes:[]}},t.createElement=function(e,t,r){return{nodeName:e,tagName:e,attrs:r,namespaceURI:t,childNodes:[],parentNode:null}},t.createCommentNode=function(e){return{nodeName:"#comment",data:e,parentNode:null}};const s=function(e){return{nodeName:"#text",value:e,parentNode:null}},i=t.appendChild=function(e,t){e.childNodes.push(t),t.parentNode=e},a=t.insertBefore=function(e,t,r){const n=e.childNodes.indexOf(r);e.childNodes.splice(n,0,t),t.parentNode=e};t.setTemplateContent=function(e,t){e.content=t},t.getTemplateContent=function(e){return e.content},t.setDocumentType=function(e,t,r,n){let s=null;for(let t=0;t(Object.keys(t).forEach(r=>{e[r]=t[r]}),e),Object.create(null))}},function(e,t,r){"use strict";const{DOCUMENT_MODE:n}=r(48),s=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],i=s.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]),a=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"],o=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],l=o.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function c(e){const t=-1!==e.indexOf('"')?"'":'"';return t+e+t}function u(e,t){for(let r=0;r-1)return n.QUIRKS;let e=null===t?i:s;if(u(r,e))return n.QUIRKS;if(e=null===t?o:l,u(r,e))return n.LIMITED_QUIRKS}return n.NO_QUIRKS},t.serializeContent=function(e,t,r){let n="!DOCTYPE ";return e&&(n+=e),t?n+=" PUBLIC "+c(t):r&&(n+=" SYSTEM"),null!==r&&(n+=" "+c(r)),n}},,,,,,,,,,,,,,,,,,,,function(e,t){e.exports=window.yoast.featureFlag},function(e,t,r){var n,s;!function(i,a){"use strict";void 0===(s="function"==typeof(n=function(){var e=function(){},t="undefined"!=typeof window&&void 0!==window.navigator&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"];function n(e,t){var r=e[t];if("function"==typeof r.bind)return r.bind(e);try{return Function.prototype.bind.call(r,e)}catch(t){return function(){return Function.prototype.apply.apply(r,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function i(r){return"debug"===r&&(r="log"),"undefined"!=typeof console&&("trace"===r&&t?s:void 0!==console[r]?n(console,r):void 0!==console.log?n(console,"log"):e)}function a(t,n){for(var s=0;s=0&&t<=i.levels.SILENT))throw"log.setLevel() called with invalid level: "+t;if(s=t,!1!==n&&function(e){var t=(r[e]||"silent").toUpperCase();if("undefined"!=typeof window&&o){try{return void(window.localStorage[o]=t)}catch(e){}try{window.document.cookie=encodeURIComponent(o)+"="+t+";"}catch(e){}}}(t),a.call(i,t,e),"undefined"==typeof console&&t0&&void 0!==arguments[0]?arguments[0]:{};this.configure(e)}configure(e){this._config={params:{},...e}}static createQueryString(e){return Object.keys(e).map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join("&")}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=encodeURI(e);const s=n.createQueryString({...this._config.params,...t});return""!==s&&(r+="?"+s),r}createAnchorOpeningTag(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return``}}},function(e,t,r){"use strict";const n=r(383),s=r(394);t.parse=function(e,t){return new n(t).parse(e)},t.parseFragment=function(e,t,r){return"string"==typeof e&&(r=t,t=e,e=null),new n(r).parseFragment(t,e)},t.serialize=function(e,t){return new s(e,t).serialize()}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t,r){r(159);var n,s=r(101);n=s("Error.captureStackTrace")?r(336):s("Error.prototype.stack")?r(337):r(347),e.exports=n()},function(e,t,r){var n=r(160),s=n.define,i=n.test;s("strict mode",(function(){return void 0===this})),s("arguments.callee.caller",(function(){try{return function(){return arguments.callee.caller}()===arguments.callee}catch(e){return!1}})),s("es5",(function(){return i("Array.prototype.forEach")&&i("Array.prototype.map")&&i("Function.prototype.bind")&&i("Object.create")&&i("Object.defineProperties")&&i("Object.defineProperty")&&i("Object.prototype.hasOwnProperty")})),s("Array.prototype.forEach",(function(){return Array.prototype.forEach})),s("Array.prototype.map",(function(){return Array.prototype.map})),s("Function.prototype.bind",(function(){return Function.prototype.bind})),s("Object.create",(function(){return Object.create})),s("Object.defineProperties",(function(){return Object.defineProperties})),s("Object.defineProperty",(function(){return Object.defineProperty})),s("Object.prototype.hasOwnProperty",(function(){return Object.prototype.hasOwnProperty})),s("Error.captureStackTrace",(function(){return Error.captureStackTrace})),s("Error.prototype.stack",(function(){try{throw new Error}catch(e){return e.stack||e.stacktrace}}))},function(e,t){var r=function(){this.tests={},this.cache={}};r.prototype={constructor:r,define:function(e,t){if("string"!=typeof e||!(t instanceof Function))throw new Error("Invalid capability definition.");if(this.tests[e])throw new Error('Duplicated capability definition by "'+e+'".');this.tests[e]=t},check:function(e){if(!this.test(e))throw new Error('The current environment does not support "'+e+'", therefore we cannot continue.')},test:function(e){if(void 0!==this.cache[e])return this.cache[e];if(!this.tests[e])throw new Error('Unknown capability with name "'+e+'".');var t=this.tests[e];return this.cache[e]=!!t(),this.cache[e]}},e.exports=r},function(e,t,r){var n=r(102);e.exports=function(){return Error.getStackTrace=function(e){return e.stack},{prepareStackTrace:n}}},function(e,t,r){var n=r(338),s=r(345),i=r(62).cache,a=r(102);e.exports=function(){return Error.captureStackTrace=function e(t,r){var o=[e];r&&o.push(r);var l=n.getInstance().captureFrameStrings(o);Object.defineProperties(t,{stack:{configurable:!0,get:i((function(){var e=s.getInstance().getFrames(l.frameStrings,l.functionValues);return(Error.prepareStackTrace||a)(t,e,void 0)}))},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})},Error.getStackTrace=function(e){if(e.cachedStack)return e.stack;var t,r=n.getInstance().getFrameStrings(e),i=[];r?i=s.getInstance().getFrames(r,[]):t=["The stack is not readable by unthrown errors in this environment."];var o=(Error.prepareStackTrace||a)(e,i,t);if(r)try{Object.defineProperties(e,{stack:{configurable:!0,writable:!0,enumerable:!1,value:o},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})}catch(e){}return o},{prepareStackTrace:a}}},function(e,t,r){var n=r(61).Class,s=r(61).abstractMethod,i=r(62).eachCombination,a=r(62).cache,o=r(101),l=n(Object,{prototype:{captureFrameStrings:function(e){var t=this.createError();e.unshift(this.captureFrameStrings),e.unshift(this.createError);var r=this.getFrameStrings(t),n=r.slice(e.length),s=[];if(o("arguments.callee.caller")){var i=[this.createError,this.captureFrameStrings];try{for(var a=arguments.callee;a=a.caller;)i.push(a)}catch(e){}s=i.slice(e.length)}return{frameStrings:n,functionValues:s}},getFrameStrings:function(e){var t=e.message||"",r=e.name||"",n=this.getStackString(e);if(void 0!==n){var s=n.split("\n"),i=0,a=s.length;return this.hasHeader&&(i+=r.split("\n").length+t.split("\n").length-1),this.hasFooter&&(a-=1),s.slice(i,a)}},createError:s,getStackString:s,hasHeader:void 0,hasFooter:void 0}}),c=n(Object,{prototype:{calibrateClass:function(e){return this.calibrateMethods(e)&&this.calibrateEnvelope(e)},calibrateMethods:function(e){try{i([[function(e){return new Error(e)},function(e){try{throw new Error(e)}catch(e){return e}}],[function(e){return e.stack},function(e){return e.stacktrace}]],(function(e,t){if(t(e()))throw{getStackString:t,createError:e}}))}catch(t){return n.merge.call(e,{prototype:t}),!0}return!1},calibrateEnvelope:function(e){var t=(0,e.prototype.getStackString)((0,e.prototype.createError)("marker")).split("\n");return n.merge.call(e,{prototype:{hasHeader:/marker/.test(t[0]),hasFooter:""===t[t.length-1]}}),!0}}});e.exports={getClass:a((function(){var e;if(e)return e;if(e=n(l,{}),!(new c).calibrateClass(e))throw new Error("Cannot read Error.prototype.stack in this environment.");return e})),getInstance:a((function(){return new(this.getClass())}))}},function(e,t,r){e.exports={Class:r(340),abstractMethod:r(341)}},function(e,t){var r=function(){var e=Object.create({Source:Object,config:{},buildArgs:[]});function t(t){var r="config";if(t instanceof Function)r="Source";else if(t instanceof Array)r="buildArgs";else{if(!(t instanceof Object))throw new Error("Invalid configuration option.");r="config"}if(e.hasOwnProperty(r))throw new Error("Duplicated configuration option: "+r+".");e[r]=t}for(var n=0,s=arguments.length;n=55296&&e<=57343||e>1114111)return"�";e in n&&(e=n[e]);var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)}},function(e){e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},function(e){e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},function(e,t,r){"use strict";var n,s="object"==typeof Reflect?Reflect:null,i=s&&"function"==typeof s.apply?s.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};n=s&&"function"==typeof s.ownKeys?s.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function s(r){e.removeListener(t,i),n(r)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",s),r([].slice.call(arguments))}_(e,t,i,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&_(e,"error",t,{once:!0})}(e,s)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var l=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function h(e,t,r,n){var s,i,a,o;if(c(r),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),a=i[t]),void 0===a)a=i[t]=r,++e._eventsCount;else if("function"==typeof a?a=i[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(s=u(e))>0&&a.length>s&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,o=l,console&&console.warn&&console.warn(o)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=d.bind(n);return s.listener=r,n.wrapFn=s,s}function g(e,t,r){var n=e._events;if(void 0===n)return[];var s=n[t];return void 0===s?[]:"function"==typeof s?r?[s.listener||s]:[s]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(a=t[0]),a instanceof Error)throw a;var o=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw o.context=a,o}var l=s[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,u=m(l,c);for(r=0;r=0;i--)if(r[i]===t||r[i].listener===t){a=r[i].listener,s=i;break}if(s<0)return this;0===s?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return g(this,e,!0)},o.prototype.rawListeners=function(e){return g(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):f.call(e,t)},o.prototype.listenerCount=f,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,r){var n=r(164),s=e.exports=Object.create(n),i={tagName:"name"};Object.keys(i).forEach((function(e){var t=i[e];Object.defineProperty(s,e,{get:function(){return this[t]||null},set:function(e){return this[t]=e,e}})}))},function(e,t,r){var n=r(163),s=r(165);function i(e,t){this.init(e,t)}function a(e,t){return s.getElementsByTagName(e,t,!0)}function o(e,t){return s.getElementsByTagName(e,t,!0,1)[0]}function l(e,t,r){return s.getText(s.getElementsByTagName(e,t,r,1)).trim()}function c(e,t,r,n,s){var i=l(r,n,s);i&&(e[t]=i)}r(83)(i,n),i.prototype.init=n;var u=function(e){return"rss"===e||"feed"===e||"rdf:RDF"===e};i.prototype.onend=function(){var e,t,r={},s=o(u,this.dom);s&&("feed"===s.name?(t=s.children,r.type="atom",c(r,"id","id",t),c(r,"title","title",t),(e=o("link",t))&&(e=e.attribs)&&(e=e.href)&&(r.link=e),c(r,"description","subtitle",t),(e=l("updated",t))&&(r.updated=new Date(e)),c(r,"author","email",t,!0),r.items=a("entry",t).map((function(e){var t,r={};return c(r,"id","id",e=e.children),c(r,"title","title",e),(t=o("link",e))&&(t=t.attribs)&&(t=t.href)&&(r.link=t),(t=l("summary",e)||l("content",e))&&(r.description=t),(t=l("updated",e))&&(r.pubDate=new Date(t)),r}))):(t=o("channel",s.children).children,r.type=s.name.substr(0,3),r.id="",c(r,"title","title",t),c(r,"link","link",t),c(r,"description","description",t),(e=l("lastBuildDate",t))&&(r.updated=new Date(e)),c(r,"author","managingEditor",t,!0),r.items=a("item",s.children).map((function(e){var t,r={};return c(r,"id","guid",e=e.children),c(r,"title","title",e),c(r,"link","link",e),c(r,"description","description",e),(t=l("pubDate",e))&&(r.pubDate=new Date(t)),r})))),this.dom=r,n.prototype._handleCallback.call(this,s?null:Error("couldn't find root of feed"))},e.exports=i},function(e,t,r){var n=r(63),s=r(357),i=n.isTag;e.exports={getInnerHTML:function(e,t){return e.children?e.children.map((function(e){return s(e,t)})).join(""):""},getOuterHTML:s,getText:function e(t){return Array.isArray(t)?t.map(e).join(""):i(t)?"br"===t.name?"\n":e(t.children):t.type===n.CDATA?e(t.children):t.type===n.Text?t.data:""}}},function(e,t,r){var n=r(358),s=r(359),i=r(363);i.elementNames.__proto__=null,i.attributeNames.__proto__=null;var a={__proto__:null,style:!0,script:!0,xmp:!0,iframe:!0,noembed:!0,noframes:!0,plaintext:!0,noscript:!0},o={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},l=e.exports=function(e,t){Array.isArray(e)||e.cheerio||(e=[e]),t=t||{};for(var r="",s=0;s=0&&(t=Object.assign({},t,{xmlMode:!1}))),!t.xmlMode&&["svg","math"].indexOf(e.name)>=0&&(t=Object.assign({},t,{xmlMode:"foreign"}));var r="<"+e.name,n=function(e,t){if(e){var r,n="";for(var a in e)r=e[a],n&&(n+=" "),"foreign"===t.xmlMode&&(a=i.attributeNames[a]||a),n+=a,(null!==r&&""!==r||t.xmlMode)&&(n+='="'+(t.decodeEntities?s.encodeXML(r):r.replace(/\"/g,"""))+'"');return n}}(e.attribs,t);return n&&(r+=" "+n),!t.xmlMode||e.children&&0!==e.children.length?(r+=">",e.children&&(r+=l(e.children,t)),o[e.name]&&!t.xmlMode||(r+="")):r+="/>",r}function h(e){return"<"+e.data+">"}function d(e,t){var r=e.data||"";return!t.decodeEntities||e.parent&&e.parent.name in a||(r=s.encodeXML(r)),r}function p(e){return""}function g(e){return"\x3c!--"+e.data+"--\x3e"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=void 0,t.isTag=function(e){return"tag"===e.type||"script"===e.type||"style"===e.type},t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.encodeHTML5=t.encodeHTML4=t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=t.encode=t.decodeStrict=t.decode=void 0;var n=r(166),s=r(169);t.decode=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?s.encodeXML:s.encodeHTML)(e)};var i=r(169);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return i.encodeXML}}),Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return i.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return i.encodeNonAsciiHTML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return i.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return i.escapeUTF8}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return i.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return i.encodeHTML}});var a=r(166);Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return a.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return a.decodeXML}})},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=n(r(362)),i=String.fromCodePoint||function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)};t.default=function(e){return e>=55296&&e<=57343||e>1114111?"�":(e in s.default&&(e=s.default[e]),i(e))}},function(e){e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},function(e){e.exports=JSON.parse('{"elementNames":{"altglyph":"altGlyph","altglyphdef":"altGlyphDef","altglyphitem":"altGlyphItem","animatecolor":"animateColor","animatemotion":"animateMotion","animatetransform":"animateTransform","clippath":"clipPath","feblend":"feBlend","fecolormatrix":"feColorMatrix","fecomponenttransfer":"feComponentTransfer","fecomposite":"feComposite","feconvolvematrix":"feConvolveMatrix","fediffuselighting":"feDiffuseLighting","fedisplacementmap":"feDisplacementMap","fedistantlight":"feDistantLight","fedropshadow":"feDropShadow","feflood":"feFlood","fefunca":"feFuncA","fefuncb":"feFuncB","fefuncg":"feFuncG","fefuncr":"feFuncR","fegaussianblur":"feGaussianBlur","feimage":"feImage","femerge":"feMerge","femergenode":"feMergeNode","femorphology":"feMorphology","feoffset":"feOffset","fepointlight":"fePointLight","fespecularlighting":"feSpecularLighting","fespotlight":"feSpotLight","fetile":"feTile","feturbulence":"feTurbulence","foreignobject":"foreignObject","glyphref":"glyphRef","lineargradient":"linearGradient","radialgradient":"radialGradient","textpath":"textPath"},"attributeNames":{"definitionurl":"definitionURL","attributename":"attributeName","attributetype":"attributeType","basefrequency":"baseFrequency","baseprofile":"baseProfile","calcmode":"calcMode","clippathunits":"clipPathUnits","diffuseconstant":"diffuseConstant","edgemode":"edgeMode","filterunits":"filterUnits","glyphref":"glyphRef","gradienttransform":"gradientTransform","gradientunits":"gradientUnits","kernelmatrix":"kernelMatrix","kernelunitlength":"kernelUnitLength","keypoints":"keyPoints","keysplines":"keySplines","keytimes":"keyTimes","lengthadjust":"lengthAdjust","limitingconeangle":"limitingConeAngle","markerheight":"markerHeight","markerunits":"markerUnits","markerwidth":"markerWidth","maskcontentunits":"maskContentUnits","maskunits":"maskUnits","numoctaves":"numOctaves","pathlength":"pathLength","patterncontentunits":"patternContentUnits","patterntransform":"patternTransform","patternunits":"patternUnits","pointsatx":"pointsAtX","pointsaty":"pointsAtY","pointsatz":"pointsAtZ","preservealpha":"preserveAlpha","preserveaspectratio":"preserveAspectRatio","primitiveunits":"primitiveUnits","refx":"refX","refy":"refY","repeatcount":"repeatCount","repeatdur":"repeatDur","requiredextensions":"requiredExtensions","requiredfeatures":"requiredFeatures","specularconstant":"specularConstant","specularexponent":"specularExponent","spreadmethod":"spreadMethod","startoffset":"startOffset","stddeviation":"stdDeviation","stitchtiles":"stitchTiles","surfacescale":"surfaceScale","systemlanguage":"systemLanguage","tablevalues":"tableValues","targetx":"targetX","targety":"targetY","textlength":"textLength","viewbox":"viewBox","viewtarget":"viewTarget","xchannelselector":"xChannelSelector","ychannelselector":"yChannelSelector","zoomandpan":"zoomAndPan"}}')},function(e,t){var r=t.getChildren=function(e){return e.children},n=t.getParent=function(e){return e.parent};t.getSiblings=function(e){var t=n(e);return t?r(t):[e]},t.getAttributeValue=function(e,t){return e.attribs&&e.attribs[t]},t.hasAttrib=function(e,t){return!!e.attribs&&hasOwnProperty.call(e.attribs,t)},t.getName=function(e){return e.name}},function(e,t){t.removeElement=function(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}},t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var s=t.parent=e.parent;if(s){var i=s.children;i[i.lastIndexOf(e)]=t}},t.appendChild=function(e,t){if(t.parent=e,1!==e.children.push(t)){var r=e.children[e.children.length-2];r.next=t,t.prev=r,t.next=null}},t.append=function(e,t){var r=e.parent,n=e.next;if(t.next=n,t.prev=e,e.next=t,t.parent=r,n){if(n.prev=t,r){var s=r.children;s.splice(s.lastIndexOf(n),0,t)}}else r&&r.children.push(t)},t.prepend=function(e,t){var r=e.parent;if(r){var n=r.children;n.splice(n.lastIndexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=r,t.prev=e.prev,t.next=e,e.prev=t}},function(e,t,r){var n=r(63).isTag;function s(e,t,r,n){for(var i,a=[],o=0,l=t.length;o0&&(i=s(e,i,r,n),a=a.concat(i),(n-=i.length)<=0)));o++);return a}e.exports={filter:function(e,t,r,n){return Array.isArray(t)||(t=[t]),"number"==typeof n&&isFinite(n)||(n=1/0),s(e,t,!1!==r,n)},find:s,findOneChild:function(e,t){for(var r=0,n=t.length;r0&&(s=e(t,r[i].children)));return s},existsOne:function e(t,r){for(var s=0,i=r.length;s0&&e(t,r[s].children)))return!0;return!1},findAll:function(e,t){for(var r=[],s=t.slice();s.length;){var i=s.shift();n(i)&&(i.children&&i.children.length>0&&s.unshift.apply(s,i.children),e(i)&&r.push(i))}return r}}},function(e,t,r){var n=r(63),s=t.isTag=n.isTag;t.testElement=function(e,t){for(var r in e)if(e.hasOwnProperty(r))if("tag_name"===r){if(!s(t)||!e.tag_name(t.name))return!1}else if("tag_type"===r){if(!e.tag_type(t.type))return!1}else if("tag_contains"===r){if(s(t)||!e.tag_contains(t.data))return!1}else if(!t.attribs||!e[r](t.attribs[r]))return!1;return!0};var i={tag_name:function(e){return"function"==typeof e?function(t){return s(t)&&e(t.name)}:"*"===e?s:function(t){return s(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return!s(t)&&e(t.data)}:function(t){return!s(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return r.attribs&&t(r.attribs[e])}:function(r){return r.attribs&&r.attribs[e]===t}}function o(e,t){return function(r){return e(r)||t(r)}}t.getElements=function(e,t,r,n){var s=Object.keys(e).map((function(t){var r=e[t];return t in i?i[t](r):a(t,r)}));return 0===s.length?[]:this.filter(s.reduce(o),t,r,n)},t.getElementById=function(e,t,r){return Array.isArray(t)||(t=[t]),this.findOne(a("id",e),t,!1!==r)},t.getElementsByTagName=function(e,t,r,n){return this.filter(i.tag_name(e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return this.filter(i.tag_type(e),t,r,n)}},function(e,t){t.removeSubsets=function(e){for(var t,r,n,s=e.length;--s>-1;){for(t=r=e[s],e[s]=null,n=!0;r;){if(e.indexOf(r)>-1){n=!1,e.splice(s,1);break}r=r.parent}n&&(e[s]=t)}return e};var r=t.compareDocumentPosition=function(e,t){var r,n,s,i,a,o,l=[],c=[];if(e===t)return 0;for(r=e;r;)l.unshift(r),r=r.parent;for(r=t;r;)c.unshift(r),r=r.parent;for(o=0;l[o]===c[o];)o++;return 0===o?1:(s=(n=l[o-1]).children,i=l[o],a=c[o],s.indexOf(i)>s.indexOf(a)?n===t?20:4:n===e?10:2)};t.uniqueSort=function(e){var t,n,s=e.length;for(e=e.slice();--s>-1;)t=e[s],(n=e.indexOf(t))>-1&&n>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function u(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(s>0&&(e.lastNeed=s-1),s):--n=0?(s>0&&(e.lastNeed=s-2),s):--n=0?(s>0&&(2===s?s=0:e.lastNeed=s-3),s):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,r){var n=r(171),s=n.Buffer;function i(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return s(e,t,r)}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?e.exports=n:(i(n,t),t.Buffer=a),a.prototype=Object.create(s.prototype),i(s,a),a.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return s(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=s(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return s(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){"use strict";t.byteLength=function(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=c(e),a=n[0],o=n[1],l=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,o)),u=0,h=o>0?a-4:a;for(r=0;r>16&255,l[u++]=t>>8&255,l[u++]=255&t;return 2===o&&(t=s[e.charCodeAt(r)]<<2|s[e.charCodeAt(r+1)]>>4,l[u++]=255&t),1===o&&(t=s[e.charCodeAt(r)]<<10|s[e.charCodeAt(r+1)]<<4|s[e.charCodeAt(r+2)]>>2,l[u++]=t>>8&255,l[u++]=255&t),l},t.fromByteArray=function(e){for(var t,r=e.length,s=r%3,i=[],a=0,o=r-s;ao?o:a+16383));return 1===s?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===s&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),i.join("")};for(var n=[],s=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var s,i,a=[],o=t;o>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}s["-".charCodeAt(0)]=62,s["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,s){var i,a,o=8*s-n-1,l=(1<>1,u=-7,h=r?s-1:0,d=r?-1:1,p=e[t+h];for(h+=d,i=p&(1<<-u)-1,p>>=-u,u+=o;u>0;i=256*i+e[t+h],h+=d,u-=8);for(a=i&(1<<-u)-1,i>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=d,u-=8);if(0===i)i=1-c;else{if(i===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),i-=c}return(p?-1:1)*a*Math.pow(2,i-n)},t.write=function(e,t,r,n,s,i){var a,o,l,c=8*i-s-1,u=(1<>1,d=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,g=n?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(t*l-1)*Math.pow(2,s),a+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,s),a=0));s>=8;e[r+p]=255&o,p+=g,o/=256,s-=8);for(a=a<0;e[r+p]=255&a,p+=g,a/=256,c-=8);e[r+p-g]|=128*f}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){function n(e){this._cbs=e||{}}e.exports=n;var s=r(49).EVENTS;Object.keys(s).forEach((function(e){if(0===s[e])e="on"+e,n.prototype[e]=function(){this._cbs[e]&&this._cbs[e]()};else if(1===s[e])e="on"+e,n.prototype[e]=function(t){this._cbs[e]&&this._cbs[e](t)};else{if(2!==s[e])throw Error("wrong number of arguments");e="on"+e,n.prototype[e]=function(t,r){this._cbs[e]&&this._cbs[e](t,r)}}}))},function(e,t,r){function n(e){this._cbs=e||{},this.events=[]}e.exports=n;var s=r(49).EVENTS;Object.keys(s).forEach((function(e){if(0===s[e])e="on"+e,n.prototype[e]=function(){this.events.push([e]),this._cbs[e]&&this._cbs[e]()};else if(1===s[e])e="on"+e,n.prototype[e]=function(t){this.events.push([e,t]),this._cbs[e]&&this._cbs[e](t)};else{if(2!==s[e])throw Error("wrong number of arguments");e="on"+e,n.prototype[e]=function(t,r){this.events.push([e,t,r]),this._cbs[e]&&this._cbs[e](t,r)}}})),n.prototype.onreset=function(){this.events=[],this._cbs.onreset&&this._cbs.onreset()},n.prototype.restart=function(){this._cbs.onreset&&this._cbs.onreset();for(var e=0,t=this.events.length;e= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,g=String.fromCharCode;function f(e){throw new RangeError(d[e])}function m(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function _(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+m((e=e.replace(h,".")).split("."),t).join(".")}function T(e){for(var t,r,n=[],s=0,i=e.length;s=55296&&t<=56319&&s65535&&(t+=g((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+g(e)})).join("")}function v(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function b(e,t,r){var n=0;for(e=r?p(e/700):e>>1,e+=p(e/t);e>455;n+=36)e=p(e/35);return p(n+36*e/(e+38))}function y(e){var t,r,n,s,i,a,o,c,u,h,d,g=[],m=e.length,_=0,T=128,v=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&f("not-basic"),g.push(e.charCodeAt(n));for(s=r>0?r+1:0;s=m&&f("invalid-input"),((c=(d=e.charCodeAt(s++))-48<10?d-22:d-65<26?d-65:d-97<26?d-97:36)>=36||c>p((l-_)/a))&&f("overflow"),_+=c*a,!(c<(u=o<=v?1:o>=v+26?26:o-v));o+=36)a>p(l/(h=36-u))&&f("overflow"),a*=h;v=b(_-i,t=g.length+1,0==i),p(_/t)>l-T&&f("overflow"),T+=p(_/t),_%=t,g.splice(_++,0,T)}return E(g)}function A(e){var t,r,n,s,i,a,o,c,u,h,d,m,_,E,y,A=[];for(m=(e=T(e)).length,t=128,r=0,i=72,a=0;a=t&&dp((l-r)/(_=n+1))&&f("overflow"),r+=(o-t)*_,t=o,a=0;al&&f("overflow"),d==t){for(c=r,u=36;!(c<(h=u<=i?1:u>=i+26?26:u-i));u+=36)y=c-h,E=36-h,A.push(g(v(h+y%E,0))),c=p(y/E);A.push(g(v(c,0))),i=b(r,_,n==s),r=0,++n}++r,++t}return A.join("")}o={version:"1.4.1",ucs2:{decode:T,encode:E},decode:y,encode:A,toASCII:function(e){return _(e,(function(e){return u.test(e)?"xn--"+A(e):e}))},toUnicode:function(e){return _(e,(function(e){return c.test(e)?y(e.slice(4).toLowerCase()):e}))}},void 0===(s=function(){return o}.call(t,r,t,e))||(e.exports=s)}()}).call(this,r(172)(e),r(20))},function(e,t,r){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,r){"use strict";t.decode=t.parse=r(381),t.encode=t.stringify=r(382)},function(e,t,r){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,i){t=t||"&",r=r||"=";var a={};if("string"!=typeof e||0===e.length)return a;var o=/\+/g;e=e.split(t);var l=1e3;i&&"number"==typeof i.maxKeys&&(l=i.maxKeys);var c=e.length;l>0&&c>l&&(c=l);for(var u=0;u=0?(h=f.substr(0,m),d=f.substr(m+1)):(h=f,d=""),p=decodeURIComponent(h),g=decodeURIComponent(d),n(a,p)?s(a[p])?a[p].push(g):a[p]=[a[p],g]:a[p]=g}return a};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,o){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?i(a(e),(function(a){var o=encodeURIComponent(n(a))+r;return s(e[a])?i(e[a],(function(e){return o+encodeURIComponent(n(e))})).join(t):o+encodeURIComponent(n(e[a]))})).join(t):o?encodeURIComponent(n(o))+r+encodeURIComponent(n(e)):""};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function i(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n=0;n--){const s=e.openElements.items[n];if(s===t.element)break;e._isSpecialElement(s)&&(r=s)}return r||(e.openElements.popUntilElementPopped(t.element),e.activeFormattingElements.removeEntry(t)),r}function w(e,t,r){let n=t,s=e.openElements.getCommonAncestor(t);for(let i=0,a=s;a!==r;i++,a=s){s=e.openElements.getCommonAncestor(a);const r=e.activeFormattingElements.getElementEntry(a),o=r&&i>=3;!r||o?(o&&e.activeFormattingElements.removeEntry(r),e.openElements.remove(a)):(a=S(e,r),n===t&&(e.activeFormattingElements.bookmark=r),e.treeAdapter.detachNode(n),e.treeAdapter.appendChild(a,n),n=a)}return n}function S(e,t){const r=e.treeAdapter.getNamespaceURI(t.element),n=e.treeAdapter.createElement(t.token.tagName,r,t.token.attrs);return e.openElements.replace(t.element,n),t.element=n,n}function k(e,t,r){if(e._isElementCausesFosterParenting(t))e._fosterParentElement(r);else{const n=e.treeAdapter.getTagName(t),s=e.treeAdapter.getNamespaceURI(t);n===m.TEMPLATE&&s===_.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,r)}}function N(e,t,r){const n=e.treeAdapter.getNamespaceURI(r.element),s=r.token,i=e.treeAdapter.createElement(s.tagName,n,s.attrs);e._adoptNodes(t,i),e.treeAdapter.appendChild(t,i),e.activeFormattingElements.insertElementAfterBookmark(i,r.token),e.activeFormattingElements.removeEntry(r),e.openElements.remove(r.element),e.openElements.insertAfter(t,i)}function R(e,t){let r;for(let n=0;n<8&&(r=O(e,t),r);n++){const t=C(e,r);if(!t)break;e.activeFormattingElements.bookmark=r;const n=w(e,t,r.element),s=e.openElements.getCommonAncestor(r.element);e.treeAdapter.detachNode(n),k(e,s,n),N(e,t,r)}}function I(){}function x(e){e._err(p.misplacedDoctype)}function D(e,t){e._appendCommentNode(t,e.openElements.currentTmplContent||e.openElements.current)}function L(e,t){e._appendCommentNode(t,e.document)}function M(e,t){e._insertCharacters(t)}function P(e){e.stopped=!0}function F(e,t){e._err(p.missingDoctype,{beforeToken:!0}),e.treeAdapter.setDocumentMode(e.document,f.DOCUMENT_MODE.QUIRKS),e.insertionMode="BEFORE_HTML_MODE",e._processToken(t)}function j(e,t){e._insertFakeRootElement(),e.insertionMode="BEFORE_HEAD_MODE",e._processToken(t)}function B(e,t){e._insertFakeElement(m.HEAD),e.headElement=e.openElements.current,e.insertionMode="IN_HEAD_MODE",e._processToken(t)}function U(e,t){const r=t.tagName;r===m.HTML?ne(e,t):r===m.BASE||r===m.BASEFONT||r===m.BGSOUND||r===m.LINK||r===m.META?(e._appendElement(t,_.HTML),t.ackSelfClosing=!0):r===m.TITLE?e._switchToTextParsing(t,n.MODE.RCDATA):r===m.NOSCRIPT?e.options.scriptingEnabled?e._switchToTextParsing(t,n.MODE.RAWTEXT):(e._insertElement(t,_.HTML),e.insertionMode="IN_HEAD_NO_SCRIPT_MODE"):r===m.NOFRAMES||r===m.STYLE?e._switchToTextParsing(t,n.MODE.RAWTEXT):r===m.SCRIPT?e._switchToTextParsing(t,n.MODE.SCRIPT_DATA):r===m.TEMPLATE?(e._insertTemplate(t,_.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode="IN_TEMPLATE_MODE",e._pushTmplInsertionMode("IN_TEMPLATE_MODE")):r===m.HEAD?e._err(p.misplacedStartTagForHeadElement):$(e,t)}function H(e,t){const r=t.tagName;r===m.HEAD?(e.openElements.pop(),e.insertionMode="AFTER_HEAD_MODE"):r===m.BODY||r===m.BR||r===m.HTML?$(e,t):r===m.TEMPLATE&&e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==m.TEMPLATE&&e._err(p.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(p.endTagWithoutMatchingOpenElement)}function $(e,t){e.openElements.pop(),e.insertionMode="AFTER_HEAD_MODE",e._processToken(t)}function K(e,t){const r=t.type===n.EOF_TOKEN?p.openElementsLeftAfterEof:p.disallowedContentInNoscriptInHead;e._err(r),e.openElements.pop(),e.insertionMode="IN_HEAD_MODE",e._processToken(t)}function q(e,t){e._insertFakeElement(m.BODY),e.insertionMode="IN_BODY_MODE",e._processToken(t)}function G(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function z(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function W(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}function Y(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function V(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Q(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function X(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function J(e,t){e._appendElement(t,_.HTML),t.ackSelfClosing=!0}function Z(e,t){e._switchToTextParsing(t,n.MODE.RAWTEXT)}function ee(e,t){e.openElements.currentTagName===m.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function te(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,_.HTML)}function re(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function ne(e,t){const r=t.tagName;switch(r.length){case 1:r===m.I||r===m.S||r===m.B||r===m.U?V(e,t):r===m.P?W(e,t):r===m.A?function(e,t){const r=e.activeFormattingElements.getElementEntryInScopeWithTagName(m.A);r&&(R(e,t),e.openElements.remove(r.element),e.activeFormattingElements.removeEntry(r)),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):re(e,t);break;case 2:r===m.DL||r===m.OL||r===m.UL?W(e,t):r===m.H1||r===m.H2||r===m.H3||r===m.H4||r===m.H5||r===m.H6?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement();const r=e.openElements.currentTagName;r!==m.H1&&r!==m.H2&&r!==m.H3&&r!==m.H4&&r!==m.H5&&r!==m.H6||e.openElements.pop(),e._insertElement(t,_.HTML)}(e,t):r===m.LI||r===m.DD||r===m.DT?function(e,t){e.framesetOk=!1;const r=t.tagName;for(let t=e.openElements.stackTop;t>=0;t--){const n=e.openElements.items[t],s=e.treeAdapter.getTagName(n);let i=null;if(r===m.LI&&s===m.LI?i=m.LI:r!==m.DD&&r!==m.DT||s!==m.DD&&s!==m.DT||(i=s),i){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.popUntilTagNamePopped(i);break}if(s!==m.ADDRESS&&s!==m.DIV&&s!==m.P&&e._isSpecialElement(n))break}e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}(e,t):r===m.EM||r===m.TT?V(e,t):r===m.BR?X(e,t):r===m.HR?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._appendElement(t,_.HTML),e.framesetOk=!1,e.ackSelfClosing=!0}(e,t):r===m.RB?te(e,t):r===m.RT||r===m.RP?function(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(m.RTC),e._insertElement(t,_.HTML)}(e,t):r!==m.TH&&r!==m.TD&&r!==m.TR&&re(e,t);break;case 3:r===m.DIV||r===m.DIR||r===m.NAV?W(e,t):r===m.PRE?Y(e,t):r===m.BIG?V(e,t):r===m.IMG||r===m.WBR?X(e,t):r===m.XMP?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,n.MODE.RAWTEXT)}(e,t):r===m.SVG?function(e,t){e._reconstructActiveFormattingElements(),d.adjustTokenSVGAttrs(t),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,_.SVG):e._insertElement(t,_.SVG),t.ackSelfClosing=!0}(e,t):r===m.RTC?te(e,t):r!==m.COL&&re(e,t);break;case 4:r===m.HTML?function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t):r===m.BASE||r===m.LINK||r===m.META?U(e,t):r===m.BODY?function(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();r&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(r,t.attrs))}(e,t):r===m.MAIN||r===m.MENU?W(e,t):r===m.FORM?function(e,t){const r=e.openElements.tmplCount>0;e.formElement&&!r||(e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),r||(e.formElement=e.openElements.current))}(e,t):r===m.CODE||r===m.FONT?V(e,t):r===m.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(m.NOBR)&&(R(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):r===m.AREA?X(e,t):r===m.MATH?function(e,t){e._reconstructActiveFormattingElements(),d.adjustTokenMathMLAttrs(t),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,_.MATHML):e._insertElement(t,_.MATHML),t.ackSelfClosing=!0}(e,t):r===m.MENU?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}(e,t):r!==m.HEAD&&re(e,t);break;case 5:r===m.STYLE||r===m.TITLE?U(e,t):r===m.ASIDE?W(e,t):r===m.SMALL?V(e,t):r===m.TABLE?function(e,t){e.treeAdapter.getDocumentMode(e.document)!==f.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.framesetOk=!1,e.insertionMode=v}(e,t):r===m.EMBED?X(e,t):r===m.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML);const r=n.getTokenAttr(t,T.TYPE);r&&"hidden"===r.toLowerCase()||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):r===m.PARAM||r===m.TRACK?J(e,t):r===m.IMAGE?function(e,t){t.tagName=m.IMG,X(e,t)}(e,t):r!==m.FRAME&&r!==m.TBODY&&r!==m.TFOOT&&r!==m.THEAD&&re(e,t);break;case 6:r===m.SCRIPT?U(e,t):r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?W(e,t):r===m.BUTTON?function(e,t){e.openElements.hasInScope(m.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(m.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.framesetOk=!1}(e,t):r===m.STRIKE||r===m.STRONG?V(e,t):r===m.APPLET||r===m.OBJECT?Q(e,t):r===m.KEYGEN?X(e,t):r===m.SOURCE?J(e,t):r===m.IFRAME?function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,n.MODE.RAWTEXT)}(e,t):r===m.SELECT?function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.framesetOk=!1,e.insertionMode===v||"IN_CAPTION_MODE"===e.insertionMode||"IN_TABLE_BODY_MODE"===e.insertionMode||"IN_ROW_MODE"===e.insertionMode||"IN_CELL_MODE"===e.insertionMode?e.insertionMode="IN_SELECT_IN_TABLE_MODE":e.insertionMode="IN_SELECT_MODE"}(e,t):r===m.OPTION?ee(e,t):re(e,t);break;case 7:r===m.BGSOUND?U(e,t):r===m.DETAILS||r===m.ADDRESS||r===m.ARTICLE||r===m.SECTION||r===m.SUMMARY?W(e,t):r===m.LISTING?Y(e,t):r===m.MARQUEE?Q(e,t):r===m.NOEMBED?Z(e,t):r!==m.CAPTION&&re(e,t);break;case 8:r===m.BASEFONT?U(e,t):r===m.FRAMESET?function(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&r&&(e.treeAdapter.detachNode(r),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,_.HTML),e.insertionMode="IN_FRAMESET_MODE")}(e,t):r===m.FIELDSET?W(e,t):r===m.TEXTAREA?function(e,t){e._insertElement(t,_.HTML),e.skipNextNewLine=!0,e.tokenizer.state=n.MODE.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode="TEXT_MODE"}(e,t):r===m.TEMPLATE?U(e,t):r===m.NOSCRIPT?e.options.scriptingEnabled?Z(e,t):re(e,t):r===m.OPTGROUP?ee(e,t):r!==m.COLGROUP&&re(e,t);break;case 9:r===m.PLAINTEXT?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.tokenizer.state=n.MODE.PLAINTEXT}(e,t):re(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?W(e,t):re(e,t);break;default:re(e,t)}}function se(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r))}function ie(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r),e.activeFormattingElements.clearToLastMarker())}function ae(e,t){const r=t.tagName;for(let t=e.openElements.stackTop;t>0;t--){const n=e.openElements.items[t];if(e.treeAdapter.getTagName(n)===r){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilElementPopped(n);break}if(e._isSpecialElement(n))break}}function oe(e,t){const r=t.tagName;switch(r.length){case 1:r===m.A||r===m.B||r===m.I||r===m.S||r===m.U?R(e,t):r===m.P?function(e){e.openElements.hasInButtonScope(m.P)||e._insertFakeElement(m.P),e._closePElement()}(e):ae(e,t);break;case 2:r===m.DL||r===m.UL||r===m.OL?se(e,t):r===m.LI?function(e){e.openElements.hasInListItemScope(m.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(m.LI),e.openElements.popUntilTagNamePopped(m.LI))}(e):r===m.DD||r===m.DT?function(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r))}(e,t):r===m.H1||r===m.H2||r===m.H3||r===m.H4||r===m.H5||r===m.H6?function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e):r===m.BR?function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(m.BR),e.openElements.pop(),e.framesetOk=!1}(e):r===m.EM||r===m.TT?R(e,t):ae(e,t);break;case 3:r===m.BIG?R(e,t):r===m.DIR||r===m.DIV||r===m.NAV||r===m.PRE?se(e,t):ae(e,t);break;case 4:r===m.BODY?function(e){e.openElements.hasInScope(m.BODY)&&(e.insertionMode="AFTER_BODY_MODE")}(e):r===m.HTML?function(e,t){e.openElements.hasInScope(m.BODY)&&(e.insertionMode="AFTER_BODY_MODE",e._processToken(t))}(e,t):r===m.FORM?function(e){const t=e.openElements.tmplCount>0,r=e.formElement;t||(e.formElement=null),(r||t)&&e.openElements.hasInScope(m.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(m.FORM):e.openElements.remove(r))}(e):r===m.CODE||r===m.FONT||r===m.NOBR?R(e,t):r===m.MAIN||r===m.MENU?se(e,t):ae(e,t);break;case 5:r===m.ASIDE?se(e,t):r===m.SMALL?R(e,t):ae(e,t);break;case 6:r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?se(e,t):r===m.APPLET||r===m.OBJECT?ie(e,t):r===m.STRIKE||r===m.STRONG?R(e,t):ae(e,t);break;case 7:r===m.ADDRESS||r===m.ARTICLE||r===m.DETAILS||r===m.SECTION||r===m.SUMMARY||r===m.LISTING?se(e,t):r===m.MARQUEE?ie(e,t):ae(e,t);break;case 8:r===m.FIELDSET?se(e,t):r===m.TEMPLATE?H(e,t):ae(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?se(e,t):ae(e,t);break;default:ae(e,t)}}function le(e,t){e.tmplInsertionModeStackTop>-1?_e(e,t):e.stopped=!0}function ce(e,t){const r=e.openElements.currentTagName;r===m.TABLE||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR?(e.pendingCharacterTokens=[],e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode="IN_TABLE_TEXT_MODE",e._processToken(t)):de(e,t)}function ue(e,t){const r=t.tagName;switch(r.length){case 2:r===m.TD||r===m.TH||r===m.TR?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(m.TBODY),e.insertionMode="IN_TABLE_BODY_MODE",e._processToken(t)}(e,t):de(e,t);break;case 3:r===m.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(m.COLGROUP),e.insertionMode="IN_COLUMN_GROUP_MODE",e._processToken(t)}(e,t):de(e,t);break;case 4:r===m.FORM?function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,_.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t):de(e,t);break;case 5:r===m.TABLE?function(e,t){e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode(),e._processToken(t))}(e,t):r===m.STYLE?U(e,t):r===m.TBODY||r===m.TFOOT||r===m.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode="IN_TABLE_BODY_MODE"}(e,t):r===m.INPUT?function(e,t){const r=n.getTokenAttr(t,T.TYPE);r&&"hidden"===r.toLowerCase()?e._appendElement(t,_.HTML):de(e,t),t.ackSelfClosing=!0}(e,t):de(e,t);break;case 6:r===m.SCRIPT?U(e,t):de(e,t);break;case 7:r===m.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,_.HTML),e.insertionMode="IN_CAPTION_MODE"}(e,t):de(e,t);break;case 8:r===m.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode="IN_COLUMN_GROUP_MODE"}(e,t):r===m.TEMPLATE?U(e,t):de(e,t);break;default:de(e,t)}}function he(e,t){const r=t.tagName;r===m.TABLE?e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode()):r===m.TEMPLATE?H(e,t):r!==m.BODY&&r!==m.CAPTION&&r!==m.COL&&r!==m.COLGROUP&&r!==m.HTML&&r!==m.TBODY&&r!==m.TD&&r!==m.TFOOT&&r!==m.TH&&r!==m.THEAD&&r!==m.TR&&de(e,t)}function de(e,t){const r=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=r}function pe(e,t){let r=0;if(e.hasNonWhitespacePendingCharacterToken)for(;r0?(e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode(),e._processToken(t)):e.stopped=!0}function Te(e,t){e.insertionMode="IN_BODY_MODE",e._processToken(t)}function Ee(e,t){e.insertionMode="IN_BODY_MODE",e._processToken(t)}e.exports=class{constructor(e){this.options=u(E,e),this.treeAdapter=this.options.treeAdapter,this.pendingScript=null,this.options.sourceCodeLocationInfo&&l.install(this,a),this.options.onParseError&&l.install(this,o,{onParseError:this.options.onParseError})}parse(e){const t=this.treeAdapter.createDocument();return this._bootstrap(t,null),this.tokenizer.write(e,!0),this._runParsingLoop(null),t}parseFragment(e,t){t||(t=this.treeAdapter.createElement(m.TEMPLATE,_.HTML,[]));const r=this.treeAdapter.createElement("documentmock",_.HTML,[]);this._bootstrap(r,t),this.treeAdapter.getTagName(t)===m.TEMPLATE&&this._pushTmplInsertionMode("IN_TEMPLATE_MODE"),this._initTokenizerForFragmentParsing(),this._insertFakeRootElement(),this._resetInsertionMode(),this._findFormInFragmentContext(),this.tokenizer.write(e,!0),this._runParsingLoop(null);const n=this.treeAdapter.getFirstChild(r),s=this.treeAdapter.createDocumentFragment();return this._adoptNodes(n,s),s}_bootstrap(e,t){this.tokenizer=new n(this.options),this.stopped=!1,this.insertionMode="INITIAL_MODE",this.originalInsertionMode="",this.document=e,this.fragmentContext=t,this.headElement=null,this.formElement=null,this.openElements=new s(this.document,this.treeAdapter),this.activeFormattingElements=new i(this.treeAdapter),this.tmplInsertionModeStack=[],this.tmplInsertionModeStackTop=-1,this.currentTmplInsertionMode=null,this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1}_err(){}_runParsingLoop(e){for(;!this.stopped;){this._setupTokenizerCDATAMode();const t=this.tokenizer.getNextToken();if(t.type===n.HIBERNATION_TOKEN)break;if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.type===n.WHITESPACE_CHARACTER_TOKEN&&"\n"===t.chars[0])){if(1===t.chars.length)continue;t.chars=t.chars.substr(1)}if(this._processInputToken(t),e&&this.pendingScript)break}}runParsingLoopForCurrentChunk(e,t){if(this._runParsingLoop(t),t&&this.pendingScript){const e=this.pendingScript;return this.pendingScript=null,void t(e)}e&&e()}_setupTokenizerCDATAMode(){const e=this._getAdjustedCurrentElement();this.tokenizer.allowCDATA=e&&e!==this.document&&this.treeAdapter.getNamespaceURI(e)!==_.HTML&&!this._isIntegrationPoint(e)}_switchToTextParsing(e,t){this._insertElement(e,_.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode="TEXT_MODE"}switchToPlaintextParsing(){this.insertionMode="TEXT_MODE",this.originalInsertionMode="IN_BODY_MODE",this.tokenizer.state=n.MODE.PLAINTEXT}_getAdjustedCurrentElement(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;do{if(this.treeAdapter.getTagName(e)===m.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}_initTokenizerForFragmentParsing(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===_.HTML){const e=this.treeAdapter.getTagName(this.fragmentContext);e===m.TITLE||e===m.TEXTAREA?this.tokenizer.state=n.MODE.RCDATA:e===m.STYLE||e===m.XMP||e===m.IFRAME||e===m.NOEMBED||e===m.NOFRAMES||e===m.NOSCRIPT?this.tokenizer.state=n.MODE.RAWTEXT:e===m.SCRIPT?this.tokenizer.state=n.MODE.SCRIPT_DATA:e===m.PLAINTEXT&&(this.tokenizer.state=n.MODE.PLAINTEXT)}}_setDocumentType(e){const t=e.name||"",r=e.publicId||"",n=e.systemId||"";this.treeAdapter.setDocumentType(this.document,t,r,n)}_attachElementToTree(e){if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.appendChild(t,e)}}_appendElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r)}_insertElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r),this.openElements.push(r)}_insertFakeElement(e){const t=this.treeAdapter.createElement(e,_.HTML,[]);this._attachElementToTree(t),this.openElements.push(t)}_insertTemplate(e){const t=this.treeAdapter.createElement(e.tagName,_.HTML,e.attrs),r=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,r),this._attachElementToTree(t),this.openElements.push(t)}_insertFakeRootElement(){const e=this.treeAdapter.createElement(m.HTML,_.HTML,[]);this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e)}_appendCommentNode(e,t){const r=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,r)}_insertCharacters(e){if(this._shouldFosterParentOnInsertion())this._fosterParentText(e.chars);else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.insertText(t,e.chars)}}_adoptNodes(e,t){for(let r=this.treeAdapter.getFirstChild(e);r;r=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(r),this.treeAdapter.appendChild(t,r)}_shouldProcessTokenInForeignContent(e){const t=this._getAdjustedCurrentElement();if(!t||t===this.document)return!1;const r=this.treeAdapter.getNamespaceURI(t);if(r===_.HTML)return!1;if(this.treeAdapter.getTagName(t)===m.ANNOTATION_XML&&r===_.MATHML&&e.type===n.START_TAG_TOKEN&&e.tagName===m.SVG)return!1;const s=e.type===n.CHARACTER_TOKEN||e.type===n.NULL_CHARACTER_TOKEN||e.type===n.WHITESPACE_CHARACTER_TOKEN;return!((e.type===n.START_TAG_TOKEN&&e.tagName!==m.MGLYPH&&e.tagName!==m.MALIGNMARK||s)&&this._isIntegrationPoint(t,_.MATHML)||(e.type===n.START_TAG_TOKEN||s)&&this._isIntegrationPoint(t,_.HTML)||e.type===n.EOF_TOKEN)}_processToken(e){A[this.insertionMode][e.type](this,e)}_processTokenInBodyMode(e){A.IN_BODY_MODE[e.type](this,e)}_processTokenInForeignContent(e){e.type===n.CHARACTER_TOKEN?function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e):e.type===n.NULL_CHARACTER_TOKEN?function(e,t){t.chars=g.REPLACEMENT_CHARACTER,e._insertCharacters(t)}(this,e):e.type===n.WHITESPACE_CHARACTER_TOKEN?M(this,e):e.type===n.COMMENT_TOKEN?D(this,e):e.type===n.START_TAG_TOKEN?function(e,t){if(d.causesExit(t)&&!e.fragmentContext){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==_.HTML&&!e._isIntegrationPoint(e.openElements.current);)e.openElements.pop();e._processToken(t)}else{const r=e._getAdjustedCurrentElement(),n=e.treeAdapter.getNamespaceURI(r);n===_.MATHML?d.adjustTokenMathMLAttrs(t):n===_.SVG&&(d.adjustTokenSVGTagName(t),d.adjustTokenSVGAttrs(t)),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,n):e._insertElement(t,n),t.ackSelfClosing=!0}}(this,e):e.type===n.END_TAG_TOKEN&&function(e,t){for(let r=e.openElements.stackTop;r>0;r--){const n=e.openElements.items[r];if(e.treeAdapter.getNamespaceURI(n)===_.HTML){e._processToken(t);break}if(e.treeAdapter.getTagName(n).toLowerCase()===t.tagName){e.openElements.popUntilElementPopped(n);break}}}(this,e)}_processInputToken(e){this._shouldProcessTokenInForeignContent(e)?this._processTokenInForeignContent(e):this._processToken(e),e.type===n.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing&&this._err(p.nonVoidHtmlElementStartTagWithTrailingSolidus)}_isIntegrationPoint(e,t){const r=this.treeAdapter.getTagName(e),n=this.treeAdapter.getNamespaceURI(e),s=this.treeAdapter.getAttrList(e);return d.isIntegrationPoint(r,n,s,t)}_reconstructActiveFormattingElements(){const e=this.activeFormattingElements.length;if(e){let t=e,r=null;do{if(t--,r=this.activeFormattingElements.entries[t],r.type===i.MARKER_ENTRY||this.openElements.contains(r.element)){t++;break}}while(t>0);for(let n=t;n=0;e--){let r=this.openElements.items[e];0===e&&(t=!0,this.fragmentContext&&(r=this.fragmentContext));const n=this.treeAdapter.getTagName(r),s=b[n];if(s){this.insertionMode=s;break}if(!(t||n!==m.TD&&n!==m.TH)){this.insertionMode="IN_CELL_MODE";break}if(!t&&n===m.HEAD){this.insertionMode="IN_HEAD_MODE";break}if(n===m.SELECT){this._resetInsertionModeForSelect(e);break}if(n===m.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}if(n===m.HTML){this.insertionMode=this.headElement?"AFTER_HEAD_MODE":"BEFORE_HEAD_MODE";break}if(t){this.insertionMode="IN_BODY_MODE";break}}}_resetInsertionModeForSelect(e){if(e>0)for(let t=e-1;t>0;t--){const e=this.openElements.items[t],r=this.treeAdapter.getTagName(e);if(r===m.TEMPLATE)break;if(r===m.TABLE)return void(this.insertionMode="IN_SELECT_IN_TABLE_MODE")}this.insertionMode="IN_SELECT_MODE"}_pushTmplInsertionMode(e){this.tmplInsertionModeStack.push(e),this.tmplInsertionModeStackTop++,this.currentTmplInsertionMode=e}_popTmplInsertionMode(){this.tmplInsertionModeStack.pop(),this.tmplInsertionModeStackTop--,this.currentTmplInsertionMode=this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]}_isElementCausesFosterParenting(e){const t=this.treeAdapter.getTagName(e);return t===m.TABLE||t===m.TBODY||t===m.TFOOT||t===m.THEAD||t===m.TR}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.current)}_findFosterParentingLocation(){const e={parent:null,beforeElement:null};for(let t=this.openElements.stackTop;t>=0;t--){const r=this.openElements.items[t],n=this.treeAdapter.getTagName(r),s=this.treeAdapter.getNamespaceURI(r);if(n===m.TEMPLATE&&s===_.HTML){e.parent=this.treeAdapter.getTemplateContent(r);break}if(n===m.TABLE){e.parent=this.treeAdapter.getParentNode(r),e.parent?e.beforeElement=r:e.parent=this.openElements.items[t-1];break}}return e.parent||(e.parent=this.openElements.items[0]),e}_fosterParentElement(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}_fosterParentText(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertTextBefore(t.parent,e,t.beforeElement):this.treeAdapter.insertText(t.parent,e)}_isSpecialElement(e){const t=this.treeAdapter.getTagName(e),r=this.treeAdapter.getNamespaceURI(e);return f.SPECIAL_ELEMENTS[r][t]}}},function(e,t,r){"use strict";const n=r(103),s=r(104),i=n.CODE_POINTS;e.exports=class{constructor(){this.html=null,this.pos=-1,this.lastGapPos=-1,this.lastCharPos=-1,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536}_err(){}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.lastCharPos){const t=this.html.charCodeAt(this.pos+1);if(n.isSurrogatePair(t))return this.pos++,this._addGap(),n.getSurrogatePairCodePoint(e,t)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,i.EOF;return this._err(s.surrogateInInputStream),e}dropParsedChunk(){this.pos>this.bufferWaterline&&(this.lastCharPos-=this.pos,this.html=this.html.substring(this.pos),this.pos=0,this.lastGapPos=-1,this.gapStack=[])}write(e,t){this.html?this.html+=e:this.html=e,this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1,this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1,this.html.length),this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1}advance(){if(this.pos++,this.pos>this.lastCharPos)return this.endOfChunkHit=!this.lastChunkWritten,i.EOF;let e=this.html.charCodeAt(this.pos);return this.skipNextNewLine&&e===i.LINE_FEED?(this.skipNextNewLine=!1,this._addGap(),this.advance()):e===i.CARRIAGE_RETURN?(this.skipNextNewLine=!0,i.LINE_FEED):(this.skipNextNewLine=!1,n.isSurrogate(e)&&(e=this._processSurrogate(e)),e>31&&e<127||e===i.LINE_FEED||e===i.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}_checkForProblematicCharacters(e){n.isControlCodePoint(e)?this._err(s.controlCharacterInInputStream):n.isUndefinedCodePoint(e)&&this._err(s.noncharacterInInputStream)}retreat(){this.pos===this.lastGapPos&&(this.lastGapPos=this.gapStack.pop(),this.pos--),this.pos--}}},function(e,t,r){"use strict";e.exports=new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4e3,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,1e4,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13e3,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204])},function(e,t,r){"use strict";const n=r(48),s=n.TAG_NAMES,i=n.NAMESPACES;function a(e){switch(e.length){case 1:return e===s.P;case 2:return e===s.RB||e===s.RP||e===s.RT||e===s.DD||e===s.DT||e===s.LI;case 3:return e===s.RTC;case 6:return e===s.OPTION;case 8:return e===s.OPTGROUP}return!1}function o(e){switch(e.length){case 1:return e===s.P;case 2:return e===s.RB||e===s.RP||e===s.RT||e===s.DD||e===s.DT||e===s.LI||e===s.TD||e===s.TH||e===s.TR;case 3:return e===s.RTC;case 5:return e===s.TBODY||e===s.TFOOT||e===s.THEAD;case 6:return e===s.OPTION;case 7:return e===s.CAPTION;case 8:return e===s.OPTGROUP||e===s.COLGROUP}return!1}function l(e,t){switch(e.length){case 2:if(e===s.TD||e===s.TH)return t===i.HTML;if(e===s.MI||e===s.MO||e===s.MN||e===s.MS)return t===i.MATHML;break;case 4:if(e===s.HTML)return t===i.HTML;if(e===s.DESC)return t===i.SVG;break;case 5:if(e===s.TABLE)return t===i.HTML;if(e===s.MTEXT)return t===i.MATHML;if(e===s.TITLE)return t===i.SVG;break;case 6:return(e===s.APPLET||e===s.OBJECT)&&t===i.HTML;case 7:return(e===s.CAPTION||e===s.MARQUEE)&&t===i.HTML;case 8:return e===s.TEMPLATE&&t===i.HTML;case 13:return e===s.FOREIGN_OBJECT&&t===i.SVG;case 14:return e===s.ANNOTATION_XML&&t===i.MATHML}return!1}e.exports=class{constructor(e,t){this.stackTop=-1,this.items=[],this.current=e,this.currentTagName=null,this.currentTmplContent=null,this.tmplCount=0,this.treeAdapter=t}_indexOf(e){let t=-1;for(let r=this.stackTop;r>=0;r--)if(this.items[r]===e){t=r;break}return t}_isInTemplate(){return this.currentTagName===s.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===i.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagName=this.current&&this.treeAdapter.getTagName(this.current),this.currentTmplContent=this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):null}push(e){this.items[++this.stackTop]=e,this._updateCurrentElement(),this._isInTemplate()&&this.tmplCount++}pop(){this.stackTop--,this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this._updateCurrentElement()}replace(e,t){const r=this._indexOf(e);this.items[r]=t,r===this.stackTop&&this._updateCurrentElement()}insertAfter(e,t){const r=this._indexOf(e)+1;this.items.splice(r,0,t),r===++this.stackTop&&this._updateCurrentElement()}popUntilTagNamePopped(e){for(;this.stackTop>-1;){const t=this.currentTagName,r=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),t===e&&r===i.HTML)break}}popUntilElementPopped(e){for(;this.stackTop>-1;){const t=this.current;if(this.pop(),t===e)break}}popUntilNumberedHeaderPopped(){for(;this.stackTop>-1;){const e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===s.H1||e===s.H2||e===s.H3||e===s.H4||e===s.H5||e===s.H6&&t===i.HTML)break}}popUntilTableCellPopped(){for(;this.stackTop>-1;){const e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===s.TD||e===s.TH&&t===i.HTML)break}}popAllUpToHtmlElement(){this.stackTop=0,this._updateCurrentElement()}clearBackToTableContext(){for(;this.currentTagName!==s.TABLE&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}clearBackToTableBodyContext(){for(;this.currentTagName!==s.TBODY&&this.currentTagName!==s.TFOOT&&this.currentTagName!==s.THEAD&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}clearBackToTableRowContext(){for(;this.currentTagName!==s.TR&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}remove(e){for(let t=this.stackTop;t>=0;t--)if(this.items[t]===e){this.items.splice(t,1),this.stackTop--,this._updateCurrentElement();break}}tryPeekProperlyNestedBodyElement(){const e=this.items[1];return e&&this.treeAdapter.getTagName(e)===s.BODY?e:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){let t=this._indexOf(e);return--t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return 0===this.stackTop&&this.currentTagName===s.HTML}hasInScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if(l(r,n))return!1}return!0}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]),r=this.treeAdapter.getNamespaceURI(this.items[e]);if((t===s.H1||t===s.H2||t===s.H3||t===s.H4||t===s.H5||t===s.H6)&&r===i.HTML)return!0;if(l(t,r))return!1}return!0}hasInListItemScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if((r===s.UL||r===s.OL)&&n===i.HTML||l(r,n))return!1}return!0}hasInButtonScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if(r===s.BUTTON&&n===i.HTML||l(r,n))return!1}return!0}hasInTableScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===i.HTML){if(r===e)return!0;if(r===s.TABLE||r===s.TEMPLATE||r===s.HTML)return!1}}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]);if(this.treeAdapter.getNamespaceURI(this.items[e])===i.HTML){if(t===s.TBODY||t===s.THEAD||t===s.TFOOT)return!0;if(t===s.TABLE||t===s.HTML)return!1}}return!0}hasInSelectScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===i.HTML){if(r===e)return!0;if(r!==s.OPTION&&r!==s.OPTGROUP)return!1}}return!0}generateImpliedEndTags(){for(;a(this.currentTagName);)this.pop()}generateImpliedEndTagsThoroughly(){for(;o(this.currentTagName);)this.pop()}generateImpliedEndTagsWithExclusion(e){for(;a(this.currentTagName)&&this.currentTagName!==e;)this.pop()}}},function(e,t,r){"use strict";class n{constructor(e){this.length=0,this.entries=[],this.treeAdapter=e,this.bookmark=null}_getNoahArkConditionCandidates(e){const t=[];if(this.length>=3){const r=this.treeAdapter.getAttrList(e).length,s=this.treeAdapter.getTagName(e),i=this.treeAdapter.getNamespaceURI(e);for(let e=this.length-1;e>=0;e--){const a=this.entries[e];if(a.type===n.MARKER_ENTRY)break;const o=a.element,l=this.treeAdapter.getAttrList(o);this.treeAdapter.getTagName(o)===s&&this.treeAdapter.getNamespaceURI(o)===i&&l.length===r&&t.push({idx:e,attrs:l})}}return t.length<3?[]:t}_ensureNoahArkCondition(e){const t=this._getNoahArkConditionCandidates(e);let r=t.length;if(r){const n=this.treeAdapter.getAttrList(e),s=n.length,i=Object.create(null);for(let e=0;e=2;e--)this.entries.splice(t[e].idx,1),this.length--}}insertMarker(){this.entries.push({type:n.MARKER_ENTRY}),this.length++}pushElement(e,t){this._ensureNoahArkCondition(e),this.entries.push({type:n.ELEMENT_ENTRY,element:e,token:t}),this.length++}insertElementAfterBookmark(e,t){let r=this.length-1;for(;r>=0&&this.entries[r]!==this.bookmark;r--);this.entries.splice(r+1,0,{type:n.ELEMENT_ENTRY,element:e,token:t}),this.length++}removeEntry(e){for(let t=this.length-1;t>=0;t--)if(this.entries[t]===e){this.entries.splice(t,1),this.length--;break}}clearToLastMarker(){for(;this.length;){const e=this.entries.pop();if(this.length--,e.type===n.MARKER_ENTRY)break}}getElementEntryInScopeWithTagName(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===n.MARKER_ENTRY)return null;if(this.treeAdapter.getTagName(r.element)===e)return r}return null}getElementEntry(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===n.ELEMENT_ENTRY&&r.element===e)return r}return null}}n.MARKER_ENTRY="MARKER_ENTRY",n.ELEMENT_ENTRY="ELEMENT_ENTRY",e.exports=n},function(e,t,r){"use strict";const n=r(33),s=r(84),i=r(174),a=r(389),o=r(48).TAG_NAMES;e.exports=class extends n{constructor(e){super(e),this.parser=e,this.treeAdapter=this.parser.treeAdapter,this.posTracker=null,this.lastStartTagToken=null,this.lastFosterParentingLocation=null,this.currentToken=null}_setStartLocation(e){let t=null;this.lastStartTagToken&&(t=Object.assign({},this.lastStartTagToken.location),t.startTag=this.lastStartTagToken.location),this.treeAdapter.setNodeSourceCodeLocation(e,t)}_setEndLocation(e,t){const r=this.treeAdapter.getNodeSourceCodeLocation(e);if(r&&t.location){const n=t.location,i=this.treeAdapter.getTagName(e);t.type===s.END_TAG_TOKEN&&i===t.tagName?(r.endTag=Object.assign({},n),r.endLine=n.endLine,r.endCol=n.endCol,r.endOffset=n.endOffset):(r.endLine=n.startLine,r.endCol=n.startCol,r.endOffset=n.startOffset)}}_getOverriddenMethods(e,t){return{_bootstrap(r,s){t._bootstrap.call(this,r,s),e.lastStartTagToken=null,e.lastFosterParentingLocation=null,e.currentToken=null;const o=n.install(this.tokenizer,i);e.posTracker=o.posTracker,n.install(this.openElements,a,{onItemPop:function(t){e._setEndLocation(t,e.currentToken)}})},_runParsingLoop(r){t._runParsingLoop.call(this,r);for(let t=this.openElements.stackTop;t>=0;t--)e._setEndLocation(this.openElements.items[t],e.currentToken)},_processTokenInForeignContent(r){e.currentToken=r,t._processTokenInForeignContent.call(this,r)},_processToken(r){if(e.currentToken=r,t._processToken.call(this,r),r.type===s.END_TAG_TOKEN&&(r.tagName===o.HTML||r.tagName===o.BODY&&this.openElements.hasInScope(o.BODY)))for(let t=this.openElements.stackTop;t>=0;t--){const n=this.openElements.items[t];if(this.treeAdapter.getTagName(n)===r.tagName){e._setEndLocation(n,r);break}}},_setDocumentType(e){t._setDocumentType.call(this,e);const r=this.treeAdapter.getChildNodes(this.document),n=r.length;for(let t=0;t0;t--)e.onItemPop(this.items[t]);t.popAllUpToHtmlElement.call(this)},remove(r){e.onItemPop(this.current),t.remove.call(this,r)}}}}},function(e,t,r){"use strict";const n=r(105),s=r(391),i=r(174),a=r(33);e.exports=class extends n{constructor(e,t){super(e,t),this.opts=t,this.ctLoc=null,this.locBeforeToken=!1}_setErrorLocation(e){this.ctLoc&&(e.startLine=this.ctLoc.startLine,e.startCol=this.ctLoc.startCol,e.startOffset=this.ctLoc.startOffset,e.endLine=this.locBeforeToken?this.ctLoc.startLine:this.ctLoc.endLine,e.endCol=this.locBeforeToken?this.ctLoc.startCol:this.ctLoc.endCol,e.endOffset=this.locBeforeToken?this.ctLoc.startOffset:this.ctLoc.endOffset)}_getOverriddenMethods(e,t){return{_bootstrap(r,n){t._bootstrap.call(this,r,n),a.install(this.tokenizer,s,e.opts),a.install(this.tokenizer,i)},_processInputToken(r){e.ctLoc=r.location,t._processInputToken.call(this,r)},_err(t,r){e.locBeforeToken=r&&r.beforeToken,e._reportError(t)}}}}},function(e,t,r){"use strict";const n=r(105),s=r(392),i=r(33);e.exports=class extends n{constructor(e,t){super(e,t);const r=i.install(e.preprocessor,s,t);this.posTracker=r.posTracker}}},function(e,t,r){"use strict";const n=r(105),s=r(175),i=r(33);e.exports=class extends n{constructor(e,t){super(e,t),this.posTracker=i.install(e,s),this.lastErrOffset=-1}_reportError(e){this.lastErrOffset!==this.posTracker.offset&&(this.lastErrOffset=this.posTracker.offset,super._reportError(e))}}},function(e,t,r){"use strict";const n=r(84),s=r(48),i=s.TAG_NAMES,a=s.NAMESPACES,o=s.ATTRS,l={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"},c={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:a.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:a.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:a.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:a.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:a.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:a.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:a.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:a.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:a.XML},"xml:space":{prefix:"xml",name:"space",namespace:a.XML},xmlns:{prefix:"",name:"xmlns",namespace:a.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:a.XMLNS}},u=t.SVG_TAG_NAMES_ADJUSTMENT_MAP={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"},h={[i.B]:!0,[i.BIG]:!0,[i.BLOCKQUOTE]:!0,[i.BODY]:!0,[i.BR]:!0,[i.CENTER]:!0,[i.CODE]:!0,[i.DD]:!0,[i.DIV]:!0,[i.DL]:!0,[i.DT]:!0,[i.EM]:!0,[i.EMBED]:!0,[i.H1]:!0,[i.H2]:!0,[i.H3]:!0,[i.H4]:!0,[i.H5]:!0,[i.H6]:!0,[i.HEAD]:!0,[i.HR]:!0,[i.I]:!0,[i.IMG]:!0,[i.LI]:!0,[i.LISTING]:!0,[i.MENU]:!0,[i.META]:!0,[i.NOBR]:!0,[i.OL]:!0,[i.P]:!0,[i.PRE]:!0,[i.RUBY]:!0,[i.S]:!0,[i.SMALL]:!0,[i.SPAN]:!0,[i.STRONG]:!0,[i.STRIKE]:!0,[i.SUB]:!0,[i.SUP]:!0,[i.TABLE]:!0,[i.TT]:!0,[i.U]:!0,[i.UL]:!0,[i.VAR]:!0};t.causesExit=function(e){const t=e.tagName;return!(t!==i.FONT||null===n.getTokenAttr(e,o.COLOR)&&null===n.getTokenAttr(e,o.SIZE)&&null===n.getTokenAttr(e,o.FACE))||h[t]},t.adjustTokenMathMLAttrs=function(e){for(let t=0;t/g;class f{constructor(e,t){this.options=s(c,t),this.treeAdapter=this.options.treeAdapter,this.html="",this.startNode=e}serialize(){return this._serializeChildNodes(this.startNode),this.html}_serializeChildNodes(e){const t=this.treeAdapter.getChildNodes(e);if(t)for(let e=0,r=t.length;e",t!==o.AREA&&t!==o.BASE&&t!==o.BASEFONT&&t!==o.BGSOUND&&t!==o.BR&&t!==o.COL&&t!==o.EMBED&&t!==o.FRAME&&t!==o.HR&&t!==o.IMG&&t!==o.INPUT&&t!==o.KEYGEN&&t!==o.LINK&&t!==o.META&&t!==o.PARAM&&t!==o.SOURCE&&t!==o.TRACK&&t!==o.WBR){const n=t===o.TEMPLATE&&r===l.HTML?this.treeAdapter.getTemplateContent(e):e;this._serializeChildNodes(n),this.html+=""}}_serializeAttributes(e){const t=this.treeAdapter.getAttrList(e);for(let e=0,r=t.length;e"}}f.escapeString=function(e,t){return e=e.replace(u,"&").replace(h," "),t?e.replace(d,"""):e.replace(p,"<").replace(g,">")},e.exports=f},,function(e,t,r){"use strict";r.r(t),r.d(t,"App",(function(){return Zc})),r.d(t,"Assessor",(function(){return fa})),r.d(t,"ContentAssessor",(function(){return ja})),r.d(t,"SeoAssessor",(function(){return ka})),r.d(t,"TaxonomyAssessor",(function(){return Ua})),r.d(t,"Pluggable",(function(){return Sc})),r.d(t,"SnippetPreview",(function(){return Yc})),r.d(t,"Paper",(function(){return Ka})),r.d(t,"AssessmentResult",(function(){return wi})),r.d(t,"Assessment",(function(){return yi})),r.d(t,"AnalysisWebWorker",(function(){return gc})),r.d(t,"AnalysisWorkerWrapper",(function(){return mc})),r.d(t,"createWorker",(function(){return Tc})),r.d(t,"assessments",(function(){return h})),r.d(t,"bundledPlugins",(function(){return d})),r.d(t,"config",(function(){return g})),r.d(t,"helpers",(function(){return c})),r.d(t,"markers",(function(){return p})),r.d(t,"interpreters",(function(){return u})),r.d(t,"languageProcessing",(function(){return l})),r.d(t,"values",(function(){return f})),r.d(t,"DIFFICULTY",(function(){return Tn})),r.d(t,"Factory",(function(){return tu}));var n={};r.r(n),r.d(n,"doesWordMatchRegex",(function(){return ni})),r.d(n,"searchAndReplaceWithRegex",(function(){return si})),r.d(n,"applyAllReplacements",(function(){return ii}));var s={};r.r(s),r.d(s,"checkIfWordEndingIsOnExceptionList",(function(){return ai})),r.d(s,"checkIfWordIsOnListThatCanHavePrefix",(function(){return oi})),r.d(s,"checkExceptionListWithTwoStems",(function(){return li}));var i={};r.r(i),r.d(i,"removeSuffixesFromFullForm",(function(){return ci})),r.d(i,"removeSuffixFromFullForm",(function(){return ui}));var a={};r.r(a),r.d(a,"Clause",(function(){return di})),r.d(a,"ProminentWord",(function(){return jn})),r.d(a,"Sentence",(function(){return Dn}));var o={};r.r(o),r.d(o,"matchStringWithRegex",(function(){return bt})),r.d(o,"normalize",(function(){return Xt})),r.d(o,"removeHtmlBlocks",(function(){return kr}));var l={};r.r(l),r.d(l,"AbstractResearcher",(function(){return Us})),r.d(l,"transliterate",(function(){return Ke})),r.d(l,"replaceDiacritics",(function(){return y})),r.d(l,"createRegexFromArray",(function(){return vt})),r.d(l,"imageInText",(function(){return At})),r.d(l,"stripSpaces",(function(){return Ve})),r.d(l,"baseStemmer",(function(){return Ot})),r.d(l,"getWords",(function(){return It})),r.d(l,"flattenSortLength",(function(){return Hs})),r.d(l,"indices",(function(){return Ws})),r.d(l,"buildFormRule",(function(){return Ys})),r.d(l,"createRulesFromArrays",(function(){return Qs})),r.d(l,"createSingleRuleFromArray",(function(){return Vs})),r.d(l,"matchRegularParticiples",(function(){return Xs})),r.d(l,"directPrecedenceException",(function(){return Js})),r.d(l,"precedenceException",(function(){return Zs})),r.d(l,"nonDirectPrecedenceException",(function(){return ti})),r.d(l,"findMatchingEndingInArray",(function(){return ri})),r.d(l,"regexHelpers",(function(){return n})),r.d(l,"exceptionListHelpers",(function(){return s})),r.d(l,"stemHelpers",(function(){return i})),r.d(l,"areWordsInSentence",(function(){return pi})),r.d(l,"values",(function(){return a})),r.d(l,"getClauses",(function(){return _i})),r.d(l,"getClausesSplitOnStopWords",(function(){return Ti})),r.d(l,"stripHTMLTags",(function(){return mt})),r.d(l,"stripBlockTagsAtStartEnd",(function(){return ft})),r.d(l,"countMetaDescriptionLength",(function(){return Cs})),r.d(l,"sanitizeString",(function(){return Et})),r.d(l,"removePunctuation",(function(){return Nt})),r.d(l,"getLanguage",(function(){return A})),r.d(l,"getSentences",(function(){return vr})),r.d(l,"getFieldsToMark",(function(){return vi})),r.d(l,"unifyAllSpaces",(function(){return Tt})),r.d(l,"normalizeHTML",(function(){return Ei})),r.d(l,"collectMarkingsInSentence",(function(){return ms})),r.d(l,"normalizeSingle",(function(){return Qt})),r.d(l,"parseSynonyms",(function(){return zr})),r.d(l,"mergeListItems",(function(){return bi})),r.d(l,"findWordFormsInString",(function(){return er})),r.d(l,"markWordsInSentences",(function(){return _s})),r.d(l,"helpers",(function(){return o}));var c={};r.r(c),r.d(c,"measureTextWidth",(function(){return Pi})),r.d(c,"getLanguagesWithWordFormSupport",(function(){return Fi})),r.d(c,"formatNumber",(function(){return ji})),r.d(c,"getLanguagesWithWordComplexity",(function(){return Bi})),r.d(c,"createAnchorOpeningTag",(function(){return Ai.b}));var u={};r.r(u),r.d(u,"scoreToRating",(function(){return Pa}));var h={};r.r(h),r.d(h,"readability",(function(){return Ec})),r.d(h,"seo",(function(){return vc})),r.d(h,"inclusiveLanguage",(function(){return bc}));var d={};r.r(d),r.d(d,"usedKeywords",(function(){return Ac}));var p={};r.r(p),r.d(p,"addMark",(function(){return Ca})),r.d(p,"removeMarks",(function(){return Oc}));var g={};r.r(g),r.d(g,"presenter",(function(){return Cc}));var f={};r.r(f),r.d(f,"AssessmentResult",(function(){return wi})),r.d(f,"Mark",(function(){return gs})),r.d(f,"Paper",(function(){return Ka}));var m=r(198),_=r(4),T=r(2),E=r(199),v=r(18),b=r.n(v),y=function(e){const t=[{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}];for(let r=0;r1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";t="id_ID"===i?'[ \\u00a0\\n\\r\\t.,()”“〝〞〟‟„"+;!¡?¿:/»«‹›'+s+"<>":'[ \\u00a0\\u2014\\u06d4\\u061f\\u060C\\u061B\\n\\r\\t.,()”“〝〞〟‟„"+\\-;!¡?¿:/»«‹›'+s+"<>";const a="(^|"+t+"'‘’‛`])";return r=n?"($|((?="+t+"]))|((['‘’‛`])("+t+"])))":"($|("+t+"])|((['‘’‛`])("+t+"])))",a+e+r};const Ge=new RegExp("(
).*?(
)","igs");function ze(e){return e.replace(Ge,"")}const We=new RegExp("

",wt=Ct.split(""),St=new RegExp("^["+Ct+"]+"),kt=new RegExp("["+Ct+"]+$");var Nt=function(e){e=(e=_t(e)).replace("&","");const t=new RegExp("(\\\\)","g");return(e=(e=e.replace(t,"")).replace(St,"")).replace(kt,"")};const Rt=new RegExp(`([${Ct}])`,"g");var It=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(""===(e=Et(e)))return[];let r=e.split(/\s/g);return r=t?r.map(Nt):Object(T.flatMap)(r,e=>e.replace(Rt," $1 ").split(" ")),Object(T.filter)(r,(function(e){return""!==e.trim()}))};function xt(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}r(158),b.a.inherits(xt,Error);var Dt=xt;function Lt(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}b.a.inherits(Lt,Error);var Mt=Lt,Pt=function(e){let t="";return"img"===e.name&&(t=Ve(e.attributes.alt||""),t=t.replace(/"/g,'"'),t=t.replace(/'/g,"'")),t},Ft=function(e){return e=e.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?>/g,""),Ve(e)};const jt=[{letter:/[\u00A3]/g,alternative:""},{letter:/[\u20AC]/g,alternative:"E"},{letter:/[\u00AA]/g,alternative:"a"},{letter:/[\u00BA]/g,alternative:"o"},{letter:/[\u00C0]/g,alternative:"A"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00C2]/g,alternative:"A"},{letter:/[\u00C3]/g,alternative:"A"},{letter:/[\u00C4]/g,alternative:"A"},{letter:/[\u00C5]/g,alternative:"A"},{letter:/[\u00C6]/g,alternative:"AE"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00C8]/g,alternative:"E"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00CA]/g,alternative:"E"},{letter:/[\u00CB]/g,alternative:"E"},{letter:/[\u00CC]/g,alternative:"I"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00CE]/g,alternative:"I"},{letter:/[\u00CF]/g,alternative:"I"},{letter:/[\u00D0]/g,alternative:"D"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00D2]/g,alternative:"O"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u00D4]/g,alternative:"O"},{letter:/[\u00D5]/g,alternative:"O"},{letter:/[\u00D6]/g,alternative:"O"},{letter:/[\u00D8]/g,alternative:"O"},{letter:/[\u00D9]/g,alternative:"U"},{letter:/[\u00DA]/g,alternative:"U"},{letter:/[\u00DB]/g,alternative:"U"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u00DE]/g,alternative:"TH"},{letter:/[\u00DF]/g,alternative:"s"},{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00E2]/g,alternative:"a"},{letter:/[\u00E3]/g,alternative:"a"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00E5]/g,alternative:"a"},{letter:/[\u00E6]/g,alternative:"ae"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00E8]/g,alternative:"e"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00EA]/g,alternative:"e"},{letter:/[\u00EB]/g,alternative:"e"},{letter:/[\u00EC]/g,alternative:"i"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00EE]/g,alternative:"i"},{letter:/[\u00EF]/g,alternative:"i"},{letter:/[\u00F0]/g,alternative:"d"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00F2]/g,alternative:"o"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00F4]/g,alternative:"o"},{letter:/[\u00F5]/g,alternative:"o"},{letter:/[\u00F6]/g,alternative:"o"},{letter:/[\u00F8]/g,alternative:"o"},{letter:/[\u00F9]/g,alternative:"u"},{letter:/[\u00FA]/g,alternative:"u"},{letter:/[\u00FB]/g,alternative:"u"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00FE]/g,alternative:"th"},{letter:/[\u00FF]/g,alternative:"y"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0102]/g,alternative:"A"},{letter:/[\u0103]/g,alternative:"a"},{letter:/[\u0104]/g,alternative:"A"},{letter:/[\u0105]/g,alternative:"a"},{letter:/[\u0106]/g,alternative:"C"},{letter:/[\u0107]/g,alternative:"c"},{letter:/[\u0108]/g,alternative:"C"},{letter:/[\u0109]/g,alternative:"c"},{letter:/[\u010A]/g,alternative:"C"},{letter:/[\u010B]/g,alternative:"c"},{letter:/[\u010C]/g,alternative:"C"},{letter:/[\u010D]/g,alternative:"c"},{letter:/[\u010E]/g,alternative:"D"},{letter:/[\u010F]/g,alternative:"d"},{letter:/[\u0110]/g,alternative:"D"},{letter:/[\u0111]/g,alternative:"d"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u0114]/g,alternative:"E"},{letter:/[\u0115]/g,alternative:"e"},{letter:/[\u0116]/g,alternative:"E"},{letter:/[\u0117]/g,alternative:"e"},{letter:/[\u0118]/g,alternative:"E"},{letter:/[\u0119]/g,alternative:"e"},{letter:/[\u011A]/g,alternative:"E"},{letter:/[\u011B]/g,alternative:"e"},{letter:/[\u011C]/g,alternative:"G"},{letter:/[\u011D]/g,alternative:"g"},{letter:/[\u011E]/g,alternative:"G"},{letter:/[\u011F]/g,alternative:"g"},{letter:/[\u0120]/g,alternative:"G"},{letter:/[\u0121]/g,alternative:"g"},{letter:/[\u0122]/g,alternative:"G"},{letter:/[\u0123]/g,alternative:"g"},{letter:/[\u0124]/g,alternative:"H"},{letter:/[\u0125]/g,alternative:"h"},{letter:/[\u0126]/g,alternative:"H"},{letter:/[\u0127]/g,alternative:"h"},{letter:/[\u0128]/g,alternative:"I"},{letter:/[\u0129]/g,alternative:"i"},{letter:/[\u012A]/g,alternative:"I"},{letter:/[\u012B]/g,alternative:"i"},{letter:/[\u012C]/g,alternative:"I"},{letter:/[\u012D]/g,alternative:"i"},{letter:/[\u012E]/g,alternative:"I"},{letter:/[\u012F]/g,alternative:"i"},{letter:/[\u0130]/g,alternative:"I"},{letter:/[\u0131]/g,alternative:"i"},{letter:/[\u0132]/g,alternative:"IJ"},{letter:/[\u0133]/g,alternative:"ij"},{letter:/[\u0134]/g,alternative:"J"},{letter:/[\u0135]/g,alternative:"j"},{letter:/[\u0136]/g,alternative:"K"},{letter:/[\u0137]/g,alternative:"k"},{letter:/[\u0138]/g,alternative:"k"},{letter:/[\u0139]/g,alternative:"L"},{letter:/[\u013A]/g,alternative:"l"},{letter:/[\u013B]/g,alternative:"L"},{letter:/[\u013C]/g,alternative:"l"},{letter:/[\u013D]/g,alternative:"L"},{letter:/[\u013E]/g,alternative:"l"},{letter:/[\u013F]/g,alternative:"L"},{letter:/[\u0140]/g,alternative:"l"},{letter:/[\u0141]/g,alternative:"L"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u0143]/g,alternative:"N"},{letter:/[\u0144]/g,alternative:"n"},{letter:/[\u0145]/g,alternative:"N"},{letter:/[\u0146]/g,alternative:"n"},{letter:/[\u0147]/g,alternative:"N"},{letter:/[\u0148]/g,alternative:"n"},{letter:/[\u0149]/g,alternative:"n"},{letter:/[\u014A]/g,alternative:"N"},{letter:/[\u014B]/g,alternative:"n"},{letter:/[\u014C]/g,alternative:"O"},{letter:/[\u014D]/g,alternative:"o"},{letter:/[\u014E]/g,alternative:"O"},{letter:/[\u014F]/g,alternative:"o"},{letter:/[\u0150]/g,alternative:"O"},{letter:/[\u0151]/g,alternative:"o"},{letter:/[\u0152]/g,alternative:"OE"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0154]/g,alternative:"R"},{letter:/[\u0155]/g,alternative:"r"},{letter:/[\u0156]/g,alternative:"R"},{letter:/[\u0157]/g,alternative:"r"},{letter:/[\u0158]/g,alternative:"R"},{letter:/[\u0159]/g,alternative:"r"},{letter:/[\u015A]/g,alternative:"S"},{letter:/[\u015B]/g,alternative:"s"},{letter:/[\u015C]/g,alternative:"S"},{letter:/[\u015D]/g,alternative:"s"},{letter:/[\u015E]/g,alternative:"S"},{letter:/[\u015F]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0162]/g,alternative:"T"},{letter:/[\u0163]/g,alternative:"t"},{letter:/[\u0164]/g,alternative:"T"},{letter:/[\u0165]/g,alternative:"t"},{letter:/[\u0166]/g,alternative:"T"},{letter:/[\u0167]/g,alternative:"t"},{letter:/[\u0168]/g,alternative:"U"},{letter:/[\u0169]/g,alternative:"u"},{letter:/[\u016A]/g,alternative:"U"},{letter:/[\u016B]/g,alternative:"u"},{letter:/[\u016C]/g,alternative:"U"},{letter:/[\u016D]/g,alternative:"u"},{letter:/[\u016E]/g,alternative:"U"},{letter:/[\u016F]/g,alternative:"u"},{letter:/[\u0170]/g,alternative:"U"},{letter:/[\u0171]/g,alternative:"u"},{letter:/[\u0172]/g,alternative:"U"},{letter:/[\u0173]/g,alternative:"u"},{letter:/[\u0174]/g,alternative:"W"},{letter:/[\u0175]/g,alternative:"w"},{letter:/[\u0176]/g,alternative:"Y"},{letter:/[\u0177]/g,alternative:"y"},{letter:/[\u0178]/g,alternative:"Y"},{letter:/[\u0179]/g,alternative:"Z"},{letter:/[\u017A]/g,alternative:"z"},{letter:/[\u017B]/g,alternative:"Z"},{letter:/[\u017C]/g,alternative:"z"},{letter:/[\u017D]/g,alternative:"Z"},{letter:/[\u017E]/g,alternative:"z"},{letter:/[\u017F]/g,alternative:"s"},{letter:/[\u01A0]/g,alternative:"O"},{letter:/[\u01A1]/g,alternative:"o"},{letter:/[\u01AF]/g,alternative:"U"},{letter:/[\u01B0]/g,alternative:"u"},{letter:/[\u01CD]/g,alternative:"A"},{letter:/[\u01CE]/g,alternative:"a"},{letter:/[\u01CF]/g,alternative:"I"},{letter:/[\u01D0]/g,alternative:"i"},{letter:/[\u01D1]/g,alternative:"O"},{letter:/[\u01D2]/g,alternative:"o"},{letter:/[\u01D3]/g,alternative:"U"},{letter:/[\u01D4]/g,alternative:"u"},{letter:/[\u01D5]/g,alternative:"U"},{letter:/[\u01D6]/g,alternative:"u"},{letter:/[\u01D7]/g,alternative:"U"},{letter:/[\u01D8]/g,alternative:"u"},{letter:/[\u01D9]/g,alternative:"U"},{letter:/[\u01DA]/g,alternative:"u"},{letter:/[\u01DB]/g,alternative:"U"},{letter:/[\u01DC]/g,alternative:"u"},{letter:/[\u0218]/g,alternative:"S"},{letter:/[\u0219]/g,alternative:"s"},{letter:/[\u021A]/g,alternative:"T"},{letter:/[\u021B]/g,alternative:"t"},{letter:/[\u0251]/g,alternative:"a"},{letter:/[\u1EA0]/g,alternative:"A"},{letter:/[\u1EA1]/g,alternative:"a"},{letter:/[\u1EA2]/g,alternative:"A"},{letter:/[\u1EA3]/g,alternative:"a"},{letter:/[\u1EA4]/g,alternative:"A"},{letter:/[\u1EA5]/g,alternative:"a"},{letter:/[\u1EA6]/g,alternative:"A"},{letter:/[\u1EA7]/g,alternative:"a"},{letter:/[\u1EA8]/g,alternative:"A"},{letter:/[\u1EA9]/g,alternative:"a"},{letter:/[\u1EAA]/g,alternative:"A"},{letter:/[\u1EAB]/g,alternative:"a"},{letter:/[\u1EA6]/g,alternative:"A"},{letter:/[\u1EAD]/g,alternative:"a"},{letter:/[\u1EAE]/g,alternative:"A"},{letter:/[\u1EAF]/g,alternative:"a"},{letter:/[\u1EB0]/g,alternative:"A"},{letter:/[\u1EB1]/g,alternative:"a"},{letter:/[\u1EB2]/g,alternative:"A"},{letter:/[\u1EB3]/g,alternative:"a"},{letter:/[\u1EB4]/g,alternative:"A"},{letter:/[\u1EB5]/g,alternative:"a"},{letter:/[\u1EB6]/g,alternative:"A"},{letter:/[\u1EB7]/g,alternative:"a"},{letter:/[\u1EB8]/g,alternative:"E"},{letter:/[\u1EB9]/g,alternative:"e"},{letter:/[\u1EBA]/g,alternative:"E"},{letter:/[\u1EBB]/g,alternative:"e"},{letter:/[\u1EBC]/g,alternative:"E"},{letter:/[\u1EBD]/g,alternative:"e"},{letter:/[\u1EBE]/g,alternative:"E"},{letter:/[\u1EBF]/g,alternative:"e"},{letter:/[\u1EC0]/g,alternative:"E"},{letter:/[\u1EC1]/g,alternative:"e"},{letter:/[\u1EC2]/g,alternative:"E"},{letter:/[\u1EC3]/g,alternative:"e"},{letter:/[\u1EC4]/g,alternative:"E"},{letter:/[\u1EC5]/g,alternative:"e"},{letter:/[\u1EC6]/g,alternative:"E"},{letter:/[\u1EC7]/g,alternative:"e"},{letter:/[\u1EC8]/g,alternative:"I"},{letter:/[\u1EC9]/g,alternative:"i"},{letter:/[\u1ECA]/g,alternative:"I"},{letter:/[\u1ECB]/g,alternative:"i"},{letter:/[\u1ECC]/g,alternative:"O"},{letter:/[\u1ECD]/g,alternative:"o"},{letter:/[\u1ECE]/g,alternative:"O"},{letter:/[\u1ECF]/g,alternative:"o"},{letter:/[\u1ED0]/g,alternative:"O"},{letter:/[\u1ED1]/g,alternative:"o"},{letter:/[\u1ED2]/g,alternative:"O"},{letter:/[\u1ED3]/g,alternative:"o"},{letter:/[\u1ED4]/g,alternative:"O"},{letter:/[\u1ED5]/g,alternative:"o"},{letter:/[\u1ED6]/g,alternative:"O"},{letter:/[\u1ED7]/g,alternative:"o"},{letter:/[\u1ED8]/g,alternative:"O"},{letter:/[\u1ED9]/g,alternative:"o"},{letter:/[\u1EDA]/g,alternative:"O"},{letter:/[\u1EDB]/g,alternative:"o"},{letter:/[\u1EDC]/g,alternative:"O"},{letter:/[\u1EDD]/g,alternative:"o"},{letter:/[\u1EDE]/g,alternative:"O"},{letter:/[\u1EDF]/g,alternative:"o"},{letter:/[\u1EE0]/g,alternative:"O"},{letter:/[\u1EE1]/g,alternative:"o"},{letter:/[\u1EE2]/g,alternative:"O"},{letter:/[\u1EE3]/g,alternative:"o"},{letter:/[\u1EE4]/g,alternative:"U"},{letter:/[\u1EE5]/g,alternative:"u"},{letter:/[\u1EE6]/g,alternative:"U"},{letter:/[\u1EE7]/g,alternative:"u"},{letter:/[\u1EE8]/g,alternative:"U"},{letter:/[\u1EE9]/g,alternative:"u"},{letter:/[\u1EEA]/g,alternative:"U"},{letter:/[\u1EEB]/g,alternative:"u"},{letter:/[\u1EEC]/g,alternative:"U"},{letter:/[\u1EED]/g,alternative:"u"},{letter:/[\u1EEE]/g,alternative:"U"},{letter:/[\u1EEF]/g,alternative:"u"},{letter:/[\u1EF0]/g,alternative:"U"},{letter:/[\u1EF1]/g,alternative:"u"},{letter:/[\u1EF2]/g,alternative:"Y"},{letter:/[\u1EF3]/g,alternative:"y"},{letter:/[\u1EF4]/g,alternative:"Y"},{letter:/[\u1EF5]/g,alternative:"y"},{letter:/[\u1EF6]/g,alternative:"Y"},{letter:/[\u1EF7]/g,alternative:"y"},{letter:/[\u1EF8]/g,alternative:"Y"},{letter:/[\u1EF9]/g,alternative:"y"}],Bt=[{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00E4]/g,alternative:"ae"},{letter:/[\u00D6]/g,alternative:"Oe"},{letter:/[\u00F6]/g,alternative:"oe"},{letter:/[\u00DC]/g,alternative:"Ue"},{letter:/[\u00FC]/g,alternative:"ue"},{letter:/[\u1E9E]/g,alternative:"SS"},{letter:/[\u00DF]/g,alternative:"ss"}],Ut=[{letter:/[\u00C6]/g,alternative:"Ae"},{letter:/[\u00E6]/g,alternative:"ae"},{letter:/[\u00D8]/g,alternative:"Oe"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E5]/g,alternative:"aa"}],Ht=[{letter:/[\u00B7]/g,alternative:"ll"}],$t=[{letter:/[\u0110]/g,alternative:"DJ"},{letter:/[\u0111]/g,alternative:"dj"}];function Kt(e,t){const r=[];if(e.indexOf(t)>-1)for(let n=0;nqe(e)).join("|"),"ig")}const s=e.match(n)||[];e=e.replace(n,"");const i=Ke(t,r),a=Yt(i,r),o=e.match(a)||[];let l=s.concat(o);const c=function(e,t){const r=function(e){if(Object(T.isUndefined)(e))return[];let t=jt;return t=t.concat(function(e){switch(e){case"de":return Bt;case"da":return Ut;case"ca":return Ht;case"sr":case"bs":return $t;default:return[]}}(A(e))),t}(t);for(let t=r.length-1;t>=0;t--)e=e.replace(r[t].letter,r[t].alternative);return e}(t,r);if(c!==i){const t=Yt(c,r),n=e.match(t)||[];l=l.concat(n)}return Object(T.map)(l,(function(e){return Ve(e)}))};function Qt(e){return e.replace(/[‘’‛`‹›]/g,"'")}function Xt(e){return function(e){return e.replace(/[“”〝〞〟‟„『』«»]/g,'"')}(Qt(e))}var Jt=function(e,t,r,n){e=Ft(e),e=Xt(e=Tt(e)),t=Xt(t);let s=n?n(e,t):Vt(e,t,r);s=Object(T.map)(s,(function(e){return Ve(Nt(e))}));const i=Object(T.map)(s,(function(t){return e.indexOf(t)}));return{count:s.length,matches:s,position:0===i.length?-1:Math.min(...i)}},Zt=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en_EN",n=arguments.length>3?arguments[3]:void 0,s=0,i=[],a=[];return Object(T.uniq)(t).forEach((function(t){const o=Jt(e,t,r,n);s+=o.count,i=i.concat(o.matches),a.push(o.position)})),a=a.filter(e=>e>=0),{count:s,matches:i,position:0===a.length?-1:Math.min(...a)}};const er=function(e,t,r,n){const s=e.length,i=Array(s);let a=[];for(let o=0;o0?1:0,a.push(s.position)}const o=Object(T.sum)(i),l={countWordMatches:o,percentWordMatches:0};return s>0&&(l.percentWordMatches=Math.round(o/s*100)),a=a.filter(e=>e>=0),l.position=0===a.length?-1:Math.min(...a),l},tr=function(e,t,r,n,s){let i=er(e.keyphraseForms,t,n,s);if(i.keyphraseOrSynonym="keyphrase",100===i.percentWordMatches||!1===r||Object(T.isEmpty)(e.synonymsForms))return i;const a=[];for(let r=0;re.percentWordMatches),l=o.indexOf(Math.max(...o));return i.percentWordMatches>=a[l].percentWordMatches||(i=a[l],i.keyphraseOrSynonym="synonym"),i};var rr=function(e){const t=e.getTree();return t?t.findAll(e=>"img"===e.name):[]};function nr(e,t){const r=rr(e),n=t.getResearch("morphology"),s=t.getHelper("matchWordCustomHelper");return function(e,t,r,n){const s={noAlt:0,withAlt:0,withAltKeyword:0,withAltNonKeyword:0};return e.forEach(e=>{const i=Pt(e);""!==i?Object(T.isEmpty)(t.keyphraseForms)?s.withAlt++:tr(t,i,!0,r,n).percentWordMatches>=50?s.withAltKeyword++:s.withAltNonKeyword++:s.noAlt++}),s}(r,n,e.getLocale(),s)}const sr=new RegExp("^[.]$"),ir=/^<[^><]*$/,ar=/^<([^>\s/]+)[^>]*>$/im,or=/^<\/([^>\s]+)[^>]*>$/im,lr=/^\s*[[({]\s*$/,cr=/^\s*[\])}]\s*$/,ur=["A.D.","Adm.","Adv.","B.C.","Br.","Brig.","Cmrd.","Col.","Cpl.","Cpt.","Dr.","Esq.","Fr.","Gen.","Gov.","Hon.","Jr.","Lieut.","Lt.","Maj.","Mr.","Mrs.","Ms.","Msgr.","Mx.","No.","Pfc.","Pr.","Prof.","Pvt.","Rep.","Reps.","Rev.","Rt. Hon.","Sen.","Sens.","Sgt.","Sps.","Sr.","St.","vs.","i.e.","e.g.","viz.","Mt."].map(e=>e.replace(".","\\.")),hr=vt(ur),dr="(^|$|["+[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"].map(e=>"\\"+e).join("")+"])",pr=new RegExp(dr+"[A-Za-z]$"),gr=/<\/?([^\s]+?)(\s|>)/,fr=["p","div","h1","h2","h3","h4","h5","h6","span","li","main"];class mr{constructor(){this.sentenceDelimiters='”〞〟„』›»’‛`"?!…۔؟'}getSentenceDelimiters(){return this.sentenceDelimiters}isNumber(e){return!Object(T.isNaN)(parseInt(e,10))}isBreakTag(e){return/<\/?br/.test(e)}isQuotation(e){return"'"===(e=Xt(e))||'"'===e}endsWithOrdinalDot(){return!1}isPunctuation(e){return"¿"===e||"¡"===e}removeDuplicateWhitespace(e){return e.replace(/\s+/," ")}isCapitalLetter(e){return e!==e.toLocaleLowerCase()}isSmallerThanSign(e){return"<"===e}getNextTwoCharacters(e){let t="";return Object(T.isUndefined)(e[0])||(t+=e[0].src),Object(T.isUndefined)(e[1])||(t+=e[1].src),t=this.removeDuplicateWhitespace(t),t}isLetterFromSpecificLanguage(e){return[/^[\u0590-\u05fe]+$/i,/^[\u0600-\u06FF]+$/i,/^[\uFB8A\u067E\u0686\u06AF]+$/i].some(t=>t.test(e))}isValidSentenceBeginning(e){return this.isCapitalLetter(e)||this.isLetterFromSpecificLanguage(e)||this.isNumber(e)||this.isQuotation(e)||this.isPunctuation(e)||this.isSmallerThanSign(e)}isSentenceStart(e){return!Object(T.isUndefined)(e)&&("html-start"===e.type||"html-end"===e.type||"block-start"===e.type)}isSentenceEnding(e){return!Object(T.isUndefined)(e)&&("full-stop"===e.type||"sentence-delimiter"===e.type)}isPartOfPersonInitial(e,t,r,n){return!Object(T.isUndefined)(e)&&!Object(T.isUndefined)(r)&&!Object(T.isUndefined)(n)&&!Object(T.isUndefined)(t)&&"full-stop"===e.type&&"sentence"===t.type&&pr.test(t.src)&&"sentence"===r.type&&1===r.src.trim().length&&"full-stop"===n.type}tokenizeSmallerThanContent(e,t,r){const n=e.src.substring(1),s=this.createTokenizer();this.tokenize(s.tokenizer,n);const i=this.getSentencesFromTokens(s.tokens,!1);if(i[0]=Object(T.isUndefined)(i[0])?"<":"<"+i[0],this.isValidSentenceBeginning(i[0])&&(t.push(r),r=""),r+=i[0],i.length>1){t.push(r),r="",i.shift();const e=i.pop();i.forEach(e=>{t.push(e)});const n=new RegExp("[."+this.getSentenceDelimiters()+"]$");e.match(n)?t.push(e):r=e}return{tokenSentences:t,currentSentence:r}}createTokenizer(){const e=new RegExp("^["+this.getSentenceDelimiters()+"]$"),t=new RegExp("^[^."+this.getSentenceDelimiters()+"<\\(\\)\\[\\]]+$"),r=[],n=Xe()((function(e){r.push(e)}));return n.addRule(sr,"full-stop"),n.addRule(ir,"smaller-than-sign-content"),n.addRule(ar,"html-start"),n.addRule(or,"html-end"),n.addRule(lr,"block-start"),n.addRule(cr,"block-end"),n.addRule(e,"sentence-delimiter"),n.addRule(t,"sentence"),{tokenizer:n,tokens:r}}tokenize(e,t){e.onText(t);try{e.end()}catch(e){console.error("Tokenizer end error:",e,e.tokenizer2)}}endsWithAbbreviation(e){const t=e.match(hr);if(!t)return!1;const r=t.pop();return e.endsWith(r)}isValidTagPair(e,t){const r=e.src,n=t.src,s=r.match(gr)[1];return s===n.match(gr)[1]&&fr.includes(s)}getSentencesFromTokens(e){let t,r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=[],i="";do{r=!1;const t=e[0],n=e[e.length-1];t&&n&&"html-start"===t.type&&"html-end"===n.type&&this.isValidTagPair(t,n)&&(e=e.slice(1,e.length-1),r=!0)}while(r&&e.length>1);return e.forEach((r,n)=>{let a,o,l;const c=e[n+1],u=e[n-1],h=e[n+2];switch(o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[1]:"",r.type){case"html-start":case"html-end":this.isBreakTag(r.src)?(s.push(i),i=""):i+=r.src;break;case"smaller-than-sign-content":l=this.tokenizeSmallerThanContent(r,s,i),s=l.tokenSentences,i=l.currentSentence;break;case"sentence":i+=r.src;break;case"sentence-delimiter":if(i+=r.src,!Object(T.isUndefined)(c)&&"block-end"!==c.type&&"sentence-delimiter"!==c.type&&this.isCharacterASpace(c.src[0])){if(this.isQuotation(r.src)&&u&&"."!==u.src)break;this.isQuotation(r.src)||"…"===r.src?i=this.getValidSentence(a,t,o,c,s,i):(s.push(i),i="")}break;case"full-stop":if(i+=r.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[1]:"",this.endsWithAbbreviation(i))break;if(a&&this.isNumber(o[0]))break;if(this.isPartOfPersonInitial(r,u,c,h))break;if(this.endsWithOrdinalDot(i))break;i=this.getValidSentence(a,t,o,c,s,i);break;case"block-start":i+=r.src;break;case"block-end":if(i+=r.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[0]:"",a&&this.isNumber(o[0])||this.isSentenceEnding(u)&&!this.isValidSentenceBeginning(t)&&!this.isSentenceStart(c))break;this.isSentenceEnding(u)&&(this.isSentenceStart(c)||this.isValidSentenceBeginning(t))&&(s.push(i),i="")}}),""!==i&&s.push(i),n&&(s=Object(T.map)(s,(function(e){return e.trim()}))),s}getValidSentence(e,t,r,n,s,i){return(e&&this.isValidSentenceBeginning(t)&&this.isCharacterASpace(r[0])||this.isSentenceStart(n))&&(s.push(i),i=""),i}isCharacterASpace(e){return/\s/.test(e)}}var _r=Object(T.memoize)((function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const r=new mr,{tokenizer:n,tokens:s}=r.createTokenizer();return r.tokenize(n,e),0===s.length?[]:r.getSentencesFromTokens(s,t)}),(function(){for(var e=arguments.length,t=new Array(e),r=0;r|

)$");var vr=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_r;e=Ye(e=ze(e)),e=(e=_t(e)).replace(yt,"");let r=ht(e);r=Object(T.flatMap)(r,(function(e){return e.split(Tr)})),r=r.filter(e=>!Er.test(e));let n=r.map(e=>t(e)).flat();return n=n.map(e=>ft(e).trim()),Object(T.filter)(n,Object(T.negate)(T.isEmpty))},br=function(e){return It(e).length},yr=r(49),Ar=r.n(yr);let Or,Cr=!1;const wr=["script","style","code","pre","blockquote","textarea"],Sr=new Ar.a.Parser({onopentag:function(e,t){if(Cr)return;if(Object(T.includes)(wr,e))return void(Cr=!0);const r=Object.keys(t);let n="";r.forEach((function(e){n+=" "+e+"='"+t[e]+"'"})),Or.push("<"+e+n+">")},ontext:function(e){Cr||Or.push(e)},onclosetag:function(e){Object(T.includes)(wr,e)?Cr=!1:Cr||Or.push("")}},{decodeEntities:!0});var kr=function(e){return Or=[],Sr.write(e),Sr.parseComplete(),Or.join("")},Nr=function(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=kr(n),function(e,t){const r=[];return Object(T.forEach)(e,(function(e){const n=mt(e),s=t.getHelper("customCountLength"),i=s?s(n):br(n);i<=0||r.push({sentence:e,sentenceLength:i})})),r}(vr(n,r),t)},Rr=function(e,t){const r=t.getResearch("getParagraphs")[0],n=t.getResearch("morphology"),s=t.getHelper("matchWordCustomHelper"),i=e.getLocale(),a={foundInOneSentence:!1,foundInParagraph:!1,keyphraseOrSynonym:""};if(Object(T.isEmpty)(r))return a;const o=r.sentences.map(e=>e.text);if(!Object(T.isEmpty)(o)){const e=o.map(e=>tr(n,e,!0,i,s)).find(e=>100===e.percentWordMatches);if(e)return a.foundInOneSentence=!0,a.foundInParagraph=!0,a.keyphraseOrSynonym=e.keyphraseOrSynonym,a;const t=tr(n,r.innerText(),!0,i,s);if(100===t.percentWordMatches)return a.foundInParagraph=!0,a.keyphraseOrSynonym=t.keyphraseOrSynonym,a}return a},Ir=["“","”","〝","〞","〟","‟","„",'"',"「","」","『","』"];function xr(e){const t={exactMatchRequested:!1,keyphrase:e};return Ir.includes(e[0])&&Ir.includes(e[e.length-1])&&(t.keyphrase=e.substring(1,e.length-1),t.exactMatchRequested=!0),t}let Dr=[];const Lr=function(e,t){return 0===t||0===Dr.length?t:function(e){e=e.toLocaleLowerCase();let t=It(e.toLocaleLowerCase());return t=Object(T.filter)(t,(function(e){return!Object(T.includes)(Dr,e.trim().toLocaleLowerCase())})),Object(T.isEmpty)(t)}(e.substr(0,t))?0:t};var Mr=function(e,t){Dr=t.getConfig("functionWords");let r=Object(T.escapeRegExp)(e.getKeyword());const n=e.getTitle(),s=e.getLocale(),i={exactMatchFound:!1,allWordsFound:!1,position:-1,exactMatchKeyphrase:!1},a=xr(r);a.exactMatchRequested&&(r=a.keyphrase,i.exactMatchKeyphrase=!0);const o=Jt(n,r,s,!1);if(o.count>0)return i.exactMatchFound=!0,i.allWordsFound=!0,i.position=Lr(n,o.position),i;if(!o){const e=r;return e.count>0&&(i.exactMatchFound=!0,i.allWordsFound=!0,i.position=Lr(n,e.position)),i}const l=t.getResearch("morphology");return 100===tr(l,n,!1,s,!1).percentWordMatches&&(i.allWordsFound=!0),i};const Pr=[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"],Fr=function(e){return Object(T.includes)(Pr,e)},jr=function(e,t){e=e.toLocaleLowerCase(),t=t.toLocaleLowerCase();const r=qe(Object(T.escapeRegExp)(e));let n=t.search(new RegExp(r,"ig"));if(-1===n)return!1;n>0&&(n+=1);const s=n+e.length,i=Fr(t[n-1])||0===n,a=Fr(t[s])||s===t.length;return i&&a};let Br=null,Ur="";const Hr=function(e,t){e=Qt(e);const r=function(e){const t=Object(T.flattenDeep)(e).join("");return Ur===t&&null!==Br||(Ur=t,Br=function(e){const t="("+(e=e.map((function(e){return function(e){return(e=e.map((function(e){return qe(e)}))).join("(.*?)")}(e)}))).join(")|(")+")";return new RegExp(t,"ig")}(e)),Br}(t);return e.match(r)};var $r=function(e,t){const r=t.getHelper("matchTransitionWordsHelper"),n=t.getConfig("transitionWords"),s=t.getConfig("twoPartTransitionWords"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=kr(a);const o=vr(a,i),l=function(e,t,r,n){const s=[];return e.forEach(e=>{if(r){const t=Hr(e,r);if(null!==t)return void s.push({sentence:e,transitionWords:t})}const i=n?n(e,t):function(e,t){return e=Qt(e),t.filter(t=>jr(t,e))}(e,t);0!==i.length&&s.push({sentence:e,transitionWords:i})}),s}(o,n,s,r);return{totalSentences:o.length,sentenceResults:l,transitionWordSentences:l.length}},Kr=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getWordsCustomHelper"),s=e.getKeyword();if(xr(s).exactMatchRequested)return!1;let i=n?n(s):It(s);return i=Object(T.filter)(i,(function(e){return!Object(T.includes)(r,e.trim().toLocaleLowerCase())})),Object(T.isEmpty)(i)};const qr=new RegExp("^[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+"),Gr=new RegExp("[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+$");var zr=function(e){let t=e.split(",");return t=t.map(e=>Ve(e).replace(qr,"").replace(Gr,"")).filter(e=>e),t},Wr=r(71),Yr=r.n(Wr);const Vr=/href=(["'])([^"']+)\1/i;function Qr(e){return e.split("#")[0]}function Xr(e){return e.split("?")[0]}function Jr(e){return e.replace(/\/$/,"")}function Zr(e){return Jr(e)+"/"}var en=function(e){const t=Vr.exec(e);return null===t?"":t[2]},tn=function(e,t){return e=Xr(Qr(e)),t=Xr(Qr(t)),Zr(e)===Zr(t)},rn=function(e){return Yr.a.parse(e).protocol},nn=function(e,t){const r=Yr.a.parse(e,!1,!0).hostname;return-1===e.indexOf("//")&&0===e.indexOf("/")||0!==e.indexOf("#")&&(!r||r===t||r===Yr.a.parse(t).hostname)},sn=function(e){return!!e&&("http:"===e||"https:"===e)},an=function(e){return 0===e.indexOf("#")};let on=[];var ln=function(e,t){on=t.getConfig("functionWords");const r={anchorsWithKeyphrase:[],anchorsWithKeyphraseCount:0};if(""===e.getText())return r;const n=e.getKeyword();if(""===n)return r;const s=zr(e.getSynonyms());s.push(n);let i=e.getTree().findAll(e=>"a"===e.name);if(i=function(e,t){const r=e.map((function(e){const r=e.attributes.href;return!!r&&function(e,t){return Boolean(tn(e,t)||an(e))}(r,t)}));return e.filter((e,t)=>!r[t])}(i,e.getPermalink()),0===i.length)return r;const a=e.getLocale(),o=t.getResearch("morphology"),l={matchWordCustomHelper:t.getHelper("matchWordCustomHelper"),getWordsCustomHelper:t.getHelper("getWordsCustomHelper")};return i=function(e,t,r,n){const s=e.map((function(e){const s=e.innerText();return 100===tr(t,s,!0,r,n).percentWordMatches}));return e.filter((e,t)=>s[t])}(i,o,a,l.matchWordCustomHelper),0===i.length?r:(i=function(e,t,r,n,s){const i=n.matchWordCustomHelper,a=n.getWordsCustomHelper,o=[Object(T.flatten)(t.keyphraseForms)];t.synonymsForms.forEach(e=>o.push(Object(T.flatten)(e)));const l=[];return e.forEach((function(e){const t=e.innerText();let n=Object(T.uniq)(a?a(t):It(t));const c=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Object(T.filter)(e,(function(e){return!Object(T.includes)(t,e.trim().toLocaleLowerCase())}))}(n,on);c.length>0&&(n=c),s.forEach(e=>{e.exactMatchRequested&&n.every(t=>e.keyphrase.includes(t))&&l.push(!0)});for(let e=0;eZt(e,t,r,i).count>0)){l.push(!0);break}}})),e.filter((e,t)=>l[t])}(i,o,a,l,s.map(e=>xr(e))),{anchorsWithKeyphrase:i,anchorsWithKeyphraseCount:i.length})};const cn=function(e){this._hasRegex=!1,this._regex="",this._multiplier="",this.createRegex(e)};cn.prototype.hasRegex=function(){return this._hasRegex},cn.prototype.createRegex=function(e){Object(T.isUndefined)(e)||Object(T.isUndefined)(e.fragments)||(this._hasRegex=!0,this._regex=vt(e.fragments,!0),this._multiplier=e.countModifier)},cn.prototype.getRegex=function(){return this._regex},cn.prototype.countSyllables=function(e){return this._hasRegex?(e.match(this._regex)||[]).length*this._multiplier:0};var un=cn;const hn=function(e){this.countSteps=[],Object(T.isUndefined)(e)||this.createSyllableCountSteps(e.deviations.vowels)};hn.prototype.createSyllableCountSteps=function(e){Object(T.forEach)(e,function(e){this.countSteps.push(new un(e))}.bind(this))},hn.prototype.getAvailableSyllableCountSteps=function(){return this.countSteps},hn.prototype.countSyllables=function(e){let t=0;return Object(T.forEach)(this.countSteps,(function(r){t+=r.countSyllables(e)})),t};var dn=hn;function pn(e){this._location=e.location,this._fragment=e.word,this._syllables=e.syllables,this._regex=null,this._options=Object(T.pick)(e,["notFollowedBy","alsoFollowedBy"])}pn.prototype.createRegex=function(){let e="";const t=this._options;let r=this._fragment;switch(Object(T.isUndefined)(t.notFollowedBy)||(r+="(?!["+t.notFollowedBy.join("")+"])"),Object(T.isUndefined)(t.alsoFollowedBy)||(r+="["+t.alsoFollowedBy.join("")+"]?"),this._location){case"atBeginning":e="^"+r;break;case"atEnd":e=r+"$";break;case"atBeginningOrEnd":e="(^"+r+")|("+r+"$)";break;default:e=r}this._regex=new RegExp(e)},pn.prototype.getRegex=function(){return null===this._regex&&this.createRegex(),this._regex},pn.prototype.occursIn=function(e){return this.getRegex().test(e)},pn.prototype.removeFrom=function(e){return e.replace(this._fragment," ")},pn.prototype.getSyllables=function(){return this._syllables};var gn=pn;const fn=Object(T.memoize)((function(e){let t=[];const r=e.deviations;return t=Object(T.flatMap)(r.words.fragments,(function(e,t){return Object(T.map)(e,(function(e){return e.location=t,new gn(e)}))})),t})),mn=function(e,t){let r=0;if(!Object(T.isUndefined)(t.deviations)&&!Object(T.isUndefined)(t.deviations.words)){if(!Object(T.isUndefined)(t.deviations.words.full)){const r=function(e,t){const r=t.deviations.words.full,n=Object(T.find)(r,(function(t){return t.word===e}));return Object(T.isUndefined)(n)?0:n.syllables}(e,t);if(0!==r)return r}if(!Object(T.isUndefined)(t.deviations.words.fragments)){const n=function(e,t){const r=fn(t);let n=e,s=0;return Object(T.forEach)(r,(function(e){e.occursIn(n)&&(n=e.removeFrom(n),s+=e.getSyllables())})),{word:n,syllableCount:s}}(e,t);e=n.word,r+=n.syllableCount}}return r+=function(e,t){let r=0;return r+=function(e,t){let r=0;const n=new RegExp("[^"+t.vowels+"]","ig"),s=e.split(n);return r+=Object(T.filter)(s,(function(e){return""!==e})).length,r}(e,t),Object(T.isUndefined)(t.deviations)||Object(T.isUndefined)(t.deviations.vowels)||(r+=function(e,t){return new dn(t).countSyllables(e)}(e,t)),r}(e,t),r};const Tn={NO_DATA:-1,VERY_EASY:0,EASY:1,FAIRLY_EASY:2,OKAY:3,FAIRLY_DIFFICULT:4,DIFFICULT:5,VERY_DIFFICULT:6};var En=function(e,t){const r=t.getConfig("syllables"),n=t.getHelper("memoizedTokenizer"),s=function(e){return e.getConfig("fleschReadingEaseScores")||{borders:{veryEasy:90,easy:80,fairlyEasy:70,okay:60,fairlyDifficult:50,difficult:30,veryDifficult:0},scores:{veryEasy:9,easy:9,fairlyEasy:9,okay:9,fairlyDifficult:6,difficult:3,veryDifficult:3}}}(t);let i=e.getText();if(""===i)return{score:-1,difficulty:Tn.NO_DATA};i=function(e){return e=e.replace(/\b[0-9]+\b/g,""),"."===(e=Ve(e))&&(e=""),e}(i);const a=function(e,t){const r=vr(e,t);let n=0;for(let e=0;e=t.borders.veryEasy?Tn.VERY_EASY:Object(T.inRange)(e,t.borders.easy,t.borders.veryEasy)?Tn.EASY:Object(T.inRange)(e,t.borders.fairlyEasy,t.borders.easy)?Tn.FAIRLY_EASY:Object(T.inRange)(e,t.borders.okay,t.borders.fairlyEasy)?Tn.OKAY:Object(T.inRange)(e,t.borders.fairlyDifficult,t.borders.okay)?Tn.FAIRLY_DIFFICULT:Object(T.inRange)(e,t.borders.difficult,t.borders.fairlyDifficult)?Tn.DIFFICULT:Tn.VERY_DIFFICULT}(h,s)}},vn=function(e,t){const r=t.getHelper("getWordsCustomHelper");let n=e.getText();n=kr(n);let s=br(n);return r&&(s=r(e.getText()).length),0===s?0:t.getResearch("keywordCount").count/s*100},bn=function(e){let t;return t=e.match(/]+)>((?:.|[\n\r\u2028\u2029])*?)<\/a>/gi),null===t&&(t=[]),t},yn=function(e){const t=bn(e.getText());return Object(T.map)(t,en)},An=function(e){let t="Dofollow";const r=new Ar.a.Parser({onopentag:function(e,r){"a"===e&&r.rel&&r.rel.toLowerCase().split(/\s/).includes("nofollow")&&(t="Nofollow")}});return r.write(e),r.end(),t},On=function(e,t){const r=en(e),n=rn(r);return n&&!sn(n)||an(r)?"other":nn(r,t)?"internal":"external"},Cn=function(e){const t=bn(e.getText()),r=e.getPermalink(),n={total:t.length,internalTotal:0,internalDofollow:0,internalNofollow:0,externalTotal:0,externalDofollow:0,externalNofollow:0,otherTotal:0,otherDofollow:0,otherNofollow:0};for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.name=e,this.attributes=t,this.childNodes=r,Object(T.isEmpty)(n)||(this.sourceCodeLocation=new class{constructor(e){e.startTag&&(this.startTag={startOffset:e.startTag.startOffset,endOffset:e.startTag.endOffset}),e.endTag&&(this.endTag={startOffset:e.endTag.startOffset,endOffset:e.endTag.endOffset}),this.startOffset=e.startOffset,this.endOffset=e.endOffset}}(n))}findAll(e){return function e(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s=[];return t.childNodes?(t.childNodes.forEach(t=>{r(t)?(s.push(t),n&&s.push(...e(t,r,n))):s.push(...e(t,r,n))}),s):s}(this,e,arguments.length>1&&void 0!==arguments[1]&&arguments[1])}innerText(){return function e(t){let r="";return Object(T.isEmpty)(t.childNodes)||t.childNodes.forEach(t=>{"#text"===t.name?r+=t.value:r+=e(t)}),r}(this)}},Sn=class extends wn{constructor(e){super("h"+e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}),this.level=e}};class kn extends wn{constructor(){let e=arguments.length>3&&void 0!==arguments[3]&&arguments[3];super("p",arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),this.isImplicit=e}static createImplicit(){return new kn(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},!0)}}var Nn=kn,Rn=function(e){let t=e.getTree().findAll(e=>e instanceof Nn);return t=Object(T.reject)(t,e=>0===e.sentences.length),t=Object(T.reject)(t,e=>e.childNodes.every(e=>"a"===e.name)),t},In=function(e,t){let r=e.getText();r=kr(r),r=ze(r),r=Ye(r),r=r.replace(yt,""),r=function(e){return e.replace(/\s*<.*?br.*?>/gm,"

")}(r);const n=function(e){let t=function(e){let t=[];const r=/]+)?>(.*?)<\/p>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t=Object(T.map)(t,(function(e){return e[1]})),t.filter(e=>e.length>0)}(e);if(t.length>0)return t;let r=ht(e);return r=Object(T.filter)(r,(function(e){return 0!==e.indexOf("0?t:[e]}(r),s=[],i=t.getHelper("customCountLength");return n.map((function(e){s.push({countLength:i?i(e):br(e),text:e})})),Object(T.filter)(s,(function(e){return e.countLength>0}))};class xn{constructor(e){this._sentenceText=e||"",this._isPassive=!1,this._clauses=[]}getSentenceText(){return this._sentenceText}isPassive(){return this._isPassive}setPassive(e){this._isPassive=e}getClauses(){return this._clauses}setClauses(e){this._clauses=e,this.setSentencePassiveness()}setSentencePassiveness(){const e=this.getClauses().filter(e=>!0===e.isPassive());this.setPassive(e.length>0)}serialize(){return{_parseClass:"Sentence",sentenceText:this._sentenceText,isPassive:this._isPassive,clauses:this._clauses}}parse(e){const t=new xn(e.sentenceText);return t.setClauses(e.clauses),t.setPassive(e.isPassive),t}}var Dn=xn;const Ln=function(e,t){const r=t.getHelper("isPassiveSentence");let n=e.getText();n=kr(n);const s=t.getHelper("memoizedTokenizer"),i=vr(n,s).map((function(e){return new Dn(e)})),a=i.length,o=[];return Object(T.forEach)(i,(function(e){const t=mt(e.getSentenceText()).toLocaleLowerCase();e.setPassive(r(t)),!0===e.isPassive()&&o.push(e.getSentenceText())})),{total:a,passives:o}},Mn=function(e,t){const r=t.getHelper("getClauses");let n=e.getText();n=kr(n);const s=t.getHelper("memoizedTokenizer"),i=vr(n,s).map((function(e){return new Dn(e)})),a=i.length,o=[];return Object(T.forEach)(i,(function(e){const t=mt(e.getSentenceText()).toLocaleLowerCase(),n=r(t);e.setClauses(n),e.isPassive()&&o.push(e.getSentenceText())})),{total:a,passives:o}};function Pn(e,t){const r=t.getConfig("passiveConstructionType");return"periphrastic"===r?Mn(e,t):"morphological"===r?Ln(e,t):function(e,t){const r=Ln(e,t),n=Mn(e,t).passives;return{total:r.total,passives:n.concat(r.passives)}}(e,t)}function Fn(e,t,r){this._word=e,this._stem=t||e,this._occurrences=r||0}Fn.prototype.setWord=function(e){this._word=e},Fn.prototype.getWord=function(){return this._word},Fn.prototype.getStem=function(){return this._stem},Fn.prototype.setOccurrences=function(e){this._occurrences=e},Fn.prototype.getOccurrences=function(){return this._occurrences},Fn.prototype.serialize=function(){return{_parseClass:"ProminentWord",word:this._word,stem:this._stem,occurrences:this._occurrences}},Fn.parse=function(e){return new Fn(e.word,e.stem,e.occurrences)};var jn=Fn;const Bn=/[1234567890‘’“”"'.…?!:;,¿¡«»&*@#±^%$|~=+§`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\s]/g;function Un(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return e.filter((function(e){return e.getOccurrences()>=t&&""!==e.getWord().replace(Bn,"")}))}function Hn(e){e.sort((function(e,t){const r=t.getOccurrences()-e.getOccurrences();return 0!==r?r:e.getStem().localeCompare(t.getStem())}))}function $n(e){if(0===e.length)return[];e.sort((function(e,t){return e.getStem().localeCompare(t.getStem())}));const t=[];let r=new jn(e[0].getWord(),e[0].getStem(),e[0].getOccurrences());for(let n=1;n1&&e.length<5&&e===e.toLocaleUpperCase()&&r.push(e.toLocaleLowerCase())})),Object(T.uniq)(r)}function qn(e,t,r,n){if(0===e.length)return[];const s=Object(T.uniq)(e.filter(e=>!n.includes(e.trim()))),i=[];return s.forEach((function(n){t.includes(n)?i.push(new jn(n.toLocaleUpperCase(),n,e.filter(e=>e===n).length)):i.push(new jn(n,r(n),e.filter(e=>e===n).length))})),$n(i)}const Gn=Object(T.memoize)((e,t,r,n)=>qn(e,t,r,n),(e,t)=>e.join(",")+","+t.join(","));function zn(e,t,r,n,s){if(""===e)return[];const i=s?s(Qt(e).toLocaleLowerCase()):It(Qt(e).toLocaleLowerCase());return Gn(i,t,r,n)}const Wn=new RegExp("(ftp|http(s)?:\\/\\/.)(www\\\\.)?[-a-zA-Z0-9@:%._\\/+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:;%_\\/+.~#?&()=]*)|www\\.[-a-zA-Z0-9@:%._\\/+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:;%_\\/+.~#?&()=]*)","igm");var Yn=function(e){return e.replace(Wn,"")};const Vn=new RegExp("[^\\s@]+@[^\\s@]+\\.[^\\s@]+","igm");var Qn=function(e){return e.replace(Vn,"")},Xn=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("customGetStemmer"),s=n?n(t):t.getHelper("getStemmer")(t),i=t.getHelper("getWordsCustomHelper");let a=e.getText();a=Yn(a),a=Qn(a);const o=$n(zn(a,i?[]:Kn(a),s,r,i));return Hn(o),Object(T.take)(Un(o,5),20)};function Jn(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}function Zn(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}const es=function(e){return e=Yn(e),Qn(e)};var ts=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("customGetStemmer"),s=n?n(t):t.getHelper("getStemmer")(t),i=t.getHelper("getWordsCustomHelper"),a=t.getHelper("customCountLength"),o=es(e.getText()),l=es(e.getDescription()),c=es(e.getTitle()),u={};if(u.hasMetaDescription=""!==l,u.hasTitle=""!==c,u.prominentWords=[],a){if(a(o)<200)return u}else if(br(o)<100)return u;const h=Zn(o).map(e=>e[2]),d=[e.getKeyword(),e.getSynonyms(),c,l,h.join(" ")],p=i?[]:Kn(o.concat(d.join(" "))),g=zn(function(e){return e.replace(/]+)?>(.*?)<\/h\1>/gi,"")}(o),p,s,r,i),f=function(e,t,r,n,s){return qn(s?s(e.join(" ").toLocaleLowerCase()):It(e.join(" ").toLocaleLowerCase()),t,r,n)}(d,p,s,r,i);f.forEach(e=>e.setOccurrences(3*e.getOccurrences()));const m=$n(f.concat(g));Hn(m);let _=4;return s===Ot&&(_=2),u.prominentWords=Object(T.take)(Un(m,_),100),u};var rs=function(e,t){const r=t.getConfig("firstWordExceptions"),n=t.getConfig("secondWordExceptions"),s=t.getHelper("getWordsCustomHelper"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=kr(a),a=a.replace(/[\s\n]+/g," "),a=a.replace(/

.*<\/figure>/gs,""),a=a.replace(/]+)?>(.*?)<\/li>/gi,"");let o=vr(a,i),l=o.map((function(e){return function(e,t,r,n){const s=mt(Ve(e)),i=n?n(s):It(s);if(0===i.length)return"";let a=i[0].toLocaleLowerCase();return t.indexOf(a)>-1&&i.length>1&&(a=a+" "+i[1],r&&r.includes(i[1])&&(a=a+" "+i[2])),a}(e,r,n,s)}));return o=o.filter((function(e){const t=Ve(e);return(s?s(t):It(t)).length>0})),l=Object(T.filter)(l),function(e,t){const r=[];let n=[],s=1;return Object(T.forEach)(e,(function(i,a){const o=i,l=e[a+1];n.push(t[a]),function(e,t){return!Object(T.isEmpty)(e)&&e===t}(o,l)?s++:(r.push({word:o,count:s,sentences:n}),s=1,n=[])})),r}(l,o)},ns=function(e,t){let r=e.getText();r=kr(r),r=ze(r);const n=function(e){const t=[...e.matchAll(new RegExp("]+)?>(.*?)<\\/h\\1>","ig"))],r=[];return t.forEach((e,n)=>{const s=e[0],i=e.index,a=t[n+1];let o;o=Object(T.isUndefined)(a)?e.input.length:a.index;const l=e.input.slice(i+s.length,o);r.push({subheading:s,text:l,index:i})}),r}(r),s=t.getHelper("customCountLength"),i=[];Object(T.forEach)(n,(function(e){i.push({subheading:e.subheading,text:e.text,countLength:s?s(e.text):br(e.text),index:e.index})}));let a=0,o="";if(i.length>0){const e=i[0];o=r.slice(0,e.index),a=s?s(o):br(o)}return a>0&&""!==o&&i.unshift({subheading:"",text:o,countLength:a}),i};const ss=/(.*?)<\/h1>/,is=function(e){return"

"===(e=e.trim())||""===e};var as=function(e){const t=e.getText();let r=ht(t);r=Object(T.reject)(r,is);const n=[];return r.forEach((e,t)=>{const r=ss.exec(e);r&&n.push({tag:"h1",content:r[1],position:t})}),n};function os(e){return rr(e).length}var ls=function(e,t){const r=t.getResearch("morphology"),n=t.getConfig("functionWords");return{keyphraseLength:r.keyphraseForms.length,functionWords:n}};const cs="[ \\u00a0\\u06d4\\u061f\\u060C\\u061B \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>]",us=new RegExp("^("+cs+"+)","ig"),hs=new RegExp("("+cs+"+$)","ig");var ds=function(e){const t=function(e){return e.replace(us,"")}(e);let r="",n="";if(t!==e){const n=e.search(Object(T.escapeRegExp)(t));r=e.substr(0,n)}const s=function(e){return e.replace(hs,"")}(t);if(s!==t){const e=t.search(Object(T.escapeRegExp)(s))+s.length;n=t.substr(e)}return r+""+s+""+n};function ps(e){Object(T.defaults)(e,{original:"",marked:"",fieldsToMark:[]}),this._properties=e,this.isValid()}ps.prototype.getOriginal=function(){return this._properties.original},ps.prototype.getMarked=function(){return this._properties.marked},ps.prototype.getFieldsToMark=function(){return this._properties.fieldsToMark},ps.prototype.getPositionStart=function(){return this._properties.position&&this._properties.position.startOffset},ps.prototype.getPositionEnd=function(){return this._properties.position&&this._properties.position.endOffset},ps.prototype.applyWithReplace=function(e){return e.split(this._properties.original).join(this._properties.marked)},ps.prototype.applyWithPosition=function(e){const t="",r=this.getPositionEnd()+t.length;return(e=e.substring(0,this.getPositionStart())+t+e.substring(this.getPositionStart())).substring(0,r)+""+e.substring(r)},ps.prototype.serialize=function(){return{_parseClass:"Mark",...this._properties}},ps.prototype.isValid=function(){if(!Object(T.isUndefined)(this.getPositionStart())&&this.getPositionStart()<0)throw new RangeError("positionStart should be larger or equal than 0.");if(!Object(T.isUndefined)(this.getPositionEnd())&&this.getPositionEnd()<=0)throw new RangeError("positionEnd should be larger than 0.");if(!Object(T.isUndefined)(this.getPositionStart())&&!Object(T.isUndefined)(this.getPositionEnd())&&this.getPositionStart()>=this.getPositionEnd())throw new RangeError("The positionStart should be smaller than the positionEnd.");if(Object(T.isUndefined)(this.getPositionStart())&&!Object(T.isUndefined)(this.getPositionEnd())||Object(T.isUndefined)(this.getPositionEnd())&&!Object(T.isUndefined)(this.getPositionStart()))throw new Error("A mark object should either have start and end defined or start and end undefined.")},ps.prototype.hasPosition=function(){return!!this.getPositionStart&&this.getPositionStart()},ps.parse=function(e){return delete e._parseClass,new ps(e)};var gs=ps;const fs=/(]+>)([^]*?)(<\/a>)/,ms=function(e,t,r){t=t.map(e=>Object(T.escapeRegExp)(e));const n=r?vt(t,!0):vt(t),{anchors:s,markedAnchors:i}=function(e,t){const r=bn(e),n=r.map(e=>{const{openTag:r,content:n}=function(e){const[,t,r]=e.match(fs);return{openTag:t,content:r}}(e);return function(e,t){return`${e}${t}
`}(r,n.replace(t,e=>ds(e)))});return{anchors:r,markedAnchors:n}}(e,n);let a=e.replace(n,(function(e){return ds(e)}));if(s.length>0){const e=bn(a);for(let t=0;t ","ig")," ")};function _s(e,t,r,n){let s=[],i=[];return t.forEach((function(t){s=Zt(t,e,r,n).matches,s.length>0&&(i=i.concat(new gs({original:t,marked:ms(t,s,n)})))})),i}var Ts=function(e,t){const r=t.getResearch("morphology"),n=t.getHelper("memoizedTokenizer"),s=t.getHelper("matchWordCustomHelper");let i=e.getText();i=kr(i);const a=e.getLocale(),o=vr(i,n),l={count:0,matches:[],sentencesWithKeywords:[]};o.forEach(e=>{const t=r.keyphraseForms.map(t=>Zt(e,t,a,s));if(t.every(e=>e.count>0)){const r=t.map(e=>e.count),n=Object(T.flattenDeep)(t.map(e=>e.matches));l.count+=Math.min(...r),l.matches.push(n),l.sentencesWithKeywords.push(e)}});const c=Object(T.uniq)(Object(T.flattenDeep)(l.matches)).sort((e,t)=>t.length-e.length),u=Object(T.flattenDeep)(r.keyphraseForms);return{count:l.count,matches:c,markings:_s(u,l.sentencesWithKeywords,a,s),length:r.keyphraseForms.length}},Es=function(e){return e.replace(/[-_]/gi," ")};function vs(e,t){const r=function(e){let t=[];return e.keyphraseForms.forEach((function(e){-1!==e[0].indexOf("-")?t=1===e.length?function(e,t){return e.forEach((function(e){e.split("-").forEach(e=>t.push([e]))})),t}(e,t):function(e,t){const r=e[0].split("-").length;for(let e=0;ee[0])}(s);return 0!==l.length&&(o.count=l.length,o.matches=function(e,t,r,n,s,i){return t.filter(t=>{const r=tr(e,t,!0,n,i);return 0===s.length?100===r.percentWordMatches:r.percentWordMatches>50}).length}(i,l,0,a,r,n),o.percentReflectingTopic=o.matches/o.count*100),o}const As=function(e,t,r){return t.forEach(t=>t.matches.slice(0,r).forEach(t=>{e=e.replace(t,"")})),e};var Os=function(e,t){const r=e.getDescription(),n=e.getLocale(),s=t.getResearch("morphology"),i=t.getHelper("matchWordCustomHelper"),a=t.getHelper("memoizedTokenizer");return vr(r,a).map(e=>function(e,t,r,n){const s=t.keyphraseForms.map(t=>Zt(e,t,r,n)),i=Math.min(...s.map(e=>e.count));return e=As(e,s,i),[i,...t.synonymsForms.map(t=>{const i=t.map(t=>Zt(e,t,r,n)),a=Math.min(...i.map(e=>e.count));return e=As(e,s,a),a})].reduce((e,t)=>e+t,0)}(e,s,n,i)).reduce((e,t)=>e+t,0)},Cs=function(e,t){let r=t.length;return""!==e&&r>0&&(r+=e.length+3),r};function ws(e){return Cs(e.getDate(),e.getDescription())}function Ss(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.stemOriginalPairs=e,this.exactMatch=t}function ks(e,t){this.stem=e,this.original=t}Ss.prototype.getStems=function(){return this.exactMatch?[]:this.stemOriginalPairs.map(e=>e.stem)};const Ns=function(e,t,r){if(Object(T.isUndefined)(e)||""===e)return new Ss;const n=["“","”","〝","〞","〟","‟","„",'"'];if(Object(T.includes)(n,e[0])&&Object(T.includes)(n,e[e.length-1]))return e=e.substring(1,e.length-1),new Ss([new ks(Object(T.escapeRegExp)(e),e)],!0);let s=It(e);const i=s.filter(e=>!r.includes(e));return i.length>0&&(s=i),new Ss(s.map(e=>new ks(t(Qt(Object(T.escapeRegExp)(e))),e)))},Rs=Object(T.memoize)((e,t)=>Object(T.memoize)((r,n)=>function(e,t,r,n){return{keyphraseStems:Ns(e,r,n),synonymsStems:t.map(e=>Ns(e,r,n))}}(r,n,e,t),(e,t)=>e+","+t.join(",")));function Is(e,t){this.stem=e,this.forms=t}function xs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.keyphraseForms=e,this.synonymsForms=t}function Ds(e,t,r){return 0===e.stemOriginalPairs.length?[]:e.exactMatch?[[e.stemOriginalPairs[0].stem]]:e.stemOriginalPairs.map((function(e){return function(e,t,r){const n=t.find(t=>t.stem===e.stem),s=Qt(Object(T.escapeRegExp)(e.original)),i=n?[s,...n.forms]:[s];return r&&i.push(...r(e.original)),Object(T.uniq)(i)}(e,t,r)}))}var Ls=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getStemmer")(t),s=t.getHelper("createBasicWordForms"),i=t.getConfig("language"),a=function(e){const t=e.getText(),r=rr(e).map(e=>Pt(e)),n=[t,e.getTitle(),e.getSlug(),Es(e.getSlug()),e.getDescription(),r.join(" ")].join(" ");return It(n).map(e=>Qt(Object(T.escapeRegExp)(e)))}(e).map(e=>e.toLocaleLowerCase(i));return function(e,t,r,n,s,i){const a=function(e,t,r,n){return Rs(r,n)(e,t)}(e,t,s,n),o=a.keyphraseStems,l=a.synonymsStems;if(0===o.stemOriginalPairs.length&&0===l.length)return new xs;if([o,...l].every(e=>!0===e.exactMatch))return new xs([[o.stemOriginalPairs[0].stem]],l.map(e=>[[e.stemOriginalPairs[0].stem]]));const c=Object(T.uniq)(function(e,t){const r=0===e.stemOriginalPairs.length?[]:e.getStems(),n=0===t.length?[]:t.map(e=>e.getStems());return[...r,...Object(T.flattenDeep)(n)]}(o,l)),u=Object(T.uniq)(r.filter(e=>!n.includes(e))).map(e=>new ks(s(e),e)).filter(e=>c.includes(e.stem)).sort((e,t)=>e.stem.localeCompare(t.stem)).reduce((function(e,t){const r=e[e.length-1];return 0===e.length||r.stem!==t.stem?e.push(new Is(t.stem,[t.original])):r.forms.push(t.original),e}),[]);return new xs(Ds(o,u,i),l.map(e=>Ds(e,u,i)))}(e.getKeyword().toLocaleLowerCase(i).trim(),zr(e.getSynonyms().toLocaleLowerCase(i).trim()),a,r,n,s)},Ms=function(e){return e.hasTitle()?e.getTitleWidth():0},Ps=function(e){let t=e.getText();return t=kr(t),{text:t,count:br(t),unit:"word"}},Fs=function(e,t){const r=A(e.getLocale()),n=t.getHelper("getWordsCustomHelper"),s=t.getHelper("wordsCharacterCount"),i={ar:138,cn:158,de:179,en:228,es:218,fi:161,fr:195,he:187,it:188,nl:202,pl:166,pt:181,ru:184,sl:180,sv:199,tr:166},a=i[r],o={ja:357}[r];let l,c=Ps(e).count;o?(c=s(n(e.getText())),l=c/o):l=a?c/a:c/(Object.values(i).reduce((e,t)=>e+t)/Object.keys(i).length);const u=os(e);return Math.ceil(l+.2*u)},js=function(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=kr(n),vr(n,r)};function Bs(e){const t=new RegExp("()","igs");let r=e.getText().match(t);return null===r&&(r=[]),r.length}class Us{constructor(e){this.paper=e,this.defaultResearches={altTagCount:nr,countSentencesFromText:Nr,findKeywordInFirstParagraph:Rr,findKeyphraseInSEOTitle:Mr,findTransitionWords:$r,functionWordsInKeyphrase:Kr,getAnchorsWithKeyphrase:ln,getFleschReadingScore:En,getKeywordDensity:vn,getLinks:yn,getLinkStatistics:Cn,getParagraphs:Rn,getParagraphLength:In,getProminentWordsForInsights:Xn,getProminentWordsForInternalLinking:ts,getSentenceBeginnings:rs,getSubheadingTextLengths:ns,h1s:as,imageCount:os,keyphraseLength:ls,keywordCount:Ts,keywordCountInSlug:vs,keywordCountInUrl:bs,matchKeywordInSubheadings:ys,metaDescriptionKeyword:Os,metaDescriptionLength:ws,morphology:Ls,pageTitleWidth:Ms,readingTime:Fs,sentences:js,wordCountInText:Ps,videoCount:Bs,getPassiveVoiceResult:Pn},this._data={},this.customResearches={},this.helpers={memoizedTokenizer:_r},this.config={}}setPaper(e){this.paper=e}addResearch(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Research name cannot be empty");if(!(t instanceof Function))throw new Dt("The research requires a Function callback.");this.customResearches[e]=t}addHelper(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Helper name cannot be empty");if(!(t instanceof Function))throw new Dt("The research requires a Function callback.");this.helpers[e]=t}addConfig(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Failed to add the custom researcher config. Config name cannot be empty.");if(Object(T.isUndefined)(t)||Object(T.isEmpty)(t))throw new Mt("Failed to add the custom researcher config. Config cannot be empty.");this.config[e]=t}hasResearch(e){return Object.keys(this.getAvailableResearches()).filter((function(t){return t===e})).length>0}hasHelper(e){return Object.keys(this.getAvailableHelpers()).filter((function(t){return t===e})).length>0}hasConfig(e){return Object.keys(this.getAvailableConfig()).filter((function(t){return t===e})).length>0}getAvailableResearches(){return Object(T.merge)(this.defaultResearches,this.customResearches)}getAvailableHelpers(){return this.helpers}getAvailableConfig(){return this.config}getResearch(e){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Research name cannot be empty");return!!this.hasResearch(e)&&this.getAvailableResearches()[e](this.paper,this)}addResearchData(e,t){this._data[e]=t}getData(e){return!!this._data.hasOwnProperty(e)&&this._data[e]}getConfig(e){return!!this.config.hasOwnProperty(e)&&this.config[e]}getHelper(e){return!!this.helpers.hasOwnProperty(e)&&this.helpers[e]}}function Hs(e){return Object(T.flatten)(Object.values(e)).sort((e,t)=>t.length-e.length||e.localeCompare(t))}function $s(e,t){let r=0;const n=e.length;let s;const i=[];for(;(s=t.indexOf(e,r))>-1;){const a=Fr(t[s-1])||0===s,o=Fr(t[s+n])||t.length===s+n;a&&o&&i.push({index:s,match:e}),r=s+n}return i}const Ks=function(e,t){let r=[];return Object(T.forEach)(e,(function(e){e=Ve(e),jr(e,t)&&(r=r.concat($s(e,t)))})),r},qs=function(e){return e.sort((function(e,t){return e.index-t.index}))},Gs=function(e){e=qs(e);const t=[];for(let r=0;rt.index?1:0})),r};var Ws={getIndicesByWord:$s,getIndicesByWordList:Ks,filterIndices:Gs,sortIndices:qs,getIndicesByWordListSorted:zs};function Ys(e,t){if(t.includes(null))return e;for(let r=0;r1&&void 0!==arguments[1]?arguments[1]:"i";return 2===e.length?{reg:new RegExp(e[0],t),repl:e[1]}:3===e.length?{reg:new RegExp(e[0],t),repl1:e[1],repl2:e[2]}:null};var Qs=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"i";return e.map(e=>Vs(e,t))};function Xs(e,t){let r=[];return t.forEach((function(t){const n=e.match(t);null!==n&&r.push(n)})),r=Object(T.flattenDeep)(r),r}var Js=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=It(e).map(e=>e.toLowerCase()),s=n.indexOf(t.toLowerCase());if(s<1)return!1;const i=n[s-1];return Object(T.includes)(r,i)},Zs=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=It(e).map(e=>e.toLowerCase()),s=n.indexOf(t.toLowerCase());if(s<1)return!1;for(let e=0;ee.indexe.index>c.index&&e.index0};function ri(e,t){const r=[];for(const n in t)e.endsWith(t[n])&&r.push(t[n]);return r.sort((function(e,t){return t.length-e.length}))[0]||""}function ni(e,t){return RegExp(t).test(e)}function si(e,t){for(const r of t)if(-1!==e.search(new RegExp(r[0])))return e.replace(new RegExp(r[0]),r[1])}function ii(e,t){return t.forEach((function(t){e=e.replace(new RegExp(t[0]),t[1])})),e}function ai(e,t){for(let r=0;re.startsWith(t));let s="";return"string"==typeof n&&(s=e.slice(n.length),s.length>2&&(e=s)),t.includes(e)}function li(e,t){for(const r of e){const e=r.find(e=>t.endsWith(e));if(e)return t.slice(0,t.length-e.length)+r[0]}}function ci(e,t,r){for(let n=0;n2&&void 0!==arguments[2])||arguments[2];const n=r?1:0;if(Object(T.isEmpty)(e))return!1;const s=[];return Object(T.forEach)(e,(function(e){const t=e.index+e.match.length+n;s.push(t)})),Object(T.includes)(s,t)};const fi=function(e,t,r){const n=ei(e,r);return Object(T.forEach)(t,(function(e){gi(n,e.index)&&(t=t.filter((function(t){return t.index!==e.index})))})),t},mi=function(e,t){const{auxiliaryRegex:r,directPrecedenceExceptionRegex:n,followingAuxiliaryExceptionRegex:s}=t;let i=e.match(r)||[];if(void 0!==n||void 0!==s){let t=Ks(i,e);void 0!==n&&(t=fi(e,t,n)),t=function(e,t,r){const n=ei(e,r);return Object(T.forEach)(t,(function(e){(function(e,t){if(Object(T.isEmpty)(e))return!1;const r=t.index+t.match.length,n=[];return Object(T.forEach)(e,(function(e){n.push(e.index)})),Object(T.includes)(n,r)})(n,e)&&(t=t.filter((function(t){return t.index!==e.index})))})),t}(e,t,s),i=[],Object(T.forEach)(t,(function(e){i.push(e.match)}))}return Object(T.map)(i,(function(e){return Ve(e)}))};var _i=function(e,t){return function(e,t){const r=[],n=t.regexes.auxiliaryRegex;if(null===(e=Qt(e)).match(n))return r;const s=function(e,t){e=e.toLocaleLowerCase();const{regexes:r}=t;let n=Ks(t.auxiliaries,e);const s=function(e,t){let r;const n=[];for(t.lastIndex=0;null!==(r=t.exec(e));)n.push({index:r.index,match:r[0]});return n}(e,r.stopCharacterRegex);let i=Ks(t.stopwords,e);t.otherStopWordIndices&&t.otherStopWordIndices.length>0&&(i=i.concat(t.otherStopWordIndices)),void 0!==r.directPrecedenceExceptionRegex&&(n=fi(e,n,r.directPrecedenceExceptionRegex)),void 0!==r.elisionAuxiliaryExceptionRegex&&(n=function(e,t,r){const n=ei(e,r);return Object(T.forEach)(t,(function(e){gi(n,e.index,!1)&&(t=t.filter((function(t){return t.index!==e.index})))})),t}(e,n,r.elisionAuxiliaryExceptionRegex));let a=n.concat(i,s);return a=Gs(a),qs(a)}(e,t);for(let n=0;n{if(!Object(T.isUndefined)(e.getFieldsToMark()))return e.getFieldsToMark()}))),n=[];return r.forEach(e=>{"heading"===e&&Jn(t).forEach(e=>{n.push(e[0])})}),{fieldsToMark:r,selectedHTML:n}}function bi(e){return(e=(e=e.replace(/<\/?(o|ul)(?:[^>]+)?>/g,"")).replace(/\s?<\/?li(?:[^>]+)?>\s?/g," ")).replace(/\s+/g," ")}var yi=class{getResult(e,t){throw"The method getResult is not implemented"}isApplicable(e,t){return!0}hasEnoughContentForAssessment(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,r=Object(T.isUndefined)(e)?"":e.getText();return r=kr(r),Et(r).length>=t}},Ai=r(173),Oi=function(){return[]},Ci=function(e){this._hasScore=!1,this._identifier="",this._hasMarks=!1,this._hasJumps=!1,this._hasEditFieldName=!1,this._marker=Oi,this._hasBetaBadge=!1,this.score=0,this.text="",this.marks=[],this.editFieldName="",Object(T.isUndefined)(e)&&(e={}),Object(T.isUndefined)(e.score)||this.setScore(e.score),Object(T.isUndefined)(e.text)||this.setText(e.text),Object(T.isUndefined)(e.marks)||this.setMarks(e.marks),Object(T.isUndefined)(e._hasBetaBadge)||this.setHasBetaBadge(e._hasBetaBadge),Object(T.isUndefined)(e._hasJumps)||this.setHasJumps(e._hasJumps),Object(T.isUndefined)(e.editFieldName)||this.setEditFieldName(e.editFieldName)};Ci.prototype.hasScore=function(){return this._hasScore},Ci.prototype.getScore=function(){return this.score},Ci.prototype.setScore=function(e){Object(T.isNumber)(e)&&(this.score=e,this._hasScore=!0)},Ci.prototype.hasText=function(){return""!==this.text},Ci.prototype.getText=function(){return this.text},Ci.prototype.setText=function(e){Object(T.isUndefined)(e)&&(e=""),this.text=e},Ci.prototype.getMarks=function(){return this.marks},Ci.prototype.setMarks=function(e){Object(T.isArray)(e)&&(this.marks=e,this._hasMarks=e.length>0)},Ci.prototype.setIdentifier=function(e){this._identifier=e},Ci.prototype.getIdentifier=function(){return this._identifier},Ci.prototype.setMarker=function(e){this._marker=e},Ci.prototype.hasMarker=function(){return this._hasMarks&&this._marker!==this.emptyMarker},Ci.prototype.getMarker=function(){return this._marker},Ci.prototype.setHasMarks=function(e){this._hasMarks=e},Ci.prototype.hasMarks=function(){return this._hasMarks},Ci.prototype.setHasBetaBadge=function(e){this._hasBetaBadge=e},Ci.prototype.hasBetaBadge=function(){return this._hasBetaBadge},Ci.prototype.setHasJumps=function(e){this._hasJumps=e},Ci.prototype.hasJumps=function(){return this._hasJumps},Ci.prototype.hasEditFieldName=function(){return this._hasEditFieldName},Ci.prototype.getEditFieldName=function(){return this.editFieldName},Ci.prototype.setEditFieldName=function(e){""!==e&&(this.editFieldName=e,this._hasEditFieldName=!0)},Ci.prototype.serialize=function(){return{_parseClass:"AssessmentResult",identifier:this._identifier,score:this.score,text:this.text,marks:this.marks.map(e=>e.serialize()),_hasBetaBadge:this._hasBetaBadge,_hasJumps:this._hasJumps,editFieldName:this.editFieldName}},Ci.parse=function(e){const t=new Ci({text:e.text,score:e.score,marks:e.marks.map(e=>gs.parse(e)),_hasBetaBadge:e._hasBetaBadge,_hasJumps:e._hasJumps,editFieldName:e.editFieldName});return t.setIdentifier(e.identifier),t};var wi=Ci,Si=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{good:9,okay:6,bad:3},urlTitle:Object(Ai.b)("https://yoa.st/33e"),urlCallToAction:Object(Ai.b)("https://yoa.st/33f")};this.identifier="introductionKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=new wi;this._firstParagraphMatches=t.getResearch("findKeywordInFirstParagraph");const n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}isApplicable(e){return e.hasKeyword()&&e.hasText()}calculateResult(){return this._firstParagraphMatches.foundInOneSentence?{score:this._config.scores.good,resultText:Object(_.sprintf)( +window.yoast=window.yoast||{},window.yoast.analysis=function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=396)}([,,function(e,t){e.exports=window.lodash},,function(e,t){e.exports=window.wp.i18n},,,,,,,,,,,,,,function(e,t,r){(function(e){var n=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),l=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&t._extend(n,r),T(n.showHidden)&&(n.showHidden=!1),T(n.depth)&&(n.depth=2),T(n.colors)&&(n.colors=!1),T(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,e,n.depth)}function l(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function c(e,t){return e}function u(e,r,n){if(e.customInspect&&r&&A(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var s=r.inspect(n,e);return _(s)||(s=u(e,s,n)),s}var i=function(e,t){if(T(t))return e.stylize("undefined","undefined");if(_(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return m(t)?e.stylize(""+t,"number"):g(t)?e.stylize(""+t,"boolean"):f(t)?e.stylize("null","null"):void 0}(e,r);if(i)return i;var a=Object.keys(r),o=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),y(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return h(r);if(0===a.length){if(A(r)){var l=r.name?": "+r.name:"";return e.stylize("[Function"+l+"]","special")}if(E(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(b(r))return e.stylize(Date.prototype.toString.call(r),"date");if(y(r))return h(r)}var c,v="",O=!1,C=["{","}"];return p(r)&&(O=!0,C=["[","]"]),A(r)&&(v=" [Function"+(r.name?": "+r.name:"")+"]"),E(r)&&(v=" "+RegExp.prototype.toString.call(r)),b(r)&&(v=" "+Date.prototype.toUTCString.call(r)),y(r)&&(v=" "+h(r)),0!==a.length||O&&0!=r.length?n<0?E(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=O?function(e,t,r,n,s){for(var i=[],a=0,o=t.length;a60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,v,C)):C[0]+v+C[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,r,n,s,i){var a,o,l;if((l=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?o=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(o=e.stylize("[Setter]","special")),k(n,s)||(a="["+s+"]"),o||(e.seen.indexOf(l.value)<0?(o=f(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(o=i?o.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+o.split("\n").map((function(e){return" "+e})).join("\n")):o=e.stylize("[Circular]","special")),T(a)){if(i&&s.match(/^\d+$/))return o;(a=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function p(e){return Array.isArray(e)}function g(e){return"boolean"==typeof e}function f(e){return null===e}function m(e){return"number"==typeof e}function _(e){return"string"==typeof e}function T(e){return void 0===e}function E(e){return v(e)&&"[object RegExp]"===O(e)}function v(e){return"object"==typeof e&&null!==e}function b(e){return v(e)&&"[object Date]"===O(e)}function y(e){return v(e)&&("[object Error]"===O(e)||e instanceof Error)}function A(e){return"function"==typeof e}function O(e){return Object.prototype.toString.call(e)}function C(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(r){if(T(i)&&(i=e.env.NODE_DEBUG||""),r=r.toUpperCase(),!a[r])if(new RegExp("\\b"+r+"\\b","i").test(i)){var n=e.pid;a[r]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",r,n,e)}}else a[r]=function(){};return a[r]},t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=p,t.isBoolean=g,t.isNull=f,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=_,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=T,t.isRegExp=E,t.isObject=v,t.isDate=b,t.isError=y,t.isFunction=A,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(331);var w=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(){var e=new Date,t=[C(e.getHours()),C(e.getMinutes()),C(e.getSeconds())].join(":");return[e.getDate(),w[e.getMonth()],t].join(" ")}function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",S(),t.format.apply(t,arguments))},t.inherits=r(332),t._extend=function(e,t){if(!t||!v(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var N="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(N&&e[N]){var t;if("function"!=typeof(t=e[N]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,N,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),s=[],i=0;i1)for(var r=1;r1?1:a)+n[n.length-1].length};return{addRule:function(e,t){s.push({regex:e,type:t})},onText:function(e){for(var r=t+e,i=n(s,r);i&&i.max_index!==r.length;)o(r.substring(0,i.max_index),i.rule.type),r=r.substring(i.max_index),i=n(s,r);t=r},end:function(){if(0!==t.length){var e=r(s,t);if(!e){var n=new Error("unable to tokenize");throw n.tokenizer2={buffer:t,line:i,col:a},n}o(t,e.type)}}}}},,,,,,,,,,,function(e,t,r){r(159),e.exports=r(339)},function(e,t,r){e.exports=r(342)},function(e,t){e.exports={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag",CDATA:"cdata",Doctype:"doctype",isTag:function(e){return"tag"===e.type||"script"===e.type||"style"===e.type}}},,,,,,,function(e,t,r){(function(e,r){(function(){var n="object"==typeof e&&e&&e.Object===Object&&e,s="object"==typeof self&&self&&self.Object===Object&&self,i=n||s||Function("return this")(),a=t&&!t.nodeType&&t,o=a&&"object"==typeof r&&r&&!r.nodeType&&r,l=/[&<>"']/g,c=RegExp(l.source);n="object"==typeof e&&e&&e.Object===Object&&e,s="object"==typeof self&&self&&self.Object===Object&&self,i=n||s||Function("return this")();var u,h=(u={"&":"&","<":"<",">":">",'"':""","'":"'"},function(e){return null==u?void 0:u[e]}),d=Object.prototype,p=d.hasOwnProperty,g=d.toString,f=i.Symbol,m=f?f.toStringTag:void 0,_=f?f.prototype:void 0,T=_?_.toString:void 0;function E(e){if("string"==typeof e)return e;if(v(e))return function(e,t){for(var r=-1,n=null==e?0:e.length,s=Array(n);++r\n ',r?a+=null==(i=n.disabledMarkText)?"":i:t[l].identifier===s?a+=null==(i=n.removeMarksInText)?"":i:a+=null==(i=n.markInText)?"":i,a+="\n \n "),a+='\n \n \n '+(null==(i=t[l].screenReaderText)?"":i)+'\n '+(null==(i=t[l].text)?"":i)+"\n \n ";return a+"\n\n"},hiddenSpan:function(e){e||(e={});const{whiteSpace:t,width:r}=e;var n="",s=b;return Array.prototype.join,n+='\n'},relevantWords:function(e){e||(e={});const{words:t}=e;var r,n="";for(var s in Array.prototype.join,n+="\n \n \n \n \n \n \n \n \n \n \n ",t)n+="\n \n \n \n \n \n \n \n \n \n \n ";return n+"\n
WordDensityOccurrencesLengthRelevant word percentageLength bonusMultiplierRelevance
"+(null==(r=t[s].word)?"":r)+""+(null==(r=t[s].density)?"":r)+""+(null==(r=t[s].occurrences)?"":r)+""+(null==(r=t[s].length)?"":r)+""+(null==(r=t[s].relevantWordPercentage)?"":r)+""+(null==(r=t[s].lengthBonus)?"":r)+""+(null==(r=t[s].multiplier)?"":r)+""+(null==(r=t[s].relevance)?"":r)+"
\n"},snippetEditor:function(e){e||(e={});const{i18n:t,rendered:r,metaDescriptionDate:n,raw:s,placeholder:i}=e;var a="",o=b;return Array.prototype.join,a+='
\n\t
\n\t\t

'+o(t.snippetPreview)+'

\n\t

'+o(t.snippetPreviewDescription)+'

\n\n\t\t
\n\t\t\t
\n\t\t\t\t'+o(t.titleLabel)+'\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(r.title)+'\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t'+o(t.slugLabel)+'\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(r.baseUrl)+'\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(r.snippetCite)+'\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t'+o(t.metaDescriptionLabel)+"\n\t\t\t\t",""!==n&&(a+='\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(n)+" -\n\t\t\t\t\t\n\t\t\t\t"),a+'\n\t\t\t\t\n\t\t\t\t\t'+o(r.meta)+"\n\t\t\t\t\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\n\t
\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t
\n
\n"}};o?((o.exports=y).templates=y,a.templates=y):i.templates=y}).call(this)}).call(this,r(20),r(172)(e))},function(e,t,r){"use strict";var n=r(378),s=r(379);function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=E,t.resolve=function(e,t){return E(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?E(e,!1,!0).resolveObject(t):t},t.format=function(e){return s.isString(e)&&(e=E(e)),e instanceof i?e.format():i.prototype.format.call(e)},t.Url=i;var a=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,l=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(c),h=["%","/","?",";","#"].concat(u),d=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,g=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,f={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},_={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},T=r(380);function E(e,t,r){if(e&&s.isObject(e)&&e instanceof i)return e;var n=new i;return n.parse(e,t,r),n}i.prototype.parse=function(e,t,r){if(!s.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),o=-1!==i&&i127?D+="x":D+=x[L];if(!D.match(p)){var P=R.slice(0,S),F=R.slice(S+1),j=x.match(g);j&&(P.push(j[1]),F.unshift(j[2])),F.length&&(E="/"+F.join(".")+E),this.hostname=P.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),N||(this.hostname=n.toASCII(this.hostname));var B=this.port?":"+this.port:"",U=this.hostname||"";this.host=U+B,this.href+=this.host,N&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==E[0]&&(E="/"+E))}if(!f[y])for(S=0,I=u.length;S0)&&r.host.split("@"))&&(r.auth=N.shift(),r.host=r.hostname=N.shift())),r.search=e.search,r.query=e.query,s.isNull(r.pathname)&&s.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!A.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var C=A.slice(-1)[0],w=(r.host||e.host||A.length>1)&&("."===C||".."===C)||""===C,S=0,k=A.length;k>=0;k--)"."===(C=A[k])?A.splice(k,1):".."===C?(A.splice(k,1),S++):S&&(A.splice(k,1),S--);if(!b&&!y)for(;S--;S)A.unshift("..");!b||""===A[0]||A[0]&&"/"===A[0].charAt(0)||A.unshift(""),w&&"/"!==A.join("/").substr(-1)&&A.push("");var N,R=""===A[0]||A[0]&&"/"===A[0].charAt(0);return O&&(r.hostname=r.host=R?"":A.length?A.shift():"",(N=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=N.shift(),r.host=r.hostname=N.shift())),(b=b||r.host&&A.length)&&!R&&A.unshift(""),A.length?r.pathname=A.join("/"):(r.pathname=null,r.path=null),s.isNull(r.pathname)&&s.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},i.prototype.parseHost=function(){var e=this.host,t=o.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},,,,,,,,,,,,function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},function(e,t,r){"use strict";const n=r(384),s=r(103),i=r(385),a=r(104),o=s.CODE_POINTS,l=s.CODE_POINT_SEQUENCES,c={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},u="DATA_STATE";function h(e){return e===o.SPACE||e===o.LINE_FEED||e===o.TABULATION||e===o.FORM_FEED}function d(e){return e>=o.DIGIT_0&&e<=o.DIGIT_9}function p(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_Z}function g(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_Z}function f(e){return g(e)||p(e)}function m(e){return f(e)||d(e)}function _(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_F}function T(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_F}function E(e){return e+32}function v(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function b(e){return String.fromCharCode(E(e))}function y(e,t){const r=i[++e];let n=++e,s=n+r-1;for(;n<=s;){const e=n+s>>>1,a=i[e];if(at))return i[e+r];s=e-1}}return-1}class A{constructor(){this.preprocessor=new n,this.tokenQueue=[],this.allowCDATA=!1,this.state=u,this.returnState="",this.charRefCode=-1,this.tempBuff=[],this.lastStartTagName="",this.consumedAfterSnapshot=-1,this.active=!1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr=null}_err(){}_errOnNextCodePoint(e){this._consume(),this._err(e),this._unconsume()}getNextToken(){for(;!this.tokenQueue.length&&this.active;){this.consumedAfterSnapshot=0;const e=this._consume();this._ensureHibernation()||this[this.state](e)}return this.tokenQueue.shift()}write(e,t){this.active=!0,this.preprocessor.write(e,t)}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e)}_ensureHibernation(){if(this.preprocessor.endOfChunkHit){for(;this.consumedAfterSnapshot>0;this.consumedAfterSnapshot--)this.preprocessor.retreat();return this.active=!1,this.tokenQueue.push({type:A.HIBERNATION_TOKEN}),!0}return!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(){this.consumedAfterSnapshot--,this.preprocessor.retreat()}_reconsumeInState(e){this.state=e,this._unconsume()}_consumeSequenceIfMatch(e,t,r){let n=0,s=!0;const i=e.length;let a=0,l=t,c=void 0;for(;a0&&(l=this._consume(),n++),l===o.EOF){s=!1;break}if(c=e[a],l!==c&&(r||l!==E(c))){s=!1;break}}if(!s)for(;n--;)this._unconsume();return s}_isTempBufferEqualToScriptString(){if(this.tempBuff.length!==l.SCRIPT_STRING.length)return!1;for(let e=0;e0&&this._err(a.endTagWithAttributes),e.selfClosing&&this._err(a.endTagWithTrailingSolidus)),this.tokenQueue.push(e)}_emitCurrentCharacterToken(){this.currentCharacterToken&&(this.tokenQueue.push(this.currentCharacterToken),this.currentCharacterToken=null)}_emitEOFToken(){this._createEOFToken(),this._emitCurrentToken()}_appendCharToCurrentCharacterToken(e,t){this.currentCharacterToken&&this.currentCharacterToken.type!==e&&this._emitCurrentCharacterToken(),this.currentCharacterToken?this.currentCharacterToken.chars+=t:this._createCharacterToken(e,t)}_emitCodePoint(e){let t=A.CHARACTER_TOKEN;h(e)?t=A.WHITESPACE_CHARACTER_TOKEN:e===o.NULL&&(t=A.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(t,v(e))}_emitSeveralCodePoints(e){for(let t=0;t-1;){const e=i[n],s=e<7;s&&1&e&&(t=2&e?[i[++n],i[++n]]:[i[++n]],r=0);const a=this._consume();if(this.tempBuff.push(a),r++,a===o.EOF)break;n=s?4&e?y(n,a):-1:a===e?++n:-1}for(;r--;)this.tempBuff.pop(),this._unconsume();return t}_isCharacterReferenceInAttribute(){return"ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE"===this.returnState||"ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE"===this.returnState||"ATTRIBUTE_VALUE_UNQUOTED_STATE"===this.returnState}_isCharacterReferenceAttributeQuirk(e){if(!e&&this._isCharacterReferenceInAttribute()){const e=this._consume();return this._unconsume(),e===o.EQUALS_SIGN||m(e)}return!1}_flushCodePointsConsumedAsCharacterReference(){if(this._isCharacterReferenceInAttribute())for(let e=0;e")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state="SCRIPT_DATA_ESCAPED_STATE",this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state="SCRIPT_DATA_ESCAPED_STATE",this._emitCodePoint(e))}SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE(e){e===o.SOLIDUS?(this.tempBuff=[],this.state="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE"):f(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE")):(this._emitChars("<"),this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE"))}SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE(e){f(e)?(this._createEndTagToken(),this._reconsumeInState("SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE")):(this._emitChars("")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitCodePoint(e))}SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE(e){e===o.SOLIDUS?(this.tempBuff=[],this.state="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",this._emitChars("/")):this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPED_STATE")}SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE(e){h(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?"SCRIPT_DATA_ESCAPED_STATE":"SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitCodePoint(e)):p(e)?(this.tempBuff.push(E(e)),this._emitCodePoint(e)):g(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPED_STATE")}BEFORE_ATTRIBUTE_NAME_STATE(e){h(e)||(e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?this._reconsumeInState("AFTER_ATTRIBUTE_NAME_STATE"):e===o.EQUALS_SIGN?(this._err(a.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state="ATTRIBUTE_NAME_STATE"):(this._createAttr(""),this._reconsumeInState("ATTRIBUTE_NAME_STATE")))}ATTRIBUTE_NAME_STATE(e){h(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?(this._leaveAttrName("AFTER_ATTRIBUTE_NAME_STATE"),this._unconsume()):e===o.EQUALS_SIGN?this._leaveAttrName("BEFORE_ATTRIBUTE_VALUE_STATE"):p(e)?this.currentAttr.name+=b(e):e===o.QUOTATION_MARK||e===o.APOSTROPHE||e===o.LESS_THAN_SIGN?(this._err(a.unexpectedCharacterInAttributeName),this.currentAttr.name+=v(e)):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.name+=s.REPLACEMENT_CHARACTER):this.currentAttr.name+=v(e)}AFTER_ATTRIBUTE_NAME_STATE(e){h(e)||(e===o.SOLIDUS?this.state="SELF_CLOSING_START_TAG_STATE":e===o.EQUALS_SIGN?this.state="BEFORE_ATTRIBUTE_VALUE_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState("ATTRIBUTE_NAME_STATE")))}BEFORE_ATTRIBUTE_VALUE_STATE(e){h(e)||(e===o.QUOTATION_MARK?this.state="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE":e===o.APOSTROPHE?this.state="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.missingAttributeValue),this.state=u,this._emitCurrentToken()):this._reconsumeInState("ATTRIBUTE_VALUE_UNQUOTED_STATE"))}ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE":e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE":e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}ATTRIBUTE_VALUE_UNQUOTED_STATE(e){h(e)?this._leaveAttrValue("BEFORE_ATTRIBUTE_NAME_STATE"):e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_UNQUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.GREATER_THAN_SIGN?(this._leaveAttrValue(u),this._emitCurrentToken()):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.QUOTATION_MARK||e===o.APOSTROPHE||e===o.LESS_THAN_SIGN||e===o.EQUALS_SIGN||e===o.GRAVE_ACCENT?(this._err(a.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=v(e)):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}AFTER_ATTRIBUTE_VALUE_QUOTED_STATE(e){h(e)?this._leaveAttrValue("BEFORE_ATTRIBUTE_NAME_STATE"):e===o.SOLIDUS?this._leaveAttrValue("SELF_CLOSING_START_TAG_STATE"):e===o.GREATER_THAN_SIGN?(this._leaveAttrValue(u),this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._err(a.missingWhitespaceBetweenAttributes),this._reconsumeInState("BEFORE_ATTRIBUTE_NAME_STATE"))}SELF_CLOSING_START_TAG_STATE(e){e===o.GREATER_THAN_SIGN?(this.currentToken.selfClosing=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._err(a.unexpectedSolidusInTag),this._reconsumeInState("BEFORE_ATTRIBUTE_NAME_STATE"))}BOGUS_COMMENT_STATE(e){e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._emitCurrentToken(),this._emitEOFToken()):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.data+=s.REPLACEMENT_CHARACTER):this.currentToken.data+=v(e)}MARKUP_DECLARATION_OPEN_STATE(e){this._consumeSequenceIfMatch(l.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state="COMMENT_START_STATE"):this._consumeSequenceIfMatch(l.DOCTYPE_STRING,e,!1)?this.state="DOCTYPE_STATE":this._consumeSequenceIfMatch(l.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state="CDATA_SECTION_STATE":(this._err(a.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state="BOGUS_COMMENT_STATE"):this._ensureHibernation()||(this._err(a.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState("BOGUS_COMMENT_STATE"))}COMMENT_START_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_START_DASH_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.abruptClosingOfEmptyComment),this.state=u,this._emitCurrentToken()):this._reconsumeInState("COMMENT_STATE")}COMMENT_START_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.abruptClosingOfEmptyComment),this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState("COMMENT_STATE"))}COMMENT_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_DASH_STATE":e===o.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state="COMMENT_LESS_THAN_SIGN_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.data+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.data+=v(e)}COMMENT_LESS_THAN_SIGN_STATE(e){e===o.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state="COMMENT_LESS_THAN_SIGN_BANG_STATE"):e===o.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState("COMMENT_STATE")}COMMENT_LESS_THAN_SIGN_BANG_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE":this._reconsumeInState("COMMENT_STATE")}COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE":this._reconsumeInState("COMMENT_END_DASH_STATE")}COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE(e){e!==o.GREATER_THAN_SIGN&&e!==o.EOF&&this._err(a.nestedComment),this._reconsumeInState("COMMENT_END_STATE")}COMMENT_END_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_STATE":e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState("COMMENT_STATE"))}COMMENT_END_STATE(e){e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EXCLAMATION_MARK?this.state="COMMENT_END_BANG_STATE":e===o.HYPHEN_MINUS?this.currentToken.data+="-":e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState("COMMENT_STATE"))}COMMENT_END_BANG_STATE(e){e===o.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state="COMMENT_END_DASH_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.incorrectlyClosedComment),this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--!",this._reconsumeInState("COMMENT_STATE"))}DOCTYPE_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_NAME_STATE":e===o.GREATER_THAN_SIGN?this._reconsumeInState("BEFORE_DOCTYPE_NAME_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingWhitespaceBeforeDoctypeName),this._reconsumeInState("BEFORE_DOCTYPE_NAME_STATE"))}BEFORE_DOCTYPE_NAME_STATE(e){h(e)||(p(e)?(this._createDoctypeToken(b(e)),this.state="DOCTYPE_NAME_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this._createDoctypeToken(s.REPLACEMENT_CHARACTER),this.state="DOCTYPE_NAME_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeName),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._createDoctypeToken(v(e)),this.state="DOCTYPE_NAME_STATE"))}DOCTYPE_NAME_STATE(e){h(e)?this.state="AFTER_DOCTYPE_NAME_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):p(e)?this.currentToken.name+=b(e):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.name+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.name+=v(e)}AFTER_DOCTYPE_NAME_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this._consumeSequenceIfMatch(l.PUBLIC_STRING,e,!1)?this.state="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE":this._consumeSequenceIfMatch(l.SYSTEM_STRING,e,!1)?this.state="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE":this._ensureHibernation()||(this._err(a.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE(e){h(e)||(e===o.QUOTATION_MARK?(this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.publicId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=v(e)}DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.publicId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=v(e)}AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE(e){h(e)?this.state="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE(e){h(e)||(e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.systemId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=v(e)}DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.systemId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=v(e)}AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.unexpectedCharacterAfterDoctypeSystemIdentifier),this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}BOGUS_DOCTYPE_STATE(e){e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.NULL?this._err(a.unexpectedNullCharacter):e===o.EOF&&(this._emitCurrentToken(),this._emitEOFToken())}CDATA_SECTION_STATE(e){e===o.RIGHT_SQUARE_BRACKET?this.state="CDATA_SECTION_BRACKET_STATE":e===o.EOF?(this._err(a.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}CDATA_SECTION_BRACKET_STATE(e){e===o.RIGHT_SQUARE_BRACKET?this.state="CDATA_SECTION_END_STATE":(this._emitChars("]"),this._reconsumeInState("CDATA_SECTION_STATE"))}CDATA_SECTION_END_STATE(e){e===o.GREATER_THAN_SIGN?this.state=u:e===o.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState("CDATA_SECTION_STATE"))}CHARACTER_REFERENCE_STATE(e){this.tempBuff=[o.AMPERSAND],e===o.NUMBER_SIGN?(this.tempBuff.push(e),this.state="NUMERIC_CHARACTER_REFERENCE_STATE"):m(e)?this._reconsumeInState("NAMED_CHARACTER_REFERENCE_STATE"):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}NAMED_CHARACTER_REFERENCE_STATE(e){const t=this._matchNamedCharacterReference(e);if(this._ensureHibernation())this.tempBuff=[o.AMPERSAND];else if(t){const e=this.tempBuff[this.tempBuff.length-1]===o.SEMICOLON;this._isCharacterReferenceAttributeQuirk(e)||(e||this._errOnNextCodePoint(a.missingSemicolonAfterCharacterReference),this.tempBuff=t),this._flushCodePointsConsumedAsCharacterReference(),this.state=this.returnState}else this._flushCodePointsConsumedAsCharacterReference(),this.state="AMBIGUOS_AMPERSAND_STATE"}AMBIGUOS_AMPERSAND_STATE(e){m(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=v(e):this._emitCodePoint(e):(e===o.SEMICOLON&&this._err(a.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}NUMERIC_CHARACTER_REFERENCE_STATE(e){this.charRefCode=0,e===o.LATIN_SMALL_X||e===o.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE"):this._reconsumeInState("DECIMAL_CHARACTER_REFERENCE_START_STATE")}HEXADEMICAL_CHARACTER_REFERENCE_START_STATE(e){!function(e){return d(e)||_(e)||T(e)}(e)?(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState("HEXADEMICAL_CHARACTER_REFERENCE_STATE")}DECIMAL_CHARACTER_REFERENCE_START_STATE(e){d(e)?this._reconsumeInState("DECIMAL_CHARACTER_REFERENCE_STATE"):(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}HEXADEMICAL_CHARACTER_REFERENCE_STATE(e){_(e)?this.charRefCode=16*this.charRefCode+e-55:T(e)?this.charRefCode=16*this.charRefCode+e-87:d(e)?this.charRefCode=16*this.charRefCode+e-48:e===o.SEMICOLON?this.state="NUMERIC_CHARACTER_REFERENCE_END_STATE":(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState("NUMERIC_CHARACTER_REFERENCE_END_STATE"))}DECIMAL_CHARACTER_REFERENCE_STATE(e){d(e)?this.charRefCode=10*this.charRefCode+e-48:e===o.SEMICOLON?this.state="NUMERIC_CHARACTER_REFERENCE_END_STATE":(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState("NUMERIC_CHARACTER_REFERENCE_END_STATE"))}NUMERIC_CHARACTER_REFERENCE_END_STATE(){if(this.charRefCode===o.NULL)this._err(a.nullCharacterReference),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(a.characterReferenceOutsideUnicodeRange),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(s.isSurrogate(this.charRefCode))this._err(a.surrogateCharacterReference),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(s.isUndefinedCodePoint(this.charRefCode))this._err(a.noncharacterCharacterReference);else if(s.isControlCodePoint(this.charRefCode)||this.charRefCode===o.CARRIAGE_RETURN){this._err(a.controlCharacterReference);const e=c[this.charRefCode];e&&(this.charRefCode=e)}this.tempBuff=[this.charRefCode],this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)}}A.CHARACTER_TOKEN="CHARACTER_TOKEN",A.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",A.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",A.START_TAG_TOKEN="START_TAG_TOKEN",A.END_TAG_TOKEN="END_TAG_TOKEN",A.COMMENT_TOKEN="COMMENT_TOKEN",A.DOCTYPE_TOKEN="DOCTYPE_TOKEN",A.EOF_TOKEN="EOF_TOKEN",A.HIBERNATION_TOKEN="HIBERNATION_TOKEN",A.MODE={DATA:u,RCDATA:"RCDATA_STATE",RAWTEXT:"RAWTEXT_STATE",SCRIPT_DATA:"SCRIPT_DATA_STATE",PLAINTEXT:"PLAINTEXT_STATE"},A.getTokenAttr=function(e,t){for(let r=e.attrs.length-1;r>=0;r--)if(e.attrs[r].name===t)return e.attrs[r].value;return null},e.exports=A},,,,,,,,,,,,,,,,,function(e,t,r){r(334),e.exports=r(160)},function(e,t){e.exports=function(e,t,r){var n="";if(n+=e.name||"Error",n+=": "+(e.message||""),r instanceof Array)for(var s in r)n+="\n # "+r[s];for(var i in t)n+="\n at "+t[i].toString();return n}},function(e,t,r){"use strict";const n=[65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];t.REPLACEMENT_CHARACTER="�",t.CODE_POINTS={EOF:-1,NULL:0,TABULATION:9,CARRIAGE_RETURN:13,LINE_FEED:10,FORM_FEED:12,SPACE:32,EXCLAMATION_MARK:33,QUOTATION_MARK:34,NUMBER_SIGN:35,AMPERSAND:38,APOSTROPHE:39,HYPHEN_MINUS:45,SOLIDUS:47,DIGIT_0:48,DIGIT_9:57,SEMICOLON:59,LESS_THAN_SIGN:60,EQUALS_SIGN:61,GREATER_THAN_SIGN:62,QUESTION_MARK:63,LATIN_CAPITAL_A:65,LATIN_CAPITAL_F:70,LATIN_CAPITAL_X:88,LATIN_CAPITAL_Z:90,RIGHT_SQUARE_BRACKET:93,GRAVE_ACCENT:96,LATIN_SMALL_A:97,LATIN_SMALL_F:102,LATIN_SMALL_X:120,LATIN_SMALL_Z:122,REPLACEMENT_CHARACTER:65533},t.CODE_POINT_SEQUENCES={DASH_DASH_STRING:[45,45],DOCTYPE_STRING:[68,79,67,84,89,80,69],CDATA_START_STRING:[91,67,68,65,84,65,91],SCRIPT_STRING:[115,99,114,105,112,116],PUBLIC_STRING:[80,85,66,76,73,67],SYSTEM_STRING:[83,89,83,84,69,77]},t.isSurrogate=function(e){return e>=55296&&e<=57343},t.isSurrogatePair=function(e){return e>=56320&&e<=57343},t.getSurrogatePairCodePoint=function(e,t){return 1024*(e-55296)+9216+t},t.isControlCodePoint=function(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159},t.isUndefinedCodePoint=function(e){return e>=64976&&e<=65007||n.indexOf(e)>-1}},function(e,t,r){"use strict";e.exports={controlCharacterInInputStream:"control-character-in-input-stream",noncharacterInInputStream:"noncharacter-in-input-stream",surrogateInInputStream:"surrogate-in-input-stream",nonVoidHtmlElementStartTagWithTrailingSolidus:"non-void-html-element-start-tag-with-trailing-solidus",endTagWithAttributes:"end-tag-with-attributes",endTagWithTrailingSolidus:"end-tag-with-trailing-solidus",unexpectedSolidusInTag:"unexpected-solidus-in-tag",unexpectedNullCharacter:"unexpected-null-character",unexpectedQuestionMarkInsteadOfTagName:"unexpected-question-mark-instead-of-tag-name",invalidFirstCharacterOfTagName:"invalid-first-character-of-tag-name",unexpectedEqualsSignBeforeAttributeName:"unexpected-equals-sign-before-attribute-name",missingEndTagName:"missing-end-tag-name",unexpectedCharacterInAttributeName:"unexpected-character-in-attribute-name",unknownNamedCharacterReference:"unknown-named-character-reference",missingSemicolonAfterCharacterReference:"missing-semicolon-after-character-reference",unexpectedCharacterAfterDoctypeSystemIdentifier:"unexpected-character-after-doctype-system-identifier",unexpectedCharacterInUnquotedAttributeValue:"unexpected-character-in-unquoted-attribute-value",eofBeforeTagName:"eof-before-tag-name",eofInTag:"eof-in-tag",missingAttributeValue:"missing-attribute-value",missingWhitespaceBetweenAttributes:"missing-whitespace-between-attributes",missingWhitespaceAfterDoctypePublicKeyword:"missing-whitespace-after-doctype-public-keyword",missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:"missing-whitespace-between-doctype-public-and-system-identifiers",missingWhitespaceAfterDoctypeSystemKeyword:"missing-whitespace-after-doctype-system-keyword",missingQuoteBeforeDoctypePublicIdentifier:"missing-quote-before-doctype-public-identifier",missingQuoteBeforeDoctypeSystemIdentifier:"missing-quote-before-doctype-system-identifier",missingDoctypePublicIdentifier:"missing-doctype-public-identifier",missingDoctypeSystemIdentifier:"missing-doctype-system-identifier",abruptDoctypePublicIdentifier:"abrupt-doctype-public-identifier",abruptDoctypeSystemIdentifier:"abrupt-doctype-system-identifier",cdataInHtmlContent:"cdata-in-html-content",incorrectlyOpenedComment:"incorrectly-opened-comment",eofInScriptHtmlCommentLikeText:"eof-in-script-html-comment-like-text",eofInDoctype:"eof-in-doctype",nestedComment:"nested-comment",abruptClosingOfEmptyComment:"abrupt-closing-of-empty-comment",eofInComment:"eof-in-comment",incorrectlyClosedComment:"incorrectly-closed-comment",eofInCdata:"eof-in-cdata",absenceOfDigitsInNumericCharacterReference:"absence-of-digits-in-numeric-character-reference",nullCharacterReference:"null-character-reference",surrogateCharacterReference:"surrogate-character-reference",characterReferenceOutsideUnicodeRange:"character-reference-outside-unicode-range",controlCharacterReference:"control-character-reference",noncharacterCharacterReference:"noncharacter-character-reference",missingWhitespaceBeforeDoctypeName:"missing-whitespace-before-doctype-name",missingDoctypeName:"missing-doctype-name",invalidCharacterSequenceAfterDoctypeName:"invalid-character-sequence-after-doctype-name",duplicateAttribute:"duplicate-attribute",nonConformingDoctype:"non-conforming-doctype",missingDoctype:"missing-doctype",misplacedDoctype:"misplaced-doctype",endTagWithoutMatchingOpenElement:"end-tag-without-matching-open-element",closingOfElementWithOpenChildElements:"closing-of-element-with-open-child-elements",disallowedContentInNoscriptInHead:"disallowed-content-in-noscript-in-head",openElementsLeftAfterEof:"open-elements-left-after-eof",abandonedHeadElementChild:"abandoned-head-element-child",misplacedStartTagForHeadElement:"misplaced-start-tag-for-head-element",nestedNoscriptInHead:"nested-noscript-in-head",eofInElementThatCanContainOnlyText:"eof-in-element-that-can-contain-only-text"}},function(e,t,r){"use strict";const n=r(33);e.exports=class extends n{constructor(e,t){super(e),this.posTracker=null,this.onParseError=t.onParseError}_setErrorLocation(e){e.startLine=e.endLine=this.posTracker.line,e.startCol=e.endCol=this.posTracker.col,e.startOffset=e.endOffset=this.posTracker.offset}_reportError(e){const t={code:e,startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};this._setErrorLocation(t),this.onParseError(t)}_getOverriddenMethods(e){return{_err(t){e._reportError(t)}}}}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){e.exports=r(333)},function(e,t,r){r(101).check("es5")},function(e,t,r){var n=new(r(335)),s=function(e){return n.test(e)};s.define=function(e,t){n.define(e,t)},s.check=function(e){n.check(e)},s.test=s,e.exports=s},function(e,t,r){var n=r(162),s={input:!0,option:!0,optgroup:!0,select:!0,button:!0,datalist:!0,textarea:!0},i={tr:{tr:!0,th:!0,td:!0},th:{th:!0},td:{thead:!0,th:!0,td:!0},body:{head:!0,link:!0,script:!0},li:{li:!0},p:{p:!0},h1:{p:!0},h2:{p:!0},h3:{p:!0},h4:{p:!0},h5:{p:!0},h6:{p:!0},select:s,input:s,output:s,button:s,datalist:s,textarea:s,option:{option:!0},optgroup:{optgroup:!0}},a={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},o={__proto__:null,math:!0,svg:!0},l={__proto__:null,mi:!0,mo:!0,mn:!0,ms:!0,mtext:!0,"annotation-xml":!0,foreignObject:!0,desc:!0,title:!0},c=/\s|\//;function u(e,t){this._options=t||{},this._cbs=e||{},this._tagname="",this._attribname="",this._attribvalue="",this._attribs=null,this._stack=[],this._foreignContext=[],this.startIndex=0,this.endIndex=null,this._lowerCaseTagNames="lowerCaseTags"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode,this._lowerCaseAttributeNames="lowerCaseAttributeNames"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode,this._options.Tokenizer&&(n=this._options.Tokenizer),this._tokenizer=new n(this._options,this),this._cbs.onparserinit&&this._cbs.onparserinit(this)}r(83)(u,r(353).EventEmitter),u.prototype._updatePosition=function(e){null===this.endIndex?this._tokenizer._sectionStart<=e?this.startIndex=0:this.startIndex=this._tokenizer._sectionStart-e:this.startIndex=this.endIndex+1,this.endIndex=this._tokenizer.getAbsoluteIndex()},u.prototype.ontext=function(e){this._updatePosition(1),this.endIndex--,this._cbs.ontext&&this._cbs.ontext(e)},u.prototype.onopentagname=function(e){if(this._lowerCaseTagNames&&(e=e.toLowerCase()),this._tagname=e,!this._options.xmlMode&&e in i)for(var t;(t=this._stack[this._stack.length-1])in i[e];this.onclosetag(t));!this._options.xmlMode&&e in a||(this._stack.push(e),e in o?this._foreignContext.push(!0):e in l&&this._foreignContext.push(!1)),this._cbs.onopentagname&&this._cbs.onopentagname(e),this._cbs.onopentag&&(this._attribs={})},u.prototype.onopentagend=function(){this._updatePosition(1),this._attribs&&(this._cbs.onopentag&&this._cbs.onopentag(this._tagname,this._attribs),this._attribs=null),!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in a&&this._cbs.onclosetag(this._tagname),this._tagname=""},u.prototype.onclosetag=function(e){if(this._updatePosition(1),this._lowerCaseTagNames&&(e=e.toLowerCase()),(e in o||e in l)&&this._foreignContext.pop(),!this._stack.length||e in a&&!this._options.xmlMode)this._options.xmlMode||"br"!==e&&"p"!==e||(this.onopentagname(e),this._closeCurrentTag());else{var t=this._stack.lastIndexOf(e);if(-1!==t)if(this._cbs.onclosetag)for(t=this._stack.length-t;t--;)this._cbs.onclosetag(this._stack.pop());else this._stack.length=t;else"p"!==e||this._options.xmlMode||(this.onopentagname(e),this._closeCurrentTag())}},u.prototype.onselfclosingtag=function(){this._options.xmlMode||this._options.recognizeSelfClosing||this._foreignContext[this._foreignContext.length-1]?this._closeCurrentTag():this.onopentagend()},u.prototype._closeCurrentTag=function(){var e=this._tagname;this.onopentagend(),this._stack[this._stack.length-1]===e&&(this._cbs.onclosetag&&this._cbs.onclosetag(e),this._stack.pop())},u.prototype.onattribname=function(e){this._lowerCaseAttributeNames&&(e=e.toLowerCase()),this._attribname=e},u.prototype.onattribdata=function(e){this._attribvalue+=e},u.prototype.onattribend=function(){this._cbs.onattribute&&this._cbs.onattribute(this._attribname,this._attribvalue),this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)&&(this._attribs[this._attribname]=this._attribvalue),this._attribname="",this._attribvalue=""},u.prototype._getInstructionName=function(e){var t=e.search(c),r=t<0?e:e.substr(0,t);return this._lowerCaseTagNames&&(r=r.toLowerCase()),r},u.prototype.ondeclaration=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction("!"+t,"!"+e)}},u.prototype.onprocessinginstruction=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction("?"+t,"?"+e)}},u.prototype.oncomment=function(e){this._updatePosition(4),this._cbs.oncomment&&this._cbs.oncomment(e),this._cbs.oncommentend&&this._cbs.oncommentend()},u.prototype.oncdata=function(e){this._updatePosition(1),this._options.xmlMode||this._options.recognizeCDATA?(this._cbs.oncdatastart&&this._cbs.oncdatastart(),this._cbs.ontext&&this._cbs.ontext(e),this._cbs.oncdataend&&this._cbs.oncdataend()):this.oncomment("[CDATA["+e+"]]")},u.prototype.onerror=function(e){this._cbs.onerror&&this._cbs.onerror(e)},u.prototype.onend=function(){if(this._cbs.onclosetag)for(var e=this._stack.length;e>0;this._cbs.onclosetag(this._stack[--e]));this._cbs.onend&&this._cbs.onend()},u.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname="",this._attribname="",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},u.prototype.parseComplete=function(e){this.reset(),this.end(e)},u.prototype.write=function(e){this._tokenizer.write(e)},u.prototype.end=function(e){this._tokenizer.end(e)},u.prototype.pause=function(){this._tokenizer.pause()},u.prototype.resume=function(){this._tokenizer.resume()},u.prototype.parseChunk=u.prototype.write,u.prototype.done=u.prototype.end,e.exports=u},function(e,t,r){e.exports=me;var n=r(348),s=r(350),i=r(351),a=r(352),o=0,l=o++,c=o++,u=o++,h=o++,d=o++,p=o++,g=o++,f=o++,m=o++,_=o++,T=o++,E=o++,v=o++,b=o++,y=o++,A=o++,O=o++,C=o++,w=o++,S=o++,k=o++,N=o++,R=o++,I=o++,x=o++,D=o++,L=o++,M=o++,P=o++,F=o++,j=o++,B=o++,U=o++,H=o++,$=o++,K=o++,q=o++,G=o++,z=o++,W=o++,Y=o++,V=o++,Q=o++,X=o++,J=o++,Z=o++,ee=o++,te=o++,re=o++,ne=o++,se=o++,ie=o++,ae=o++,oe=o++,le=o++,ce=0,ue=ce++,he=ce++,de=ce++;function pe(e){return" "===e||"\n"===e||"\t"===e||"\f"===e||"\r"===e}function ge(e,t,r){var n=e.toLowerCase();return e===n?function(e){e===n?this._state=t:(this._state=r,this._index--)}:function(s){s===n||s===e?this._state=t:(this._state=r,this._index--)}}function fe(e,t){var r=e.toLowerCase();return function(n){n===r||n===e?this._state=t:(this._state=u,this._index--)}}function me(e,t){this._state=l,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=l,this._special=ue,this._cbs=t,this._running=!0,this._ended=!1,this._xmlMode=!(!e||!e.xmlMode),this._decodeEntities=!(!e||!e.decodeEntities)}me.prototype._stateText=function(e){"<"===e?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=c,this._sectionStart=this._index):this._decodeEntities&&this._special===ue&&"&"===e&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=l,this._state=se,this._sectionStart=this._index)},me.prototype._stateBeforeTagName=function(e){"/"===e?this._state=d:"<"===e?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===e||this._special!==ue||pe(e)?this._state=l:"!"===e?(this._state=y,this._sectionStart=this._index+1):"?"===e?(this._state=O,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==e&&"S"!==e?u:j,this._sectionStart=this._index)},me.prototype._stateInTagName=function(e){("/"===e||">"===e||pe(e))&&(this._emitToken("onopentagname"),this._state=f,this._index--)},me.prototype._stateBeforeCloseingTagName=function(e){pe(e)||(">"===e?this._state=l:this._special!==ue?"s"===e||"S"===e?this._state=B:(this._state=l,this._index--):(this._state=p,this._sectionStart=this._index))},me.prototype._stateInCloseingTagName=function(e){(">"===e||pe(e))&&(this._emitToken("onclosetag"),this._state=g,this._index--)},me.prototype._stateAfterCloseingTagName=function(e){">"===e&&(this._state=l,this._sectionStart=this._index+1)},me.prototype._stateBeforeAttributeName=function(e){">"===e?(this._cbs.onopentagend(),this._state=l,this._sectionStart=this._index+1):"/"===e?this._state=h:pe(e)||(this._state=m,this._sectionStart=this._index)},me.prototype._stateInSelfClosingTag=function(e){">"===e?(this._cbs.onselfclosingtag(),this._state=l,this._sectionStart=this._index+1):pe(e)||(this._state=f,this._index--)},me.prototype._stateInAttributeName=function(e){("="===e||"/"===e||">"===e||pe(e))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=_,this._index--)},me.prototype._stateAfterAttributeName=function(e){"="===e?this._state=T:"/"===e||">"===e?(this._cbs.onattribend(),this._state=f,this._index--):pe(e)||(this._cbs.onattribend(),this._state=m,this._sectionStart=this._index)},me.prototype._stateBeforeAttributeValue=function(e){'"'===e?(this._state=E,this._sectionStart=this._index+1):"'"===e?(this._state=v,this._sectionStart=this._index+1):pe(e)||(this._state=b,this._sectionStart=this._index,this._index--)},me.prototype._stateInAttributeValueDoubleQuotes=function(e){'"'===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateInAttributeValueSingleQuotes=function(e){"'"===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateInAttributeValueNoQuotes=function(e){pe(e)||">"===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f,this._index--):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateBeforeDeclaration=function(e){this._state="["===e?N:"-"===e?C:A},me.prototype._stateInDeclaration=function(e){">"===e&&(this._cbs.ondeclaration(this._getSection()),this._state=l,this._sectionStart=this._index+1)},me.prototype._stateInProcessingInstruction=function(e){">"===e&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=l,this._sectionStart=this._index+1)},me.prototype._stateBeforeComment=function(e){"-"===e?(this._state=w,this._sectionStart=this._index+1):this._state=A},me.prototype._stateInComment=function(e){"-"===e&&(this._state=S)},me.prototype._stateAfterComment1=function(e){this._state="-"===e?k:w},me.prototype._stateAfterComment2=function(e){">"===e?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=l,this._sectionStart=this._index+1):"-"!==e&&(this._state=w)},me.prototype._stateBeforeCdata1=ge("C",R,A),me.prototype._stateBeforeCdata2=ge("D",I,A),me.prototype._stateBeforeCdata3=ge("A",x,A),me.prototype._stateBeforeCdata4=ge("T",D,A),me.prototype._stateBeforeCdata5=ge("A",L,A),me.prototype._stateBeforeCdata6=function(e){"["===e?(this._state=M,this._sectionStart=this._index+1):(this._state=A,this._index--)},me.prototype._stateInCdata=function(e){"]"===e&&(this._state=P)},me.prototype._stateAfterCdata1=function(e){this._state="]"===e?F:M},me.prototype._stateAfterCdata2=function(e){">"===e?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=l,this._sectionStart=this._index+1):"]"!==e&&(this._state=M)},me.prototype._stateBeforeSpecial=function(e){"c"===e||"C"===e?this._state=U:"t"===e||"T"===e?this._state=Q:(this._state=u,this._index--)},me.prototype._stateBeforeSpecialEnd=function(e){this._special!==he||"c"!==e&&"C"!==e?this._special!==de||"t"!==e&&"T"!==e?this._state=l:this._state=ee:this._state=G},me.prototype._stateBeforeScript1=fe("R",H),me.prototype._stateBeforeScript2=fe("I",$),me.prototype._stateBeforeScript3=fe("P",K),me.prototype._stateBeforeScript4=fe("T",q),me.prototype._stateBeforeScript5=function(e){("/"===e||">"===e||pe(e))&&(this._special=he),this._state=u,this._index--},me.prototype._stateAfterScript1=ge("R",z,l),me.prototype._stateAfterScript2=ge("I",W,l),me.prototype._stateAfterScript3=ge("P",Y,l),me.prototype._stateAfterScript4=ge("T",V,l),me.prototype._stateAfterScript5=function(e){">"===e||pe(e)?(this._special=ue,this._state=p,this._sectionStart=this._index-6,this._index--):this._state=l},me.prototype._stateBeforeStyle1=fe("Y",X),me.prototype._stateBeforeStyle2=fe("L",J),me.prototype._stateBeforeStyle3=fe("E",Z),me.prototype._stateBeforeStyle4=function(e){("/"===e||">"===e||pe(e))&&(this._special=de),this._state=u,this._index--},me.prototype._stateAfterStyle1=ge("Y",te,l),me.prototype._stateAfterStyle2=ge("L",re,l),me.prototype._stateAfterStyle3=ge("E",ne,l),me.prototype._stateAfterStyle4=function(e){">"===e||pe(e)?(this._special=ue,this._state=p,this._sectionStart=this._index-5,this._index--):this._state=l},me.prototype._stateBeforeEntity=ge("#",ie,ae),me.prototype._stateBeforeNumericEntity=ge("X",le,oe),me.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+16&&(t=6);t>=2;){var r=this._buffer.substr(e,t);if(i.hasOwnProperty(r))return this._emitPartial(i[r]),void(this._sectionStart+=t+1);t--}},me.prototype._stateInNamedEntity=function(e){";"===e?(this._parseNamedEntityStrict(),this._sectionStart+1"z")&&(e<"A"||e>"Z")&&(e<"0"||e>"9")&&(this._xmlMode||this._sectionStart+1===this._index||(this._baseState!==l?"="!==e&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},me.prototype._decodeNumericEntity=function(e,t){var r=this._sectionStart+e;if(r!==this._index){var s=this._buffer.substring(r,this._index),i=parseInt(s,t);this._emitPartial(n(i)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},me.prototype._stateInNumericEntity=function(e){";"===e?(this._decodeNumericEntity(2,10),this._sectionStart++):(e<"0"||e>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},me.prototype._stateInHexEntity=function(e){";"===e?(this._decodeNumericEntity(3,16),this._sectionStart++):(e<"a"||e>"f")&&(e<"A"||e>"F")&&(e<"0"||e>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},me.prototype._cleanup=function(){this._sectionStart<0?(this._buffer="",this._bufferOffset+=this._index,this._index=0):this._running&&(this._state===l?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer="",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer="",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},me.prototype.write=function(e){this._ended&&this._cbs.onerror(Error(".write() after done!")),this._buffer+=e,this._parse()},me.prototype._parse=function(){for(;this._index","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},function(e){e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=void 0;var s=u(n(r(168)).default),i=h(s);t.encodeXML=m(s);var a,o,l=u(n(r(167)).default),c=h(l);function u(e){return Object.keys(e).sort().reduce((function(t,r){return t[e[r]]="&"+r+";",t}),{})}function h(e){for(var t=[],r=[],n=0,s=Object.keys(e);n1?p(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}var f=new RegExp(i.source+"|"+d.source,"g");function m(e){return function(t){return t.replace(f,(function(t){return e[t]||g(t)}))}}t.escape=function(e){return e.replace(f,g)},t.escapeUTF8=function(e){return e.replace(i,g)}},function(e,t,r){e.exports=o;var n=r(161),s=r(370).Writable,i=r(371).StringDecoder,a=r(171).Buffer;function o(e,t){var r=this._parser=new n(e,t),a=this._decoder=new i;s.call(this,{decodeStrings:!1}),this.once("finish",(function(){r.end(a.end())}))}r(83)(o,s),o.prototype._write=function(e,t,r){e instanceof a&&(e=this._decoder.write(e)),this._parser.write(e),r()}},function(e,t,r){"use strict";(function(e){var n=r(373),s=r(374),i=r(375);function a(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function g(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return U(e).length;default:if(n)return B(e).length;t=(""+t).toLowerCase(),n=!0}}function f(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return N(this,t,r);case"utf8":case"utf-8":return w(this,t,r);case"ascii":return S(this,t,r);case"latin1":case"binary":return k(this,t,r);case"base64":return C(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function _(e,t,r,n,s){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0){if(!s)return-1;r=0}if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:T(e,t,r,n,s);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):T(e,[t],r,n,s);throw new TypeError("val must be string, number or Buffer")}function T(e,t,r,n,s){var i,a=1,o=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,l/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(s){var u=-1;for(i=r;io&&(r=o-l),i=r;i>=0;i--){for(var h=!0,d=0;ds&&(n=s):n=s;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var a=0;a>8,s=r%256,i.push(s),i.push(n);return i}(t,e.length-r),e,r,n)}function C(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function w(e,t,r){r=Math.min(e.length,r);for(var n=[],s=t;s239?4:c>223?3:c>191?2:1;if(s+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=e[s+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=e[s+1],a=e[s+2],128==(192&i)&&128==(192&a)&&(l=(15&c)<<12|(63&i)<<6|63&a)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=e[s+1],a=e[s+2],o=e[s+3],128==(192&i)&&128==(192&a)&&128==(192&o)&&(l=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&o)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),s+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var r="",n=0;ns)&&(r=s);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function x(e,t,r,n,s,i){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||te.length)throw new RangeError("Index out of range")}function D(e,t,r,n){t<0&&(t=65535+t+1);for(var s=0,i=Math.min(e.length-r,2);s>>8*(n?s:1-s)}function L(e,t,r,n){t<0&&(t=4294967295+t+1);for(var s=0,i=Math.min(e.length-r,4);s>>8*(n?s:3-s)&255}function M(e,t,r,n,s,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function P(e,t,r,n,i){return i||M(e,0,r,4),s.write(e,t,r,n,23,4),r+4}function F(e,t,r,n,i){return i||M(e,0,r,8),s.write(e,t,r,n,52,8),r+8}t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=a(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return c(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return function(e,t,r,n){return u(t),t<=0?o(null,t):void 0!==r?"string"==typeof n?o(null,t).fill(r,n):o(null,t).fill(r):o(null,t)}(0,e,t,r)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,s=0,i=Math.min(r,n);s0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},l.prototype.compare=function(e,t,r,n,s){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),t<0||r>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&t>=r)return 0;if(n>=s)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(s>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),o=Math.min(i,a),c=this.slice(n,s),u=e.slice(t,r),h=0;hs)&&(r=s),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return E(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":return b(this,e,t,r);case"latin1":case"binary":return y(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(s*=256);)n+=this[e+--t]*s;return n},l.prototype.readUInt8=function(e,t){return t||I(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||I(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||I(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=this[e],s=1,i=0;++i=(s*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=t,s=1,i=this[e+--n];n>0&&(s*=256);)i+=this[e+--n]*s;return i>=(s*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readInt8=function(e,t){return t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||I(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||I(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||I(e,4,this.length),s.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||I(e,4,this.length),s.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||I(e,8,this.length),s.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||I(e,8,this.length),s.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||x(this,e,t,r,Math.pow(2,8*r)-1,0);var s=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+s]=e/i&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):L(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var s=Math.pow(2,8*r-1);x(this,e,t,r,s-1,-s)}var i=0,a=1,o=0;for(this[t]=255&e;++i>0)-o&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var s=Math.pow(2,8*r-1);x(this,e,t,r,s-1,-s)}var i=r-1,a=1,o=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===o&&0!==this[t+i+1]&&(o=1),this[t+i]=(e/a>>0)-o&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):L(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return P(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return P(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return F(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return F(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--s)e[s+t]=this[s+r];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(s=0;s>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!s){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&i.push(239,191,189);continue}s=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),s=r;continue}r=65536+(s-55296<<10|r-56320)}else s&&(t-=3)>-1&&i.push(239,191,189);if(s=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function U(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function H(e,t,r,n){for(var s=0;s=t.length||s>=e.length);++s)t[s+r]=e[s];return s}}).call(this,r(20))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return o}));var n=r(200);let s;function i(){return null===s.yoast.shortlinker&&(s.yoast.shortlinker=new n.a),s.yoast.shortlinker}function a(e){i().configure(e)}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i().createAnchorOpeningTag(e,t)}s="undefined"==typeof window?"undefined"==typeof self?e:self:window,s.yoast=s.yoast||{},s.yoast.shortlinker=s.yoast.shortlinker||null}).call(this,r(20))},function(e,t,r){"use strict";const n=r(33),s=r(84),i=r(175);e.exports=class extends n{constructor(e){super(e),this.tokenizer=e,this.posTracker=n.install(e.preprocessor,i),this.currentAttrLocation=null,this.ctLoc=null}_getCurrentLocation(){return{startLine:this.posTracker.line,startCol:this.posTracker.col,startOffset:this.posTracker.offset,endLine:-1,endCol:-1,endOffset:-1}}_attachCurrentAttrLocationInfo(){this.currentAttrLocation.endLine=this.posTracker.line,this.currentAttrLocation.endCol=this.posTracker.col,this.currentAttrLocation.endOffset=this.posTracker.offset;const e=this.tokenizer.currentToken,t=this.tokenizer.currentAttr;e.location.attrs||(e.location.attrs=Object.create(null)),e.location.attrs[t.name]=this.currentAttrLocation}_getOverriddenMethods(e,t){const r={_createStartTagToken(){t._createStartTagToken.call(this),this.currentToken.location=e.ctLoc},_createEndTagToken(){t._createEndTagToken.call(this),this.currentToken.location=e.ctLoc},_createCommentToken(){t._createCommentToken.call(this),this.currentToken.location=e.ctLoc},_createDoctypeToken(r){t._createDoctypeToken.call(this,r),this.currentToken.location=e.ctLoc},_createCharacterToken(r,n){t._createCharacterToken.call(this,r,n),this.currentCharacterToken.location=e.ctLoc},_createEOFToken(){t._createEOFToken.call(this),this.currentToken.location=e._getCurrentLocation()},_createAttr(r){t._createAttr.call(this,r),e.currentAttrLocation=e._getCurrentLocation()},_leaveAttrName(r){t._leaveAttrName.call(this,r),e._attachCurrentAttrLocationInfo()},_leaveAttrValue(r){t._leaveAttrValue.call(this,r),e._attachCurrentAttrLocationInfo()},_emitCurrentToken(){const r=this.currentToken.location;this.currentCharacterToken&&(this.currentCharacterToken.location.endLine=r.startLine,this.currentCharacterToken.location.endCol=r.startCol,this.currentCharacterToken.location.endOffset=r.startOffset),this.currentToken.type===s.EOF_TOKEN?(r.endLine=r.startLine,r.endCol=r.startCol,r.endOffset=r.startOffset):(r.endLine=e.posTracker.line,r.endCol=e.posTracker.col+1,r.endOffset=e.posTracker.offset+1),t._emitCurrentToken.call(this)},_emitCurrentCharacterToken(){const r=this.currentCharacterToken&&this.currentCharacterToken.location;r&&-1===r.endOffset&&(r.endLine=e.posTracker.line,r.endCol=e.posTracker.col,r.endOffset=e.posTracker.offset),t._emitCurrentCharacterToken.call(this)}};return Object.keys(s.MODE).forEach(n=>{const i=s.MODE[n];r[i]=function(r){e.ctLoc=e._getCurrentLocation(),t[i].call(this,r)}}),r}}},function(e,t,r){"use strict";const n=r(33);e.exports=class extends n{constructor(e){super(e),this.preprocessor=e,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.offset=0,this.col=0,this.line=1}_getOverriddenMethods(e,t){return{advance(){const r=this.pos+1,n=this.html[r];return e.isEol&&(e.isEol=!1,e.line++,e.lineStartPos=r),("\n"===n||"\r"===n&&"\n"!==this.html[r+1])&&(e.isEol=!0),e.col=r-e.lineStartPos+1,e.offset=e.droppedBufferSize+r,t.advance.call(this)},retreat(){t.retreat.call(this),e.isEol=!1,e.col=this.pos-e.lineStartPos+1},dropParsedChunk(){const r=this.pos;t.dropParsedChunk.call(this);const n=r-this.pos;e.lineStartPos-=n,e.droppedBufferSize+=n,e.offset=e.droppedBufferSize+this.pos}}}}},function(e,t,r){"use strict";const{DOCUMENT_MODE:n}=r(48);t.createDocument=function(){return{nodeName:"#document",mode:n.NO_QUIRKS,childNodes:[]}},t.createDocumentFragment=function(){return{nodeName:"#document-fragment",childNodes:[]}},t.createElement=function(e,t,r){return{nodeName:e,tagName:e,attrs:r,namespaceURI:t,childNodes:[],parentNode:null}},t.createCommentNode=function(e){return{nodeName:"#comment",data:e,parentNode:null}};const s=function(e){return{nodeName:"#text",value:e,parentNode:null}},i=t.appendChild=function(e,t){e.childNodes.push(t),t.parentNode=e},a=t.insertBefore=function(e,t,r){const n=e.childNodes.indexOf(r);e.childNodes.splice(n,0,t),t.parentNode=e};t.setTemplateContent=function(e,t){e.content=t},t.getTemplateContent=function(e){return e.content},t.setDocumentType=function(e,t,r,n){let s=null;for(let t=0;t(Object.keys(t).forEach(r=>{e[r]=t[r]}),e),Object.create(null))}},function(e,t,r){"use strict";const{DOCUMENT_MODE:n}=r(48),s=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],i=s.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]),a=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"],o=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],l=o.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function c(e){const t=-1!==e.indexOf('"')?"'":'"';return t+e+t}function u(e,t){for(let r=0;r-1)return n.QUIRKS;let e=null===t?i:s;if(u(r,e))return n.QUIRKS;if(e=null===t?o:l,u(r,e))return n.LIMITED_QUIRKS}return n.NO_QUIRKS},t.serializeContent=function(e,t,r){let n="!DOCTYPE ";return e&&(n+=e),t?n+=" PUBLIC "+c(t):r&&(n+=" SYSTEM"),null!==r&&(n+=" "+c(r)),n}},,,,,,,,,,,,,,,,,,,,function(e,t){e.exports=window.yoast.featureFlag},function(e,t,r){var n,s;!function(i,a){"use strict";void 0===(s="function"==typeof(n=function(){var e=function(){},t="undefined"!=typeof window&&void 0!==window.navigator&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"];function n(e,t){var r=e[t];if("function"==typeof r.bind)return r.bind(e);try{return Function.prototype.bind.call(r,e)}catch(t){return function(){return Function.prototype.apply.apply(r,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function i(r){return"debug"===r&&(r="log"),"undefined"!=typeof console&&("trace"===r&&t?s:void 0!==console[r]?n(console,r):void 0!==console.log?n(console,"log"):e)}function a(t,n){for(var s=0;s=0&&t<=i.levels.SILENT))throw"log.setLevel() called with invalid level: "+t;if(s=t,!1!==n&&function(e){var t=(r[e]||"silent").toUpperCase();if("undefined"!=typeof window&&o){try{return void(window.localStorage[o]=t)}catch(e){}try{window.document.cookie=encodeURIComponent(o)+"="+t+";"}catch(e){}}}(t),a.call(i,t,e),"undefined"==typeof console&&t0&&void 0!==arguments[0]?arguments[0]:{};this.configure(e)}configure(e){this._config={params:{},...e}}static createQueryString(e){return Object.keys(e).map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join("&")}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=encodeURI(e);const s=n.createQueryString({...this._config.params,...t});return""!==s&&(r+="?"+s),r}createAnchorOpeningTag(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return``}}},function(e,t,r){"use strict";const n=r(383),s=r(394);t.parse=function(e,t){return new n(t).parse(e)},t.parseFragment=function(e,t,r){return"string"==typeof e&&(r=t,t=e,e=null),new n(r).parseFragment(t,e)},t.serialize=function(e,t){return new s(e,t).serialize()}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t,r){r(159);var n,s=r(101);n=s("Error.captureStackTrace")?r(336):s("Error.prototype.stack")?r(337):r(347),e.exports=n()},function(e,t,r){var n=r(160),s=n.define,i=n.test;s("strict mode",(function(){return void 0===this})),s("arguments.callee.caller",(function(){try{return function(){return arguments.callee.caller}()===arguments.callee}catch(e){return!1}})),s("es5",(function(){return i("Array.prototype.forEach")&&i("Array.prototype.map")&&i("Function.prototype.bind")&&i("Object.create")&&i("Object.defineProperties")&&i("Object.defineProperty")&&i("Object.prototype.hasOwnProperty")})),s("Array.prototype.forEach",(function(){return Array.prototype.forEach})),s("Array.prototype.map",(function(){return Array.prototype.map})),s("Function.prototype.bind",(function(){return Function.prototype.bind})),s("Object.create",(function(){return Object.create})),s("Object.defineProperties",(function(){return Object.defineProperties})),s("Object.defineProperty",(function(){return Object.defineProperty})),s("Object.prototype.hasOwnProperty",(function(){return Object.prototype.hasOwnProperty})),s("Error.captureStackTrace",(function(){return Error.captureStackTrace})),s("Error.prototype.stack",(function(){try{throw new Error}catch(e){return e.stack||e.stacktrace}}))},function(e,t){var r=function(){this.tests={},this.cache={}};r.prototype={constructor:r,define:function(e,t){if("string"!=typeof e||!(t instanceof Function))throw new Error("Invalid capability definition.");if(this.tests[e])throw new Error('Duplicated capability definition by "'+e+'".');this.tests[e]=t},check:function(e){if(!this.test(e))throw new Error('The current environment does not support "'+e+'", therefore we cannot continue.')},test:function(e){if(void 0!==this.cache[e])return this.cache[e];if(!this.tests[e])throw new Error('Unknown capability with name "'+e+'".');var t=this.tests[e];return this.cache[e]=!!t(),this.cache[e]}},e.exports=r},function(e,t,r){var n=r(102);e.exports=function(){return Error.getStackTrace=function(e){return e.stack},{prepareStackTrace:n}}},function(e,t,r){var n=r(338),s=r(345),i=r(62).cache,a=r(102);e.exports=function(){return Error.captureStackTrace=function e(t,r){var o=[e];r&&o.push(r);var l=n.getInstance().captureFrameStrings(o);Object.defineProperties(t,{stack:{configurable:!0,get:i((function(){var e=s.getInstance().getFrames(l.frameStrings,l.functionValues);return(Error.prepareStackTrace||a)(t,e,void 0)}))},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})},Error.getStackTrace=function(e){if(e.cachedStack)return e.stack;var t,r=n.getInstance().getFrameStrings(e),i=[];r?i=s.getInstance().getFrames(r,[]):t=["The stack is not readable by unthrown errors in this environment."];var o=(Error.prepareStackTrace||a)(e,i,t);if(r)try{Object.defineProperties(e,{stack:{configurable:!0,writable:!0,enumerable:!1,value:o},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})}catch(e){}return o},{prepareStackTrace:a}}},function(e,t,r){var n=r(61).Class,s=r(61).abstractMethod,i=r(62).eachCombination,a=r(62).cache,o=r(101),l=n(Object,{prototype:{captureFrameStrings:function(e){var t=this.createError();e.unshift(this.captureFrameStrings),e.unshift(this.createError);var r=this.getFrameStrings(t),n=r.slice(e.length),s=[];if(o("arguments.callee.caller")){var i=[this.createError,this.captureFrameStrings];try{for(var a=arguments.callee;a=a.caller;)i.push(a)}catch(e){}s=i.slice(e.length)}return{frameStrings:n,functionValues:s}},getFrameStrings:function(e){var t=e.message||"",r=e.name||"",n=this.getStackString(e);if(void 0!==n){var s=n.split("\n"),i=0,a=s.length;return this.hasHeader&&(i+=r.split("\n").length+t.split("\n").length-1),this.hasFooter&&(a-=1),s.slice(i,a)}},createError:s,getStackString:s,hasHeader:void 0,hasFooter:void 0}}),c=n(Object,{prototype:{calibrateClass:function(e){return this.calibrateMethods(e)&&this.calibrateEnvelope(e)},calibrateMethods:function(e){try{i([[function(e){return new Error(e)},function(e){try{throw new Error(e)}catch(e){return e}}],[function(e){return e.stack},function(e){return e.stacktrace}]],(function(e,t){if(t(e()))throw{getStackString:t,createError:e}}))}catch(t){return n.merge.call(e,{prototype:t}),!0}return!1},calibrateEnvelope:function(e){var t=(0,e.prototype.getStackString)((0,e.prototype.createError)("marker")).split("\n");return n.merge.call(e,{prototype:{hasHeader:/marker/.test(t[0]),hasFooter:""===t[t.length-1]}}),!0}}});e.exports={getClass:a((function(){var e;if(e)return e;if(e=n(l,{}),!(new c).calibrateClass(e))throw new Error("Cannot read Error.prototype.stack in this environment.");return e})),getInstance:a((function(){return new(this.getClass())}))}},function(e,t,r){e.exports={Class:r(340),abstractMethod:r(341)}},function(e,t){var r=function(){var e=Object.create({Source:Object,config:{},buildArgs:[]});function t(t){var r="config";if(t instanceof Function)r="Source";else if(t instanceof Array)r="buildArgs";else{if(!(t instanceof Object))throw new Error("Invalid configuration option.");r="config"}if(e.hasOwnProperty(r))throw new Error("Duplicated configuration option: "+r+".");e[r]=t}for(var n=0,s=arguments.length;n=55296&&e<=57343||e>1114111)return"�";e in n&&(e=n[e]);var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)}},function(e){e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},function(e){e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},function(e,t,r){"use strict";var n,s="object"==typeof Reflect?Reflect:null,i=s&&"function"==typeof s.apply?s.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};n=s&&"function"==typeof s.ownKeys?s.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function s(r){e.removeListener(t,i),n(r)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",s),r([].slice.call(arguments))}_(e,t,i,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&_(e,"error",t,{once:!0})}(e,s)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var l=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function h(e,t,r,n){var s,i,a,o;if(c(r),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),a=i[t]),void 0===a)a=i[t]=r,++e._eventsCount;else if("function"==typeof a?a=i[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(s=u(e))>0&&a.length>s&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,o=l,console&&console.warn&&console.warn(o)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=d.bind(n);return s.listener=r,n.wrapFn=s,s}function g(e,t,r){var n=e._events;if(void 0===n)return[];var s=n[t];return void 0===s?[]:"function"==typeof s?r?[s.listener||s]:[s]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(a=t[0]),a instanceof Error)throw a;var o=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw o.context=a,o}var l=s[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,u=m(l,c);for(r=0;r=0;i--)if(r[i]===t||r[i].listener===t){a=r[i].listener,s=i;break}if(s<0)return this;0===s?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return g(this,e,!0)},o.prototype.rawListeners=function(e){return g(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):f.call(e,t)},o.prototype.listenerCount=f,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,r){var n=r(164),s=e.exports=Object.create(n),i={tagName:"name"};Object.keys(i).forEach((function(e){var t=i[e];Object.defineProperty(s,e,{get:function(){return this[t]||null},set:function(e){return this[t]=e,e}})}))},function(e,t,r){var n=r(163),s=r(165);function i(e,t){this.init(e,t)}function a(e,t){return s.getElementsByTagName(e,t,!0)}function o(e,t){return s.getElementsByTagName(e,t,!0,1)[0]}function l(e,t,r){return s.getText(s.getElementsByTagName(e,t,r,1)).trim()}function c(e,t,r,n,s){var i=l(r,n,s);i&&(e[t]=i)}r(83)(i,n),i.prototype.init=n;var u=function(e){return"rss"===e||"feed"===e||"rdf:RDF"===e};i.prototype.onend=function(){var e,t,r={},s=o(u,this.dom);s&&("feed"===s.name?(t=s.children,r.type="atom",c(r,"id","id",t),c(r,"title","title",t),(e=o("link",t))&&(e=e.attribs)&&(e=e.href)&&(r.link=e),c(r,"description","subtitle",t),(e=l("updated",t))&&(r.updated=new Date(e)),c(r,"author","email",t,!0),r.items=a("entry",t).map((function(e){var t,r={};return c(r,"id","id",e=e.children),c(r,"title","title",e),(t=o("link",e))&&(t=t.attribs)&&(t=t.href)&&(r.link=t),(t=l("summary",e)||l("content",e))&&(r.description=t),(t=l("updated",e))&&(r.pubDate=new Date(t)),r}))):(t=o("channel",s.children).children,r.type=s.name.substr(0,3),r.id="",c(r,"title","title",t),c(r,"link","link",t),c(r,"description","description",t),(e=l("lastBuildDate",t))&&(r.updated=new Date(e)),c(r,"author","managingEditor",t,!0),r.items=a("item",s.children).map((function(e){var t,r={};return c(r,"id","guid",e=e.children),c(r,"title","title",e),c(r,"link","link",e),c(r,"description","description",e),(t=l("pubDate",e))&&(r.pubDate=new Date(t)),r})))),this.dom=r,n.prototype._handleCallback.call(this,s?null:Error("couldn't find root of feed"))},e.exports=i},function(e,t,r){var n=r(63),s=r(357),i=n.isTag;e.exports={getInnerHTML:function(e,t){return e.children?e.children.map((function(e){return s(e,t)})).join(""):""},getOuterHTML:s,getText:function e(t){return Array.isArray(t)?t.map(e).join(""):i(t)?"br"===t.name?"\n":e(t.children):t.type===n.CDATA?e(t.children):t.type===n.Text?t.data:""}}},function(e,t,r){var n=r(358),s=r(359),i=r(363);i.elementNames.__proto__=null,i.attributeNames.__proto__=null;var a={__proto__:null,style:!0,script:!0,xmp:!0,iframe:!0,noembed:!0,noframes:!0,plaintext:!0,noscript:!0},o={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},l=e.exports=function(e,t){Array.isArray(e)||e.cheerio||(e=[e]),t=t||{};for(var r="",s=0;s=0&&(t=Object.assign({},t,{xmlMode:!1}))),!t.xmlMode&&["svg","math"].indexOf(e.name)>=0&&(t=Object.assign({},t,{xmlMode:"foreign"}));var r="<"+e.name,n=function(e,t){if(e){var r,n="";for(var a in e)r=e[a],n&&(n+=" "),"foreign"===t.xmlMode&&(a=i.attributeNames[a]||a),n+=a,(null!==r&&""!==r||t.xmlMode)&&(n+='="'+(t.decodeEntities?s.encodeXML(r):r.replace(/\"/g,"""))+'"');return n}}(e.attribs,t);return n&&(r+=" "+n),!t.xmlMode||e.children&&0!==e.children.length?(r+=">",e.children&&(r+=l(e.children,t)),o[e.name]&&!t.xmlMode||(r+="")):r+="/>",r}function h(e){return"<"+e.data+">"}function d(e,t){var r=e.data||"";return!t.decodeEntities||e.parent&&e.parent.name in a||(r=s.encodeXML(r)),r}function p(e){return""}function g(e){return"\x3c!--"+e.data+"--\x3e"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=void 0,t.isTag=function(e){return"tag"===e.type||"script"===e.type||"style"===e.type},t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.encodeHTML5=t.encodeHTML4=t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=t.encode=t.decodeStrict=t.decode=void 0;var n=r(166),s=r(169);t.decode=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?s.encodeXML:s.encodeHTML)(e)};var i=r(169);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return i.encodeXML}}),Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return i.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return i.encodeNonAsciiHTML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return i.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return i.escapeUTF8}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return i.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return i.encodeHTML}});var a=r(166);Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return a.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return a.decodeXML}})},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=n(r(362)),i=String.fromCodePoint||function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)};t.default=function(e){return e>=55296&&e<=57343||e>1114111?"�":(e in s.default&&(e=s.default[e]),i(e))}},function(e){e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},function(e){e.exports=JSON.parse('{"elementNames":{"altglyph":"altGlyph","altglyphdef":"altGlyphDef","altglyphitem":"altGlyphItem","animatecolor":"animateColor","animatemotion":"animateMotion","animatetransform":"animateTransform","clippath":"clipPath","feblend":"feBlend","fecolormatrix":"feColorMatrix","fecomponenttransfer":"feComponentTransfer","fecomposite":"feComposite","feconvolvematrix":"feConvolveMatrix","fediffuselighting":"feDiffuseLighting","fedisplacementmap":"feDisplacementMap","fedistantlight":"feDistantLight","fedropshadow":"feDropShadow","feflood":"feFlood","fefunca":"feFuncA","fefuncb":"feFuncB","fefuncg":"feFuncG","fefuncr":"feFuncR","fegaussianblur":"feGaussianBlur","feimage":"feImage","femerge":"feMerge","femergenode":"feMergeNode","femorphology":"feMorphology","feoffset":"feOffset","fepointlight":"fePointLight","fespecularlighting":"feSpecularLighting","fespotlight":"feSpotLight","fetile":"feTile","feturbulence":"feTurbulence","foreignobject":"foreignObject","glyphref":"glyphRef","lineargradient":"linearGradient","radialgradient":"radialGradient","textpath":"textPath"},"attributeNames":{"definitionurl":"definitionURL","attributename":"attributeName","attributetype":"attributeType","basefrequency":"baseFrequency","baseprofile":"baseProfile","calcmode":"calcMode","clippathunits":"clipPathUnits","diffuseconstant":"diffuseConstant","edgemode":"edgeMode","filterunits":"filterUnits","glyphref":"glyphRef","gradienttransform":"gradientTransform","gradientunits":"gradientUnits","kernelmatrix":"kernelMatrix","kernelunitlength":"kernelUnitLength","keypoints":"keyPoints","keysplines":"keySplines","keytimes":"keyTimes","lengthadjust":"lengthAdjust","limitingconeangle":"limitingConeAngle","markerheight":"markerHeight","markerunits":"markerUnits","markerwidth":"markerWidth","maskcontentunits":"maskContentUnits","maskunits":"maskUnits","numoctaves":"numOctaves","pathlength":"pathLength","patterncontentunits":"patternContentUnits","patterntransform":"patternTransform","patternunits":"patternUnits","pointsatx":"pointsAtX","pointsaty":"pointsAtY","pointsatz":"pointsAtZ","preservealpha":"preserveAlpha","preserveaspectratio":"preserveAspectRatio","primitiveunits":"primitiveUnits","refx":"refX","refy":"refY","repeatcount":"repeatCount","repeatdur":"repeatDur","requiredextensions":"requiredExtensions","requiredfeatures":"requiredFeatures","specularconstant":"specularConstant","specularexponent":"specularExponent","spreadmethod":"spreadMethod","startoffset":"startOffset","stddeviation":"stdDeviation","stitchtiles":"stitchTiles","surfacescale":"surfaceScale","systemlanguage":"systemLanguage","tablevalues":"tableValues","targetx":"targetX","targety":"targetY","textlength":"textLength","viewbox":"viewBox","viewtarget":"viewTarget","xchannelselector":"xChannelSelector","ychannelselector":"yChannelSelector","zoomandpan":"zoomAndPan"}}')},function(e,t){var r=t.getChildren=function(e){return e.children},n=t.getParent=function(e){return e.parent};t.getSiblings=function(e){var t=n(e);return t?r(t):[e]},t.getAttributeValue=function(e,t){return e.attribs&&e.attribs[t]},t.hasAttrib=function(e,t){return!!e.attribs&&hasOwnProperty.call(e.attribs,t)},t.getName=function(e){return e.name}},function(e,t){t.removeElement=function(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}},t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var s=t.parent=e.parent;if(s){var i=s.children;i[i.lastIndexOf(e)]=t}},t.appendChild=function(e,t){if(t.parent=e,1!==e.children.push(t)){var r=e.children[e.children.length-2];r.next=t,t.prev=r,t.next=null}},t.append=function(e,t){var r=e.parent,n=e.next;if(t.next=n,t.prev=e,e.next=t,t.parent=r,n){if(n.prev=t,r){var s=r.children;s.splice(s.lastIndexOf(n),0,t)}}else r&&r.children.push(t)},t.prepend=function(e,t){var r=e.parent;if(r){var n=r.children;n.splice(n.lastIndexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=r,t.prev=e.prev,t.next=e,e.prev=t}},function(e,t,r){var n=r(63).isTag;function s(e,t,r,n){for(var i,a=[],o=0,l=t.length;o0&&(i=s(e,i,r,n),a=a.concat(i),(n-=i.length)<=0)));o++);return a}e.exports={filter:function(e,t,r,n){return Array.isArray(t)||(t=[t]),"number"==typeof n&&isFinite(n)||(n=1/0),s(e,t,!1!==r,n)},find:s,findOneChild:function(e,t){for(var r=0,n=t.length;r0&&(s=e(t,r[i].children)));return s},existsOne:function e(t,r){for(var s=0,i=r.length;s0&&e(t,r[s].children)))return!0;return!1},findAll:function(e,t){for(var r=[],s=t.slice();s.length;){var i=s.shift();n(i)&&(i.children&&i.children.length>0&&s.unshift.apply(s,i.children),e(i)&&r.push(i))}return r}}},function(e,t,r){var n=r(63),s=t.isTag=n.isTag;t.testElement=function(e,t){for(var r in e)if(e.hasOwnProperty(r))if("tag_name"===r){if(!s(t)||!e.tag_name(t.name))return!1}else if("tag_type"===r){if(!e.tag_type(t.type))return!1}else if("tag_contains"===r){if(s(t)||!e.tag_contains(t.data))return!1}else if(!t.attribs||!e[r](t.attribs[r]))return!1;return!0};var i={tag_name:function(e){return"function"==typeof e?function(t){return s(t)&&e(t.name)}:"*"===e?s:function(t){return s(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return!s(t)&&e(t.data)}:function(t){return!s(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return r.attribs&&t(r.attribs[e])}:function(r){return r.attribs&&r.attribs[e]===t}}function o(e,t){return function(r){return e(r)||t(r)}}t.getElements=function(e,t,r,n){var s=Object.keys(e).map((function(t){var r=e[t];return t in i?i[t](r):a(t,r)}));return 0===s.length?[]:this.filter(s.reduce(o),t,r,n)},t.getElementById=function(e,t,r){return Array.isArray(t)||(t=[t]),this.findOne(a("id",e),t,!1!==r)},t.getElementsByTagName=function(e,t,r,n){return this.filter(i.tag_name(e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return this.filter(i.tag_type(e),t,r,n)}},function(e,t){t.removeSubsets=function(e){for(var t,r,n,s=e.length;--s>-1;){for(t=r=e[s],e[s]=null,n=!0;r;){if(e.indexOf(r)>-1){n=!1,e.splice(s,1);break}r=r.parent}n&&(e[s]=t)}return e};var r=t.compareDocumentPosition=function(e,t){var r,n,s,i,a,o,l=[],c=[];if(e===t)return 0;for(r=e;r;)l.unshift(r),r=r.parent;for(r=t;r;)c.unshift(r),r=r.parent;for(o=0;l[o]===c[o];)o++;return 0===o?1:(s=(n=l[o-1]).children,i=l[o],a=c[o],s.indexOf(i)>s.indexOf(a)?n===t?20:4:n===e?10:2)};t.uniqueSort=function(e){var t,n,s=e.length;for(e=e.slice();--s>-1;)t=e[s],(n=e.indexOf(t))>-1&&n>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function u(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(s>0&&(e.lastNeed=s-1),s):--n=0?(s>0&&(e.lastNeed=s-2),s):--n=0?(s>0&&(2===s?s=0:e.lastNeed=s-3),s):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,r){var n=r(171),s=n.Buffer;function i(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return s(e,t,r)}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?e.exports=n:(i(n,t),t.Buffer=a),a.prototype=Object.create(s.prototype),i(s,a),a.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return s(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=s(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return s(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){"use strict";t.byteLength=function(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=c(e),a=n[0],o=n[1],l=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,o)),u=0,h=o>0?a-4:a;for(r=0;r>16&255,l[u++]=t>>8&255,l[u++]=255&t;return 2===o&&(t=s[e.charCodeAt(r)]<<2|s[e.charCodeAt(r+1)]>>4,l[u++]=255&t),1===o&&(t=s[e.charCodeAt(r)]<<10|s[e.charCodeAt(r+1)]<<4|s[e.charCodeAt(r+2)]>>2,l[u++]=t>>8&255,l[u++]=255&t),l},t.fromByteArray=function(e){for(var t,r=e.length,s=r%3,i=[],a=0,o=r-s;ao?o:a+16383));return 1===s?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===s&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),i.join("")};for(var n=[],s=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var s,i,a=[],o=t;o>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}s["-".charCodeAt(0)]=62,s["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,s){var i,a,o=8*s-n-1,l=(1<>1,u=-7,h=r?s-1:0,d=r?-1:1,p=e[t+h];for(h+=d,i=p&(1<<-u)-1,p>>=-u,u+=o;u>0;i=256*i+e[t+h],h+=d,u-=8);for(a=i&(1<<-u)-1,i>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=d,u-=8);if(0===i)i=1-c;else{if(i===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),i-=c}return(p?-1:1)*a*Math.pow(2,i-n)},t.write=function(e,t,r,n,s,i){var a,o,l,c=8*i-s-1,u=(1<>1,d=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,g=n?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(t*l-1)*Math.pow(2,s),a+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,s),a=0));s>=8;e[r+p]=255&o,p+=g,o/=256,s-=8);for(a=a<0;e[r+p]=255&a,p+=g,a/=256,c-=8);e[r+p-g]|=128*f}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){function n(e){this._cbs=e||{}}e.exports=n;var s=r(49).EVENTS;Object.keys(s).forEach((function(e){if(0===s[e])e="on"+e,n.prototype[e]=function(){this._cbs[e]&&this._cbs[e]()};else if(1===s[e])e="on"+e,n.prototype[e]=function(t){this._cbs[e]&&this._cbs[e](t)};else{if(2!==s[e])throw Error("wrong number of arguments");e="on"+e,n.prototype[e]=function(t,r){this._cbs[e]&&this._cbs[e](t,r)}}}))},function(e,t,r){function n(e){this._cbs=e||{},this.events=[]}e.exports=n;var s=r(49).EVENTS;Object.keys(s).forEach((function(e){if(0===s[e])e="on"+e,n.prototype[e]=function(){this.events.push([e]),this._cbs[e]&&this._cbs[e]()};else if(1===s[e])e="on"+e,n.prototype[e]=function(t){this.events.push([e,t]),this._cbs[e]&&this._cbs[e](t)};else{if(2!==s[e])throw Error("wrong number of arguments");e="on"+e,n.prototype[e]=function(t,r){this.events.push([e,t,r]),this._cbs[e]&&this._cbs[e](t,r)}}})),n.prototype.onreset=function(){this.events=[],this._cbs.onreset&&this._cbs.onreset()},n.prototype.restart=function(){this._cbs.onreset&&this._cbs.onreset();for(var e=0,t=this.events.length;e= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,g=String.fromCharCode;function f(e){throw new RangeError(d[e])}function m(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function _(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+m((e=e.replace(h,".")).split("."),t).join(".")}function T(e){for(var t,r,n=[],s=0,i=e.length;s=55296&&t<=56319&&s65535&&(t+=g((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+g(e)})).join("")}function v(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function b(e,t,r){var n=0;for(e=r?p(e/700):e>>1,e+=p(e/t);e>455;n+=36)e=p(e/35);return p(n+36*e/(e+38))}function y(e){var t,r,n,s,i,a,o,c,u,h,d,g=[],m=e.length,_=0,T=128,v=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&f("not-basic"),g.push(e.charCodeAt(n));for(s=r>0?r+1:0;s=m&&f("invalid-input"),((c=(d=e.charCodeAt(s++))-48<10?d-22:d-65<26?d-65:d-97<26?d-97:36)>=36||c>p((l-_)/a))&&f("overflow"),_+=c*a,!(c<(u=o<=v?1:o>=v+26?26:o-v));o+=36)a>p(l/(h=36-u))&&f("overflow"),a*=h;v=b(_-i,t=g.length+1,0==i),p(_/t)>l-T&&f("overflow"),T+=p(_/t),_%=t,g.splice(_++,0,T)}return E(g)}function A(e){var t,r,n,s,i,a,o,c,u,h,d,m,_,E,y,A=[];for(m=(e=T(e)).length,t=128,r=0,i=72,a=0;a=t&&dp((l-r)/(_=n+1))&&f("overflow"),r+=(o-t)*_,t=o,a=0;al&&f("overflow"),d==t){for(c=r,u=36;!(c<(h=u<=i?1:u>=i+26?26:u-i));u+=36)y=c-h,E=36-h,A.push(g(v(h+y%E,0))),c=p(y/E);A.push(g(v(c,0))),i=b(r,_,n==s),r=0,++n}++r,++t}return A.join("")}o={version:"1.4.1",ucs2:{decode:T,encode:E},decode:y,encode:A,toASCII:function(e){return _(e,(function(e){return u.test(e)?"xn--"+A(e):e}))},toUnicode:function(e){return _(e,(function(e){return c.test(e)?y(e.slice(4).toLowerCase()):e}))}},void 0===(s=function(){return o}.call(t,r,t,e))||(e.exports=s)}()}).call(this,r(172)(e),r(20))},function(e,t,r){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,r){"use strict";t.decode=t.parse=r(381),t.encode=t.stringify=r(382)},function(e,t,r){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,i){t=t||"&",r=r||"=";var a={};if("string"!=typeof e||0===e.length)return a;var o=/\+/g;e=e.split(t);var l=1e3;i&&"number"==typeof i.maxKeys&&(l=i.maxKeys);var c=e.length;l>0&&c>l&&(c=l);for(var u=0;u=0?(h=f.substr(0,m),d=f.substr(m+1)):(h=f,d=""),p=decodeURIComponent(h),g=decodeURIComponent(d),n(a,p)?s(a[p])?a[p].push(g):a[p]=[a[p],g]:a[p]=g}return a};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,o){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?i(a(e),(function(a){var o=encodeURIComponent(n(a))+r;return s(e[a])?i(e[a],(function(e){return o+encodeURIComponent(n(e))})).join(t):o+encodeURIComponent(n(e[a]))})).join(t):o?encodeURIComponent(n(o))+r+encodeURIComponent(n(e)):""};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function i(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n=0;n--){const s=e.openElements.items[n];if(s===t.element)break;e._isSpecialElement(s)&&(r=s)}return r||(e.openElements.popUntilElementPopped(t.element),e.activeFormattingElements.removeEntry(t)),r}function w(e,t,r){let n=t,s=e.openElements.getCommonAncestor(t);for(let i=0,a=s;a!==r;i++,a=s){s=e.openElements.getCommonAncestor(a);const r=e.activeFormattingElements.getElementEntry(a),o=r&&i>=3;!r||o?(o&&e.activeFormattingElements.removeEntry(r),e.openElements.remove(a)):(a=S(e,r),n===t&&(e.activeFormattingElements.bookmark=r),e.treeAdapter.detachNode(n),e.treeAdapter.appendChild(a,n),n=a)}return n}function S(e,t){const r=e.treeAdapter.getNamespaceURI(t.element),n=e.treeAdapter.createElement(t.token.tagName,r,t.token.attrs);return e.openElements.replace(t.element,n),t.element=n,n}function k(e,t,r){if(e._isElementCausesFosterParenting(t))e._fosterParentElement(r);else{const n=e.treeAdapter.getTagName(t),s=e.treeAdapter.getNamespaceURI(t);n===m.TEMPLATE&&s===_.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,r)}}function N(e,t,r){const n=e.treeAdapter.getNamespaceURI(r.element),s=r.token,i=e.treeAdapter.createElement(s.tagName,n,s.attrs);e._adoptNodes(t,i),e.treeAdapter.appendChild(t,i),e.activeFormattingElements.insertElementAfterBookmark(i,r.token),e.activeFormattingElements.removeEntry(r),e.openElements.remove(r.element),e.openElements.insertAfter(t,i)}function R(e,t){let r;for(let n=0;n<8&&(r=O(e,t),r);n++){const t=C(e,r);if(!t)break;e.activeFormattingElements.bookmark=r;const n=w(e,t,r.element),s=e.openElements.getCommonAncestor(r.element);e.treeAdapter.detachNode(n),k(e,s,n),N(e,t,r)}}function I(){}function x(e){e._err(p.misplacedDoctype)}function D(e,t){e._appendCommentNode(t,e.openElements.currentTmplContent||e.openElements.current)}function L(e,t){e._appendCommentNode(t,e.document)}function M(e,t){e._insertCharacters(t)}function P(e){e.stopped=!0}function F(e,t){e._err(p.missingDoctype,{beforeToken:!0}),e.treeAdapter.setDocumentMode(e.document,f.DOCUMENT_MODE.QUIRKS),e.insertionMode="BEFORE_HTML_MODE",e._processToken(t)}function j(e,t){e._insertFakeRootElement(),e.insertionMode="BEFORE_HEAD_MODE",e._processToken(t)}function B(e,t){e._insertFakeElement(m.HEAD),e.headElement=e.openElements.current,e.insertionMode="IN_HEAD_MODE",e._processToken(t)}function U(e,t){const r=t.tagName;r===m.HTML?ne(e,t):r===m.BASE||r===m.BASEFONT||r===m.BGSOUND||r===m.LINK||r===m.META?(e._appendElement(t,_.HTML),t.ackSelfClosing=!0):r===m.TITLE?e._switchToTextParsing(t,n.MODE.RCDATA):r===m.NOSCRIPT?e.options.scriptingEnabled?e._switchToTextParsing(t,n.MODE.RAWTEXT):(e._insertElement(t,_.HTML),e.insertionMode="IN_HEAD_NO_SCRIPT_MODE"):r===m.NOFRAMES||r===m.STYLE?e._switchToTextParsing(t,n.MODE.RAWTEXT):r===m.SCRIPT?e._switchToTextParsing(t,n.MODE.SCRIPT_DATA):r===m.TEMPLATE?(e._insertTemplate(t,_.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode="IN_TEMPLATE_MODE",e._pushTmplInsertionMode("IN_TEMPLATE_MODE")):r===m.HEAD?e._err(p.misplacedStartTagForHeadElement):$(e,t)}function H(e,t){const r=t.tagName;r===m.HEAD?(e.openElements.pop(),e.insertionMode="AFTER_HEAD_MODE"):r===m.BODY||r===m.BR||r===m.HTML?$(e,t):r===m.TEMPLATE&&e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==m.TEMPLATE&&e._err(p.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(p.endTagWithoutMatchingOpenElement)}function $(e,t){e.openElements.pop(),e.insertionMode="AFTER_HEAD_MODE",e._processToken(t)}function K(e,t){const r=t.type===n.EOF_TOKEN?p.openElementsLeftAfterEof:p.disallowedContentInNoscriptInHead;e._err(r),e.openElements.pop(),e.insertionMode="IN_HEAD_MODE",e._processToken(t)}function q(e,t){e._insertFakeElement(m.BODY),e.insertionMode="IN_BODY_MODE",e._processToken(t)}function G(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function z(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function W(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}function Y(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function V(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Q(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function X(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function J(e,t){e._appendElement(t,_.HTML),t.ackSelfClosing=!0}function Z(e,t){e._switchToTextParsing(t,n.MODE.RAWTEXT)}function ee(e,t){e.openElements.currentTagName===m.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function te(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,_.HTML)}function re(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function ne(e,t){const r=t.tagName;switch(r.length){case 1:r===m.I||r===m.S||r===m.B||r===m.U?V(e,t):r===m.P?W(e,t):r===m.A?function(e,t){const r=e.activeFormattingElements.getElementEntryInScopeWithTagName(m.A);r&&(R(e,t),e.openElements.remove(r.element),e.activeFormattingElements.removeEntry(r)),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):re(e,t);break;case 2:r===m.DL||r===m.OL||r===m.UL?W(e,t):r===m.H1||r===m.H2||r===m.H3||r===m.H4||r===m.H5||r===m.H6?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement();const r=e.openElements.currentTagName;r!==m.H1&&r!==m.H2&&r!==m.H3&&r!==m.H4&&r!==m.H5&&r!==m.H6||e.openElements.pop(),e._insertElement(t,_.HTML)}(e,t):r===m.LI||r===m.DD||r===m.DT?function(e,t){e.framesetOk=!1;const r=t.tagName;for(let t=e.openElements.stackTop;t>=0;t--){const n=e.openElements.items[t],s=e.treeAdapter.getTagName(n);let i=null;if(r===m.LI&&s===m.LI?i=m.LI:r!==m.DD&&r!==m.DT||s!==m.DD&&s!==m.DT||(i=s),i){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.popUntilTagNamePopped(i);break}if(s!==m.ADDRESS&&s!==m.DIV&&s!==m.P&&e._isSpecialElement(n))break}e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}(e,t):r===m.EM||r===m.TT?V(e,t):r===m.BR?X(e,t):r===m.HR?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._appendElement(t,_.HTML),e.framesetOk=!1,e.ackSelfClosing=!0}(e,t):r===m.RB?te(e,t):r===m.RT||r===m.RP?function(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(m.RTC),e._insertElement(t,_.HTML)}(e,t):r!==m.TH&&r!==m.TD&&r!==m.TR&&re(e,t);break;case 3:r===m.DIV||r===m.DIR||r===m.NAV?W(e,t):r===m.PRE?Y(e,t):r===m.BIG?V(e,t):r===m.IMG||r===m.WBR?X(e,t):r===m.XMP?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,n.MODE.RAWTEXT)}(e,t):r===m.SVG?function(e,t){e._reconstructActiveFormattingElements(),d.adjustTokenSVGAttrs(t),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,_.SVG):e._insertElement(t,_.SVG),t.ackSelfClosing=!0}(e,t):r===m.RTC?te(e,t):r!==m.COL&&re(e,t);break;case 4:r===m.HTML?function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t):r===m.BASE||r===m.LINK||r===m.META?U(e,t):r===m.BODY?function(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();r&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(r,t.attrs))}(e,t):r===m.MAIN||r===m.MENU?W(e,t):r===m.FORM?function(e,t){const r=e.openElements.tmplCount>0;e.formElement&&!r||(e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),r||(e.formElement=e.openElements.current))}(e,t):r===m.CODE||r===m.FONT?V(e,t):r===m.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(m.NOBR)&&(R(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):r===m.AREA?X(e,t):r===m.MATH?function(e,t){e._reconstructActiveFormattingElements(),d.adjustTokenMathMLAttrs(t),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,_.MATHML):e._insertElement(t,_.MATHML),t.ackSelfClosing=!0}(e,t):r===m.MENU?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}(e,t):r!==m.HEAD&&re(e,t);break;case 5:r===m.STYLE||r===m.TITLE?U(e,t):r===m.ASIDE?W(e,t):r===m.SMALL?V(e,t):r===m.TABLE?function(e,t){e.treeAdapter.getDocumentMode(e.document)!==f.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.framesetOk=!1,e.insertionMode=v}(e,t):r===m.EMBED?X(e,t):r===m.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML);const r=n.getTokenAttr(t,T.TYPE);r&&"hidden"===r.toLowerCase()||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):r===m.PARAM||r===m.TRACK?J(e,t):r===m.IMAGE?function(e,t){t.tagName=m.IMG,X(e,t)}(e,t):r!==m.FRAME&&r!==m.TBODY&&r!==m.TFOOT&&r!==m.THEAD&&re(e,t);break;case 6:r===m.SCRIPT?U(e,t):r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?W(e,t):r===m.BUTTON?function(e,t){e.openElements.hasInScope(m.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(m.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.framesetOk=!1}(e,t):r===m.STRIKE||r===m.STRONG?V(e,t):r===m.APPLET||r===m.OBJECT?Q(e,t):r===m.KEYGEN?X(e,t):r===m.SOURCE?J(e,t):r===m.IFRAME?function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,n.MODE.RAWTEXT)}(e,t):r===m.SELECT?function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.framesetOk=!1,e.insertionMode===v||"IN_CAPTION_MODE"===e.insertionMode||"IN_TABLE_BODY_MODE"===e.insertionMode||"IN_ROW_MODE"===e.insertionMode||"IN_CELL_MODE"===e.insertionMode?e.insertionMode="IN_SELECT_IN_TABLE_MODE":e.insertionMode="IN_SELECT_MODE"}(e,t):r===m.OPTION?ee(e,t):re(e,t);break;case 7:r===m.BGSOUND?U(e,t):r===m.DETAILS||r===m.ADDRESS||r===m.ARTICLE||r===m.SECTION||r===m.SUMMARY?W(e,t):r===m.LISTING?Y(e,t):r===m.MARQUEE?Q(e,t):r===m.NOEMBED?Z(e,t):r!==m.CAPTION&&re(e,t);break;case 8:r===m.BASEFONT?U(e,t):r===m.FRAMESET?function(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&r&&(e.treeAdapter.detachNode(r),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,_.HTML),e.insertionMode="IN_FRAMESET_MODE")}(e,t):r===m.FIELDSET?W(e,t):r===m.TEXTAREA?function(e,t){e._insertElement(t,_.HTML),e.skipNextNewLine=!0,e.tokenizer.state=n.MODE.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode="TEXT_MODE"}(e,t):r===m.TEMPLATE?U(e,t):r===m.NOSCRIPT?e.options.scriptingEnabled?Z(e,t):re(e,t):r===m.OPTGROUP?ee(e,t):r!==m.COLGROUP&&re(e,t);break;case 9:r===m.PLAINTEXT?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.tokenizer.state=n.MODE.PLAINTEXT}(e,t):re(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?W(e,t):re(e,t);break;default:re(e,t)}}function se(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r))}function ie(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r),e.activeFormattingElements.clearToLastMarker())}function ae(e,t){const r=t.tagName;for(let t=e.openElements.stackTop;t>0;t--){const n=e.openElements.items[t];if(e.treeAdapter.getTagName(n)===r){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilElementPopped(n);break}if(e._isSpecialElement(n))break}}function oe(e,t){const r=t.tagName;switch(r.length){case 1:r===m.A||r===m.B||r===m.I||r===m.S||r===m.U?R(e,t):r===m.P?function(e){e.openElements.hasInButtonScope(m.P)||e._insertFakeElement(m.P),e._closePElement()}(e):ae(e,t);break;case 2:r===m.DL||r===m.UL||r===m.OL?se(e,t):r===m.LI?function(e){e.openElements.hasInListItemScope(m.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(m.LI),e.openElements.popUntilTagNamePopped(m.LI))}(e):r===m.DD||r===m.DT?function(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r))}(e,t):r===m.H1||r===m.H2||r===m.H3||r===m.H4||r===m.H5||r===m.H6?function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e):r===m.BR?function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(m.BR),e.openElements.pop(),e.framesetOk=!1}(e):r===m.EM||r===m.TT?R(e,t):ae(e,t);break;case 3:r===m.BIG?R(e,t):r===m.DIR||r===m.DIV||r===m.NAV||r===m.PRE?se(e,t):ae(e,t);break;case 4:r===m.BODY?function(e){e.openElements.hasInScope(m.BODY)&&(e.insertionMode="AFTER_BODY_MODE")}(e):r===m.HTML?function(e,t){e.openElements.hasInScope(m.BODY)&&(e.insertionMode="AFTER_BODY_MODE",e._processToken(t))}(e,t):r===m.FORM?function(e){const t=e.openElements.tmplCount>0,r=e.formElement;t||(e.formElement=null),(r||t)&&e.openElements.hasInScope(m.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(m.FORM):e.openElements.remove(r))}(e):r===m.CODE||r===m.FONT||r===m.NOBR?R(e,t):r===m.MAIN||r===m.MENU?se(e,t):ae(e,t);break;case 5:r===m.ASIDE?se(e,t):r===m.SMALL?R(e,t):ae(e,t);break;case 6:r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?se(e,t):r===m.APPLET||r===m.OBJECT?ie(e,t):r===m.STRIKE||r===m.STRONG?R(e,t):ae(e,t);break;case 7:r===m.ADDRESS||r===m.ARTICLE||r===m.DETAILS||r===m.SECTION||r===m.SUMMARY||r===m.LISTING?se(e,t):r===m.MARQUEE?ie(e,t):ae(e,t);break;case 8:r===m.FIELDSET?se(e,t):r===m.TEMPLATE?H(e,t):ae(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?se(e,t):ae(e,t);break;default:ae(e,t)}}function le(e,t){e.tmplInsertionModeStackTop>-1?_e(e,t):e.stopped=!0}function ce(e,t){const r=e.openElements.currentTagName;r===m.TABLE||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR?(e.pendingCharacterTokens=[],e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode="IN_TABLE_TEXT_MODE",e._processToken(t)):de(e,t)}function ue(e,t){const r=t.tagName;switch(r.length){case 2:r===m.TD||r===m.TH||r===m.TR?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(m.TBODY),e.insertionMode="IN_TABLE_BODY_MODE",e._processToken(t)}(e,t):de(e,t);break;case 3:r===m.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(m.COLGROUP),e.insertionMode="IN_COLUMN_GROUP_MODE",e._processToken(t)}(e,t):de(e,t);break;case 4:r===m.FORM?function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,_.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t):de(e,t);break;case 5:r===m.TABLE?function(e,t){e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode(),e._processToken(t))}(e,t):r===m.STYLE?U(e,t):r===m.TBODY||r===m.TFOOT||r===m.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode="IN_TABLE_BODY_MODE"}(e,t):r===m.INPUT?function(e,t){const r=n.getTokenAttr(t,T.TYPE);r&&"hidden"===r.toLowerCase()?e._appendElement(t,_.HTML):de(e,t),t.ackSelfClosing=!0}(e,t):de(e,t);break;case 6:r===m.SCRIPT?U(e,t):de(e,t);break;case 7:r===m.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,_.HTML),e.insertionMode="IN_CAPTION_MODE"}(e,t):de(e,t);break;case 8:r===m.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode="IN_COLUMN_GROUP_MODE"}(e,t):r===m.TEMPLATE?U(e,t):de(e,t);break;default:de(e,t)}}function he(e,t){const r=t.tagName;r===m.TABLE?e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode()):r===m.TEMPLATE?H(e,t):r!==m.BODY&&r!==m.CAPTION&&r!==m.COL&&r!==m.COLGROUP&&r!==m.HTML&&r!==m.TBODY&&r!==m.TD&&r!==m.TFOOT&&r!==m.TH&&r!==m.THEAD&&r!==m.TR&&de(e,t)}function de(e,t){const r=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=r}function pe(e,t){let r=0;if(e.hasNonWhitespacePendingCharacterToken)for(;r0?(e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode(),e._processToken(t)):e.stopped=!0}function Te(e,t){e.insertionMode="IN_BODY_MODE",e._processToken(t)}function Ee(e,t){e.insertionMode="IN_BODY_MODE",e._processToken(t)}e.exports=class{constructor(e){this.options=u(E,e),this.treeAdapter=this.options.treeAdapter,this.pendingScript=null,this.options.sourceCodeLocationInfo&&l.install(this,a),this.options.onParseError&&l.install(this,o,{onParseError:this.options.onParseError})}parse(e){const t=this.treeAdapter.createDocument();return this._bootstrap(t,null),this.tokenizer.write(e,!0),this._runParsingLoop(null),t}parseFragment(e,t){t||(t=this.treeAdapter.createElement(m.TEMPLATE,_.HTML,[]));const r=this.treeAdapter.createElement("documentmock",_.HTML,[]);this._bootstrap(r,t),this.treeAdapter.getTagName(t)===m.TEMPLATE&&this._pushTmplInsertionMode("IN_TEMPLATE_MODE"),this._initTokenizerForFragmentParsing(),this._insertFakeRootElement(),this._resetInsertionMode(),this._findFormInFragmentContext(),this.tokenizer.write(e,!0),this._runParsingLoop(null);const n=this.treeAdapter.getFirstChild(r),s=this.treeAdapter.createDocumentFragment();return this._adoptNodes(n,s),s}_bootstrap(e,t){this.tokenizer=new n(this.options),this.stopped=!1,this.insertionMode="INITIAL_MODE",this.originalInsertionMode="",this.document=e,this.fragmentContext=t,this.headElement=null,this.formElement=null,this.openElements=new s(this.document,this.treeAdapter),this.activeFormattingElements=new i(this.treeAdapter),this.tmplInsertionModeStack=[],this.tmplInsertionModeStackTop=-1,this.currentTmplInsertionMode=null,this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1}_err(){}_runParsingLoop(e){for(;!this.stopped;){this._setupTokenizerCDATAMode();const t=this.tokenizer.getNextToken();if(t.type===n.HIBERNATION_TOKEN)break;if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.type===n.WHITESPACE_CHARACTER_TOKEN&&"\n"===t.chars[0])){if(1===t.chars.length)continue;t.chars=t.chars.substr(1)}if(this._processInputToken(t),e&&this.pendingScript)break}}runParsingLoopForCurrentChunk(e,t){if(this._runParsingLoop(t),t&&this.pendingScript){const e=this.pendingScript;return this.pendingScript=null,void t(e)}e&&e()}_setupTokenizerCDATAMode(){const e=this._getAdjustedCurrentElement();this.tokenizer.allowCDATA=e&&e!==this.document&&this.treeAdapter.getNamespaceURI(e)!==_.HTML&&!this._isIntegrationPoint(e)}_switchToTextParsing(e,t){this._insertElement(e,_.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode="TEXT_MODE"}switchToPlaintextParsing(){this.insertionMode="TEXT_MODE",this.originalInsertionMode="IN_BODY_MODE",this.tokenizer.state=n.MODE.PLAINTEXT}_getAdjustedCurrentElement(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;do{if(this.treeAdapter.getTagName(e)===m.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}_initTokenizerForFragmentParsing(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===_.HTML){const e=this.treeAdapter.getTagName(this.fragmentContext);e===m.TITLE||e===m.TEXTAREA?this.tokenizer.state=n.MODE.RCDATA:e===m.STYLE||e===m.XMP||e===m.IFRAME||e===m.NOEMBED||e===m.NOFRAMES||e===m.NOSCRIPT?this.tokenizer.state=n.MODE.RAWTEXT:e===m.SCRIPT?this.tokenizer.state=n.MODE.SCRIPT_DATA:e===m.PLAINTEXT&&(this.tokenizer.state=n.MODE.PLAINTEXT)}}_setDocumentType(e){const t=e.name||"",r=e.publicId||"",n=e.systemId||"";this.treeAdapter.setDocumentType(this.document,t,r,n)}_attachElementToTree(e){if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.appendChild(t,e)}}_appendElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r)}_insertElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r),this.openElements.push(r)}_insertFakeElement(e){const t=this.treeAdapter.createElement(e,_.HTML,[]);this._attachElementToTree(t),this.openElements.push(t)}_insertTemplate(e){const t=this.treeAdapter.createElement(e.tagName,_.HTML,e.attrs),r=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,r),this._attachElementToTree(t),this.openElements.push(t)}_insertFakeRootElement(){const e=this.treeAdapter.createElement(m.HTML,_.HTML,[]);this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e)}_appendCommentNode(e,t){const r=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,r)}_insertCharacters(e){if(this._shouldFosterParentOnInsertion())this._fosterParentText(e.chars);else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.insertText(t,e.chars)}}_adoptNodes(e,t){for(let r=this.treeAdapter.getFirstChild(e);r;r=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(r),this.treeAdapter.appendChild(t,r)}_shouldProcessTokenInForeignContent(e){const t=this._getAdjustedCurrentElement();if(!t||t===this.document)return!1;const r=this.treeAdapter.getNamespaceURI(t);if(r===_.HTML)return!1;if(this.treeAdapter.getTagName(t)===m.ANNOTATION_XML&&r===_.MATHML&&e.type===n.START_TAG_TOKEN&&e.tagName===m.SVG)return!1;const s=e.type===n.CHARACTER_TOKEN||e.type===n.NULL_CHARACTER_TOKEN||e.type===n.WHITESPACE_CHARACTER_TOKEN;return!((e.type===n.START_TAG_TOKEN&&e.tagName!==m.MGLYPH&&e.tagName!==m.MALIGNMARK||s)&&this._isIntegrationPoint(t,_.MATHML)||(e.type===n.START_TAG_TOKEN||s)&&this._isIntegrationPoint(t,_.HTML)||e.type===n.EOF_TOKEN)}_processToken(e){A[this.insertionMode][e.type](this,e)}_processTokenInBodyMode(e){A.IN_BODY_MODE[e.type](this,e)}_processTokenInForeignContent(e){e.type===n.CHARACTER_TOKEN?function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e):e.type===n.NULL_CHARACTER_TOKEN?function(e,t){t.chars=g.REPLACEMENT_CHARACTER,e._insertCharacters(t)}(this,e):e.type===n.WHITESPACE_CHARACTER_TOKEN?M(this,e):e.type===n.COMMENT_TOKEN?D(this,e):e.type===n.START_TAG_TOKEN?function(e,t){if(d.causesExit(t)&&!e.fragmentContext){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==_.HTML&&!e._isIntegrationPoint(e.openElements.current);)e.openElements.pop();e._processToken(t)}else{const r=e._getAdjustedCurrentElement(),n=e.treeAdapter.getNamespaceURI(r);n===_.MATHML?d.adjustTokenMathMLAttrs(t):n===_.SVG&&(d.adjustTokenSVGTagName(t),d.adjustTokenSVGAttrs(t)),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,n):e._insertElement(t,n),t.ackSelfClosing=!0}}(this,e):e.type===n.END_TAG_TOKEN&&function(e,t){for(let r=e.openElements.stackTop;r>0;r--){const n=e.openElements.items[r];if(e.treeAdapter.getNamespaceURI(n)===_.HTML){e._processToken(t);break}if(e.treeAdapter.getTagName(n).toLowerCase()===t.tagName){e.openElements.popUntilElementPopped(n);break}}}(this,e)}_processInputToken(e){this._shouldProcessTokenInForeignContent(e)?this._processTokenInForeignContent(e):this._processToken(e),e.type===n.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing&&this._err(p.nonVoidHtmlElementStartTagWithTrailingSolidus)}_isIntegrationPoint(e,t){const r=this.treeAdapter.getTagName(e),n=this.treeAdapter.getNamespaceURI(e),s=this.treeAdapter.getAttrList(e);return d.isIntegrationPoint(r,n,s,t)}_reconstructActiveFormattingElements(){const e=this.activeFormattingElements.length;if(e){let t=e,r=null;do{if(t--,r=this.activeFormattingElements.entries[t],r.type===i.MARKER_ENTRY||this.openElements.contains(r.element)){t++;break}}while(t>0);for(let n=t;n=0;e--){let r=this.openElements.items[e];0===e&&(t=!0,this.fragmentContext&&(r=this.fragmentContext));const n=this.treeAdapter.getTagName(r),s=b[n];if(s){this.insertionMode=s;break}if(!(t||n!==m.TD&&n!==m.TH)){this.insertionMode="IN_CELL_MODE";break}if(!t&&n===m.HEAD){this.insertionMode="IN_HEAD_MODE";break}if(n===m.SELECT){this._resetInsertionModeForSelect(e);break}if(n===m.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}if(n===m.HTML){this.insertionMode=this.headElement?"AFTER_HEAD_MODE":"BEFORE_HEAD_MODE";break}if(t){this.insertionMode="IN_BODY_MODE";break}}}_resetInsertionModeForSelect(e){if(e>0)for(let t=e-1;t>0;t--){const e=this.openElements.items[t],r=this.treeAdapter.getTagName(e);if(r===m.TEMPLATE)break;if(r===m.TABLE)return void(this.insertionMode="IN_SELECT_IN_TABLE_MODE")}this.insertionMode="IN_SELECT_MODE"}_pushTmplInsertionMode(e){this.tmplInsertionModeStack.push(e),this.tmplInsertionModeStackTop++,this.currentTmplInsertionMode=e}_popTmplInsertionMode(){this.tmplInsertionModeStack.pop(),this.tmplInsertionModeStackTop--,this.currentTmplInsertionMode=this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]}_isElementCausesFosterParenting(e){const t=this.treeAdapter.getTagName(e);return t===m.TABLE||t===m.TBODY||t===m.TFOOT||t===m.THEAD||t===m.TR}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.current)}_findFosterParentingLocation(){const e={parent:null,beforeElement:null};for(let t=this.openElements.stackTop;t>=0;t--){const r=this.openElements.items[t],n=this.treeAdapter.getTagName(r),s=this.treeAdapter.getNamespaceURI(r);if(n===m.TEMPLATE&&s===_.HTML){e.parent=this.treeAdapter.getTemplateContent(r);break}if(n===m.TABLE){e.parent=this.treeAdapter.getParentNode(r),e.parent?e.beforeElement=r:e.parent=this.openElements.items[t-1];break}}return e.parent||(e.parent=this.openElements.items[0]),e}_fosterParentElement(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}_fosterParentText(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertTextBefore(t.parent,e,t.beforeElement):this.treeAdapter.insertText(t.parent,e)}_isSpecialElement(e){const t=this.treeAdapter.getTagName(e),r=this.treeAdapter.getNamespaceURI(e);return f.SPECIAL_ELEMENTS[r][t]}}},function(e,t,r){"use strict";const n=r(103),s=r(104),i=n.CODE_POINTS;e.exports=class{constructor(){this.html=null,this.pos=-1,this.lastGapPos=-1,this.lastCharPos=-1,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536}_err(){}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.lastCharPos){const t=this.html.charCodeAt(this.pos+1);if(n.isSurrogatePair(t))return this.pos++,this._addGap(),n.getSurrogatePairCodePoint(e,t)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,i.EOF;return this._err(s.surrogateInInputStream),e}dropParsedChunk(){this.pos>this.bufferWaterline&&(this.lastCharPos-=this.pos,this.html=this.html.substring(this.pos),this.pos=0,this.lastGapPos=-1,this.gapStack=[])}write(e,t){this.html?this.html+=e:this.html=e,this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1,this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1,this.html.length),this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1}advance(){if(this.pos++,this.pos>this.lastCharPos)return this.endOfChunkHit=!this.lastChunkWritten,i.EOF;let e=this.html.charCodeAt(this.pos);return this.skipNextNewLine&&e===i.LINE_FEED?(this.skipNextNewLine=!1,this._addGap(),this.advance()):e===i.CARRIAGE_RETURN?(this.skipNextNewLine=!0,i.LINE_FEED):(this.skipNextNewLine=!1,n.isSurrogate(e)&&(e=this._processSurrogate(e)),e>31&&e<127||e===i.LINE_FEED||e===i.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}_checkForProblematicCharacters(e){n.isControlCodePoint(e)?this._err(s.controlCharacterInInputStream):n.isUndefinedCodePoint(e)&&this._err(s.noncharacterInInputStream)}retreat(){this.pos===this.lastGapPos&&(this.lastGapPos=this.gapStack.pop(),this.pos--),this.pos--}}},function(e,t,r){"use strict";e.exports=new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4e3,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,1e4,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13e3,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204])},function(e,t,r){"use strict";const n=r(48),s=n.TAG_NAMES,i=n.NAMESPACES;function a(e){switch(e.length){case 1:return e===s.P;case 2:return e===s.RB||e===s.RP||e===s.RT||e===s.DD||e===s.DT||e===s.LI;case 3:return e===s.RTC;case 6:return e===s.OPTION;case 8:return e===s.OPTGROUP}return!1}function o(e){switch(e.length){case 1:return e===s.P;case 2:return e===s.RB||e===s.RP||e===s.RT||e===s.DD||e===s.DT||e===s.LI||e===s.TD||e===s.TH||e===s.TR;case 3:return e===s.RTC;case 5:return e===s.TBODY||e===s.TFOOT||e===s.THEAD;case 6:return e===s.OPTION;case 7:return e===s.CAPTION;case 8:return e===s.OPTGROUP||e===s.COLGROUP}return!1}function l(e,t){switch(e.length){case 2:if(e===s.TD||e===s.TH)return t===i.HTML;if(e===s.MI||e===s.MO||e===s.MN||e===s.MS)return t===i.MATHML;break;case 4:if(e===s.HTML)return t===i.HTML;if(e===s.DESC)return t===i.SVG;break;case 5:if(e===s.TABLE)return t===i.HTML;if(e===s.MTEXT)return t===i.MATHML;if(e===s.TITLE)return t===i.SVG;break;case 6:return(e===s.APPLET||e===s.OBJECT)&&t===i.HTML;case 7:return(e===s.CAPTION||e===s.MARQUEE)&&t===i.HTML;case 8:return e===s.TEMPLATE&&t===i.HTML;case 13:return e===s.FOREIGN_OBJECT&&t===i.SVG;case 14:return e===s.ANNOTATION_XML&&t===i.MATHML}return!1}e.exports=class{constructor(e,t){this.stackTop=-1,this.items=[],this.current=e,this.currentTagName=null,this.currentTmplContent=null,this.tmplCount=0,this.treeAdapter=t}_indexOf(e){let t=-1;for(let r=this.stackTop;r>=0;r--)if(this.items[r]===e){t=r;break}return t}_isInTemplate(){return this.currentTagName===s.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===i.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagName=this.current&&this.treeAdapter.getTagName(this.current),this.currentTmplContent=this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):null}push(e){this.items[++this.stackTop]=e,this._updateCurrentElement(),this._isInTemplate()&&this.tmplCount++}pop(){this.stackTop--,this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this._updateCurrentElement()}replace(e,t){const r=this._indexOf(e);this.items[r]=t,r===this.stackTop&&this._updateCurrentElement()}insertAfter(e,t){const r=this._indexOf(e)+1;this.items.splice(r,0,t),r===++this.stackTop&&this._updateCurrentElement()}popUntilTagNamePopped(e){for(;this.stackTop>-1;){const t=this.currentTagName,r=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),t===e&&r===i.HTML)break}}popUntilElementPopped(e){for(;this.stackTop>-1;){const t=this.current;if(this.pop(),t===e)break}}popUntilNumberedHeaderPopped(){for(;this.stackTop>-1;){const e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===s.H1||e===s.H2||e===s.H3||e===s.H4||e===s.H5||e===s.H6&&t===i.HTML)break}}popUntilTableCellPopped(){for(;this.stackTop>-1;){const e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===s.TD||e===s.TH&&t===i.HTML)break}}popAllUpToHtmlElement(){this.stackTop=0,this._updateCurrentElement()}clearBackToTableContext(){for(;this.currentTagName!==s.TABLE&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}clearBackToTableBodyContext(){for(;this.currentTagName!==s.TBODY&&this.currentTagName!==s.TFOOT&&this.currentTagName!==s.THEAD&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}clearBackToTableRowContext(){for(;this.currentTagName!==s.TR&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}remove(e){for(let t=this.stackTop;t>=0;t--)if(this.items[t]===e){this.items.splice(t,1),this.stackTop--,this._updateCurrentElement();break}}tryPeekProperlyNestedBodyElement(){const e=this.items[1];return e&&this.treeAdapter.getTagName(e)===s.BODY?e:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){let t=this._indexOf(e);return--t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return 0===this.stackTop&&this.currentTagName===s.HTML}hasInScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if(l(r,n))return!1}return!0}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]),r=this.treeAdapter.getNamespaceURI(this.items[e]);if((t===s.H1||t===s.H2||t===s.H3||t===s.H4||t===s.H5||t===s.H6)&&r===i.HTML)return!0;if(l(t,r))return!1}return!0}hasInListItemScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if((r===s.UL||r===s.OL)&&n===i.HTML||l(r,n))return!1}return!0}hasInButtonScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if(r===s.BUTTON&&n===i.HTML||l(r,n))return!1}return!0}hasInTableScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===i.HTML){if(r===e)return!0;if(r===s.TABLE||r===s.TEMPLATE||r===s.HTML)return!1}}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]);if(this.treeAdapter.getNamespaceURI(this.items[e])===i.HTML){if(t===s.TBODY||t===s.THEAD||t===s.TFOOT)return!0;if(t===s.TABLE||t===s.HTML)return!1}}return!0}hasInSelectScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===i.HTML){if(r===e)return!0;if(r!==s.OPTION&&r!==s.OPTGROUP)return!1}}return!0}generateImpliedEndTags(){for(;a(this.currentTagName);)this.pop()}generateImpliedEndTagsThoroughly(){for(;o(this.currentTagName);)this.pop()}generateImpliedEndTagsWithExclusion(e){for(;a(this.currentTagName)&&this.currentTagName!==e;)this.pop()}}},function(e,t,r){"use strict";class n{constructor(e){this.length=0,this.entries=[],this.treeAdapter=e,this.bookmark=null}_getNoahArkConditionCandidates(e){const t=[];if(this.length>=3){const r=this.treeAdapter.getAttrList(e).length,s=this.treeAdapter.getTagName(e),i=this.treeAdapter.getNamespaceURI(e);for(let e=this.length-1;e>=0;e--){const a=this.entries[e];if(a.type===n.MARKER_ENTRY)break;const o=a.element,l=this.treeAdapter.getAttrList(o);this.treeAdapter.getTagName(o)===s&&this.treeAdapter.getNamespaceURI(o)===i&&l.length===r&&t.push({idx:e,attrs:l})}}return t.length<3?[]:t}_ensureNoahArkCondition(e){const t=this._getNoahArkConditionCandidates(e);let r=t.length;if(r){const n=this.treeAdapter.getAttrList(e),s=n.length,i=Object.create(null);for(let e=0;e=2;e--)this.entries.splice(t[e].idx,1),this.length--}}insertMarker(){this.entries.push({type:n.MARKER_ENTRY}),this.length++}pushElement(e,t){this._ensureNoahArkCondition(e),this.entries.push({type:n.ELEMENT_ENTRY,element:e,token:t}),this.length++}insertElementAfterBookmark(e,t){let r=this.length-1;for(;r>=0&&this.entries[r]!==this.bookmark;r--);this.entries.splice(r+1,0,{type:n.ELEMENT_ENTRY,element:e,token:t}),this.length++}removeEntry(e){for(let t=this.length-1;t>=0;t--)if(this.entries[t]===e){this.entries.splice(t,1),this.length--;break}}clearToLastMarker(){for(;this.length;){const e=this.entries.pop();if(this.length--,e.type===n.MARKER_ENTRY)break}}getElementEntryInScopeWithTagName(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===n.MARKER_ENTRY)return null;if(this.treeAdapter.getTagName(r.element)===e)return r}return null}getElementEntry(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===n.ELEMENT_ENTRY&&r.element===e)return r}return null}}n.MARKER_ENTRY="MARKER_ENTRY",n.ELEMENT_ENTRY="ELEMENT_ENTRY",e.exports=n},function(e,t,r){"use strict";const n=r(33),s=r(84),i=r(174),a=r(389),o=r(48).TAG_NAMES;e.exports=class extends n{constructor(e){super(e),this.parser=e,this.treeAdapter=this.parser.treeAdapter,this.posTracker=null,this.lastStartTagToken=null,this.lastFosterParentingLocation=null,this.currentToken=null}_setStartLocation(e){let t=null;this.lastStartTagToken&&(t=Object.assign({},this.lastStartTagToken.location),t.startTag=this.lastStartTagToken.location),this.treeAdapter.setNodeSourceCodeLocation(e,t)}_setEndLocation(e,t){const r=this.treeAdapter.getNodeSourceCodeLocation(e);if(r&&t.location){const n=t.location,i=this.treeAdapter.getTagName(e);t.type===s.END_TAG_TOKEN&&i===t.tagName?(r.endTag=Object.assign({},n),r.endLine=n.endLine,r.endCol=n.endCol,r.endOffset=n.endOffset):(r.endLine=n.startLine,r.endCol=n.startCol,r.endOffset=n.startOffset)}}_getOverriddenMethods(e,t){return{_bootstrap(r,s){t._bootstrap.call(this,r,s),e.lastStartTagToken=null,e.lastFosterParentingLocation=null,e.currentToken=null;const o=n.install(this.tokenizer,i);e.posTracker=o.posTracker,n.install(this.openElements,a,{onItemPop:function(t){e._setEndLocation(t,e.currentToken)}})},_runParsingLoop(r){t._runParsingLoop.call(this,r);for(let t=this.openElements.stackTop;t>=0;t--)e._setEndLocation(this.openElements.items[t],e.currentToken)},_processTokenInForeignContent(r){e.currentToken=r,t._processTokenInForeignContent.call(this,r)},_processToken(r){if(e.currentToken=r,t._processToken.call(this,r),r.type===s.END_TAG_TOKEN&&(r.tagName===o.HTML||r.tagName===o.BODY&&this.openElements.hasInScope(o.BODY)))for(let t=this.openElements.stackTop;t>=0;t--){const n=this.openElements.items[t];if(this.treeAdapter.getTagName(n)===r.tagName){e._setEndLocation(n,r);break}}},_setDocumentType(e){t._setDocumentType.call(this,e);const r=this.treeAdapter.getChildNodes(this.document),n=r.length;for(let t=0;t0;t--)e.onItemPop(this.items[t]);t.popAllUpToHtmlElement.call(this)},remove(r){e.onItemPop(this.current),t.remove.call(this,r)}}}}},function(e,t,r){"use strict";const n=r(105),s=r(391),i=r(174),a=r(33);e.exports=class extends n{constructor(e,t){super(e,t),this.opts=t,this.ctLoc=null,this.locBeforeToken=!1}_setErrorLocation(e){this.ctLoc&&(e.startLine=this.ctLoc.startLine,e.startCol=this.ctLoc.startCol,e.startOffset=this.ctLoc.startOffset,e.endLine=this.locBeforeToken?this.ctLoc.startLine:this.ctLoc.endLine,e.endCol=this.locBeforeToken?this.ctLoc.startCol:this.ctLoc.endCol,e.endOffset=this.locBeforeToken?this.ctLoc.startOffset:this.ctLoc.endOffset)}_getOverriddenMethods(e,t){return{_bootstrap(r,n){t._bootstrap.call(this,r,n),a.install(this.tokenizer,s,e.opts),a.install(this.tokenizer,i)},_processInputToken(r){e.ctLoc=r.location,t._processInputToken.call(this,r)},_err(t,r){e.locBeforeToken=r&&r.beforeToken,e._reportError(t)}}}}},function(e,t,r){"use strict";const n=r(105),s=r(392),i=r(33);e.exports=class extends n{constructor(e,t){super(e,t);const r=i.install(e.preprocessor,s,t);this.posTracker=r.posTracker}}},function(e,t,r){"use strict";const n=r(105),s=r(175),i=r(33);e.exports=class extends n{constructor(e,t){super(e,t),this.posTracker=i.install(e,s),this.lastErrOffset=-1}_reportError(e){this.lastErrOffset!==this.posTracker.offset&&(this.lastErrOffset=this.posTracker.offset,super._reportError(e))}}},function(e,t,r){"use strict";const n=r(84),s=r(48),i=s.TAG_NAMES,a=s.NAMESPACES,o=s.ATTRS,l={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"},c={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:a.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:a.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:a.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:a.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:a.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:a.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:a.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:a.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:a.XML},"xml:space":{prefix:"xml",name:"space",namespace:a.XML},xmlns:{prefix:"",name:"xmlns",namespace:a.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:a.XMLNS}},u=t.SVG_TAG_NAMES_ADJUSTMENT_MAP={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"},h={[i.B]:!0,[i.BIG]:!0,[i.BLOCKQUOTE]:!0,[i.BODY]:!0,[i.BR]:!0,[i.CENTER]:!0,[i.CODE]:!0,[i.DD]:!0,[i.DIV]:!0,[i.DL]:!0,[i.DT]:!0,[i.EM]:!0,[i.EMBED]:!0,[i.H1]:!0,[i.H2]:!0,[i.H3]:!0,[i.H4]:!0,[i.H5]:!0,[i.H6]:!0,[i.HEAD]:!0,[i.HR]:!0,[i.I]:!0,[i.IMG]:!0,[i.LI]:!0,[i.LISTING]:!0,[i.MENU]:!0,[i.META]:!0,[i.NOBR]:!0,[i.OL]:!0,[i.P]:!0,[i.PRE]:!0,[i.RUBY]:!0,[i.S]:!0,[i.SMALL]:!0,[i.SPAN]:!0,[i.STRONG]:!0,[i.STRIKE]:!0,[i.SUB]:!0,[i.SUP]:!0,[i.TABLE]:!0,[i.TT]:!0,[i.U]:!0,[i.UL]:!0,[i.VAR]:!0};t.causesExit=function(e){const t=e.tagName;return!(t!==i.FONT||null===n.getTokenAttr(e,o.COLOR)&&null===n.getTokenAttr(e,o.SIZE)&&null===n.getTokenAttr(e,o.FACE))||h[t]},t.adjustTokenMathMLAttrs=function(e){for(let t=0;t/g;class f{constructor(e,t){this.options=s(c,t),this.treeAdapter=this.options.treeAdapter,this.html="",this.startNode=e}serialize(){return this._serializeChildNodes(this.startNode),this.html}_serializeChildNodes(e){const t=this.treeAdapter.getChildNodes(e);if(t)for(let e=0,r=t.length;e",t!==o.AREA&&t!==o.BASE&&t!==o.BASEFONT&&t!==o.BGSOUND&&t!==o.BR&&t!==o.COL&&t!==o.EMBED&&t!==o.FRAME&&t!==o.HR&&t!==o.IMG&&t!==o.INPUT&&t!==o.KEYGEN&&t!==o.LINK&&t!==o.META&&t!==o.PARAM&&t!==o.SOURCE&&t!==o.TRACK&&t!==o.WBR){const n=t===o.TEMPLATE&&r===l.HTML?this.treeAdapter.getTemplateContent(e):e;this._serializeChildNodes(n),this.html+=""}}_serializeAttributes(e){const t=this.treeAdapter.getAttrList(e);for(let e=0,r=t.length;e"}}f.escapeString=function(e,t){return e=e.replace(u,"&").replace(h," "),t?e.replace(d,"""):e.replace(p,"<").replace(g,">")},e.exports=f},,function(e,t,r){"use strict";r.r(t),r.d(t,"App",(function(){return Zc})),r.d(t,"Assessor",(function(){return fa})),r.d(t,"ContentAssessor",(function(){return ja})),r.d(t,"SeoAssessor",(function(){return ka})),r.d(t,"TaxonomyAssessor",(function(){return Ua})),r.d(t,"Pluggable",(function(){return Sc})),r.d(t,"SnippetPreview",(function(){return Yc})),r.d(t,"Paper",(function(){return Ka})),r.d(t,"AssessmentResult",(function(){return yi})),r.d(t,"Assessment",(function(){return Ti})),r.d(t,"AnalysisWebWorker",(function(){return gc})),r.d(t,"AnalysisWorkerWrapper",(function(){return mc})),r.d(t,"createWorker",(function(){return Tc})),r.d(t,"assessments",(function(){return h})),r.d(t,"bundledPlugins",(function(){return d})),r.d(t,"config",(function(){return g})),r.d(t,"helpers",(function(){return c})),r.d(t,"markers",(function(){return p})),r.d(t,"interpreters",(function(){return u})),r.d(t,"languageProcessing",(function(){return l})),r.d(t,"values",(function(){return f})),r.d(t,"DIFFICULTY",(function(){return Tn})),r.d(t,"Factory",(function(){return tu}));var n={};r.r(n),r.d(n,"doesWordMatchRegex",(function(){return Zs})),r.d(n,"searchAndReplaceWithRegex",(function(){return ei})),r.d(n,"applyAllReplacements",(function(){return ti}));var s={};r.r(s),r.d(s,"checkIfWordEndingIsOnExceptionList",(function(){return ri})),r.d(s,"checkIfWordIsOnListThatCanHavePrefix",(function(){return ni})),r.d(s,"checkExceptionListWithTwoStems",(function(){return si}));var i={};r.r(i),r.d(i,"removeSuffixesFromFullForm",(function(){return ii})),r.d(i,"removeSuffixFromFullForm",(function(){return ai}));var a={};r.r(a),r.d(a,"Clause",(function(){return li})),r.d(a,"ProminentWord",(function(){return Ln})),r.d(a,"Sentence",(function(){return Nn}));var o={};r.r(o),r.d(o,"matchStringWithRegex",(function(){return bt})),r.d(o,"normalize",(function(){return Xt})),r.d(o,"removeHtmlBlocks",(function(){return kr}));var l={};r.r(l),r.d(l,"AbstractResearcher",(function(){return Ps})),r.d(l,"transliterate",(function(){return Ke})),r.d(l,"replaceDiacritics",(function(){return y})),r.d(l,"createRegexFromArray",(function(){return vt})),r.d(l,"imageInText",(function(){return At})),r.d(l,"stripSpaces",(function(){return Ve})),r.d(l,"baseStemmer",(function(){return Ot})),r.d(l,"getWords",(function(){return It})),r.d(l,"flattenSortLength",(function(){return Fs})),r.d(l,"indices",(function(){return Ks})),r.d(l,"buildFormRule",(function(){return qs})),r.d(l,"createRulesFromArrays",(function(){return zs})),r.d(l,"createSingleRuleFromArray",(function(){return Gs})),r.d(l,"matchRegularParticiples",(function(){return Ws})),r.d(l,"directPrecedenceException",(function(){return Ys})),r.d(l,"precedenceException",(function(){return Vs})),r.d(l,"nonDirectPrecedenceException",(function(){return Xs})),r.d(l,"findMatchingEndingInArray",(function(){return Js})),r.d(l,"regexHelpers",(function(){return n})),r.d(l,"exceptionListHelpers",(function(){return s})),r.d(l,"stemHelpers",(function(){return i})),r.d(l,"areWordsInSentence",(function(){return ci})),r.d(l,"values",(function(){return a})),r.d(l,"getClauses",(function(){return pi})),r.d(l,"getClausesSplitOnStopWords",(function(){return gi})),r.d(l,"stripHTMLTags",(function(){return mt})),r.d(l,"stripBlockTagsAtStartEnd",(function(){return ft})),r.d(l,"countMetaDescriptionLength",(function(){return bs})),r.d(l,"sanitizeString",(function(){return Et})),r.d(l,"removePunctuation",(function(){return Nt})),r.d(l,"getLanguage",(function(){return A})),r.d(l,"getSentences",(function(){return vr})),r.d(l,"getFieldsToMark",(function(){return mi})),r.d(l,"unifyAllSpaces",(function(){return Tt})),r.d(l,"normalizeHTML",(function(){return fi})),r.d(l,"collectMarkingsInSentence",(function(){return ds})),r.d(l,"normalizeSingle",(function(){return Qt})),r.d(l,"parseSynonyms",(function(){return zr})),r.d(l,"mergeListItems",(function(){return _i})),r.d(l,"findWordFormsInString",(function(){return er})),r.d(l,"markWordsInSentences",(function(){return ps})),r.d(l,"helpers",(function(){return o}));var c={};r.r(c),r.d(c,"measureTextWidth",(function(){return xi})),r.d(c,"getLanguagesWithWordFormSupport",(function(){return Di})),r.d(c,"formatNumber",(function(){return Li})),r.d(c,"getLanguagesWithWordComplexity",(function(){return Mi})),r.d(c,"createAnchorOpeningTag",(function(){return Ei.b}));var u={};r.r(u),r.d(u,"scoreToRating",(function(){return Pa}));var h={};r.r(h),r.d(h,"readability",(function(){return Ec})),r.d(h,"seo",(function(){return vc})),r.d(h,"inclusiveLanguage",(function(){return bc}));var d={};r.r(d),r.d(d,"usedKeywords",(function(){return Ac}));var p={};r.r(p),r.d(p,"addMark",(function(){return Ca})),r.d(p,"removeMarks",(function(){return Oc}));var g={};r.r(g),r.d(g,"presenter",(function(){return Cc}));var f={};r.r(f),r.d(f,"AssessmentResult",(function(){return yi})),r.d(f,"Mark",(function(){return us})),r.d(f,"Paper",(function(){return Ka}));var m=r(198),_=r(4),T=r(2),E=r(199),v=r(18),b=r.n(v),y=function(e){const t=[{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}];for(let r=0;r1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";t="id_ID"===i?'[ \\u00a0\\n\\r\\t.,()”“〝〞〟‟„"+;!¡?¿:/»«‹›'+s+"<>":'[ \\u00a0\\u2014\\u06d4\\u061f\\u060C\\u061B\\n\\r\\t.,()”“〝〞〟‟„"+\\-;!¡?¿:/»«‹›'+s+"<>";const a="(^|"+t+"'‘’‛`])";return r=n?"($|((?="+t+"]))|((['‘’‛`])("+t+"])))":"($|("+t+"])|((['‘’‛`])("+t+"])))",a+e+r};const Ge=new RegExp("(
).*?(
)","igs");function ze(e){return e.replace(Ge,"")}const We=new RegExp("

",wt=Ct.split(""),St=new RegExp("^["+Ct+"]+"),kt=new RegExp("["+Ct+"]+$");var Nt=function(e){e=(e=_t(e)).replace("&","");const t=new RegExp("(\\\\)","g");return(e=(e=e.replace(t,"")).replace(St,"")).replace(kt,"")};const Rt=new RegExp(`([${Ct}])`,"g");var It=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(""===(e=Et(e)))return[];let r=e.split(/\s/g);return r=t?r.map(Nt):Object(T.flatMap)(r,e=>e.replace(Rt," $1 ").split(" ")),Object(T.filter)(r,(function(e){return""!==e.trim()}))};function xt(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}r(158),b.a.inherits(xt,Error);var Dt=xt;function Lt(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}b.a.inherits(Lt,Error);var Mt=Lt,Pt=function(e){let t="";return"img"===e.name&&(t=Ve(e.attributes.alt||""),t=t.replace(/"/g,'"'),t=t.replace(/'/g,"'")),t},Ft=function(e){return e=e.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?>/g,""),Ve(e)};const jt=[{letter:/[\u00A3]/g,alternative:""},{letter:/[\u20AC]/g,alternative:"E"},{letter:/[\u00AA]/g,alternative:"a"},{letter:/[\u00BA]/g,alternative:"o"},{letter:/[\u00C0]/g,alternative:"A"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00C2]/g,alternative:"A"},{letter:/[\u00C3]/g,alternative:"A"},{letter:/[\u00C4]/g,alternative:"A"},{letter:/[\u00C5]/g,alternative:"A"},{letter:/[\u00C6]/g,alternative:"AE"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00C8]/g,alternative:"E"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00CA]/g,alternative:"E"},{letter:/[\u00CB]/g,alternative:"E"},{letter:/[\u00CC]/g,alternative:"I"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00CE]/g,alternative:"I"},{letter:/[\u00CF]/g,alternative:"I"},{letter:/[\u00D0]/g,alternative:"D"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00D2]/g,alternative:"O"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u00D4]/g,alternative:"O"},{letter:/[\u00D5]/g,alternative:"O"},{letter:/[\u00D6]/g,alternative:"O"},{letter:/[\u00D8]/g,alternative:"O"},{letter:/[\u00D9]/g,alternative:"U"},{letter:/[\u00DA]/g,alternative:"U"},{letter:/[\u00DB]/g,alternative:"U"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u00DE]/g,alternative:"TH"},{letter:/[\u00DF]/g,alternative:"s"},{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00E2]/g,alternative:"a"},{letter:/[\u00E3]/g,alternative:"a"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00E5]/g,alternative:"a"},{letter:/[\u00E6]/g,alternative:"ae"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00E8]/g,alternative:"e"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00EA]/g,alternative:"e"},{letter:/[\u00EB]/g,alternative:"e"},{letter:/[\u00EC]/g,alternative:"i"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00EE]/g,alternative:"i"},{letter:/[\u00EF]/g,alternative:"i"},{letter:/[\u00F0]/g,alternative:"d"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00F2]/g,alternative:"o"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00F4]/g,alternative:"o"},{letter:/[\u00F5]/g,alternative:"o"},{letter:/[\u00F6]/g,alternative:"o"},{letter:/[\u00F8]/g,alternative:"o"},{letter:/[\u00F9]/g,alternative:"u"},{letter:/[\u00FA]/g,alternative:"u"},{letter:/[\u00FB]/g,alternative:"u"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00FE]/g,alternative:"th"},{letter:/[\u00FF]/g,alternative:"y"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0102]/g,alternative:"A"},{letter:/[\u0103]/g,alternative:"a"},{letter:/[\u0104]/g,alternative:"A"},{letter:/[\u0105]/g,alternative:"a"},{letter:/[\u0106]/g,alternative:"C"},{letter:/[\u0107]/g,alternative:"c"},{letter:/[\u0108]/g,alternative:"C"},{letter:/[\u0109]/g,alternative:"c"},{letter:/[\u010A]/g,alternative:"C"},{letter:/[\u010B]/g,alternative:"c"},{letter:/[\u010C]/g,alternative:"C"},{letter:/[\u010D]/g,alternative:"c"},{letter:/[\u010E]/g,alternative:"D"},{letter:/[\u010F]/g,alternative:"d"},{letter:/[\u0110]/g,alternative:"D"},{letter:/[\u0111]/g,alternative:"d"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u0114]/g,alternative:"E"},{letter:/[\u0115]/g,alternative:"e"},{letter:/[\u0116]/g,alternative:"E"},{letter:/[\u0117]/g,alternative:"e"},{letter:/[\u0118]/g,alternative:"E"},{letter:/[\u0119]/g,alternative:"e"},{letter:/[\u011A]/g,alternative:"E"},{letter:/[\u011B]/g,alternative:"e"},{letter:/[\u011C]/g,alternative:"G"},{letter:/[\u011D]/g,alternative:"g"},{letter:/[\u011E]/g,alternative:"G"},{letter:/[\u011F]/g,alternative:"g"},{letter:/[\u0120]/g,alternative:"G"},{letter:/[\u0121]/g,alternative:"g"},{letter:/[\u0122]/g,alternative:"G"},{letter:/[\u0123]/g,alternative:"g"},{letter:/[\u0124]/g,alternative:"H"},{letter:/[\u0125]/g,alternative:"h"},{letter:/[\u0126]/g,alternative:"H"},{letter:/[\u0127]/g,alternative:"h"},{letter:/[\u0128]/g,alternative:"I"},{letter:/[\u0129]/g,alternative:"i"},{letter:/[\u012A]/g,alternative:"I"},{letter:/[\u012B]/g,alternative:"i"},{letter:/[\u012C]/g,alternative:"I"},{letter:/[\u012D]/g,alternative:"i"},{letter:/[\u012E]/g,alternative:"I"},{letter:/[\u012F]/g,alternative:"i"},{letter:/[\u0130]/g,alternative:"I"},{letter:/[\u0131]/g,alternative:"i"},{letter:/[\u0132]/g,alternative:"IJ"},{letter:/[\u0133]/g,alternative:"ij"},{letter:/[\u0134]/g,alternative:"J"},{letter:/[\u0135]/g,alternative:"j"},{letter:/[\u0136]/g,alternative:"K"},{letter:/[\u0137]/g,alternative:"k"},{letter:/[\u0138]/g,alternative:"k"},{letter:/[\u0139]/g,alternative:"L"},{letter:/[\u013A]/g,alternative:"l"},{letter:/[\u013B]/g,alternative:"L"},{letter:/[\u013C]/g,alternative:"l"},{letter:/[\u013D]/g,alternative:"L"},{letter:/[\u013E]/g,alternative:"l"},{letter:/[\u013F]/g,alternative:"L"},{letter:/[\u0140]/g,alternative:"l"},{letter:/[\u0141]/g,alternative:"L"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u0143]/g,alternative:"N"},{letter:/[\u0144]/g,alternative:"n"},{letter:/[\u0145]/g,alternative:"N"},{letter:/[\u0146]/g,alternative:"n"},{letter:/[\u0147]/g,alternative:"N"},{letter:/[\u0148]/g,alternative:"n"},{letter:/[\u0149]/g,alternative:"n"},{letter:/[\u014A]/g,alternative:"N"},{letter:/[\u014B]/g,alternative:"n"},{letter:/[\u014C]/g,alternative:"O"},{letter:/[\u014D]/g,alternative:"o"},{letter:/[\u014E]/g,alternative:"O"},{letter:/[\u014F]/g,alternative:"o"},{letter:/[\u0150]/g,alternative:"O"},{letter:/[\u0151]/g,alternative:"o"},{letter:/[\u0152]/g,alternative:"OE"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0154]/g,alternative:"R"},{letter:/[\u0155]/g,alternative:"r"},{letter:/[\u0156]/g,alternative:"R"},{letter:/[\u0157]/g,alternative:"r"},{letter:/[\u0158]/g,alternative:"R"},{letter:/[\u0159]/g,alternative:"r"},{letter:/[\u015A]/g,alternative:"S"},{letter:/[\u015B]/g,alternative:"s"},{letter:/[\u015C]/g,alternative:"S"},{letter:/[\u015D]/g,alternative:"s"},{letter:/[\u015E]/g,alternative:"S"},{letter:/[\u015F]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0162]/g,alternative:"T"},{letter:/[\u0163]/g,alternative:"t"},{letter:/[\u0164]/g,alternative:"T"},{letter:/[\u0165]/g,alternative:"t"},{letter:/[\u0166]/g,alternative:"T"},{letter:/[\u0167]/g,alternative:"t"},{letter:/[\u0168]/g,alternative:"U"},{letter:/[\u0169]/g,alternative:"u"},{letter:/[\u016A]/g,alternative:"U"},{letter:/[\u016B]/g,alternative:"u"},{letter:/[\u016C]/g,alternative:"U"},{letter:/[\u016D]/g,alternative:"u"},{letter:/[\u016E]/g,alternative:"U"},{letter:/[\u016F]/g,alternative:"u"},{letter:/[\u0170]/g,alternative:"U"},{letter:/[\u0171]/g,alternative:"u"},{letter:/[\u0172]/g,alternative:"U"},{letter:/[\u0173]/g,alternative:"u"},{letter:/[\u0174]/g,alternative:"W"},{letter:/[\u0175]/g,alternative:"w"},{letter:/[\u0176]/g,alternative:"Y"},{letter:/[\u0177]/g,alternative:"y"},{letter:/[\u0178]/g,alternative:"Y"},{letter:/[\u0179]/g,alternative:"Z"},{letter:/[\u017A]/g,alternative:"z"},{letter:/[\u017B]/g,alternative:"Z"},{letter:/[\u017C]/g,alternative:"z"},{letter:/[\u017D]/g,alternative:"Z"},{letter:/[\u017E]/g,alternative:"z"},{letter:/[\u017F]/g,alternative:"s"},{letter:/[\u01A0]/g,alternative:"O"},{letter:/[\u01A1]/g,alternative:"o"},{letter:/[\u01AF]/g,alternative:"U"},{letter:/[\u01B0]/g,alternative:"u"},{letter:/[\u01CD]/g,alternative:"A"},{letter:/[\u01CE]/g,alternative:"a"},{letter:/[\u01CF]/g,alternative:"I"},{letter:/[\u01D0]/g,alternative:"i"},{letter:/[\u01D1]/g,alternative:"O"},{letter:/[\u01D2]/g,alternative:"o"},{letter:/[\u01D3]/g,alternative:"U"},{letter:/[\u01D4]/g,alternative:"u"},{letter:/[\u01D5]/g,alternative:"U"},{letter:/[\u01D6]/g,alternative:"u"},{letter:/[\u01D7]/g,alternative:"U"},{letter:/[\u01D8]/g,alternative:"u"},{letter:/[\u01D9]/g,alternative:"U"},{letter:/[\u01DA]/g,alternative:"u"},{letter:/[\u01DB]/g,alternative:"U"},{letter:/[\u01DC]/g,alternative:"u"},{letter:/[\u0218]/g,alternative:"S"},{letter:/[\u0219]/g,alternative:"s"},{letter:/[\u021A]/g,alternative:"T"},{letter:/[\u021B]/g,alternative:"t"},{letter:/[\u0251]/g,alternative:"a"},{letter:/[\u1EA0]/g,alternative:"A"},{letter:/[\u1EA1]/g,alternative:"a"},{letter:/[\u1EA2]/g,alternative:"A"},{letter:/[\u1EA3]/g,alternative:"a"},{letter:/[\u1EA4]/g,alternative:"A"},{letter:/[\u1EA5]/g,alternative:"a"},{letter:/[\u1EA6]/g,alternative:"A"},{letter:/[\u1EA7]/g,alternative:"a"},{letter:/[\u1EA8]/g,alternative:"A"},{letter:/[\u1EA9]/g,alternative:"a"},{letter:/[\u1EAA]/g,alternative:"A"},{letter:/[\u1EAB]/g,alternative:"a"},{letter:/[\u1EA6]/g,alternative:"A"},{letter:/[\u1EAD]/g,alternative:"a"},{letter:/[\u1EAE]/g,alternative:"A"},{letter:/[\u1EAF]/g,alternative:"a"},{letter:/[\u1EB0]/g,alternative:"A"},{letter:/[\u1EB1]/g,alternative:"a"},{letter:/[\u1EB2]/g,alternative:"A"},{letter:/[\u1EB3]/g,alternative:"a"},{letter:/[\u1EB4]/g,alternative:"A"},{letter:/[\u1EB5]/g,alternative:"a"},{letter:/[\u1EB6]/g,alternative:"A"},{letter:/[\u1EB7]/g,alternative:"a"},{letter:/[\u1EB8]/g,alternative:"E"},{letter:/[\u1EB9]/g,alternative:"e"},{letter:/[\u1EBA]/g,alternative:"E"},{letter:/[\u1EBB]/g,alternative:"e"},{letter:/[\u1EBC]/g,alternative:"E"},{letter:/[\u1EBD]/g,alternative:"e"},{letter:/[\u1EBE]/g,alternative:"E"},{letter:/[\u1EBF]/g,alternative:"e"},{letter:/[\u1EC0]/g,alternative:"E"},{letter:/[\u1EC1]/g,alternative:"e"},{letter:/[\u1EC2]/g,alternative:"E"},{letter:/[\u1EC3]/g,alternative:"e"},{letter:/[\u1EC4]/g,alternative:"E"},{letter:/[\u1EC5]/g,alternative:"e"},{letter:/[\u1EC6]/g,alternative:"E"},{letter:/[\u1EC7]/g,alternative:"e"},{letter:/[\u1EC8]/g,alternative:"I"},{letter:/[\u1EC9]/g,alternative:"i"},{letter:/[\u1ECA]/g,alternative:"I"},{letter:/[\u1ECB]/g,alternative:"i"},{letter:/[\u1ECC]/g,alternative:"O"},{letter:/[\u1ECD]/g,alternative:"o"},{letter:/[\u1ECE]/g,alternative:"O"},{letter:/[\u1ECF]/g,alternative:"o"},{letter:/[\u1ED0]/g,alternative:"O"},{letter:/[\u1ED1]/g,alternative:"o"},{letter:/[\u1ED2]/g,alternative:"O"},{letter:/[\u1ED3]/g,alternative:"o"},{letter:/[\u1ED4]/g,alternative:"O"},{letter:/[\u1ED5]/g,alternative:"o"},{letter:/[\u1ED6]/g,alternative:"O"},{letter:/[\u1ED7]/g,alternative:"o"},{letter:/[\u1ED8]/g,alternative:"O"},{letter:/[\u1ED9]/g,alternative:"o"},{letter:/[\u1EDA]/g,alternative:"O"},{letter:/[\u1EDB]/g,alternative:"o"},{letter:/[\u1EDC]/g,alternative:"O"},{letter:/[\u1EDD]/g,alternative:"o"},{letter:/[\u1EDE]/g,alternative:"O"},{letter:/[\u1EDF]/g,alternative:"o"},{letter:/[\u1EE0]/g,alternative:"O"},{letter:/[\u1EE1]/g,alternative:"o"},{letter:/[\u1EE2]/g,alternative:"O"},{letter:/[\u1EE3]/g,alternative:"o"},{letter:/[\u1EE4]/g,alternative:"U"},{letter:/[\u1EE5]/g,alternative:"u"},{letter:/[\u1EE6]/g,alternative:"U"},{letter:/[\u1EE7]/g,alternative:"u"},{letter:/[\u1EE8]/g,alternative:"U"},{letter:/[\u1EE9]/g,alternative:"u"},{letter:/[\u1EEA]/g,alternative:"U"},{letter:/[\u1EEB]/g,alternative:"u"},{letter:/[\u1EEC]/g,alternative:"U"},{letter:/[\u1EED]/g,alternative:"u"},{letter:/[\u1EEE]/g,alternative:"U"},{letter:/[\u1EEF]/g,alternative:"u"},{letter:/[\u1EF0]/g,alternative:"U"},{letter:/[\u1EF1]/g,alternative:"u"},{letter:/[\u1EF2]/g,alternative:"Y"},{letter:/[\u1EF3]/g,alternative:"y"},{letter:/[\u1EF4]/g,alternative:"Y"},{letter:/[\u1EF5]/g,alternative:"y"},{letter:/[\u1EF6]/g,alternative:"Y"},{letter:/[\u1EF7]/g,alternative:"y"},{letter:/[\u1EF8]/g,alternative:"Y"},{letter:/[\u1EF9]/g,alternative:"y"}],Bt=[{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00E4]/g,alternative:"ae"},{letter:/[\u00D6]/g,alternative:"Oe"},{letter:/[\u00F6]/g,alternative:"oe"},{letter:/[\u00DC]/g,alternative:"Ue"},{letter:/[\u00FC]/g,alternative:"ue"},{letter:/[\u1E9E]/g,alternative:"SS"},{letter:/[\u00DF]/g,alternative:"ss"}],Ut=[{letter:/[\u00C6]/g,alternative:"Ae"},{letter:/[\u00E6]/g,alternative:"ae"},{letter:/[\u00D8]/g,alternative:"Oe"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E5]/g,alternative:"aa"}],Ht=[{letter:/[\u00B7]/g,alternative:"ll"}],$t=[{letter:/[\u0110]/g,alternative:"DJ"},{letter:/[\u0111]/g,alternative:"dj"}];function Kt(e,t){const r=[];if(e.indexOf(t)>-1)for(let n=0;nqe(e)).join("|"),"ig")}const s=e.match(n)||[];e=e.replace(n,"");const i=Ke(t,r),a=Yt(i,r),o=e.match(a)||[];let l=s.concat(o);const c=function(e,t){const r=function(e){if(Object(T.isUndefined)(e))return[];let t=jt;return t=t.concat(function(e){switch(e){case"de":return Bt;case"da":return Ut;case"ca":return Ht;case"sr":case"bs":return $t;default:return[]}}(A(e))),t}(t);for(let t=r.length-1;t>=0;t--)e=e.replace(r[t].letter,r[t].alternative);return e}(t,r);if(c!==i){const t=Yt(c,r),n=e.match(t)||[];l=l.concat(n)}return Object(T.map)(l,(function(e){return Ve(e)}))};function Qt(e){return e.replace(/[‘’‛`‹›]/g,"'")}function Xt(e){return function(e){return e.replace(/[“”〝〞〟‟„『』«»]/g,'"')}(Qt(e))}var Jt=function(e,t,r,n){e=Ft(e),e=Xt(e=Tt(e)),t=Xt(t);let s=n?n(e,t):Vt(e,t,r);s=Object(T.map)(s,(function(e){return Ve(Nt(e))}));const i=Object(T.map)(s,(function(t){return e.indexOf(t)}));return{count:s.length,matches:s,position:0===i.length?-1:Math.min(...i)}},Zt=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en_EN",n=arguments.length>3?arguments[3]:void 0,s=0,i=[],a=[];return Object(T.uniq)(t).forEach((function(t){const o=Jt(e,t,r,n);s+=o.count,i=i.concat(o.matches),a.push(o.position)})),a=a.filter(e=>e>=0),{count:s,matches:i,position:0===a.length?-1:Math.min(...a)}};const er=function(e,t,r,n){const s=e.length,i=Array(s);let a=[];for(let o=0;o0?1:0,a.push(s.position)}const o=Object(T.sum)(i),l={countWordMatches:o,percentWordMatches:0};return s>0&&(l.percentWordMatches=Math.round(o/s*100)),a=a.filter(e=>e>=0),l.position=0===a.length?-1:Math.min(...a),l},tr=function(e,t,r,n,s){let i=er(e.keyphraseForms,t,n,s);if(i.keyphraseOrSynonym="keyphrase",100===i.percentWordMatches||!1===r||Object(T.isEmpty)(e.synonymsForms))return i;const a=[];for(let r=0;re.percentWordMatches),l=o.indexOf(Math.max(...o));return i.percentWordMatches>=a[l].percentWordMatches||(i=a[l],i.keyphraseOrSynonym="synonym"),i};var rr=function(e){const t=e.getTree();return t?t.findAll(e=>"img"===e.name):[]};function nr(e,t){const r=rr(e),n=t.getResearch("morphology"),s=t.getHelper("matchWordCustomHelper");return function(e,t,r,n){const s={noAlt:0,withAlt:0,withAltKeyword:0,withAltNonKeyword:0};return e.forEach(e=>{const i=Pt(e);""!==i?Object(T.isEmpty)(t.keyphraseForms)?s.withAlt++:tr(t,i,!0,r,n).percentWordMatches>=50?s.withAltKeyword++:s.withAltNonKeyword++:s.noAlt++}),s}(r,n,e.getLocale(),s)}const sr=new RegExp("^[.]$"),ir=/^<[^><]*$/,ar=/^<([^>\s/]+)[^>]*>$/im,or=/^<\/([^>\s]+)[^>]*>$/im,lr=/^\s*[[({]\s*$/,cr=/^\s*[\])}]\s*$/,ur=["A.D.","Adm.","Adv.","B.C.","Br.","Brig.","Cmrd.","Col.","Cpl.","Cpt.","Dr.","Esq.","Fr.","Gen.","Gov.","Hon.","Jr.","Lieut.","Lt.","Maj.","Mr.","Mrs.","Ms.","Msgr.","Mx.","No.","Pfc.","Pr.","Prof.","Pvt.","Rep.","Reps.","Rev.","Rt. Hon.","Sen.","Sens.","Sgt.","Sps.","Sr.","St.","vs.","i.e.","e.g.","viz.","Mt."].map(e=>e.replace(".","\\.")),hr=vt(ur),dr="(^|$|["+[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"].map(e=>"\\"+e).join("")+"])",pr=new RegExp(dr+"[A-Za-z]$"),gr=/<\/?([^\s]+?)(\s|>)/,fr=["p","div","h1","h2","h3","h4","h5","h6","span","li","main"];class mr{constructor(){this.sentenceDelimiters='”〞〟„』›»’‛`"?!…۔؟'}getSentenceDelimiters(){return this.sentenceDelimiters}isNumber(e){return!Object(T.isNaN)(parseInt(e,10))}isBreakTag(e){return/<\/?br/.test(e)}isQuotation(e){return"'"===(e=Xt(e))||'"'===e}endsWithOrdinalDot(){return!1}isPunctuation(e){return"¿"===e||"¡"===e}removeDuplicateWhitespace(e){return e.replace(/\s+/," ")}isCapitalLetter(e){return e!==e.toLocaleLowerCase()}isSmallerThanSign(e){return"<"===e}getNextTwoCharacters(e){let t="";return Object(T.isUndefined)(e[0])||(t+=e[0].src),Object(T.isUndefined)(e[1])||(t+=e[1].src),t=this.removeDuplicateWhitespace(t),t}isLetterFromSpecificLanguage(e){return[/^[\u0590-\u05fe]+$/i,/^[\u0600-\u06FF]+$/i,/^[\uFB8A\u067E\u0686\u06AF]+$/i].some(t=>t.test(e))}isValidSentenceBeginning(e){return this.isCapitalLetter(e)||this.isLetterFromSpecificLanguage(e)||this.isNumber(e)||this.isQuotation(e)||this.isPunctuation(e)||this.isSmallerThanSign(e)}isSentenceStart(e){return!Object(T.isUndefined)(e)&&("html-start"===e.type||"html-end"===e.type||"block-start"===e.type)}isSentenceEnding(e){return!Object(T.isUndefined)(e)&&("full-stop"===e.type||"sentence-delimiter"===e.type)}isPartOfPersonInitial(e,t,r,n){return!Object(T.isUndefined)(e)&&!Object(T.isUndefined)(r)&&!Object(T.isUndefined)(n)&&!Object(T.isUndefined)(t)&&"full-stop"===e.type&&"sentence"===t.type&&pr.test(t.src)&&"sentence"===r.type&&1===r.src.trim().length&&"full-stop"===n.type}tokenizeSmallerThanContent(e,t,r){const n=e.src.substring(1),s=this.createTokenizer();this.tokenize(s.tokenizer,n);const i=this.getSentencesFromTokens(s.tokens,!1);if(i[0]=Object(T.isUndefined)(i[0])?"<":"<"+i[0],this.isValidSentenceBeginning(i[0])&&(t.push(r),r=""),r+=i[0],i.length>1){t.push(r),r="",i.shift();const e=i.pop();i.forEach(e=>{t.push(e)});const n=new RegExp("[."+this.getSentenceDelimiters()+"]$");e.match(n)?t.push(e):r=e}return{tokenSentences:t,currentSentence:r}}createTokenizer(){const e=new RegExp("^["+this.getSentenceDelimiters()+"]$"),t=new RegExp("^[^."+this.getSentenceDelimiters()+"<\\(\\)\\[\\]]+$"),r=[],n=Xe()((function(e){r.push(e)}));return n.addRule(sr,"full-stop"),n.addRule(ir,"smaller-than-sign-content"),n.addRule(ar,"html-start"),n.addRule(or,"html-end"),n.addRule(lr,"block-start"),n.addRule(cr,"block-end"),n.addRule(e,"sentence-delimiter"),n.addRule(t,"sentence"),{tokenizer:n,tokens:r}}tokenize(e,t){e.onText(t);try{e.end()}catch(e){console.error("Tokenizer end error:",e,e.tokenizer2)}}endsWithAbbreviation(e){const t=e.match(hr);if(!t)return!1;const r=t.pop();return e.endsWith(r)}isValidTagPair(e,t){const r=e.src,n=t.src,s=r.match(gr)[1];return s===n.match(gr)[1]&&fr.includes(s)}getSentencesFromTokens(e){let t,r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=[],i="";do{r=!1;const t=e[0],n=e[e.length-1];t&&n&&"html-start"===t.type&&"html-end"===n.type&&this.isValidTagPair(t,n)&&(e=e.slice(1,e.length-1),r=!0)}while(r&&e.length>1);return e.forEach((r,n)=>{let a,o,l;const c=e[n+1],u=e[n-1],h=e[n+2];switch(o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[1]:"",r.type){case"html-start":case"html-end":this.isBreakTag(r.src)?(s.push(i),i=""):i+=r.src;break;case"smaller-than-sign-content":l=this.tokenizeSmallerThanContent(r,s,i),s=l.tokenSentences,i=l.currentSentence;break;case"sentence":i+=r.src;break;case"sentence-delimiter":if(i+=r.src,!Object(T.isUndefined)(c)&&"block-end"!==c.type&&"sentence-delimiter"!==c.type&&this.isCharacterASpace(c.src[0])){if(this.isQuotation(r.src)&&u&&"."!==u.src)break;this.isQuotation(r.src)||"…"===r.src?i=this.getValidSentence(a,t,o,c,s,i):(s.push(i),i="")}break;case"full-stop":if(i+=r.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[1]:"",this.endsWithAbbreviation(i))break;if(a&&this.isNumber(o[0]))break;if(this.isPartOfPersonInitial(r,u,c,h))break;if(this.endsWithOrdinalDot(i))break;i=this.getValidSentence(a,t,o,c,s,i);break;case"block-start":i+=r.src;break;case"block-end":if(i+=r.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[0]:"",a&&this.isNumber(o[0])||this.isSentenceEnding(u)&&!this.isValidSentenceBeginning(t)&&!this.isSentenceStart(c))break;this.isSentenceEnding(u)&&(this.isSentenceStart(c)||this.isValidSentenceBeginning(t))&&(s.push(i),i="")}}),""!==i&&s.push(i),n&&(s=Object(T.map)(s,(function(e){return e.trim()}))),s}getValidSentence(e,t,r,n,s,i){return(e&&this.isValidSentenceBeginning(t)&&this.isCharacterASpace(r[0])||this.isSentenceStart(n))&&(s.push(i),i=""),i}isCharacterASpace(e){return/\s/.test(e)}}var _r=Object(T.memoize)((function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const r=new mr,{tokenizer:n,tokens:s}=r.createTokenizer();return r.tokenize(n,e),0===s.length?[]:r.getSentencesFromTokens(s,t)}),(function(){for(var e=arguments.length,t=new Array(e),r=0;r|

)$");var vr=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_r;e=Ye(e=ze(e)),e=(e=_t(e)).replace(yt,"");let r=ht(e);r=Object(T.flatMap)(r,(function(e){return e.split(Tr)})),r=r.filter(e=>!Er.test(e));let n=r.map(e=>t(e)).flat();return n=n.map(e=>ft(e).trim()),Object(T.filter)(n,Object(T.negate)(T.isEmpty))},br=function(e){return It(e).length},yr=r(49),Ar=r.n(yr);let Or,Cr=!1;const wr=["script","style","code","pre","blockquote","textarea"],Sr=new Ar.a.Parser({onopentag:function(e,t){if(Cr)return;if(Object(T.includes)(wr,e))return void(Cr=!0);const r=Object.keys(t);let n="";r.forEach((function(e){n+=" "+e+"='"+t[e]+"'"})),Or.push("<"+e+n+">")},ontext:function(e){Cr||Or.push(e)},onclosetag:function(e){Object(T.includes)(wr,e)?Cr=!1:Cr||Or.push("")}},{decodeEntities:!0});var kr=function(e){return Or=[],Sr.write(e),Sr.parseComplete(),Or.join("")},Nr=function(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=kr(n),function(e,t){const r=[];return Object(T.forEach)(e,(function(e){const n=mt(e),s=t.getHelper("customCountLength"),i=s?s(n):br(n);i<=0||r.push({sentence:e,sentenceLength:i})})),r}(vr(n,r),t)},Rr=function(e,t){const r=t.getResearch("getParagraphs")[0],n=t.getResearch("morphology"),s=t.getHelper("matchWordCustomHelper"),i=e.getLocale(),a={foundInOneSentence:!1,foundInParagraph:!1,keyphraseOrSynonym:""};if(Object(T.isEmpty)(r))return a;const o=r.sentences.map(e=>e.text);if(!Object(T.isEmpty)(o)){const e=o.map(e=>tr(n,e,!0,i,s)).find(e=>100===e.percentWordMatches);if(e)return a.foundInOneSentence=!0,a.foundInParagraph=!0,a.keyphraseOrSynonym=e.keyphraseOrSynonym,a;const t=tr(n,r.innerText(),!0,i,s);if(100===t.percentWordMatches)return a.foundInParagraph=!0,a.keyphraseOrSynonym=t.keyphraseOrSynonym,a}return a},Ir=["“","”","〝","〞","〟","‟","„",'"',"「","」","『","』"];function xr(e){const t={exactMatchRequested:!1,keyphrase:e};return Ir.includes(e[0])&&Ir.includes(e[e.length-1])&&(t.keyphrase=e.substring(1,e.length-1),t.exactMatchRequested=!0),t}let Dr=[];const Lr=function(e,t){return 0===t||0===Dr.length?t:function(e){e=e.toLocaleLowerCase();let t=It(e.toLocaleLowerCase());return t=Object(T.filter)(t,(function(e){return!Object(T.includes)(Dr,e.trim().toLocaleLowerCase())})),Object(T.isEmpty)(t)}(e.substr(0,t))?0:t};var Mr=function(e,t){Dr=t.getConfig("functionWords");let r=Object(T.escapeRegExp)(e.getKeyword());const n=e.getTitle(),s=e.getLocale(),i={exactMatchFound:!1,allWordsFound:!1,position:-1,exactMatchKeyphrase:!1},a=xr(r);a.exactMatchRequested&&(r=a.keyphrase,i.exactMatchKeyphrase=!0);const o=Jt(n,r,s,!1);if(o.count>0)return i.exactMatchFound=!0,i.allWordsFound=!0,i.position=Lr(n,o.position),i;if(!o){const e=r;return e.count>0&&(i.exactMatchFound=!0,i.allWordsFound=!0,i.position=Lr(n,e.position)),i}const l=t.getResearch("morphology");return 100===tr(l,n,!1,s,!1).percentWordMatches&&(i.allWordsFound=!0),i};const Pr=[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"],Fr=function(e){return Object(T.includes)(Pr,e)},jr=function(e,t){e=e.toLocaleLowerCase(),t=t.toLocaleLowerCase();const r=qe(Object(T.escapeRegExp)(e));let n=t.search(new RegExp(r,"ig"));if(-1===n)return!1;n>0&&(n+=1);const s=n+e.length,i=Fr(t[n-1])||0===n,a=Fr(t[s])||s===t.length;return i&&a};let Br=null,Ur="";const Hr=function(e,t){e=Qt(e);const r=function(e){const t=Object(T.flattenDeep)(e).join("");return Ur===t&&null!==Br||(Ur=t,Br=function(e){const t="("+(e=e.map((function(e){return function(e){return(e=e.map((function(e){return qe(e)}))).join("(.*?)")}(e)}))).join(")|(")+")";return new RegExp(t,"ig")}(e)),Br}(t);return e.match(r)};var $r=function(e,t){const r=t.getHelper("matchTransitionWordsHelper"),n=t.getConfig("transitionWords"),s=t.getConfig("twoPartTransitionWords"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=kr(a);const o=vr(a,i),l=function(e,t,r,n){const s=[];return e.forEach(e=>{if(r){const t=Hr(e,r);if(null!==t)return void s.push({sentence:e,transitionWords:t})}const i=n?n(e,t):function(e,t){return e=Qt(e),t.filter(t=>jr(t,e))}(e,t);0!==i.length&&s.push({sentence:e,transitionWords:i})}),s}(o,n,s,r);return{totalSentences:o.length,sentenceResults:l,transitionWordSentences:l.length}},Kr=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getWordsCustomHelper"),s=e.getKeyword();if(xr(s).exactMatchRequested)return!1;let i=n?n(s):It(s);return i=Object(T.filter)(i,(function(e){return!Object(T.includes)(r,e.trim().toLocaleLowerCase())})),Object(T.isEmpty)(i)};const qr=new RegExp("^[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+"),Gr=new RegExp("[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+$");var zr=function(e){let t=e.split(",");return t=t.map(e=>Ve(e).replace(qr,"").replace(Gr,"")).filter(e=>e),t},Wr=r(71),Yr=r.n(Wr);const Vr=/href=(["'])([^"']+)\1/i;function Qr(e){return e.split("#")[0]}function Xr(e){return e.split("?")[0]}function Jr(e){return e.replace(/\/$/,"")}function Zr(e){return Jr(e)+"/"}var en=function(e){const t=Vr.exec(e);return null===t?"":t[2]},tn=function(e,t){return e=Xr(Qr(e)),t=Xr(Qr(t)),Zr(e)===Zr(t)},rn=function(e){return Yr.a.parse(e).protocol},nn=function(e,t){const r=Yr.a.parse(e,!1,!0).hostname;return-1===e.indexOf("//")&&0===e.indexOf("/")||0!==e.indexOf("#")&&(!r||r===t||r===Yr.a.parse(t).hostname)},sn=function(e){return!!e&&("http:"===e||"https:"===e)},an=function(e){return 0===e.indexOf("#")};let on=[];var ln=function(e,t){on=t.getConfig("functionWords");const r={anchorsWithKeyphrase:[],anchorsWithKeyphraseCount:0};if(""===e.getText())return r;const n=e.getKeyword();if(""===n)return r;const s=zr(e.getSynonyms());s.push(n);let i=e.getTree().findAll(e=>"a"===e.name);if(i=function(e,t){const r=e.map((function(e){const r=e.attributes.href;return!!r&&function(e,t){return Boolean(tn(e,t)||an(e))}(r,t)}));return e.filter((e,t)=>!r[t])}(i,e.getPermalink()),0===i.length)return r;const a=e.getLocale(),o=t.getResearch("morphology"),l={matchWordCustomHelper:t.getHelper("matchWordCustomHelper"),getWordsCustomHelper:t.getHelper("getWordsCustomHelper")};return i=function(e,t,r,n){const s=e.map((function(e){const s=e.innerText();return 100===tr(t,s,!0,r,n).percentWordMatches}));return e.filter((e,t)=>s[t])}(i,o,a,l.matchWordCustomHelper),0===i.length?r:(i=function(e,t,r,n,s){const i=n.matchWordCustomHelper,a=n.getWordsCustomHelper,o=[Object(T.flatten)(t.keyphraseForms)];t.synonymsForms.forEach(e=>o.push(Object(T.flatten)(e)));const l=[];return e.forEach((function(e){const t=e.innerText();let n=Object(T.uniq)(a?a(t):It(t));const c=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Object(T.filter)(e,(function(e){return!Object(T.includes)(t,e.trim().toLocaleLowerCase())}))}(n,on);c.length>0&&(n=c),s.forEach(e=>{e.exactMatchRequested&&n.every(t=>e.keyphrase.includes(t))&&l.push(!0)});for(let e=0;eZt(e,t,r,i).count>0)){l.push(!0);break}}})),e.filter((e,t)=>l[t])}(i,o,a,l,s.map(e=>xr(e))),{anchorsWithKeyphrase:i,anchorsWithKeyphraseCount:i.length})};const cn=function(e){this._hasRegex=!1,this._regex="",this._multiplier="",this.createRegex(e)};cn.prototype.hasRegex=function(){return this._hasRegex},cn.prototype.createRegex=function(e){Object(T.isUndefined)(e)||Object(T.isUndefined)(e.fragments)||(this._hasRegex=!0,this._regex=vt(e.fragments,!0),this._multiplier=e.countModifier)},cn.prototype.getRegex=function(){return this._regex},cn.prototype.countSyllables=function(e){return this._hasRegex?(e.match(this._regex)||[]).length*this._multiplier:0};var un=cn;const hn=function(e){this.countSteps=[],Object(T.isUndefined)(e)||this.createSyllableCountSteps(e.deviations.vowels)};hn.prototype.createSyllableCountSteps=function(e){Object(T.forEach)(e,function(e){this.countSteps.push(new un(e))}.bind(this))},hn.prototype.getAvailableSyllableCountSteps=function(){return this.countSteps},hn.prototype.countSyllables=function(e){let t=0;return Object(T.forEach)(this.countSteps,(function(r){t+=r.countSyllables(e)})),t};var dn=hn;function pn(e){this._location=e.location,this._fragment=e.word,this._syllables=e.syllables,this._regex=null,this._options=Object(T.pick)(e,["notFollowedBy","alsoFollowedBy"])}pn.prototype.createRegex=function(){let e="";const t=this._options;let r=this._fragment;switch(Object(T.isUndefined)(t.notFollowedBy)||(r+="(?!["+t.notFollowedBy.join("")+"])"),Object(T.isUndefined)(t.alsoFollowedBy)||(r+="["+t.alsoFollowedBy.join("")+"]?"),this._location){case"atBeginning":e="^"+r;break;case"atEnd":e=r+"$";break;case"atBeginningOrEnd":e="(^"+r+")|("+r+"$)";break;default:e=r}this._regex=new RegExp(e)},pn.prototype.getRegex=function(){return null===this._regex&&this.createRegex(),this._regex},pn.prototype.occursIn=function(e){return this.getRegex().test(e)},pn.prototype.removeFrom=function(e){return e.replace(this._fragment," ")},pn.prototype.getSyllables=function(){return this._syllables};var gn=pn;const fn=Object(T.memoize)((function(e){let t=[];const r=e.deviations;return t=Object(T.flatMap)(r.words.fragments,(function(e,t){return Object(T.map)(e,(function(e){return e.location=t,new gn(e)}))})),t})),mn=function(e,t){let r=0;if(!Object(T.isUndefined)(t.deviations)&&!Object(T.isUndefined)(t.deviations.words)){if(!Object(T.isUndefined)(t.deviations.words.full)){const r=function(e,t){const r=t.deviations.words.full,n=Object(T.find)(r,(function(t){return t.word===e}));return Object(T.isUndefined)(n)?0:n.syllables}(e,t);if(0!==r)return r}if(!Object(T.isUndefined)(t.deviations.words.fragments)){const n=function(e,t){const r=fn(t);let n=e,s=0;return Object(T.forEach)(r,(function(e){e.occursIn(n)&&(n=e.removeFrom(n),s+=e.getSyllables())})),{word:n,syllableCount:s}}(e,t);e=n.word,r+=n.syllableCount}}return r+=function(e,t){let r=0;return r+=function(e,t){let r=0;const n=new RegExp("[^"+t.vowels+"]","ig"),s=e.split(n);return r+=Object(T.filter)(s,(function(e){return""!==e})).length,r}(e,t),Object(T.isUndefined)(t.deviations)||Object(T.isUndefined)(t.deviations.vowels)||(r+=function(e,t){return new dn(t).countSyllables(e)}(e,t)),r}(e,t),r};const Tn={NO_DATA:-1,VERY_EASY:0,EASY:1,FAIRLY_EASY:2,OKAY:3,FAIRLY_DIFFICULT:4,DIFFICULT:5,VERY_DIFFICULT:6};var En=function(e,t){const r=t.getConfig("syllables"),n=t.getHelper("memoizedTokenizer"),s=function(e){return e.getConfig("fleschReadingEaseScores")||{borders:{veryEasy:90,easy:80,fairlyEasy:70,okay:60,fairlyDifficult:50,difficult:30,veryDifficult:0},scores:{veryEasy:9,easy:9,fairlyEasy:9,okay:9,fairlyDifficult:6,difficult:3,veryDifficult:3}}}(t);let i=e.getText();if(""===i)return{score:-1,difficulty:Tn.NO_DATA};i=function(e){return e=e.replace(/\b[0-9]+\b/g,""),"."===(e=Ve(e))&&(e=""),e}(i);const a=function(e,t){const r=vr(e,t);let n=0;for(let e=0;e=t.borders.veryEasy?Tn.VERY_EASY:Object(T.inRange)(e,t.borders.easy,t.borders.veryEasy)?Tn.EASY:Object(T.inRange)(e,t.borders.fairlyEasy,t.borders.easy)?Tn.FAIRLY_EASY:Object(T.inRange)(e,t.borders.okay,t.borders.fairlyEasy)?Tn.OKAY:Object(T.inRange)(e,t.borders.fairlyDifficult,t.borders.okay)?Tn.FAIRLY_DIFFICULT:Object(T.inRange)(e,t.borders.difficult,t.borders.fairlyDifficult)?Tn.DIFFICULT:Tn.VERY_DIFFICULT}(h,s)}},vn=function(e,t){const r=t.getHelper("getWordsCustomHelper");let n=e.getText();n=kr(n);let s=br(n);return r&&(s=r(e.getText()).length),0===s?0:t.getResearch("keywordCount").count/s*100},bn=function(e){let t;return t=e.match(/]+)>((?:.|[\n\r\u2028\u2029])*?)<\/a>/gi),null===t&&(t=[]),t},yn=function(e){const t=bn(e.getText());return Object(T.map)(t,en)},An=function(e){let t="Dofollow";const r=new Ar.a.Parser({onopentag:function(e,r){"a"===e&&r.rel&&r.rel.toLowerCase().split(/\s/).includes("nofollow")&&(t="Nofollow")}});return r.write(e),r.end(),t},On=function(e,t){const r=en(e),n=rn(r);return n&&!sn(n)||an(r)?"other":nn(r,t)?"internal":"external"},Cn=function(e){const t=bn(e.getText()),r=e.getPermalink(),n={total:t.length,internalTotal:0,internalDofollow:0,internalNofollow:0,externalTotal:0,externalDofollow:0,externalNofollow:0,otherTotal:0,otherDofollow:0,otherNofollow:0};for(let e=0;e"p"===e.name);return t=Object(T.reject)(t,e=>0===e.sentences.length),t=Object(T.reject)(t,e=>e.childNodes.every(e=>"a"===e.name)),t},Sn=function(e,t){let r=e.getText();r=kr(r),r=ze(r),r=Ye(r),r=r.replace(yt,""),r=function(e){return e.replace(/\s*<.*?br.*?>/gm,"

")}(r);const n=function(e){let t=function(e){let t=[];const r=/]+)?>(.*?)<\/p>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t=Object(T.map)(t,(function(e){return e[1]})),t.filter(e=>e.length>0)}(e);if(t.length>0)return t;let r=ht(e);return r=Object(T.filter)(r,(function(e){return 0!==e.indexOf("0?t:[e]}(r),s=[],i=t.getHelper("customCountLength");return n.map((function(e){s.push({countLength:i?i(e):br(e),text:e})})),Object(T.filter)(s,(function(e){return e.countLength>0}))};class kn{constructor(e){this._sentenceText=e||"",this._isPassive=!1,this._clauses=[]}getSentenceText(){return this._sentenceText}isPassive(){return this._isPassive}setPassive(e){this._isPassive=e}getClauses(){return this._clauses}setClauses(e){this._clauses=e,this.setSentencePassiveness()}setSentencePassiveness(){const e=this.getClauses().filter(e=>!0===e.isPassive());this.setPassive(e.length>0)}serialize(){return{_parseClass:"Sentence",sentenceText:this._sentenceText,isPassive:this._isPassive,clauses:this._clauses}}parse(e){const t=new kn(e.sentenceText);return t.setClauses(e.clauses),t.setPassive(e.isPassive),t}}var Nn=kn;const Rn=function(e,t){const r=t.getHelper("isPassiveSentence");let n=e.getText();n=kr(n);const s=t.getHelper("memoizedTokenizer"),i=vr(n,s).map((function(e){return new Nn(e)})),a=i.length,o=[];return Object(T.forEach)(i,(function(e){const t=mt(e.getSentenceText()).toLocaleLowerCase();e.setPassive(r(t)),!0===e.isPassive()&&o.push(e.getSentenceText())})),{total:a,passives:o}},In=function(e,t){const r=t.getHelper("getClauses");let n=e.getText();n=kr(n);const s=t.getHelper("memoizedTokenizer"),i=vr(n,s).map((function(e){return new Nn(e)})),a=i.length,o=[];return Object(T.forEach)(i,(function(e){const t=mt(e.getSentenceText()).toLocaleLowerCase(),n=r(t);e.setClauses(n),e.isPassive()&&o.push(e.getSentenceText())})),{total:a,passives:o}};function xn(e,t){const r=t.getConfig("passiveConstructionType");return"periphrastic"===r?In(e,t):"morphological"===r?Rn(e,t):function(e,t){const r=Rn(e,t),n=In(e,t).passives;return{total:r.total,passives:n.concat(r.passives)}}(e,t)}function Dn(e,t,r){this._word=e,this._stem=t||e,this._occurrences=r||0}Dn.prototype.setWord=function(e){this._word=e},Dn.prototype.getWord=function(){return this._word},Dn.prototype.getStem=function(){return this._stem},Dn.prototype.setOccurrences=function(e){this._occurrences=e},Dn.prototype.getOccurrences=function(){return this._occurrences},Dn.prototype.serialize=function(){return{_parseClass:"ProminentWord",word:this._word,stem:this._stem,occurrences:this._occurrences}},Dn.parse=function(e){return new Dn(e.word,e.stem,e.occurrences)};var Ln=Dn;const Mn=/[1234567890‘’“”"'.…?!:;,¿¡«»&*@#±^%$|~=+§`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\s]/g;function Pn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return e.filter((function(e){return e.getOccurrences()>=t&&""!==e.getWord().replace(Mn,"")}))}function Fn(e){e.sort((function(e,t){const r=t.getOccurrences()-e.getOccurrences();return 0!==r?r:e.getStem().localeCompare(t.getStem())}))}function jn(e){if(0===e.length)return[];e.sort((function(e,t){return e.getStem().localeCompare(t.getStem())}));const t=[];let r=new Ln(e[0].getWord(),e[0].getStem(),e[0].getOccurrences());for(let n=1;n1&&e.length<5&&e===e.toLocaleUpperCase()&&r.push(e.toLocaleLowerCase())})),Object(T.uniq)(r)}function Un(e,t,r,n){if(0===e.length)return[];const s=Object(T.uniq)(e.filter(e=>!n.includes(e.trim()))),i=[];return s.forEach((function(n){t.includes(n)?i.push(new Ln(n.toLocaleUpperCase(),n,e.filter(e=>e===n).length)):i.push(new Ln(n,r(n),e.filter(e=>e===n).length))})),jn(i)}const Hn=Object(T.memoize)((e,t,r,n)=>Un(e,t,r,n),(e,t)=>e.join(",")+","+t.join(","));function $n(e,t,r,n,s){if(""===e)return[];const i=s?s(Qt(e).toLocaleLowerCase()):It(Qt(e).toLocaleLowerCase());return Hn(i,t,r,n)}const Kn=new RegExp("(ftp|http(s)?:\\/\\/.)(www\\\\.)?[-a-zA-Z0-9@:%._\\/+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:;%_\\/+.~#?&()=]*)|www\\.[-a-zA-Z0-9@:%._\\/+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:;%_\\/+.~#?&()=]*)","igm");var qn=function(e){return e.replace(Kn,"")};const Gn=new RegExp("[^\\s@]+@[^\\s@]+\\.[^\\s@]+","igm");var zn=function(e){return e.replace(Gn,"")},Wn=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("customGetStemmer"),s=n?n(t):t.getHelper("getStemmer")(t),i=t.getHelper("getWordsCustomHelper");let a=e.getText();a=qn(a),a=zn(a);const o=jn($n(a,i?[]:Bn(a),s,r,i));return Fn(o),Object(T.take)(Pn(o,5),20)};function Yn(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}function Vn(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}const Qn=function(e){return e=qn(e),zn(e)};var Xn=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("customGetStemmer"),s=n?n(t):t.getHelper("getStemmer")(t),i=t.getHelper("getWordsCustomHelper"),a=t.getHelper("customCountLength"),o=Qn(e.getText()),l=Qn(e.getDescription()),c=Qn(e.getTitle()),u={};if(u.hasMetaDescription=""!==l,u.hasTitle=""!==c,u.prominentWords=[],a){if(a(o)<200)return u}else if(br(o)<100)return u;const h=Vn(o).map(e=>e[2]),d=[e.getKeyword(),e.getSynonyms(),c,l,h.join(" ")],p=i?[]:Bn(o.concat(d.join(" "))),g=$n(function(e){return e.replace(/]+)?>(.*?)<\/h\1>/gi,"")}(o),p,s,r,i),f=function(e,t,r,n,s){return Un(s?s(e.join(" ").toLocaleLowerCase()):It(e.join(" ").toLocaleLowerCase()),t,r,n)}(d,p,s,r,i);f.forEach(e=>e.setOccurrences(3*e.getOccurrences()));const m=jn(f.concat(g));Fn(m);let _=4;return s===Ot&&(_=2),u.prominentWords=Object(T.take)(Pn(m,_),100),u};var Jn=function(e,t){const r=t.getConfig("firstWordExceptions"),n=t.getConfig("secondWordExceptions"),s=t.getHelper("getWordsCustomHelper"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=kr(a),a=a.replace(/[\s\n]+/g," "),a=a.replace(/

.*<\/figure>/gs,""),a=a.replace(/]+)?>(.*?)<\/li>/gi,"");let o=vr(a,i),l=o.map((function(e){return function(e,t,r,n){const s=mt(Ve(e)),i=n?n(s):It(s);if(0===i.length)return"";let a=i[0].toLocaleLowerCase();return t.indexOf(a)>-1&&i.length>1&&(a=a+" "+i[1],r&&r.includes(i[1])&&(a=a+" "+i[2])),a}(e,r,n,s)}));return o=o.filter((function(e){const t=Ve(e);return(s?s(t):It(t)).length>0})),l=Object(T.filter)(l),function(e,t){const r=[];let n=[],s=1;return Object(T.forEach)(e,(function(i,a){const o=i,l=e[a+1];n.push(t[a]),function(e,t){return!Object(T.isEmpty)(e)&&e===t}(o,l)?s++:(r.push({word:o,count:s,sentences:n}),s=1,n=[])})),r}(l,o)},Zn=function(e,t){let r=e.getText();r=kr(r),r=ze(r);const n=function(e){const t=[...e.matchAll(new RegExp("]+)?>(.*?)<\\/h\\1>","ig"))],r=[];return t.forEach((e,n)=>{const s=e[0],i=e.index,a=t[n+1];let o;o=Object(T.isUndefined)(a)?e.input.length:a.index;const l=e.input.slice(i+s.length,o);r.push({subheading:s,text:l,index:i})}),r}(r),s=t.getHelper("customCountLength"),i=[];Object(T.forEach)(n,(function(e){i.push({subheading:e.subheading,text:e.text,countLength:s?s(e.text):br(e.text),index:e.index})}));let a=0,o="";if(i.length>0){const e=i[0];o=r.slice(0,e.index),a=s?s(o):br(o)}return a>0&&""!==o&&i.unshift({subheading:"",text:o,countLength:a}),i};const es=/(.*?)<\/h1>/,ts=function(e){return"

"===(e=e.trim())||""===e};var rs=function(e){const t=e.getText();let r=ht(t);r=Object(T.reject)(r,ts);const n=[];return r.forEach((e,t)=>{const r=es.exec(e);r&&n.push({tag:"h1",content:r[1],position:t})}),n};function ns(e){return rr(e).length}var ss=function(e,t){const r=t.getResearch("morphology"),n=t.getConfig("functionWords");return{keyphraseLength:r.keyphraseForms.length,functionWords:n}};const is="[ \\u00a0\\u06d4\\u061f\\u060C\\u061B \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>]",as=new RegExp("^("+is+"+)","ig"),os=new RegExp("("+is+"+$)","ig");var ls=function(e){const t=function(e){return e.replace(as,"")}(e);let r="",n="";if(t!==e){const n=e.search(Object(T.escapeRegExp)(t));r=e.substr(0,n)}const s=function(e){return e.replace(os,"")}(t);if(s!==t){const e=t.search(Object(T.escapeRegExp)(s))+s.length;n=t.substr(e)}return r+""+s+""+n};function cs(e){Object(T.defaults)(e,{original:"",marked:"",fieldsToMark:[]}),this._properties=e,this.isValid()}cs.prototype.getOriginal=function(){return this._properties.original},cs.prototype.getMarked=function(){return this._properties.marked},cs.prototype.getFieldsToMark=function(){return this._properties.fieldsToMark},cs.prototype.getPositionStart=function(){return this._properties.position&&this._properties.position.startOffset},cs.prototype.getPositionEnd=function(){return this._properties.position&&this._properties.position.endOffset},cs.prototype.applyWithReplace=function(e){return e.split(this._properties.original).join(this._properties.marked)},cs.prototype.applyWithPosition=function(e){const t="",r=this.getPositionEnd()+t.length;return(e=e.substring(0,this.getPositionStart())+t+e.substring(this.getPositionStart())).substring(0,r)+""+e.substring(r)},cs.prototype.serialize=function(){return{_parseClass:"Mark",...this._properties}},cs.prototype.isValid=function(){if(!Object(T.isUndefined)(this.getPositionStart())&&this.getPositionStart()<0)throw new RangeError("positionStart should be larger or equal than 0.");if(!Object(T.isUndefined)(this.getPositionEnd())&&this.getPositionEnd()<=0)throw new RangeError("positionEnd should be larger than 0.");if(!Object(T.isUndefined)(this.getPositionStart())&&!Object(T.isUndefined)(this.getPositionEnd())&&this.getPositionStart()>=this.getPositionEnd())throw new RangeError("The positionStart should be smaller than the positionEnd.");if(Object(T.isUndefined)(this.getPositionStart())&&!Object(T.isUndefined)(this.getPositionEnd())||Object(T.isUndefined)(this.getPositionEnd())&&!Object(T.isUndefined)(this.getPositionStart()))throw new Error("A mark object should either have start and end defined or start and end undefined.")},cs.prototype.hasPosition=function(){return!!this.getPositionStart&&this.getPositionStart()},cs.parse=function(e){return delete e._parseClass,new cs(e)};var us=cs;const hs=/(]+>)([^]*?)(<\/a>)/,ds=function(e,t,r){t=t.map(e=>Object(T.escapeRegExp)(e));const n=r?vt(t,!0):vt(t),{anchors:s,markedAnchors:i}=function(e,t){const r=bn(e),n=r.map(e=>{const{openTag:r,content:n}=function(e){const[,t,r]=e.match(hs);return{openTag:t,content:r}}(e);return function(e,t){return`${e}${t}
`}(r,n.replace(t,e=>ls(e)))});return{anchors:r,markedAnchors:n}}(e,n);let a=e.replace(n,(function(e){return ls(e)}));if(s.length>0){const e=bn(a);for(let t=0;t ","ig")," ")};function ps(e,t,r,n){let s=[],i=[];return t.forEach((function(t){s=Zt(t,e,r,n).matches,s.length>0&&(i=i.concat(new us({original:t,marked:ds(t,s,n)})))})),i}var gs=function(e,t){const r=t.getResearch("morphology"),n=t.getHelper("memoizedTokenizer"),s=t.getHelper("matchWordCustomHelper");let i=e.getText();i=kr(i);const a=e.getLocale(),o=vr(i,n),l={count:0,matches:[],sentencesWithKeywords:[]};o.forEach(e=>{const t=r.keyphraseForms.map(t=>Zt(e,t,a,s));if(t.every(e=>e.count>0)){const r=t.map(e=>e.count),n=Object(T.flattenDeep)(t.map(e=>e.matches));l.count+=Math.min(...r),l.matches.push(n),l.sentencesWithKeywords.push(e)}});const c=Object(T.uniq)(Object(T.flattenDeep)(l.matches)).sort((e,t)=>t.length-e.length),u=Object(T.flattenDeep)(r.keyphraseForms);return{count:l.count,matches:c,markings:ps(u,l.sentencesWithKeywords,a,s),length:r.keyphraseForms.length}},fs=function(e){return e.replace(/[-_]/gi," ")};function ms(e,t){const r=function(e){let t=[];return e.keyphraseForms.forEach((function(e){-1!==e[0].indexOf("-")?t=1===e.length?function(e,t){return e.forEach((function(e){e.split("-").forEach(e=>t.push([e]))})),t}(e,t):function(e,t){const r=e[0].split("-").length;for(let e=0;ee[0])}(s);return 0!==l.length&&(o.count=l.length,o.matches=function(e,t,r,n,s,i){return t.filter(t=>{const r=tr(e,t,!0,n,i);return 0===s.length?100===r.percentWordMatches:r.percentWordMatches>50}).length}(i,l,0,a,r,n),o.percentReflectingTopic=o.matches/o.count*100),o}const Es=function(e,t,r){return t.forEach(t=>t.matches.slice(0,r).forEach(t=>{e=e.replace(t,"")})),e};var vs=function(e,t){const r=e.getDescription(),n=e.getLocale(),s=t.getResearch("morphology"),i=t.getHelper("matchWordCustomHelper"),a=t.getHelper("memoizedTokenizer");return vr(r,a).map(e=>function(e,t,r,n){const s=t.keyphraseForms.map(t=>Zt(e,t,r,n)),i=Math.min(...s.map(e=>e.count));return e=Es(e,s,i),[i,...t.synonymsForms.map(t=>{const i=t.map(t=>Zt(e,t,r,n)),a=Math.min(...i.map(e=>e.count));return e=Es(e,s,a),a})].reduce((e,t)=>e+t,0)}(e,s,n,i)).reduce((e,t)=>e+t,0)},bs=function(e,t){let r=t.length;return""!==e&&r>0&&(r+=e.length+3),r};function ys(e){return bs(e.getDate(),e.getDescription())}function As(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.stemOriginalPairs=e,this.exactMatch=t}function Os(e,t){this.stem=e,this.original=t}As.prototype.getStems=function(){return this.exactMatch?[]:this.stemOriginalPairs.map(e=>e.stem)};const Cs=function(e,t,r){if(Object(T.isUndefined)(e)||""===e)return new As;const n=["“","”","〝","〞","〟","‟","„",'"'];if(Object(T.includes)(n,e[0])&&Object(T.includes)(n,e[e.length-1]))return e=e.substring(1,e.length-1),new As([new Os(Object(T.escapeRegExp)(e),e)],!0);let s=It(e);const i=s.filter(e=>!r.includes(e));return i.length>0&&(s=i),new As(s.map(e=>new Os(t(Qt(Object(T.escapeRegExp)(e))),e)))},ws=Object(T.memoize)((e,t)=>Object(T.memoize)((r,n)=>function(e,t,r,n){return{keyphraseStems:Cs(e,r,n),synonymsStems:t.map(e=>Cs(e,r,n))}}(r,n,e,t),(e,t)=>e+","+t.join(",")));function Ss(e,t){this.stem=e,this.forms=t}function ks(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.keyphraseForms=e,this.synonymsForms=t}function Ns(e,t,r){return 0===e.stemOriginalPairs.length?[]:e.exactMatch?[[e.stemOriginalPairs[0].stem]]:e.stemOriginalPairs.map((function(e){return function(e,t,r){const n=t.find(t=>t.stem===e.stem),s=Qt(Object(T.escapeRegExp)(e.original)),i=n?[s,...n.forms]:[s];return r&&i.push(...r(e.original)),Object(T.uniq)(i)}(e,t,r)}))}var Rs=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getStemmer")(t),s=t.getHelper("createBasicWordForms"),i=t.getConfig("language"),a=function(e){const t=e.getText(),r=rr(e).map(e=>Pt(e)),n=[t,e.getTitle(),e.getSlug(),fs(e.getSlug()),e.getDescription(),r.join(" ")].join(" ");return It(n).map(e=>Qt(Object(T.escapeRegExp)(e)))}(e).map(e=>e.toLocaleLowerCase(i));return function(e,t,r,n,s,i){const a=function(e,t,r,n){return ws(r,n)(e,t)}(e,t,s,n),o=a.keyphraseStems,l=a.synonymsStems;if(0===o.stemOriginalPairs.length&&0===l.length)return new ks;if([o,...l].every(e=>!0===e.exactMatch))return new ks([[o.stemOriginalPairs[0].stem]],l.map(e=>[[e.stemOriginalPairs[0].stem]]));const c=Object(T.uniq)(function(e,t){const r=0===e.stemOriginalPairs.length?[]:e.getStems(),n=0===t.length?[]:t.map(e=>e.getStems());return[...r,...Object(T.flattenDeep)(n)]}(o,l)),u=Object(T.uniq)(r.filter(e=>!n.includes(e))).map(e=>new Os(s(e),e)).filter(e=>c.includes(e.stem)).sort((e,t)=>e.stem.localeCompare(t.stem)).reduce((function(e,t){const r=e[e.length-1];return 0===e.length||r.stem!==t.stem?e.push(new Ss(t.stem,[t.original])):r.forms.push(t.original),e}),[]);return new ks(Ns(o,u,i),l.map(e=>Ns(e,u,i)))}(e.getKeyword().toLocaleLowerCase(i).trim(),zr(e.getSynonyms().toLocaleLowerCase(i).trim()),a,r,n,s)},Is=function(e){return e.hasTitle()?e.getTitleWidth():0},xs=function(e){let t=e.getText();return t=kr(t),{text:t,count:br(t),unit:"word"}},Ds=function(e,t){const r=A(e.getLocale()),n=t.getHelper("getWordsCustomHelper"),s=t.getHelper("wordsCharacterCount"),i={ar:138,cn:158,de:179,en:228,es:218,fi:161,fr:195,he:187,it:188,nl:202,pl:166,pt:181,ru:184,sl:180,sv:199,tr:166},a=i[r],o={ja:357}[r];let l,c=xs(e).count;o?(c=s(n(e.getText())),l=c/o):l=a?c/a:c/(Object.values(i).reduce((e,t)=>e+t)/Object.keys(i).length);const u=ns(e);return Math.ceil(l+.2*u)},Ls=function(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=kr(n),vr(n,r)};function Ms(e){const t=new RegExp("()","igs");let r=e.getText().match(t);return null===r&&(r=[]),r.length}class Ps{constructor(e){this.paper=e,this.defaultResearches={altTagCount:nr,countSentencesFromText:Nr,findKeywordInFirstParagraph:Rr,findKeyphraseInSEOTitle:Mr,findTransitionWords:$r,functionWordsInKeyphrase:Kr,getAnchorsWithKeyphrase:ln,getFleschReadingScore:En,getKeywordDensity:vn,getLinks:yn,getLinkStatistics:Cn,getParagraphs:wn,getParagraphLength:Sn,getProminentWordsForInsights:Wn,getProminentWordsForInternalLinking:Xn,getSentenceBeginnings:Jn,getSubheadingTextLengths:Zn,h1s:rs,imageCount:ns,keyphraseLength:ss,keywordCount:gs,keywordCountInSlug:ms,keywordCountInUrl:_s,matchKeywordInSubheadings:Ts,metaDescriptionKeyword:vs,metaDescriptionLength:ys,morphology:Rs,pageTitleWidth:Is,readingTime:Ds,sentences:Ls,wordCountInText:xs,videoCount:Ms,getPassiveVoiceResult:xn},this._data={},this.customResearches={},this.helpers={memoizedTokenizer:_r},this.config={}}setPaper(e){this.paper=e}addResearch(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Research name cannot be empty");if(!(t instanceof Function))throw new Dt("The research requires a Function callback.");this.customResearches[e]=t}addHelper(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Helper name cannot be empty");if(!(t instanceof Function))throw new Dt("The research requires a Function callback.");this.helpers[e]=t}addConfig(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Failed to add the custom researcher config. Config name cannot be empty.");if(Object(T.isUndefined)(t)||Object(T.isEmpty)(t))throw new Mt("Failed to add the custom researcher config. Config cannot be empty.");this.config[e]=t}hasResearch(e){return Object.keys(this.getAvailableResearches()).filter((function(t){return t===e})).length>0}hasHelper(e){return Object.keys(this.getAvailableHelpers()).filter((function(t){return t===e})).length>0}hasConfig(e){return Object.keys(this.getAvailableConfig()).filter((function(t){return t===e})).length>0}getAvailableResearches(){return Object(T.merge)(this.defaultResearches,this.customResearches)}getAvailableHelpers(){return this.helpers}getAvailableConfig(){return this.config}getResearch(e){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Research name cannot be empty");return!!this.hasResearch(e)&&this.getAvailableResearches()[e](this.paper,this)}addResearchData(e,t){this._data[e]=t}getData(e){return!!this._data.hasOwnProperty(e)&&this._data[e]}getConfig(e){return!!this.config.hasOwnProperty(e)&&this.config[e]}getHelper(e){return!!this.helpers.hasOwnProperty(e)&&this.helpers[e]}}function Fs(e){return Object(T.flatten)(Object.values(e)).sort((e,t)=>t.length-e.length||e.localeCompare(t))}function js(e,t){let r=0;const n=e.length;let s;const i=[];for(;(s=t.indexOf(e,r))>-1;){const a=Fr(t[s-1])||0===s,o=Fr(t[s+n])||t.length===s+n;a&&o&&i.push({index:s,match:e}),r=s+n}return i}const Bs=function(e,t){let r=[];return Object(T.forEach)(e,(function(e){e=Ve(e),jr(e,t)&&(r=r.concat(js(e,t)))})),r},Us=function(e){return e.sort((function(e,t){return e.index-t.index}))},Hs=function(e){e=Us(e);const t=[];for(let r=0;rt.index?1:0})),r};var Ks={getIndicesByWord:js,getIndicesByWordList:Bs,filterIndices:Hs,sortIndices:Us,getIndicesByWordListSorted:$s};function qs(e,t){if(t.includes(null))return e;for(let r=0;r1&&void 0!==arguments[1]?arguments[1]:"i";return 2===e.length?{reg:new RegExp(e[0],t),repl:e[1]}:3===e.length?{reg:new RegExp(e[0],t),repl1:e[1],repl2:e[2]}:null};var zs=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"i";return e.map(e=>Gs(e,t))};function Ws(e,t){let r=[];return t.forEach((function(t){const n=e.match(t);null!==n&&r.push(n)})),r=Object(T.flattenDeep)(r),r}var Ys=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=It(e).map(e=>e.toLowerCase()),s=n.indexOf(t.toLowerCase());if(s<1)return!1;const i=n[s-1];return Object(T.includes)(r,i)},Vs=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=It(e).map(e=>e.toLowerCase()),s=n.indexOf(t.toLowerCase());if(s<1)return!1;for(let e=0;ee.indexe.index>c.index&&e.index0};function Js(e,t){const r=[];for(const n in t)e.endsWith(t[n])&&r.push(t[n]);return r.sort((function(e,t){return t.length-e.length}))[0]||""}function Zs(e,t){return RegExp(t).test(e)}function ei(e,t){for(const r of t)if(-1!==e.search(new RegExp(r[0])))return e.replace(new RegExp(r[0]),r[1])}function ti(e,t){return t.forEach((function(t){e=e.replace(new RegExp(t[0]),t[1])})),e}function ri(e,t){for(let r=0;re.startsWith(t));let s="";return"string"==typeof n&&(s=e.slice(n.length),s.length>2&&(e=s)),t.includes(e)}function si(e,t){for(const r of e){const e=r.find(e=>t.endsWith(e));if(e)return t.slice(0,t.length-e.length)+r[0]}}function ii(e,t,r){for(let n=0;n2&&void 0!==arguments[2])||arguments[2];const n=r?1:0;if(Object(T.isEmpty)(e))return!1;const s=[];return Object(T.forEach)(e,(function(e){const t=e.index+e.match.length+n;s.push(t)})),Object(T.includes)(s,t)};const hi=function(e,t,r){const n=Qs(e,r);return Object(T.forEach)(t,(function(e){ui(n,e.index)&&(t=t.filter((function(t){return t.index!==e.index})))})),t},di=function(e,t){const{auxiliaryRegex:r,directPrecedenceExceptionRegex:n,followingAuxiliaryExceptionRegex:s}=t;let i=e.match(r)||[];if(void 0!==n||void 0!==s){let t=Bs(i,e);void 0!==n&&(t=hi(e,t,n)),t=function(e,t,r){const n=Qs(e,r);return Object(T.forEach)(t,(function(e){(function(e,t){if(Object(T.isEmpty)(e))return!1;const r=t.index+t.match.length,n=[];return Object(T.forEach)(e,(function(e){n.push(e.index)})),Object(T.includes)(n,r)})(n,e)&&(t=t.filter((function(t){return t.index!==e.index})))})),t}(e,t,s),i=[],Object(T.forEach)(t,(function(e){i.push(e.match)}))}return Object(T.map)(i,(function(e){return Ve(e)}))};var pi=function(e,t){return function(e,t){const r=[],n=t.regexes.auxiliaryRegex;if(null===(e=Qt(e)).match(n))return r;const s=function(e,t){e=e.toLocaleLowerCase();const{regexes:r}=t;let n=Bs(t.auxiliaries,e);const s=function(e,t){let r;const n=[];for(t.lastIndex=0;null!==(r=t.exec(e));)n.push({index:r.index,match:r[0]});return n}(e,r.stopCharacterRegex);let i=Bs(t.stopwords,e);t.otherStopWordIndices&&t.otherStopWordIndices.length>0&&(i=i.concat(t.otherStopWordIndices)),void 0!==r.directPrecedenceExceptionRegex&&(n=hi(e,n,r.directPrecedenceExceptionRegex)),void 0!==r.elisionAuxiliaryExceptionRegex&&(n=function(e,t,r){const n=Qs(e,r);return Object(T.forEach)(t,(function(e){ui(n,e.index,!1)&&(t=t.filter((function(t){return t.index!==e.index})))})),t}(e,n,r.elisionAuxiliaryExceptionRegex));let a=n.concat(i,s);return a=Hs(a),Us(a)}(e,t);for(let n=0;n{if(!Object(T.isUndefined)(e.getFieldsToMark()))return e.getFieldsToMark()}))),n=[];return r.forEach(e=>{"heading"===e&&Yn(t).forEach(e=>{n.push(e[0])})}),{fieldsToMark:r,selectedHTML:n}}function _i(e){return(e=(e=e.replace(/<\/?(o|ul)(?:[^>]+)?>/g,"")).replace(/\s?<\/?li(?:[^>]+)?>\s?/g," ")).replace(/\s+/g," ")}var Ti=class{getResult(e,t){throw"The method getResult is not implemented"}isApplicable(e,t){return!0}hasEnoughContentForAssessment(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,r=Object(T.isUndefined)(e)?"":e.getText();return r=kr(r),Et(r).length>=t}},Ei=r(173),vi=function(){return[]},bi=function(e){this._hasScore=!1,this._identifier="",this._hasMarks=!1,this._hasJumps=!1,this._hasEditFieldName=!1,this._marker=vi,this._hasBetaBadge=!1,this.score=0,this.text="",this.marks=[],this.editFieldName="",Object(T.isUndefined)(e)&&(e={}),Object(T.isUndefined)(e.score)||this.setScore(e.score),Object(T.isUndefined)(e.text)||this.setText(e.text),Object(T.isUndefined)(e.marks)||this.setMarks(e.marks),Object(T.isUndefined)(e._hasBetaBadge)||this.setHasBetaBadge(e._hasBetaBadge),Object(T.isUndefined)(e._hasJumps)||this.setHasJumps(e._hasJumps),Object(T.isUndefined)(e.editFieldName)||this.setEditFieldName(e.editFieldName)};bi.prototype.hasScore=function(){return this._hasScore},bi.prototype.getScore=function(){return this.score},bi.prototype.setScore=function(e){Object(T.isNumber)(e)&&(this.score=e,this._hasScore=!0)},bi.prototype.hasText=function(){return""!==this.text},bi.prototype.getText=function(){return this.text},bi.prototype.setText=function(e){Object(T.isUndefined)(e)&&(e=""),this.text=e},bi.prototype.getMarks=function(){return this.marks},bi.prototype.setMarks=function(e){Object(T.isArray)(e)&&(this.marks=e,this._hasMarks=e.length>0)},bi.prototype.setIdentifier=function(e){this._identifier=e},bi.prototype.getIdentifier=function(){return this._identifier},bi.prototype.setMarker=function(e){this._marker=e},bi.prototype.hasMarker=function(){return this._hasMarks&&this._marker!==this.emptyMarker},bi.prototype.getMarker=function(){return this._marker},bi.prototype.setHasMarks=function(e){this._hasMarks=e},bi.prototype.hasMarks=function(){return this._hasMarks},bi.prototype.setHasBetaBadge=function(e){this._hasBetaBadge=e},bi.prototype.hasBetaBadge=function(){return this._hasBetaBadge},bi.prototype.setHasJumps=function(e){this._hasJumps=e},bi.prototype.hasJumps=function(){return this._hasJumps},bi.prototype.hasEditFieldName=function(){return this._hasEditFieldName},bi.prototype.getEditFieldName=function(){return this.editFieldName},bi.prototype.setEditFieldName=function(e){""!==e&&(this.editFieldName=e,this._hasEditFieldName=!0)},bi.prototype.serialize=function(){return{_parseClass:"AssessmentResult",identifier:this._identifier,score:this.score,text:this.text,marks:this.marks.map(e=>e.serialize()),_hasBetaBadge:this._hasBetaBadge,_hasJumps:this._hasJumps,editFieldName:this.editFieldName}},bi.parse=function(e){const t=new bi({text:e.text,score:e.score,marks:e.marks.map(e=>us.parse(e)),_hasBetaBadge:e._hasBetaBadge,_hasJumps:e._hasJumps,editFieldName:e.editFieldName});return t.setIdentifier(e.identifier),t};var yi=bi,Ai=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{good:9,okay:6,bad:3},urlTitle:Object(Ei.b)("https://yoa.st/33e"),urlCallToAction:Object(Ei.b)("https://yoa.st/33f")};this.identifier="introductionKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=new yi;this._firstParagraphMatches=t.getResearch("findKeywordInFirstParagraph");const n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}isApplicable(e){return e.hasKeyword()&&e.hasText()}calculateResult(){return this._firstParagraphMatches.foundInOneSentence?{score:this._config.scores.good,resultText:Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ Object(_.__)("%1$sKeyphrase in introduction%2$s: Well done!","wordpress-seo"),this._config.urlTitle,"")}:this._firstParagraphMatches.foundInParagraph?{score:this._config.scores.okay,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag. */ Object(_.__)("%1$sKeyphrase in introduction%3$s: Your keyphrase or its synonyms appear in the first paragraph of the copy, but not within one sentence. %2$sFix that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:{score:this._config.scores.bad,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag. */ -Object(_.__)("%1$sKeyphrase in introduction%3$s: Your keyphrase or its synonyms do not appear in the first paragraph. %2$sMake sure the topic is clear immediately%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}};function ki(e,t,r){return e>t&&e<=r}function Ni(e,t,r){return e>=t&&e=t&&e<=r}var Ii=class extends yi{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super(),this.defaultConfig={parameters:{recommendedMinimum:1,recommendedMaximum:4,acceptableMaximum:8},parametersNoFunctionWordSupport:{recommendedMaximum:6,acceptableMaximum:9},scores:{veryBad:-999,bad:3,okay:6,good:9},countTextIn:{singular:Object(_.__)("word","wordpress-seo"),plural:Object(_.__)("words","wordpress-seo")},urlTitle:Object(Ai.b)("https://yoa.st/33i"),urlCallToAction:Object(Ai.b)("https://yoa.st/33j"),isRelatedKeyphrase:!1},this.identifier="keyphraseLength",this._config=Object(T.merge)(this.defaultConfig,e),this._isProductPage=t}getResult(e,t){this._keyphraseLengthData=t.getResearch("keyphraseLength");const r=new wi;t.getConfig("countCharacters")&&(this._config.countTextIn.singular=Object(_.__)("character","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("characters","wordpress-seo"));const n=e.getKeyword();this._keyphraseLengthData.functionWords.length>0&&!xr(n).exactMatchRequested&&(this._config.countTextIn.singular=Object(_.__)("content word","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("content words","wordpress-seo")),t.getConfig("keyphraseLength")?this._config=this.getCustomConfig(t):0===this._keyphraseLengthData.functionWords.length&&(this._config.parameters=Object(T.merge)({},this._config.parameters,this._config.parametersNoFunctionWordSupport)),this._boundaries=this._config.parameters;const s=this.calculateResult();return r.setScore(s.score),r.setText(s.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("keyphrase","wordpress-seo"))),r}getCustomConfig(e){const t=e.getConfig("keyphraseLength");return this._isProductPage&&t.hasOwnProperty("productPages")?Object(T.merge)(this._config,t.productPages):Object(T.merge)(this._config,t.defaultAnalysis)}calculateResult(){if(this._isProductPage){if(0===this._keyphraseLengthData.keyphraseLength)return this._config.isRelatedKeyphrase?{score:this._config.scores.veryBad,resultText:Object(_.sprintf)( +Object(_.__)("%1$sKeyphrase in introduction%3$s: Your keyphrase or its synonyms do not appear in the first paragraph. %2$sMake sure the topic is clear immediately%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}};function Oi(e,t,r){return e>t&&e<=r}function Ci(e,t,r){return e>=t&&e=t&&e<=r}var Si=class extends Ti{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super(),this.defaultConfig={parameters:{recommendedMinimum:1,recommendedMaximum:4,acceptableMaximum:8},parametersNoFunctionWordSupport:{recommendedMaximum:6,acceptableMaximum:9},scores:{veryBad:-999,bad:3,okay:6,good:9},countTextIn:{singular:Object(_.__)("word","wordpress-seo"),plural:Object(_.__)("words","wordpress-seo")},urlTitle:Object(Ei.b)("https://yoa.st/33i"),urlCallToAction:Object(Ei.b)("https://yoa.st/33j"),isRelatedKeyphrase:!1},this.identifier="keyphraseLength",this._config=Object(T.merge)(this.defaultConfig,e),this._isProductPage=t}getResult(e,t){this._keyphraseLengthData=t.getResearch("keyphraseLength");const r=new yi;t.getConfig("countCharacters")&&(this._config.countTextIn.singular=Object(_.__)("character","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("characters","wordpress-seo"));const n=e.getKeyword();this._keyphraseLengthData.functionWords.length>0&&!xr(n).exactMatchRequested&&(this._config.countTextIn.singular=Object(_.__)("content word","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("content words","wordpress-seo")),t.getConfig("keyphraseLength")?this._config=this.getCustomConfig(t):0===this._keyphraseLengthData.functionWords.length&&(this._config.parameters=Object(T.merge)({},this._config.parameters,this._config.parametersNoFunctionWordSupport)),this._boundaries=this._config.parameters;const s=this.calculateResult();return r.setScore(s.score),r.setText(s.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("keyphrase","wordpress-seo"))),r}getCustomConfig(e){const t=e.getConfig("keyphraseLength");return this._isProductPage&&t.hasOwnProperty("productPages")?Object(T.merge)(this._config,t.productPages):Object(T.merge)(this._config,t.defaultAnalysis)}calculateResult(){if(this._isProductPage){if(0===this._keyphraseLengthData.keyphraseLength)return this._config.isRelatedKeyphrase?{score:this._config.scores.veryBad,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ Object(_.__)("%1$sKeyphrase length%3$s: %2$sSet a keyphrase in order to calculate your SEO score%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:{score:this._config.scores.veryBad,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ @@ -29,14 +29,14 @@ Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's %3$s and %4$s expand to links on yoast.com, %5$s expands to the anchor end tag, %6$s expands to the word 'words' or 'characters' or 'content words'. */ -Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's less than the recommended minimum of %2$d %6$s. %4$sMake it longer%5$s!","wordpress-seo"),this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._config.urlTitle,this._config.urlCallToAction,"",this._config.countTextIn.plural)};if(ki(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._boundaries.acceptableMaximum))return{score:this._config.scores.okay,resultText:Object(_.sprintf)( +Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's less than the recommended minimum of %2$d %6$s. %4$sMake it longer%5$s!","wordpress-seo"),this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._config.urlTitle,this._config.urlCallToAction,"",this._config.countTextIn.plural)};if(Oi(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._boundaries.acceptableMaximum))return{score:this._config.scores.okay,resultText:Object(_.sprintf)( /* translators: %1$d expands to the number of words / characters in the keyphrase, %2$d expands to the recommended maximum of words / characters in the keyphrase, %3$s and %4$s expand to links on yoast.com, %5$s expands to the anchor end tag, %6$s expands to the word 'words' or 'characters' or 'content words'. */ -Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's more than the recommended maximum of %2$d %6$s. %4$sMake it shorter%5$s!","wordpress-seo"),this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._config.urlTitle,this._config.urlCallToAction,"",this._config.countTextIn.plural)};if(Ri(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._boundaries.recommendedMaximum))return{score:this._config.scores.good,resultText:Object(_.sprintf)( +Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's more than the recommended maximum of %2$d %6$s. %4$sMake it shorter%5$s!","wordpress-seo"),this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._config.urlTitle,this._config.urlCallToAction,"",this._config.countTextIn.plural)};if(wi(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._boundaries.recommendedMaximum))return{score:this._config.scores.good,resultText:Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ Object(_.__)("%1$sKeyphrase length%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}}return this._keyphraseLengthData.keyphraseLength",this._config.countTextIn.plural)}}},xi=function(e){return.7+e/3},Di=function(e,t,r,n,s){const i=s?s(e).length:br(e);if(0===i)return 0;const a=r*i/(100*xi(t));if(a<2)return 2;switch(n){case"min":return Math.ceil(a);default:case"max":return Math.floor(a)}},Li=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{noWordForms:{overMaximum:4,maximum:3,minimum:.5},multipleWordForms:{overMaximum:4,maximum:3.5,minimum:.5}},scores:{wayOverMaximum:-50,overMaximum:-10,correctDensity:9,underMinimum:4},urlTitle:Object(Ai.b)("https://yoa.st/33v"),urlCallToAction:Object(Ai.b)("https://yoa.st/33w"),applicableIfTextLongerThan:100};this.identifier="keywordDensity",this._config=Object(T.merge)(t,e)}setBoundaries(e,t,r){this._hasMorphologicalForms?this._boundaries=this._config.parameters.multipleWordForms:this._boundaries=this._config.parameters.noWordForms,this._minRecommendedKeywordCount=Di(e,t,this._boundaries.minimum,"min",r),this._maxRecommendedKeywordCount=Di(e,t,this._boundaries.maximum,"max",r)}getResult(e,t){const r=t.getHelper("getWordsCustomHelper");this._keywordCount=t.getResearch("keywordCount");const n=this._keywordCount.length,s=new wi;this._keywordDensity=t.getResearch("getKeywordDensity"),this._hasMorphologicalForms=!1!==t.getData("morphology");let i=e.getText();i=kr(i),this.setBoundaries(i,n,r),this._keywordDensity=this._keywordDensity*xi(n);const a=this.calculateResult();return s.setScore(a.score),s.setText(a.resultText),s.setHasMarks(this._keywordCount.count>0),s}hasNoMatches(){return 0===this._keywordCount.count}hasTooFewMatches(){return Ni(this._keywordDensity,0,this._boundaries.minimum)||1===this._keywordCount.count}hasGoodNumberOfMatches(){return Ri(this._keywordDensity,this._boundaries.minimum,this._boundaries.maximum)||2===this._keywordCount.count&&this._minRecommendedKeywordCount<=2}hasTooManyMatches(){return ki(this._keywordDensity,this._boundaries.maximum,this._boundaries.overMaximum)}calculateResult(){return this.hasNoMatches()?{score:this._config.scores.underMinimum,resultText:Object(_.sprintf)( +Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's way more than the recommended maximum of %2$d %6$s. %4$sMake it shorter%5$s!","wordpress-seo"),this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._config.urlTitle,this._config.urlCallToAction,"",this._config.countTextIn.plural)}}},ki=function(e){return.7+e/3},Ni=function(e,t,r,n,s){const i=s?s(e).length:br(e);if(0===i)return 0;const a=r*i/(100*ki(t));if(a<2)return 2;switch(n){case"min":return Math.ceil(a);default:case"max":return Math.floor(a)}},Ri=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{noWordForms:{overMaximum:4,maximum:3,minimum:.5},multipleWordForms:{overMaximum:4,maximum:3.5,minimum:.5}},scores:{wayOverMaximum:-50,overMaximum:-10,correctDensity:9,underMinimum:4},urlTitle:Object(Ei.b)("https://yoa.st/33v"),urlCallToAction:Object(Ei.b)("https://yoa.st/33w"),applicableIfTextLongerThan:100};this.identifier="keywordDensity",this._config=Object(T.merge)(t,e)}setBoundaries(e,t,r){this._hasMorphologicalForms?this._boundaries=this._config.parameters.multipleWordForms:this._boundaries=this._config.parameters.noWordForms,this._minRecommendedKeywordCount=Ni(e,t,this._boundaries.minimum,"min",r),this._maxRecommendedKeywordCount=Ni(e,t,this._boundaries.maximum,"max",r)}getResult(e,t){const r=t.getHelper("getWordsCustomHelper");this._keywordCount=t.getResearch("keywordCount");const n=this._keywordCount.length,s=new yi;this._keywordDensity=t.getResearch("getKeywordDensity"),this._hasMorphologicalForms=!1!==t.getData("morphology");let i=e.getText();i=kr(i),this.setBoundaries(i,n,r),this._keywordDensity=this._keywordDensity*ki(n);const a=this.calculateResult();return s.setScore(a.score),s.setText(a.resultText),s.setHasMarks(this._keywordCount.count>0),s}hasNoMatches(){return 0===this._keywordCount.count}hasTooFewMatches(){return Ci(this._keywordDensity,0,this._boundaries.minimum)||1===this._keywordCount.count}hasGoodNumberOfMatches(){return wi(this._keywordDensity,this._boundaries.minimum,this._boundaries.maximum)||2===this._keywordCount.count&&this._minRecommendedKeywordCount<=2}hasTooManyMatches(){return Oi(this._keywordDensity,this._boundaries.maximum,this._boundaries.overMaximum)}calculateResult(){return this.hasNoMatches()?{score:this._config.scores.underMinimum,resultText:Object(_.sprintf)( /* translators: %1$s and %4$s expand to links to Yoast.com, %2$s expands to the anchor end tag, @@ -86,7 +86,7 @@ Object(_._n)("%1$sKeyphrase density%2$s: The keyphrase was found %5$d time. That %2$s expands to the anchor end tag, %3$d expands to the recommended maximal number of times the keyphrase should occur in the text, %5$d expands to the number of times the keyphrase occurred in the text. */ -Object(_._n)("%1$sKeyphrase density%2$s: The keyphrase was found %5$d time. That's way more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!","%1$sKeyphrase density%2$s: The keyphrase was found %5$d times. That's way more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!",this._keywordCount.count,"wordpress-seo"),this._config.urlTitle,"",this._maxRecommendedKeywordCount,this._config.urlCallToAction,this._keywordCount.count)}}getMarks(){return this._keywordCount.markings}isApplicable(e,t){const r=t.getHelper("customCountLength"),n=t.getConfig("assessmentApplicability").keyphraseDensity;n&&(this._config.applicableIfTextLongerThan=n);let s=e.getText();s=kr(s);const i=r?r(s):It(s).length;return e.hasText()&&e.hasKeyword()&&i>=this._config.applicableIfTextLongerThan}},Mi=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMinimum:1},scores:{good:9,ok:6,bad:3},urlTitle:Object(Ai.b)("https://yoa.st/33k"),urlCallToAction:Object(Ai.b)("https://yoa.st/33l")};this.identifier="metaDescriptionKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._keyphraseCounts=t.getResearch("metaDescriptionKeyword");const r=new wi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("meta description","wordpress-seo"))),r}calculateResult(){return 1===this._keyphraseCounts||2===this._keyphraseCounts?{score:this._config.scores.good,resultText:Object(_.sprintf)( +Object(_._n)("%1$sKeyphrase density%2$s: The keyphrase was found %5$d time. That's way more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!","%1$sKeyphrase density%2$s: The keyphrase was found %5$d times. That's way more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!",this._keywordCount.count,"wordpress-seo"),this._config.urlTitle,"",this._maxRecommendedKeywordCount,this._config.urlCallToAction,this._keywordCount.count)}}getMarks(){return this._keywordCount.markings}isApplicable(e,t){const r=t.getHelper("customCountLength"),n=t.getConfig("assessmentApplicability").keyphraseDensity;n&&(this._config.applicableIfTextLongerThan=n);let s=e.getText();s=kr(s);const i=r?r(s):It(s).length;return e.hasText()&&e.hasKeyword()&&i>=this._config.applicableIfTextLongerThan}},Ii=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMinimum:1},scores:{good:9,ok:6,bad:3},urlTitle:Object(Ei.b)("https://yoa.st/33k"),urlCallToAction:Object(Ei.b)("https://yoa.st/33l")};this.identifier="metaDescriptionKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._keyphraseCounts=t.getResearch("metaDescriptionKeyword");const r=new yi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("meta description","wordpress-seo"))),r}calculateResult(){return 1===this._keyphraseCounts||2===this._keyphraseCounts?{score:this._config.scores.good,resultText:Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ Object(_.__)("%1$sKeyphrase in meta description%2$s: Keyphrase or synonym appear in the meta description. Well done!","wordpress-seo"),this._config.urlTitle,"")}:this._keyphraseCounts>=3?{score:this._config.scores.bad,resultText:Object(_.sprintf)( /** @@ -101,9 +101,9 @@ Object(_.__)("%1$sKeyphrase in meta description%2$s: The meta description contai * %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. * %3$s expands to a link on yoast.com, %4$s expands to the anchor end tag. */ -Object(_.__)("%1$sKeyphrase in meta description%2$s: The meta description has been specified, but it does not contain the keyphrase. %3$sFix that%4$s!","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction,"")}}isApplicable(e){return e.hasKeyword()&&e.hasDescription()}};const Pi=function(e){let t=document.getElementById("yoast-measurement-element");return t||(t=function(){const e=document.createElement("div");return e.id="yoast-measurement-element",e.style.position="absolute",e.style.left="-9999em",e.style.top=0,e.style.height=0,e.style.overflow="hidden",e.style.fontFamily="arial, sans-serif",e.style.fontSize="20px",e.style.fontWeight="400",document.body.appendChild(e),e}()),t.innerText=e,t.offsetWidth};function Fi(){return["en","de","es","fr","it","nl","ru","id","pt","pl","ar","sv","he","hu","nb","tr","cs","sk","el","ja"]}var ji=function(e){return Math.round(e)===e?Math.round(e):Math.round(10*e)/10};function Bi(){return["en","es","de","fr"]}var Ui=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMaximum:0},scores:{bad:2},urlTitle:Object(Ai.b)("https://yoa.st/34l"),urlCallToAction:Object(Ai.b)("https://yoa.st/34m")};this.identifier="textCompetingLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=new wi;this.totalAnchorsWithKeyphrase=t.getResearch("getAnchorsWithKeyphrase").anchorsWithKeyphraseCount;const n=this.calculateResult();return Object(T.isUndefined)(n)||(r.setScore(n.score),r.setText(n.resultText),r.setHasMarks(!1)),r}isApplicable(e){return e.hasText()&&e.hasKeyword()}calculateResult(){if(this.totalAnchorsWithKeyphrase>this._config.parameters.recommendedMaximum)return{score:this._config.scores.bad,resultText:Object(_.sprintf)( +Object(_.__)("%1$sKeyphrase in meta description%2$s: The meta description has been specified, but it does not contain the keyphrase. %3$sFix that%4$s!","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction,"")}}isApplicable(e){return e.hasKeyword()&&e.hasDescription()}};const xi=function(e){let t=document.getElementById("yoast-measurement-element");return t||(t=function(){const e=document.createElement("div");return e.id="yoast-measurement-element",e.style.position="absolute",e.style.left="-9999em",e.style.top=0,e.style.height=0,e.style.overflow="hidden",e.style.fontFamily="arial, sans-serif",e.style.fontSize="20px",e.style.fontWeight="400",document.body.appendChild(e),e}()),t.innerText=e,t.offsetWidth};function Di(){return["en","de","es","fr","it","nl","ru","id","pt","pl","ar","sv","he","hu","nb","tr","cs","sk","el","ja"]}var Li=function(e){return Math.round(e)===e?Math.round(e):Math.round(10*e)/10};function Mi(){return["en","es","de","fr"]}var Pi=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMaximum:0},scores:{bad:2},urlTitle:Object(Ei.b)("https://yoa.st/34l"),urlCallToAction:Object(Ei.b)("https://yoa.st/34m")};this.identifier="textCompetingLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=new yi;this.totalAnchorsWithKeyphrase=t.getResearch("getAnchorsWithKeyphrase").anchorsWithKeyphraseCount;const n=this.calculateResult();return Object(T.isUndefined)(n)||(r.setScore(n.score),r.setText(n.resultText),r.setHasMarks(!1)),r}isApplicable(e){return e.hasText()&&e.hasKeyword()}calculateResult(){if(this.totalAnchorsWithKeyphrase>this._config.parameters.recommendedMaximum)return{score:this._config.scores.bad,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -Object(_.__)("%1$sLink keyphrase%3$s: You're linking to another page with the words you want this page to rank for. %2$sDon't do that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}},Hi=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMinimum:1},scores:{allInternalFollow:9,someInternalFollow:8,noneInternalFollow:7,noInternal:3},urlTitle:Object(Ai.b)("https://yoa.st/33z"),urlCallToAction:Object(Ai.b)("https://yoa.st/34a")};this.identifier="internalLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){this.linkStatistics=t.getResearch("getLinkStatistics");const r=new wi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}isApplicable(e){return e.hasText()}calculateResult(){return 0===this.linkStatistics.internalTotal?{score:this._config.scores.noInternal,resultText:Object(_.sprintf)( +Object(_.__)("%1$sLink keyphrase%3$s: You're linking to another page with the words you want this page to rank for. %2$sDon't do that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}},Fi=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMinimum:1},scores:{allInternalFollow:9,someInternalFollow:8,noneInternalFollow:7,noInternal:3},urlTitle:Object(Ei.b)("https://yoa.st/33z"),urlCallToAction:Object(Ei.b)("https://yoa.st/34a")};this.identifier="internalLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){this.linkStatistics=t.getResearch("getLinkStatistics");const r=new yi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}isApplicable(e){return e.hasText()}calculateResult(){return 0===this.linkStatistics.internalTotal?{score:this._config.scores.noInternal,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ Object(_.__)("%1$sInternal links%3$s: No internal links appear in this page, %2$smake sure to add some%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:this.linkStatistics.internalNofollow===this.linkStatistics.internalTotal?{score:this._config.scores.noneInternalFollow,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ @@ -111,11 +111,11 @@ Object(_.__)("%1$sInternal links%3$s: The internal links in this page are all no /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ Object(_.__)("%1$sInternal links%2$s: You have enough internal links. Good job!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.someInternalFollow,resultText:Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ -Object(_.__)("%1$sInternal links%2$s: There are both nofollowed and normal internal links on this page. Good job!","wordpress-seo"),this._config.urlTitle,"")}}},$i=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedPosition:0},scores:{good:9,okay:6,bad:2},urlTitle:Object(Ai.b)("https://yoa.st/33g"),urlCallToAction:Object(Ai.b)("https://yoa.st/33h"),feedbackStrings:{bad:Object(_.__)("For the best SEO results write the exact match of your keyphrase in the SEO title, and put the keyphrase at the beginning of the title","wordpress-seo")}};this.identifier="keyphraseInSEOTitle", +Object(_.__)("%1$sInternal links%2$s: There are both nofollowed and normal internal links on this page. Good job!","wordpress-seo"),this._config.urlTitle,"")}}},ji=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedPosition:0},scores:{good:9,okay:6,bad:2},urlTitle:Object(Ei.b)("https://yoa.st/33g"),urlCallToAction:Object(Ei.b)("https://yoa.st/33h"),feedbackStrings:{bad:Object(_.__)("For the best SEO results write the exact match of your keyphrase in the SEO title, and put the keyphrase at the beginning of the title","wordpress-seo")}};this.identifier="keyphraseInSEOTitle", /* translators: This is the name of the 'Keyphrase in SEO title' SEO assessment. It appears before the feedback in the analysis, for example in the feedback string: "Keyphrase in SEO title: The focus keyphrase appears at the beginning of the SEO title. Good job!" */ -this.name=Object(_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=Object(T.merge)(t,e)}getResult(e,t){const r=A(e.getLocale());this._keyphraseMatches=t.getResearch("findKeyphraseInSEOTitle"),this._keyphrase=Object(T.escape)(e.getKeyword());const n=new wi,s=this.calculateResult(this._keyphrase,r);return n.setScore(s.score),n.setText(s.resultText),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("SEO title","wordpress-seo"))),n}isApplicable(e){return e.hasKeyword()&&e.hasTitle()}calculateResult(e,t){const r=this._config.feedbackStrings;"ja"===t&&(r.bad=Object(_.__)("For the best SEO results include all words of your keyphrase in the SEO title, and put the keyphrase at the beginning of the title","wordpress-seo"));const n=this._keyphraseMatches.exactMatchFound,s=this._keyphraseMatches.position,i=this._keyphraseMatches.allWordsFound,a=this._keyphraseMatches.exactMatchKeyphrase,o=this._config.urlTitle+this.name+"";return!0===n?0===s?{score:this._config.scores.good,resultText:Object(_.sprintf)( +this.name=Object(_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=Object(T.merge)(t,e)}getResult(e,t){const r=A(e.getLocale());this._keyphraseMatches=t.getResearch("findKeyphraseInSEOTitle"),this._keyphrase=Object(T.escape)(e.getKeyword());const n=new yi,s=this.calculateResult(this._keyphrase,r);return n.setScore(s.score),n.setText(s.resultText),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("SEO title","wordpress-seo"))),n}isApplicable(e){return e.hasKeyword()&&e.hasTitle()}calculateResult(e,t){const r=this._config.feedbackStrings;"ja"===t&&(r.bad=Object(_.__)("For the best SEO results include all words of your keyphrase in the SEO title, and put the keyphrase at the beginning of the title","wordpress-seo"));const n=this._keyphraseMatches.exactMatchFound,s=this._keyphraseMatches.position,i=this._keyphraseMatches.allWordsFound,a=this._keyphraseMatches.exactMatchKeyphrase,o=this._config.urlTitle+this.name+"";return!0===n?0===s?{score:this._config.scores.good,resultText:Object(_.sprintf)( /* translators: %1$s expands to the title of the "Keyphrase in SEO title" assessment (translated to the current language) and links to an article on yoast.com. */ Object(_.__)("%1$s: The exact match of the focus keyphrase appears at the beginning of the SEO title. Good job!","wordpress-seo"),o)}:{score:this._config.scores.okay,resultText:Object(_.sprintf)( @@ -137,7 +137,7 @@ Object(_.__)("%1$s: Does not contain the exact match. %2$sTry to write the exact /* translators: %1$s expands to the title of the "Keyphrase in SEO title" assessment (translated to the current language) and links to an article on yoast.com. %2$s expands to a link on yoast.com, %3$s expands to the anchor end tag, %4$s expands to the keyphrase of the article, %5$s expands to the call to action text. */ -Object(_.__)('%1$s: Not all the words from your keyphrase "%4$s" appear in the SEO title. %2$s%5$s%3$s.',"wordpress-seo"),o,this._config.urlCallToAction,"",e,r.bad)}}};class Ki extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{okay:6,good:9},urlTitle:Object(Ai.b)("https://yoa.st/33o"),urlCallToAction:Object(Ai.b)("https://yoa.st/33p")};this.identifier="slugKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._keywordInSlug=t.getResearch("keywordCountInSlug");const r=new wi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("slug","wordpress-seo"))),r}isApplicable(e,t){return e.hasKeyword()&&e.hasSlug()&&t.hasResearch("keywordCountInSlug")}calculateResult(){return this._keywordInSlug.keyphraseLength<3?100===this._keywordInSlug.percentWordMatches?{score:this._config.scores.good,resultText:Object(_.sprintf)( +Object(_.__)('%1$s: Not all the words from your keyphrase "%4$s" appear in the SEO title. %2$s%5$s%3$s.',"wordpress-seo"),o,this._config.urlCallToAction,"",e,r.bad)}}};class Bi extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{okay:6,good:9},urlTitle:Object(Ei.b)("https://yoa.st/33o"),urlCallToAction:Object(Ei.b)("https://yoa.st/33p")};this.identifier="slugKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._keywordInSlug=t.getResearch("keywordCountInSlug");const r=new yi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("slug","wordpress-seo"))),r}isApplicable(e,t){return e.hasKeyword()&&e.hasSlug()&&t.hasResearch("keywordCountInSlug")}calculateResult(){return this._keywordInSlug.keyphraseLength<3?100===this._keywordInSlug.percentWordMatches?{score:this._config.scores.good,resultText:Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ Object(_.__)("%1$sKeyphrase in slug%2$s: Great work!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.okay,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ @@ -145,9 +145,9 @@ Object(_.__)("%1$sKeyphrase in slug%3$s: (Part of) your keyphrase does not appea /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ Object(_.__)("%1$sKeyphrase in slug%2$s: More than half of your keyphrase appears in the slug. That's great!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.okay,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -Object(_.__)("%1$sKeyphrase in slug%3$s: (Part of) your keyphrase does not appear in the slug. %2$sChange that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}var qi=Ki,Gi=function(e){return Object(T.uniqBy)(e,(function(e){return e.getOriginal()}))};const zi=/^\s+$/,Wi=/([\s\t\u00A0])/;var Yi=class{constructor(e){this.researcher=e}splitIntoSentences(e){const t=this.researcher.getHelper("memoizedTokenizer")(e,!1);return zi.test(t[t.length-1])&&t.pop(),t.map((function(e){return new class{constructor(e){this.text=e,this.tokens=[],this.sourceCodeRange={}}}(e)}))}splitIntoTokens(e){const t=e.text.split(Wi).filter(e=>""!==e),r=[];return t.forEach(e=>{if(""===e)return;const t=[],n=[];for(;St.test(e);)t.push(e[0]),e=e.slice(1);for(;kt.test(e);)n.unshift(e[e.length-1]),e=e.slice(0,-1);let s=[...t,e,...n];s=s.filter(e=>""!==e),r.push(...s)}),r.map(e=>new class{constructor(e){this.text=e,this.sourceCodeRange={}}}(e))}},Vi=r(201);const Qi=["b","big","i","small","tt","abbr","acronym","cite","code","dfn","em","kbd","strong","samp","time","var","a","bdo","br","img","map","object","q","script","span","sub","sup","button","input","label","select","textarea"];var Xi=function(e){return Qi.includes(e)||"#text"===e};function Ji(e){return"#text"===e.name&&e.value&&e.value.match(/^[\n\s]+$/g)}function Zi(e){return e&&e.childNodes.length>0}function ea(e){return"p"===e}function ta(e){return["h1","h2","h3","h4","h5","h6"].includes(e)}function ra(e){if("#text"===e.nodeName)return new class{constructor(e){this.name="#text",this.value=e}}(e.value);let t=[];Object(T.isEmpty)(e.childNodes)||(t=e.childNodes.map(ra),function(e){return!(ea(e)||Xi(e)||ta(e))}(e.nodeName)&&(t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=[];let n={};Object(T.isEmpty)(t)||(n={startOffset:t.startTag?t.startTag.endOffset:t.startOffset,endOffset:t.endTag?t.endTag.startOffset:t.endOffset});let s=Nn.createImplicit({},[],n);return e.forEach(e=>{Xi(e.name)&&!Ji(e)?s.childNodes.push(e):(Zi(s)&&(Object(T.isEmpty)(e.sourceCodeLocation)||(Object(T.isEmpty)(s.sourceCodeLocation)||(s.sourceCodeLocation.endOffset=e.sourceCodeLocation.startOffset),n.startOffset=e.sourceCodeLocation.endOffset),r.push(s),s=Nn.createImplicit({},[],n)),r.push(e))}),Zi(s)&&r.push(s),r}(t,e.sourceCodeLocation)));const r=function(e){if(!e)return{};const t={};return e.forEach(e=>{let{name:r,value:n}=e;"class"===r&&(n=new Set(n.split(" "))),t[r]=n}),t}(e.attrs);if(ea(e.nodeName))return new Nn(r,t,e.sourceCodeLocation);if(ta(e.nodeName)){const n=parseInt(e.nodeName[1],10);return new Sn(n,r,t,e.sourceCodeLocation)}return new wn(e.nodeName,r,t,e.sourceCodeLocation)}function na(e){return t=>t.name===e}function sa(e){return t=>!!t.attributes.class&&t.attributes.class.has(e)}const ia=["code","kbd","math","q","samp","script","var","#comment"];var aa=[sa("yoast-table-of-contents"),sa("yoast-reading-time__wrapper"),("breadcrumbs",e=>"breadcrumbs"===e.attributes.id),na("base"),na("blockquote"),na("canvas"),na("code"),na("head"),na("iframe"),na("input"),na("kbd"),na("link"),na("math"),na("meta"),na("meter"),na("noscript"),na("object"),na("portal"),na("pre"),na("progress"),na("q"),na("samp"),na("script"),na("slot"),na("style"),na("svg"),na("template"),na("textarea"),na("title"),na("var")];function oa(e){const t=[];return e.forEach(e=>{ia.includes(e.name)?t.push(e.sourceCodeLocation):(e.sourceCodeLocation.startTag&&t.push(e.sourceCodeLocation.startTag),e.sourceCodeLocation.endTag&&t.push(e.sourceCodeLocation.endTag))}),t.sort((e,t)=>e.startOffset-t.startOffset),t}function la(e,t,r){return e.forEach(e=>{e.startOffset>=t&&e.startOffset{e.startOffset===t&&(t+=e.endOffset-e.startOffset)}),t}function ua(e,t){let r,n,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(0===t.length||!e.sourceCodeLocation)return t;r=e instanceof Nn&&e.isImplicit?e.sourceCodeLocation.startOffset:s>=0?s:e.sourceCodeLocation.startTag.endOffset;let i=[];const a=e.findAll(e=>e.sourceCodeLocation,!0);return a.length>0&&(i=oa(a)),t.forEach(e=>{n=r+e.text.length,i.length>0&&(n=la(i,r,n),r=ca(i,r)),e.sourceCodeRange={startOffset:r,endOffset:n},r=n}),t}var ha=function e(t,r){return(t instanceof Nn||t instanceof Sn)&&(t.sentences=function(e,t){let r=t.splitIntoSentences(e.innerText());return r=ua(e,r),r.map(r=>function(e,t,r){return t.tokens=r(t),t.tokens=ua(e,t.tokens,t.sourceCodeRange.startOffset),t}(e,r,t.splitIntoTokens))}(t,r)),t.childNodes&&(t.childNodes=t.childNodes.map(t=>e(t,r))),t};function da(e){return ia.includes(e.name)&&(e.childNodes=[]),Object(T.isEmpty)(e.childNodes)||e.childNodes.map(da),e}function pa(e,t){let r=ra(Object(Vi.parseFragment)(e,{sourceCodeLocationInfo:!0}));return r=da(r),r=ha(r,t),function e(t,r){if(!function(e,t){return"#text"!==e.name&&t.some(t=>t(e))}(t,r))return t.childNodes&&(t.childNodes=t.childNodes.filter(t=>e(t,r))),t}(r,aa)}const ga=function(e,t){this.type="assessor",this.setResearcher(e),this._assessments=[],this._options=t||{}};ga.prototype.setResearcher=function(e){if(Object(T.isUndefined)(e))throw new Mt("The assessor requires a researcher.");this._researcher=e},ga.prototype.getAvailableAssessments=function(){return this._assessments},ga.prototype.isApplicable=function(e,t,r){return!e.hasOwnProperty("isApplicable")&&"function"!=typeof e.isApplicable||e.isApplicable(t,r)},ga.prototype.hasMarker=function(e){return Object(T.isFunction)(this._options.marker)&&(e.hasOwnProperty("getMarks")||"function"==typeof e.getMarks)},ga.prototype.getSpecificMarker=function(){return this._options.marker},ga.prototype.getPaper=function(){return this._lastPaper},ga.prototype.getMarker=function(e,t,r){const n=this._options.marker;return function(){let s=e.getMarks(t,r);s=Gi(s),n(t,s)}},ga.prototype.assess=function(e){this._researcher.setPaper(e);const t=new Yi(this._researcher);e.setTree(pa(e.getText(),t));let r=this.getAvailableAssessments();this.results=[],r=Object(T.filter)(r,function(t){return this.isApplicable(t,e,this._researcher)}.bind(this)),this.setHasMarkers(!1),this.results=Object(T.map)(r,this.executeAssessment.bind(this,e,this._researcher)),this._lastPaper=e},ga.prototype.setHasMarkers=function(e){this._hasMarkers=e},ga.prototype.hasMarkers=function(){return this._hasMarkers},ga.prototype.executeAssessment=function(e,t,r){let n;try{n=r.getResult(e,t),n.setIdentifier(r.identifier),n.hasMarks()&&(n.marks=r.getMarks(e,t),n.marks=Gi(n.marks)),n.hasMarks()&&this.hasMarker(r)&&(this.setHasMarkers(!0),n.setMarker(this.getMarker(r,e,t)))}catch(e){s=e,Object(T.isUndefined)(s)&&(s=""),Object(T.isUndefined)(console)||Object(T.isUndefined)(console.trace)||console.trace(s),n=new wi,n.setScore(-1),n.setText(Object(_.sprintf)( +Object(_.__)("%1$sKeyphrase in slug%3$s: (Part of) your keyphrase does not appear in the slug. %2$sChange that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}var Ui=Bi,Hi=function(e){return Object(T.uniqBy)(e,(function(e){return e.getOriginal()}))};const $i=/^\s+$/,Ki=/([\s\t\u00A0])/;var qi=class{constructor(e){this.researcher=e}splitIntoSentences(e){const t=this.researcher.getHelper("memoizedTokenizer")(e,!1);return $i.test(t[t.length-1])&&t.pop(),t.map((function(e){return new class{constructor(e){this.text=e,this.tokens=[],this.sourceCodeRange={}}}(e)}))}splitIntoTokens(e){const t=e.text.split(Ki).filter(e=>""!==e),r=[];return t.forEach(e=>{if(""===e)return;const t=[],n=[];for(;St.test(e);)t.push(e[0]),e=e.slice(1);for(;kt.test(e);)n.unshift(e[e.length-1]),e=e.slice(0,-1);let s=[...t,e,...n];s=s.filter(e=>""!==e),r.push(...s)}),r.map(e=>new class{constructor(e){this.text=e,this.sourceCodeRange={}}}(e))}},Gi=r(201);const zi=["b","big","i","small","tt","abbr","acronym","cite","code","dfn","em","kbd","strong","samp","time","var","a","bdo","br","img","map","object","q","script","span","sub","sup","button","input","label","select","textarea"];var Wi=function(e){return zi.includes(e)||"#text"===e},Yi=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.name=e,this.attributes=t,this.childNodes=r,Object(T.isEmpty)(n)||(this.sourceCodeLocation=new class{constructor(e){e.startTag&&(this.startTag={startOffset:e.startTag.startOffset,endOffset:e.startTag.endOffset}),e.endTag&&(this.endTag={startOffset:e.endTag.startOffset,endOffset:e.endTag.endOffset}),this.startOffset=e.startOffset,this.endOffset=e.endOffset}}(n))}findAll(e){return function e(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s=[];return t.childNodes?(t.childNodes.forEach(t=>{r(t)?(s.push(t),n&&s.push(...e(t,r,n))):s.push(...e(t,r,n))}),s):s}(this,e,arguments.length>1&&void 0!==arguments[1]&&arguments[1])}innerText(){return function e(t){let r="";return Object(T.isEmpty)(t.childNodes)||t.childNodes.forEach(t=>{"#text"===t.name?r+=t.value:r+=e(t)}),r}(this)}},Vi=class extends Yi{constructor(e){super("h"+e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}),this.level=e}};class Qi extends Yi{constructor(){let e=arguments.length>3&&void 0!==arguments[3]&&arguments[3];super("p",arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),this.isImplicit=e}static createImplicit(){return new Qi(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},!0)}}var Xi=Qi;function Ji(e){return"#text"===e.name&&e.value&&e.value.match(/^[\n\s]+$/g)}function Zi(e){return e&&e.childNodes.length>0}function ea(e){return"p"===e}function ta(e){return["h1","h2","h3","h4","h5","h6"].includes(e)}function ra(e){if("#text"===e.nodeName)return new class{constructor(e){this.name="#text",this.value=e}}(e.value);let t=[];Object(T.isEmpty)(e.childNodes)||(t=e.childNodes.map(ra),function(e){return!(ea(e)||Wi(e)||ta(e))}(e.nodeName)&&(t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=[];let n={};Object(T.isEmpty)(t)||(n={startOffset:t.startTag?t.startTag.endOffset:t.startOffset,endOffset:t.endTag?t.endTag.startOffset:t.endOffset});let s=Xi.createImplicit({},[],n);return e.forEach(e=>{Wi(e.name)&&!Ji(e)?s.childNodes.push(e):(Zi(s)&&(Object(T.isEmpty)(e.sourceCodeLocation)||(Object(T.isEmpty)(s.sourceCodeLocation)||(s.sourceCodeLocation.endOffset=e.sourceCodeLocation.startOffset),n.startOffset=e.sourceCodeLocation.endOffset),r.push(s),s=Xi.createImplicit({},[],n)),r.push(e))}),Zi(s)&&r.push(s),r}(t,e.sourceCodeLocation)));const r=function(e){if(!e)return{};const t={};return e.forEach(e=>{let{name:r,value:n}=e;"class"===r&&(n=new Set(n.split(" "))),t[r]=n}),t}(e.attrs);if(ea(e.nodeName))return new Xi(r,t,e.sourceCodeLocation);if(ta(e.nodeName)){const n=parseInt(e.nodeName[1],10);return new Vi(n,r,t,e.sourceCodeLocation)}return new Yi(e.nodeName,r,t,e.sourceCodeLocation)}function na(e){return t=>t.name===e}function sa(e){return t=>!!t.attributes.class&&t.attributes.class.has(e)}const ia=["code","kbd","math","q","samp","script","var","#comment"];var aa=[sa("yoast-table-of-contents"),sa("yoast-reading-time__wrapper"),("breadcrumbs",e=>"breadcrumbs"===e.attributes.id),na("base"),na("blockquote"),na("canvas"),na("code"),na("head"),na("iframe"),na("input"),na("kbd"),na("link"),na("math"),na("meta"),na("meter"),na("noscript"),na("object"),na("portal"),na("pre"),na("progress"),na("q"),na("samp"),na("script"),na("slot"),na("style"),na("svg"),na("template"),na("textarea"),na("title"),na("var")];function oa(e){const t=[];return e.forEach(e=>{ia.includes(e.name)?t.push(e.sourceCodeLocation):(e.sourceCodeLocation.startTag&&t.push(e.sourceCodeLocation.startTag),e.sourceCodeLocation.endTag&&t.push(e.sourceCodeLocation.endTag))}),t.sort((e,t)=>e.startOffset-t.startOffset),t}function la(e,t,r){return e.forEach(e=>{e.startOffset>=t&&e.startOffset{e.startOffset===t&&(t+=e.endOffset-e.startOffset)}),t}function ua(e,t){let r,n,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(0===t.length||!e.sourceCodeLocation)return t;r=e instanceof Xi&&e.isImplicit?e.sourceCodeLocation.startOffset:s>=0?s:e.sourceCodeLocation.startTag.endOffset;let i=[];const a=e.findAll(e=>e.sourceCodeLocation,!0);return a.length>0&&(i=oa(a)),t.forEach(e=>{n=r+e.text.length,i.length>0&&(n=la(i,r,n),r=ca(i,r)),e.sourceCodeRange={startOffset:r,endOffset:n},r=n}),t}var ha=function e(t,r){return(t instanceof Xi||t instanceof Vi)&&(t.sentences=function(e,t){let r=t.splitIntoSentences(e.innerText());return r=ua(e,r),r.map(r=>function(e,t,r){return t.tokens=r(t),t.tokens=ua(e,t.tokens,t.sourceCodeRange.startOffset),t}(e,r,t.splitIntoTokens))}(t,r)),t.childNodes&&(t.childNodes=t.childNodes.map(t=>e(t,r))),t};function da(e){return ia.includes(e.name)&&(e.childNodes=[]),Object(T.isEmpty)(e.childNodes)||e.childNodes.map(da),e}function pa(e,t){let r=ra(Object(Gi.parseFragment)(e,{sourceCodeLocationInfo:!0}));return r=da(r),r=ha(r,t),function e(t,r){if(!function(e,t){return"#text"!==e.name&&t.some(t=>t(e))}(t,r))return t.childNodes&&(t.childNodes=t.childNodes.filter(t=>e(t,r))),t}(r,aa)}const ga=function(e,t){this.type="assessor",this.setResearcher(e),this._assessments=[],this._options=t||{}};ga.prototype.setResearcher=function(e){if(Object(T.isUndefined)(e))throw new Mt("The assessor requires a researcher.");this._researcher=e},ga.prototype.getAvailableAssessments=function(){return this._assessments},ga.prototype.isApplicable=function(e,t,r){return!e.hasOwnProperty("isApplicable")&&"function"!=typeof e.isApplicable||e.isApplicable(t,r)},ga.prototype.hasMarker=function(e){return Object(T.isFunction)(this._options.marker)&&(e.hasOwnProperty("getMarks")||"function"==typeof e.getMarks)},ga.prototype.getSpecificMarker=function(){return this._options.marker},ga.prototype.getPaper=function(){return this._lastPaper},ga.prototype.getMarker=function(e,t,r){const n=this._options.marker;return function(){let s=e.getMarks(t,r);s=Hi(s),n(t,s)}},ga.prototype.assess=function(e){this._researcher.setPaper(e);const t=new qi(this._researcher);e.setTree(pa(e.getText(),t));let r=this.getAvailableAssessments();this.results=[],r=Object(T.filter)(r,function(t){return this.isApplicable(t,e,this._researcher)}.bind(this)),this.setHasMarkers(!1),this.results=Object(T.map)(r,this.executeAssessment.bind(this,e,this._researcher)),this._lastPaper=e},ga.prototype.setHasMarkers=function(e){this._hasMarkers=e},ga.prototype.hasMarkers=function(){return this._hasMarkers},ga.prototype.executeAssessment=function(e,t,r){let n;try{n=r.getResult(e,t),n.setIdentifier(r.identifier),n.hasMarks()&&(n.marks=r.getMarks(e,t),n.marks=Hi(n.marks)),n.hasMarks()&&this.hasMarker(r)&&(this.setHasMarkers(!0),n.setMarker(this.getMarker(r,e,t)))}catch(e){s=e,Object(T.isUndefined)(s)&&(s=""),Object(T.isUndefined)(console)||Object(T.isUndefined)(console.trace)||console.trace(s),n=new yi,n.setScore(-1),n.setText(Object(_.sprintf)( /* translators: %1$s expands to the name of the assessment. */ -Object(_.__)("An error occurred in the '%1$s' assessment","wordpress-seo"),r.identifier,e))}var s;return n},ga.prototype.getValidResults=function(){return Object(T.filter)(this.results,function(e){return this.isValidResult(e)}.bind(this))},ga.prototype.isValidResult=function(e){return e.hasScore()&&e.hasText()},ga.prototype.calculateOverallScore=function(){const e=this.getValidResults(),t=e.reduce((e,t)=>e+t.getScore(),0);return Math.round(t/(9*e.length)*100)||0},ga.prototype.addAssessment=function(e,t){return t.hasOwnProperty("identifier")||(t.identifier=e),this.getAssessment(t.identifier)&&this.removeAssessment(t.identifier),this._assessments.push(t),!0},ga.prototype.removeAssessment=function(e){const t=Object(T.findIndex)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}));-1!==t&&this._assessments.splice(t,1)},ga.prototype.getAssessment=function(e){return Object(T.find)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}))},ga.prototype.getApplicableAssessments=function(){const e=this.getAvailableAssessments();return Object(T.filter)(e,function(e){return this.isApplicable(e,this.getPaper(),this._researcher)}.bind(this))};var fa=ga,ma={recommendedMaximumLength:60,maximumLength:80};class _a extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={recommendedMaximumLength:120,maximumLength:156,scores:{noMetaDescription:1,tooLong:6,tooShort:6,correctLength:9},urlTitle:Object(Ai.b)("https://yoa.st/34d"),urlCallToAction:Object(Ai.b)("https://yoa.st/34e")};this.identifier="metaDescriptionLength",this._config=Object(T.merge)(t,e)}getMaximumLength(e){return this.getConfig(e).maximumLength}getConfig(e){let t=this._config;return"ja"===e&&(t=Object(T.merge)(t,ma)),t}getResult(e,t){const r=t.getResearch("metaDescriptionLength"),n=new wi,s=t.getConfig("language"),i=this.getConfig(s);return n.setScore(this.calculateScore(r,s)),n.setText(this.translateScore(r,i)),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("meta description","wordpress-seo"))),n.max=i.maximumLength,n.actual=r,n}calculateScore(e,t){const r=this.getConfig(t);return 0===e?r.scores.noMetaDescription:e<=this._config.recommendedMaximumLength?r.scores.tooShort:e>this._config.maximumLength?r.scores.tooLong:r.scores.correctLength}translateScore(e,t){return 0===e?Object(_.sprintf)( +Object(_.__)("An error occurred in the '%1$s' assessment","wordpress-seo"),r.identifier,e))}var s;return n},ga.prototype.getValidResults=function(){return Object(T.filter)(this.results,function(e){return this.isValidResult(e)}.bind(this))},ga.prototype.isValidResult=function(e){return e.hasScore()&&e.hasText()},ga.prototype.calculateOverallScore=function(){const e=this.getValidResults(),t=e.reduce((e,t)=>e+t.getScore(),0);return Math.round(t/(9*e.length)*100)||0},ga.prototype.addAssessment=function(e,t){return t.hasOwnProperty("identifier")||(t.identifier=e),this.getAssessment(t.identifier)&&this.removeAssessment(t.identifier),this._assessments.push(t),!0},ga.prototype.removeAssessment=function(e){const t=Object(T.findIndex)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}));-1!==t&&this._assessments.splice(t,1)},ga.prototype.getAssessment=function(e){return Object(T.find)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}))},ga.prototype.getApplicableAssessments=function(){const e=this.getAvailableAssessments();return Object(T.filter)(e,function(e){return this.isApplicable(e,this.getPaper(),this._researcher)}.bind(this))};var fa=ga,ma={recommendedMaximumLength:60,maximumLength:80};class _a extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={recommendedMaximumLength:120,maximumLength:156,scores:{noMetaDescription:1,tooLong:6,tooShort:6,correctLength:9},urlTitle:Object(Ei.b)("https://yoa.st/34d"),urlCallToAction:Object(Ei.b)("https://yoa.st/34e")};this.identifier="metaDescriptionLength",this._config=Object(T.merge)(t,e)}getMaximumLength(e){return this.getConfig(e).maximumLength}getConfig(e){let t=this._config;return"ja"===e&&(t=Object(T.merge)(t,ma)),t}getResult(e,t){const r=t.getResearch("metaDescriptionLength"),n=new yi,s=t.getConfig("language"),i=this.getConfig(s);return n.setScore(this.calculateScore(r,s)),n.setText(this.translateScore(r,i)),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("meta description","wordpress-seo"))),n.max=i.maximumLength,n.actual=r,n}calculateScore(e,t){const r=this.getConfig(t);return 0===e?r.scores.noMetaDescription:e<=this._config.recommendedMaximumLength?r.scores.tooShort:e>this._config.maximumLength?r.scores.tooLong:r.scores.correctLength}translateScore(e,t){return 0===e?Object(_.sprintf)( /* translators: %1$s and %2$s expand to a links on yoast.com, %3$s expands to the anchor end tag */ Object(_.__)("%1$sMeta description length%3$s: No meta description has been specified. Search engines will display copy from the page instead. %2$sMake sure to write one%3$s!","wordpress-seo"),t.urlTitle,t.urlCallToAction,""):e<=t.recommendedMaximumLength?Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag, @@ -158,7 +158,7 @@ Object(_.__)("%1$sMeta description length%3$s: The meta description is too short %4$d expands to the total available number of characters in the meta description */ Object(_.__)("%1$sMeta description length%3$s: The meta description is over %4$d characters. To ensure the entire description will be visible, %2$syou should reduce the length%3$s!","wordpress-seo"),t.urlTitle,t.urlCallToAction,"",t.maximumLength):Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ -Object(_.__)("%1$sMeta description length%2$s: Well done!","wordpress-seo"),t.urlTitle,"")}}class Ta extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{noMatches:3,tooFewMatches:3,goodNumberOfMatches:9,tooManyMatches:3},urlTitle:Object(Ai.b)("https://yoa.st/33m"),urlCallToAction:Object(Ai.b)("https://yoa.st/33n")};this.identifier="subheadingsKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._subHeadings=t.getResearch("matchKeywordInSubheadings");const r=new wi;this._minNumberOfSubheadings=Math.ceil(this._subHeadings.count*this._config.parameters.lowerBoundary),this._maxNumberOfSubheadings=Math.floor(this._subHeadings.count*this._config.parameters.upperBoundary);const n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}hasSubheadings(e){return Zn(e.getText()).length>0}isApplicable(e){return e.hasText()&&e.hasKeyword()&&this.hasSubheadings(e)}hasTooFewMatches(){return this._subHeadings.matches>0&&this._subHeadings.matches1&&this._subHeadings.matches>this._maxNumberOfSubheadings}isOneOfOne(){return 1===this._subHeadings.count&&1===this._subHeadings.matches}hasGoodNumberOfMatches(){return Ri(this._subHeadings.matches,this._minNumberOfSubheadings,this._maxNumberOfSubheadings)}calculateResult(){return this.hasTooFewMatches()?{score:this._config.scores.tooFewMatches,resultText:Object(_.sprintf)( +Object(_.__)("%1$sMeta description length%2$s: Well done!","wordpress-seo"),t.urlTitle,"")}}class Ta extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{noMatches:3,tooFewMatches:3,goodNumberOfMatches:9,tooManyMatches:3},urlTitle:Object(Ei.b)("https://yoa.st/33m"),urlCallToAction:Object(Ei.b)("https://yoa.st/33n")};this.identifier="subheadingsKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._subHeadings=t.getResearch("matchKeywordInSubheadings");const r=new yi;this._minNumberOfSubheadings=Math.ceil(this._subHeadings.count*this._config.parameters.lowerBoundary),this._maxNumberOfSubheadings=Math.floor(this._subHeadings.count*this._config.parameters.upperBoundary);const n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}hasSubheadings(e){return Vn(e.getText()).length>0}isApplicable(e){return e.hasText()&&e.hasKeyword()&&this.hasSubheadings(e)}hasTooFewMatches(){return this._subHeadings.matches>0&&this._subHeadings.matches1&&this._subHeadings.matches>this._maxNumberOfSubheadings}isOneOfOne(){return 1===this._subHeadings.count&&1===this._subHeadings.matches}hasGoodNumberOfMatches(){return wi(this._subHeadings.matches,this._minNumberOfSubheadings,this._maxNumberOfSubheadings)}calculateResult(){return this.hasTooFewMatches()?{score:this._config.scores.tooFewMatches,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to a link on yoast.com, %3$s expands to the anchor end tag. */ Object(_.__)("%1$sKeyphrase in subheading%3$s: %2$sUse more keyphrases or synonyms in your H2 and H3 subheadings%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:this.hasTooManyMatches()?{score:this._config.scores.tooManyMatches,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to a link on yoast.com, %3$s expands to the anchor end tag. */ @@ -170,7 +170,7 @@ Object(_.__)("%1$sKeyphrase in subheading%2$s: Your H2 or H3 subheading reflects %3$d expands to the number of subheadings containing the keyphrase. */ Object(_._n)("%1$sKeyphrase in subheading%2$s: %3$s of your H2 and H3 subheadings reflects the topic of your copy. Good job!","%1$sKeyphrase in subheading%2$s: %3$s of your H2 and H3 subheadings reflect the topic of your copy. Good job!",this._subHeadings.matches,"wordpress-seo"),this._config.urlTitle,"",this._subHeadings.matches)}:{score:this._config.scores.noMatches,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to a link on yoast.com, %3$s expands to the anchor end tag. */ -Object(_.__)("%1$sKeyphrase in subheading%3$s: %2$sUse more keyphrases or synonyms in your H2 and H3 subheadings%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}class Ea extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{withAltGoodNumberOfKeywordMatches:9,withAltTooFewKeywordMatches:6,withAltTooManyKeywordMatches:6,withAltNonKeyword:6,withAlt:6,noAlt:6},urlTitle:Object(Ai.b)("https://yoa.st/4f7"),urlCallToAction:Object(Ai.b)("https://yoa.st/4f6")};this.identifier="imageKeyphrase",this._config=Object(T.merge)(t,e)}getResult(e,t){this.imageCount=t.getResearch("imageCount"),this.altProperties=t.getResearch("altTagCount"),this._minNumberOfKeywordMatches=Math.ceil(this.imageCount*this._config.parameters.lowerBoundary),this._maxNumberOfKeywordMatches=Math.floor(this.imageCount*this._config.parameters.upperBoundary);const r=this.calculateResult(),n=new wi;return n.setScore(r.score),n.setText(r.resultText),n}isApplicable(e,t){return this.imageCount=t.getResearch("imageCount"),e.hasText()&&this.imageCount>0}hasTooFewMatches(){return this.imageCount>4&&this.altProperties.withAltKeyword>0&&this.altProperties.withAltKeyword0||5===this.imageCount&&Ri(this.altProperties.withAltKeyword,2,4)||this.imageCount>4&&Ri(this.altProperties.withAltKeyword,this._minNumberOfKeywordMatches,this._maxNumberOfKeywordMatches)}hasTooManyMatches(){return this.imageCount>4&&this.altProperties.withAltKeyword>this._maxNumberOfKeywordMatches}calculateResult(){return this.altProperties.withAlt>0?{score:this._config.scores.withAlt,resultText:Object(_.sprintf)( +Object(_.__)("%1$sKeyphrase in subheading%3$s: %2$sUse more keyphrases or synonyms in your H2 and H3 subheadings%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}class Ea extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{withAltGoodNumberOfKeywordMatches:9,withAltTooFewKeywordMatches:6,withAltTooManyKeywordMatches:6,withAltNonKeyword:6,withAlt:6,noAlt:6},urlTitle:Object(Ei.b)("https://yoa.st/4f7"),urlCallToAction:Object(Ei.b)("https://yoa.st/4f6")};this.identifier="imageKeyphrase",this._config=Object(T.merge)(t,e)}getResult(e,t){this.imageCount=t.getResearch("imageCount"),this.altProperties=t.getResearch("altTagCount"),this._minNumberOfKeywordMatches=Math.ceil(this.imageCount*this._config.parameters.lowerBoundary),this._maxNumberOfKeywordMatches=Math.floor(this.imageCount*this._config.parameters.upperBoundary);const r=this.calculateResult(),n=new yi;return n.setScore(r.score),n.setText(r.resultText),n}isApplicable(e,t){return this.imageCount=t.getResearch("imageCount"),e.hasText()&&this.imageCount>0}hasTooFewMatches(){return this.imageCount>4&&this.altProperties.withAltKeyword>0&&this.altProperties.withAltKeyword0||5===this.imageCount&&wi(this.altProperties.withAltKeyword,2,4)||this.imageCount>4&&wi(this.altProperties.withAltKeyword,this._minNumberOfKeywordMatches,this._maxNumberOfKeywordMatches)}hasTooManyMatches(){return this.imageCount>4&&this.altProperties.withAltKeyword>this._maxNumberOfKeywordMatches}calculateResult(){return this.altProperties.withAlt>0?{score:this._config.scores.withAlt,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ Object(_.__)("%1$sImage Keyphrase%3$s: Images on this page have alt attributes, but you have not set your keyphrase. %2$sFix that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:this.altProperties.withAltNonKeyword>0&&0===this.altProperties.withAltKeyword?{score:this._config.scores.withAltNonKeyword,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ @@ -187,15 +187,15 @@ Object(_.__)("%1$sImage Keyphrase%2$s: Good job!","wordpress-seo"),this._config. * %5$s expands to the anchor end tag. */ Object(_.__)("%3$sImage Keyphrase%5$s: Out of %2$d images on this page, %1$d have alt attributes with words from your keyphrase or synonyms. That's a bit much. %4$sOnly include the keyphrase or its synonyms when it really fits the image%5$s.","wordpress-seo"),this.altProperties.withAltKeyword,this.imageCount,this._config.urlTitle,this._config.urlCallToAction,"")}:{score:this._config.scores.noAlt,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -Object(_.__)("%1$sImage Keyphrase%3$s: Images on this page do not have alt attributes that reflect the topic of your text. %2$sAdd your keyphrase or synonyms to the alt tags of relevant images%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}class va extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={scores:{bad:3,good:9},recommendedCount:1,urlTitle:Object(Ai.b)("https://yoa.st/4f4"),urlCallToAction:Object(Ai.b)("https://yoa.st/4f5")};this.identifier="images",this._config=Object(T.merge)(r,e),this._countVideos=t}getResult(e,t){this.imageCount=t.getResearch("imageCount"),this.videoCount=t.getResearch("videoCount");const r=this.calculateResult(),n=new wi;return n.setScore(r.score),n.setText(r.resultText),n}isApplicable(e){return e.hasText()}calculateResult(){const e=this._countVideos?this.imageCount+this.videoCount:this.imageCount;if(0===e)return this._countVideos?{score:this._config.scores.bad,resultText:Object(_.sprintf)( +Object(_.__)("%1$sImage Keyphrase%3$s: Images on this page do not have alt attributes that reflect the topic of your text. %2$sAdd your keyphrase or synonyms to the alt tags of relevant images%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}class va extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={scores:{bad:3,good:9},recommendedCount:1,urlTitle:Object(Ei.b)("https://yoa.st/4f4"),urlCallToAction:Object(Ei.b)("https://yoa.st/4f5")};this.identifier="images",this._config=Object(T.merge)(r,e),this._countVideos=t}getResult(e,t){this.imageCount=t.getResearch("imageCount"),this.videoCount=t.getResearch("videoCount");const r=this.calculateResult(),n=new yi;return n.setScore(r.score),n.setText(r.resultText),n}isApplicable(e){return e.hasText()}calculateResult(){const e=this._countVideos?this.imageCount+this.videoCount:this.imageCount;if(0===e)return this._countVideos?{score:this._config.scores.bad,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ Object(_.__)("%1$sImages and videos%3$s: No images or videos appear on this page. %2$sAdd some%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:{score:this._config.scores.bad,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -Object(_.__)("%1$sImages%3$s: No images appear on this page. %2$sAdd some%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")};if(this._config.scores.okay){if(Ri(e,1,3)&&!this._countVideos)return{score:this._config.scores.okay,resultText:Object(_.sprintf)( +Object(_.__)("%1$sImages%3$s: No images appear on this page. %2$sAdd some%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")};if(this._config.scores.okay){if(wi(e,1,3)&&!this._countVideos)return{score:this._config.scores.okay,resultText:Object(_.sprintf)( /* translators: %3$s and %4$s expand to links on yoast.com, %5$s expands to the anchor end tag, * %1$d expands to the number of images found in the text, * %2$d expands to the recommended number of images in the text, */ -Object(_._n)("%3$sImages%5$s: Only %1$d image appears on this page. We recommend at least %2$d. %4$sAdd more relevant images%5$s!","%3$sImages%5$s: Only %1$d images appear on this page. We recommend at least %2$d. %4$sAdd more relevant images%5$s!",e,"wordpress-seo"),e,this._config.recommendedCount,this._config.urlTitle,this._config.urlCallToAction,"")};if(Ri(e,1,3)&&this._countVideos)return{score:this._config.scores.okay,resultText:Object(_.sprintf)( +Object(_._n)("%3$sImages%5$s: Only %1$d image appears on this page. We recommend at least %2$d. %4$sAdd more relevant images%5$s!","%3$sImages%5$s: Only %1$d images appear on this page. We recommend at least %2$d. %4$sAdd more relevant images%5$s!",e,"wordpress-seo"),e,this._config.recommendedCount,this._config.urlTitle,this._config.urlCallToAction,"")};if(wi(e,1,3)&&this._countVideos)return{score:this._config.scores.okay,resultText:Object(_.sprintf)( /* translators: %3$s and %4$s expand to links on yoast.com, %5$s expands to the anchor end tag, * %1$d expands to the number of images found in the text, * %2$d expands to the recommended number of images in the text, */ @@ -205,7 +205,7 @@ Object(_._n)("%3$sImages and videos%5$s: Only %1$d image or video appears on thi Object(_.__)("%1$sImages and videos%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.good,resultText:Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, * %2$s expands to the anchor end tag. */ -Object(_.__)("%1$sImages%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}}}class ba extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={recommendedMinimum:300,slightlyBelowMinimum:250,belowMinimum:200,veryFarBelowMinimum:100,scores:{recommendedMinimum:9,slightlyBelowMinimum:6,belowMinimum:3,farBelowMinimum:-10,veryFarBelowMinimum:-20},countTextIn:{singular:Object(_.__)("word","wordpress-seo"),plural:Object(_.__)("words","wordpress-seo")},urlTitle:Object(Ai.b)("https://yoa.st/34n"),urlCallToAction:Object(Ai.b)("https://yoa.st/34o"),cornerstoneContent:!1,customContentType:""};this.identifier="textLength",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=t.getResearch("wordCountInText");t.getConfig("textLength")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn.singular=Object(_.__)("character","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("characters","wordpress-seo"));const n=this.calculateResult(r.count),s=new wi;return s.setScore(n.score),s.setText(n.resultText),s}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("textLength");return r.hasOwnProperty(t.customContentType)?Object(T.merge)(t,r[t.customContentType]):!0===t.cornerstoneContent&&""===t.customContentType&&r.hasOwnProperty("defaultCornerstone")?Object(T.merge)(t,r.defaultCornerstone):Object(T.merge)(t,r.defaultAnalysis)}calculateResult(e){if(e>=this._config.recommendedMinimum)return{score:this._config.scores.recommendedMinimum,resultText:Object(_.sprintf)( +Object(_.__)("%1$sImages%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}}}class ba extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={recommendedMinimum:300,slightlyBelowMinimum:250,belowMinimum:200,veryFarBelowMinimum:100,scores:{recommendedMinimum:9,slightlyBelowMinimum:6,belowMinimum:3,farBelowMinimum:-10,veryFarBelowMinimum:-20},countTextIn:{singular:Object(_.__)("word","wordpress-seo"),plural:Object(_.__)("words","wordpress-seo")},urlTitle:Object(Ei.b)("https://yoa.st/34n"),urlCallToAction:Object(Ei.b)("https://yoa.st/34o"),cornerstoneContent:!1,customContentType:""};this.identifier="textLength",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=t.getResearch("wordCountInText");t.getConfig("textLength")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn.singular=Object(_.__)("character","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("characters","wordpress-seo"));const n=this.calculateResult(r.count),s=new yi;return s.setScore(n.score),s.setText(n.resultText),s}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("textLength");return r.hasOwnProperty(t.customContentType)?Object(T.merge)(t,r[t.customContentType]):!0===t.cornerstoneContent&&""===t.customContentType&&r.hasOwnProperty("defaultCornerstone")?Object(T.merge)(t,r.defaultCornerstone):Object(T.merge)(t,r.defaultAnalysis)}calculateResult(e){if(e>=this._config.recommendedMinimum)return{score:this._config.scores.recommendedMinimum,resultText:Object(_.sprintf)( /* translators: %1$d expands to the number of words / characters in the text, %2$s expands to a link on yoast.com, %3$s expands to the anchor end tag, %4$s expands to the word 'words' or 'characters'. */ @@ -229,7 +229,7 @@ Object(_.__)("%2$sText length%4$s: The text contains %1$d %6$s. This is below th %2$s expands to a link on yoast.com, %3$s expands to a link on yoast.com, %4$s expands to the anchor end tag, %5$d expands to the recommended minimum of words / characters, %6$s expands to the word 'words' or 'characters'. */ -Object(_.__)("%2$sText length%4$s: The text contains %1$d %6$s. This is below the recommended minimum of %5$d %6$s. %3$sAdd more content%4$s.","wordpress-seo"),e,this._config.urlTitle,this._config.urlCallToAction,"",this._config.recommendedMinimum,this._config.countTextIn.plural)}}}class ya extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{noLinks:3,allNofollowed:7,someNoFollowed:8,allFollowed:9},urlTitle:Object(Ai.b)("https://yoa.st/34f"),urlCallToAction:Object(Ai.b)("https://yoa.st/34g")};this.identifier="externalLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=t.getResearch("getLinkStatistics"),n=new wi;return Object(T.isEmpty)(r)||(n.setScore(this.calculateScore(r)),n.setText(this.translateScore(r))),n}isApplicable(e){return e.hasText()}calculateScore(e){return 0===e.externalTotal?this._config.scores.noLinks:e.externalNofollow===e.externalTotal?this._config.scores.allNofollowed:e.externalDofollow",this._config.recommendedMinimum,this._config.countTextIn.plural)}}}class ya extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{noLinks:3,allNofollowed:7,someNoFollowed:8,allFollowed:9},urlTitle:Object(Ei.b)("https://yoa.st/34f"),urlCallToAction:Object(Ei.b)("https://yoa.st/34g")};this.identifier="externalLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=t.getResearch("getLinkStatistics"),n=new yi;return Object(T.isEmpty)(r)||(n.setScore(this.calculateScore(r)),n.setText(this.translateScore(r))),n}isApplicable(e){return e.hasText()}calculateScore(e){return 0===e.externalTotal?this._config.scores.noLinks:e.externalNofollow===e.externalTotal?this._config.scores.allNofollowed:e.externalDofollow"):e.externalNofollow===e.externalTotal?Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ @@ -237,38 +237,38 @@ Object(_.__)("%1$sOutbound links%3$s: All outbound links on this page are nofoll /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ Object(_.__)("%1$sOutbound links%2$s: Good job!","wordpress-seo"),this._config.urlTitle,""):e.externalDofollow"):""}}class Aa extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={minLength:400,maxLength:600,scores:{noTitle:1,widthTooShort:6,widthTooLong:3,widthCorrect:9},urlTitle:Object(Ai.b)("https://yoa.st/34h"),urlCallToAction:Object(Ai.b)("https://yoa.st/34i")};this._allowShortTitle=t,this.identifier="titleWidth",this._config=Object(T.merge)(r,e)}getMaximumLength(){return 600}getResult(e,t){const r=t.getResearch("pageTitleWidth"),n=new wi;return n.setScore(this.calculateScore(r)),n.setText(this.translateScore(r)),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("SEO title","wordpress-seo"))),n.max=this._config.maxLength,n.actual=r,n}calculateScore(e){return ki(e,1,400)?this._config.scores.widthTooShort:ki(e,this._config.minLength,this._config.maxLength)?this._config.scores.widthCorrect:e>this._config.maxLength?this._config.scores.widthTooLong:this._config.scores.noTitle}translateScore(e){return ki(e,1,400)?this._allowShortTitle?Object(_.sprintf)( +Object(_.__)("%1$sOutbound links%2$s: There are both nofollowed and normal outbound links on this page. Good job!","wordpress-seo"),this._config.urlTitle,""):""}}class Aa extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={minLength:400,maxLength:600,scores:{noTitle:1,widthTooShort:6,widthTooLong:3,widthCorrect:9},urlTitle:Object(Ei.b)("https://yoa.st/34h"),urlCallToAction:Object(Ei.b)("https://yoa.st/34i")};this._allowShortTitle=t,this.identifier="titleWidth",this._config=Object(T.merge)(r,e)}getMaximumLength(){return 600}getResult(e,t){const r=t.getResearch("pageTitleWidth"),n=new yi;return n.setScore(this.calculateScore(r)),n.setText(this.translateScore(r)),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("SEO title","wordpress-seo"))),n.max=this._config.maxLength,n.actual=r,n}calculateScore(e){return Oi(e,1,400)?this._config.scores.widthTooShort:Oi(e,this._config.minLength,this._config.maxLength)?this._config.scores.widthCorrect:e>this._config.maxLength?this._config.scores.widthTooLong:this._config.scores.noTitle}translateScore(e){return Oi(e,1,400)?this._allowShortTitle?Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ Object(_.__)("%1$sSEO title width%2$s: Good job!","wordpress-seo"),this._config.urlTitle,""):Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -Object(_.__)("%1$sSEO title width%3$s: The SEO title is too short. %2$sUse the space to add keyphrase variations or create compelling call-to-action copy%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,""):ki(e,this._config.minLength,this._config.maxLength)?Object(_.sprintf)( +Object(_.__)("%1$sSEO title width%3$s: The SEO title is too short. %2$sUse the space to add keyphrase variations or create compelling call-to-action copy%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,""):Oi(e,this._config.minLength,this._config.maxLength)?Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ Object(_.__)("%1$sSEO title width%2$s: Good job!","wordpress-seo"),this._config.urlTitle,""):e>this._config.maxLength?Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ Object(_.__)("%1$sSEO title width%3$s: The SEO title is wider than the viewable limit. %2$sTry to make it shorter%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,""):Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -Object(_.__)("%1$sSEO title width%3$s: %2$sPlease create an SEO title%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}var Oa=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{onlyFunctionWords:0},urlTitle:Object(Ai.b)("https://yoa.st/functionwordskeyphrase-1"),urlCallToAction:Object(Ai.b)("https://yoa.st/functionwordskeyphrase-2")};this.identifier="functionWordsInKeyphrase",this._config=Object(T.merge)(t,e)}getResult(e,t){this._functionWordsInKeyphrase=t.getResearch("functionWordsInKeyphrase"),this._keyword=Object(T.escape)(e.getKeyword());const r=new wi;return this._functionWordsInKeyphrase&&(r.setScore(this._config.scores.onlyFunctionWords),r.setText(Object(_.sprintf)( +Object(_.__)("%1$sSEO title width%3$s: %2$sPlease create an SEO title%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}var Oa=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{onlyFunctionWords:0},urlTitle:Object(Ei.b)("https://yoa.st/functionwordskeyphrase-1"),urlCallToAction:Object(Ei.b)("https://yoa.st/functionwordskeyphrase-2")};this.identifier="functionWordsInKeyphrase",this._config=Object(T.merge)(t,e)}getResult(e,t){this._functionWordsInKeyphrase=t.getResearch("functionWordsInKeyphrase"),this._keyword=Object(T.escape)(e.getKeyword());const r=new yi;return this._functionWordsInKeyphrase&&(r.setScore(this._config.scores.onlyFunctionWords),r.setText(Object(_.sprintf)( /** * translators: * %1$s and %2$s expand to links on yoast.com, * %3$s expands to the anchor end tag, * %4$s expands to the focus keyphrase of the article. */ -Object(_.__)('%1$sFunction words in keyphrase%3$s: Your keyphrase "%4$s" contains function words only. %2$sLearn more about what makes a good keyphrase.%3$s',"wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"",this._keyword)),r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("keyphrase","wordpress-seo"))),r}isApplicable(e,t){return e.hasKeyword()&&t.hasResearch("functionWordsInKeyphrase")}},Ca=function(e){return""+e+""},wa=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{textContainsSuperfluousH1:1},urlTitle:Object(Ai.b)("https://yoa.st/3a6"),urlCallToAction:Object(Ai.b)("https://yoa.st/3a7")};this.identifier="singleH1",this._config=Object(T.merge)(t,e)}getResult(e,t){this._h1s=t.getResearch("h1s");const r=new wi,n=this.calculateResult();return Object(T.isUndefined)(n)||(r.setScore(n.score),r.setText(n.resultText),r.setHasMarks(!0)),r}calculateResult(){if(!(this._h1s.length<=1))return{score:this._config.scores.textContainsSuperfluousH1,resultText:Object(_.sprintf)( +Object(_.__)('%1$sFunction words in keyphrase%3$s: Your keyphrase "%4$s" contains function words only. %2$sLearn more about what makes a good keyphrase.%3$s',"wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"",this._keyword)),r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("keyphrase","wordpress-seo"))),r}isApplicable(e,t){return e.hasKeyword()&&t.hasResearch("functionWordsInKeyphrase")}},Ca=function(e){return""+e+""},wa=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{textContainsSuperfluousH1:1},urlTitle:Object(Ei.b)("https://yoa.st/3a6"),urlCallToAction:Object(Ei.b)("https://yoa.st/3a7")};this.identifier="singleH1",this._config=Object(T.merge)(t,e)}getResult(e,t){this._h1s=t.getResearch("h1s");const r=new yi,n=this.calculateResult();return Object(T.isUndefined)(n)||(r.setScore(n.score),r.setText(n.resultText),r.setHasMarks(!0)),r}calculateResult(){if(!(this._h1s.length<=1))return{score:this._config.scores.textContainsSuperfluousH1,resultText:Object(_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -Object(_.__)("%1$sSingle title%3$s: H1s should only be used as your main title. Find all H1s in your text that aren't your main title and %2$schange them to a lower heading level%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}getMarks(){const e=this._h1s;return Object(T.map)(e,(function(e){return new gs({original:"

"+e.content+"

",marked:"

"+Ca(e.content)+"

"})}))}isApplicable(e){return e.hasText()}};const Sa=function(e,t){fa.call(this,e,t),this.type="SEOAssessor",this._assessments=[new Si,new Ii,new Li,new Mi,new _a,new Ta,new Ui,new Ea,new va,new ba,new ya,new $i,new Hi,new Aa({scores:{widthTooShort:9}},!0),new qi,new Oa,new wa]};Object(v.inherits)(Sa,fa);var ka=Sa;class Na extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={urlTitle:Object(Ai.b)("https://yoa.st/35d"),urlCallToAction:Object(Ai.b)("https://yoa.st/35e"),countTextIn:Object(_.__)("words","wordpress-seo"),parameters:{recommendedLength:150,maximumRecommendedLength:200}};this.identifier="textParagraphTooLong",this._config=Object(T.merge)(r,e),this._isProduct=t}getTooLongParagraphs(e,t){const r=t.parameters.recommendedLength;return Object(T.filter)(e,(function(e){return e.countLength>r}))}getConfig(e){const t=this._config,r=e.getConfig("paragraphLength");return r&&(t.parameters=this._isProduct?r.productPageParams:r.defaultPageParams),t}calculateResult(e,t,r){let n;if(0===e.length)return{};const s=e[0].countLength;return s<=r.parameters.recommendedLength&&(n=9),ki(s,r.parameters.recommendedLength,r.parameters.maximumRecommendedLength)&&(n=6),s>r.parameters.maximumRecommendedLength&&(n=3),n>=7?{score:n,hasMarks:!1,text:Object(_.sprintf)( +Object(_.__)("%1$sSingle title%3$s: H1s should only be used as your main title. Find all H1s in your text that aren't your main title and %2$schange them to a lower heading level%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}getMarks(){const e=this._h1s;return Object(T.map)(e,(function(e){return new us({original:"

"+e.content+"

",marked:"

"+Ca(e.content)+"

"})}))}isApplicable(e){return e.hasText()}};const Sa=function(e,t){fa.call(this,e,t),this.type="SEOAssessor",this._assessments=[new Ai,new Si,new Ri,new Ii,new _a,new Ta,new Pi,new Ea,new va,new ba,new ya,new ji,new Fi,new Aa({scores:{widthTooShort:9}},!0),new Ui,new Oa,new wa]};Object(v.inherits)(Sa,fa);var ka=Sa;class Na extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={urlTitle:Object(Ei.b)("https://yoa.st/35d"),urlCallToAction:Object(Ei.b)("https://yoa.st/35e"),countTextIn:Object(_.__)("words","wordpress-seo"),parameters:{recommendedLength:150,maximumRecommendedLength:200}};this.identifier="textParagraphTooLong",this._config=Object(T.merge)(r,e),this._isProduct=t}getTooLongParagraphs(e,t){const r=t.parameters.recommendedLength;return Object(T.filter)(e,(function(e){return e.countLength>r}))}getConfig(e){const t=this._config,r=e.getConfig("paragraphLength");return r&&(t.parameters=this._isProduct?r.productPageParams:r.defaultPageParams),t}calculateResult(e,t,r){let n;if(0===e.length)return{};const s=e[0].countLength;return s<=r.parameters.recommendedLength&&(n=9),Oi(s,r.parameters.recommendedLength,r.parameters.maximumRecommendedLength)&&(n=6),s>r.parameters.maximumRecommendedLength&&(n=3),n>=7?{score:n,hasMarks:!1,text:Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ Object(_.__)("%1$sParagraph length%2$s: None of the paragraphs are too long. Great job!","wordpress-seo"),r.urlTitle,"")}:{score:n,hasMarks:!0,text:Object(_.sprintf)( /* translators: %1$s and %5$s expand to a link on yoast.com, %2$s expands to the anchor end tag, %3$d expands to the number of paragraphs over the recommended word / character limit, %4$d expands to the word / character limit, %6$s expands to the word 'words' or 'characters'. */ -Object(_._n)("%1$sParagraph length%2$s: %3$d of the paragraphs contains more than the recommended maximum of %4$d %6$s. %5$sShorten your paragraphs%2$s!","%1$sParagraph length%2$s: %3$d of the paragraphs contain more than the recommended maximum of %4$d %6$s. %5$sShorten your paragraphs%2$s!",t.length,"wordpress-seo"),r.urlTitle,"",t.length,r.parameters.recommendedLength,r.urlCallToAction,this._config.countTextIn)}}sortParagraphs(e){return e.sort((function(e,t){return t.countLength-e.countLength}))}getMarks(e,t){const r=t.getResearch("getParagraphLength"),n=this.getTooLongParagraphs(r,this.getConfig(t));return Object(T.map)(n,(function(e){const t=ft(e.text),r=Ca(t);return new gs({original:t,marked:r})}))}getResult(e,t){let r=t.getResearch("getParagraphLength");t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo")),r=this.sortParagraphs(r);const n=this.getConfig(t),s=this.getTooLongParagraphs(r,n),i=this.calculateResult(r,s,n),a=new wi;return a.setScore(i.score),a.setText(i.text),a.setHasMarks(i.hasMarks),a}isApplicable(e){return this.hasEnoughContentForAssessment(e)}}var Ra=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];super();const n={recommendedLength:20,slightlyTooMany:25,farTooMany:30,urlTitle:Object(Ai.b)("https://yoa.st/34v"),urlCallToAction:Object(Ai.b)("https://yoa.st/34w"),countTextIn:Object(_.__)("words","wordpress-seo")};this._config=Object(T.merge)(n,e),this._isCornerstone=t,this._isProduct=r,this.identifier="textSentenceLength"}getResult(e,t){const r=t.getResearch("countSentencesFromText");t.getConfig("sentenceLength")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo"));const n=this.calculatePercentage(r),s=this.calculateScore(n),i=new wi;return i.setScore(s),i.setText(this.translateScore(s,n)),i.setHasMarks(n>0),i}isApplicable(e){return this.hasEnoughContentForAssessment(e)}getMarks(e,t){const r=t.getResearch("countSentencesFromText");t.getConfig("sentenceLength")&&(this._config=this.getLanguageSpecificConfig(t));const n=this.getTooLongSentences(r);return Object(T.map)(n,(function(e){const t=gt(e.sentence);return new gs({original:t,marked:Ca(t)})}))}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("sentenceLength");return r.hasOwnProperty("recommendedLength")&&(t.recommendedLength=r.recommendedLength),!0===this._isCornerstone&&!1===this._isProduct&&r.hasOwnProperty("cornerstonePercentages")?Object(T.merge)(t,r.cornerstonePercentages):!1===this._isCornerstone&&!1===this._isProduct&&r.hasOwnProperty("percentages")?Object(T.merge)(t,r.percentages):t}translateScore(e,t){return e>=7?Object(_.sprintf)( +Object(_._n)("%1$sParagraph length%2$s: %3$d of the paragraphs contains more than the recommended maximum of %4$d %6$s. %5$sShorten your paragraphs%2$s!","%1$sParagraph length%2$s: %3$d of the paragraphs contain more than the recommended maximum of %4$d %6$s. %5$sShorten your paragraphs%2$s!",t.length,"wordpress-seo"),r.urlTitle,"",t.length,r.parameters.recommendedLength,r.urlCallToAction,this._config.countTextIn)}}sortParagraphs(e){return e.sort((function(e,t){return t.countLength-e.countLength}))}getMarks(e,t){const r=t.getResearch("getParagraphLength"),n=this.getTooLongParagraphs(r,this.getConfig(t));return Object(T.map)(n,(function(e){const t=ft(e.text),r=Ca(t);return new us({original:t,marked:r})}))}getResult(e,t){let r=t.getResearch("getParagraphLength");t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo")),r=this.sortParagraphs(r);const n=this.getConfig(t),s=this.getTooLongParagraphs(r,n),i=this.calculateResult(r,s,n),a=new yi;return a.setScore(i.score),a.setText(i.text),a.setHasMarks(i.hasMarks),a}isApplicable(e){return this.hasEnoughContentForAssessment(e)}}var Ra=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];super();const n={recommendedLength:20,slightlyTooMany:25,farTooMany:30,urlTitle:Object(Ei.b)("https://yoa.st/34v"),urlCallToAction:Object(Ei.b)("https://yoa.st/34w"),countTextIn:Object(_.__)("words","wordpress-seo")};this._config=Object(T.merge)(n,e),this._isCornerstone=t,this._isProduct=r,this.identifier="textSentenceLength"}getResult(e,t){const r=t.getResearch("countSentencesFromText");t.getConfig("sentenceLength")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo"));const n=this.calculatePercentage(r),s=this.calculateScore(n),i=new yi;return i.setScore(s),i.setText(this.translateScore(s,n)),i.setHasMarks(n>0),i}isApplicable(e){return this.hasEnoughContentForAssessment(e)}getMarks(e,t){const r=t.getResearch("countSentencesFromText");t.getConfig("sentenceLength")&&(this._config=this.getLanguageSpecificConfig(t));const n=this.getTooLongSentences(r);return Object(T.map)(n,(function(e){const t=gt(e.sentence);return new us({original:t,marked:Ca(t)})}))}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("sentenceLength");return r.hasOwnProperty("recommendedLength")&&(t.recommendedLength=r.recommendedLength),!0===this._isCornerstone&&!1===this._isProduct&&r.hasOwnProperty("cornerstonePercentages")?Object(T.merge)(t,r.cornerstonePercentages):!1===this._isCornerstone&&!1===this._isProduct&&r.hasOwnProperty("percentages")?Object(T.merge)(t,r.percentages):t}translateScore(e,t){return e>=7?Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ Object(_.__)("%1$sSentence length%2$s: Great!","wordpress-seo"),this._config.urlTitle,""):Object(_.sprintf)( /* translators: %1$s and %6$s expand to a link on yoast.com, %2$s expands to the anchor end tag, %3$d expands to percentage of sentences, %4$s expands to the recommended maximum sentence length, %5$s expands to the recommended maximum percentage, %7$s expands to the word 'words' or 'characters'. */ -Object(_.__)("%1$sSentence length%2$s: %3$s of the sentences contain more than %4$s %7$s, which is more than the recommended maximum of %5$s. %6$sTry to shorten the sentences%2$s.","wordpress-seo"),this._config.urlTitle,"",t+"%",this._config.recommendedLength,this._config.slightlyTooMany+"%",this._config.urlCallToAction,this._config.countTextIn)}calculatePercentage(e){let t=0;if(0!==e.length){const r=this.countTooLongSentences(e);t=ji(r/e.length*100)}return t}calculateScore(e){let t;return e<=this._config.slightlyTooMany&&(t=9),ki(e,this._config.slightlyTooMany,this._config.farTooMany)&&(t=6),e>this._config.farTooMany&&(t=3),t}getTooLongSentences(e){return function(e,t){return Object(T.filter)(e,(function(e){return e.sentenceLength>t}))}(e,this._config.recommendedLength)}countTooLongSentences(e){return this.getTooLongSentences(e).length}},Ia=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMaximumLength:300,slightlyTooMany:300,farTooMany:350},countTextIn:Object(_.__)("words","wordpress-seo"),urlTitle:Object(Ai.b)("https://yoa.st/34x"),urlCallToAction:Object(Ai.b)("https://yoa.st/34y"),scores:{goodShortTextNoSubheadings:9,goodSubheadings:9,okSubheadings:6,badSubheadings:3,badLongTextNoSubheadings:2},applicableIfTextLongerThan:300,shouldNotAppearInShortText:!1,cornerstoneContent:!1};this.identifier="subheadingsTooLong",this._config=Object(T.merge)(t,e)}checkTextBeforeFirstSubheadingLength(e){let t={isLong:!1,isVeryLong:!1};if(e.length>0&&""===e[0].subheading&&""!==e[0].text){const r=e[0].countLength;t={isLong:ki(r,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany),isVeryLong:r>this._config.parameters.farTooMany}}return t}getTextLength(e,t){const r=t.getHelper("customCountLength");let n=e.getText();return n=kr(n),r?r(n):It(n).length}getResult(e,t){this._subheadingTextsLength=t.getResearch("getSubheadingTextLengths"),t.getConfig("subheadingsTooLong")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo"));const r=this.checkTextBeforeFirstSubheadingLength(this._subheadingTextsLength);this._subheadingTextsLength=this._subheadingTextsLength.sort((function(e,t){return t.countLength-e.countLength}));const n=new wi;n.setIdentifier(this.identifier),this._hasSubheadings=this.hasSubheadings(e),this._tooLongTextsNumber=this.getTooLongSubheadingTexts().length,this._textLength=this.getTextLength(e,t);const s=this.calculateResult(r);return s.resultTextPlural=s.resultTextPlural||"",n.setScore(s.score),n.setText(s.resultText),n.setHasMarks(s.hasMarks),n}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("subheadingsTooLong");return!0===t.cornerstoneContent&&r.hasOwnProperty("cornerstoneParameters")?Object(T.merge)(t,r.cornerstoneParameters):Object(T.merge)(t,r.defaultParameters)}isApplicable(e,t){return this._config.shouldNotAppearInShortText?(t.getConfig("subheadingsTooLong")&&(this._config=this.getLanguageSpecificConfig(t)),this.getTextLength(e,t)>this._config.applicableIfTextLongerThan):this.hasEnoughContentForAssessment(e)}hasSubheadings(e){return Jn(e.getText()).length>0}getMarks(){const e=Object(T.map)(this.getTooLongSubheadingTexts(),(function(e){let{subheading:t}=e;t=mt(t);const r=Ca(t);return new gs({original:t,marked:r,fieldsToMark:["heading"]})}));return Object(T.filter)(e,e=>""!==e.getOriginal())}getTooLongSubheadingTexts(){return Object(T.filter)(this._subheadingTextsLength,function(e){return e.countLength>this._config.parameters.recommendedMaximumLength}.bind(this))}calculateResult(e){if(this._textLength>this._config.applicableIfTextLongerThan){if(this._hasSubheadings){if(e.isLong&&this._tooLongTextsNumber<2)return{score:this._config.scores.okSubheadings,hasMarks:!1,resultText:Object(_.sprintf)( +Object(_.__)("%1$sSentence length%2$s: %3$s of the sentences contain more than %4$s %7$s, which is more than the recommended maximum of %5$s. %6$sTry to shorten the sentences%2$s.","wordpress-seo"),this._config.urlTitle,"",t+"%",this._config.recommendedLength,this._config.slightlyTooMany+"%",this._config.urlCallToAction,this._config.countTextIn)}calculatePercentage(e){let t=0;if(0!==e.length){const r=this.countTooLongSentences(e);t=Li(r/e.length*100)}return t}calculateScore(e){let t;return e<=this._config.slightlyTooMany&&(t=9),Oi(e,this._config.slightlyTooMany,this._config.farTooMany)&&(t=6),e>this._config.farTooMany&&(t=3),t}getTooLongSentences(e){return function(e,t){return Object(T.filter)(e,(function(e){return e.sentenceLength>t}))}(e,this._config.recommendedLength)}countTooLongSentences(e){return this.getTooLongSentences(e).length}},Ia=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMaximumLength:300,slightlyTooMany:300,farTooMany:350},countTextIn:Object(_.__)("words","wordpress-seo"),urlTitle:Object(Ei.b)("https://yoa.st/34x"),urlCallToAction:Object(Ei.b)("https://yoa.st/34y"),scores:{goodShortTextNoSubheadings:9,goodSubheadings:9,okSubheadings:6,badSubheadings:3,badLongTextNoSubheadings:2},applicableIfTextLongerThan:300,shouldNotAppearInShortText:!1,cornerstoneContent:!1};this.identifier="subheadingsTooLong",this._config=Object(T.merge)(t,e)}checkTextBeforeFirstSubheadingLength(e){let t={isLong:!1,isVeryLong:!1};if(e.length>0&&""===e[0].subheading&&""!==e[0].text){const r=e[0].countLength;t={isLong:Oi(r,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany),isVeryLong:r>this._config.parameters.farTooMany}}return t}getTextLength(e,t){const r=t.getHelper("customCountLength");let n=e.getText();return n=kr(n),r?r(n):It(n).length}getResult(e,t){this._subheadingTextsLength=t.getResearch("getSubheadingTextLengths"),t.getConfig("subheadingsTooLong")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo"));const r=this.checkTextBeforeFirstSubheadingLength(this._subheadingTextsLength);this._subheadingTextsLength=this._subheadingTextsLength.sort((function(e,t){return t.countLength-e.countLength}));const n=new yi;n.setIdentifier(this.identifier),this._hasSubheadings=this.hasSubheadings(e),this._tooLongTextsNumber=this.getTooLongSubheadingTexts().length,this._textLength=this.getTextLength(e,t);const s=this.calculateResult(r);return s.resultTextPlural=s.resultTextPlural||"",n.setScore(s.score),n.setText(s.resultText),n.setHasMarks(s.hasMarks),n}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("subheadingsTooLong");return!0===t.cornerstoneContent&&r.hasOwnProperty("cornerstoneParameters")?Object(T.merge)(t,r.cornerstoneParameters):Object(T.merge)(t,r.defaultParameters)}isApplicable(e,t){return this._config.shouldNotAppearInShortText?(t.getConfig("subheadingsTooLong")&&(this._config=this.getLanguageSpecificConfig(t)),this.getTextLength(e,t)>this._config.applicableIfTextLongerThan):this.hasEnoughContentForAssessment(e)}hasSubheadings(e){return Yn(e.getText()).length>0}getMarks(){const e=Object(T.map)(this.getTooLongSubheadingTexts(),(function(e){let{subheading:t}=e;t=mt(t);const r=Ca(t);return new us({original:t,marked:r,fieldsToMark:["heading"]})}));return Object(T.filter)(e,e=>""!==e.getOriginal())}getTooLongSubheadingTexts(){return Object(T.filter)(this._subheadingTextsLength,function(e){return e.countLength>this._config.parameters.recommendedMaximumLength}.bind(this))}calculateResult(e){if(this._textLength>this._config.applicableIfTextLongerThan){if(this._hasSubheadings){if(e.isLong&&this._tooLongTextsNumber<2)return{score:this._config.scores.okSubheadings,hasMarks:!1,resultText:Object(_.sprintf)( /* translators: %1$s and %3$s expand to a link to https://yoa.st/headings, %2$s expands to the link closing tag. * %4$s expands to the recommended number of words following a subheading, * %5$s expands to the word 'words' or 'characters'. @@ -279,7 +279,7 @@ Object(_.__)("%1$sSubheading distribution%2$s: The beginning of your text is lon * %5$s expands to the word 'words' or 'characters'. */ Object(_.__)("%1$sSubheading distribution%2$s: The beginning of your text is longer than %4$s %5$s and is not separated by any subheadings. %3$sAdd subheadings to improve readability.%2$s","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction,this._config.parameters.recommendedMaximumLength,this._config.countTextIn)};const t=this._subheadingTextsLength[0].countLength;return t<=this._config.parameters.slightlyTooMany?{score:this._config.scores.goodSubheadings,hasMarks:!1,resultText:Object(_.sprintf)(// translators: %1$s expands to a link to https://yoa.st/headings, %2$s expands to the link closing tag. -Object(_.__)("%1$sSubheading distribution%2$s: Great job!","wordpress-seo"),this._config.urlTitle,"")}:ki(t,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany)?{score:this._config.scores.okSubheadings,hasMarks:!0,resultText:Object(_.sprintf)( +Object(_.__)("%1$sSubheading distribution%2$s: Great job!","wordpress-seo"),this._config.urlTitle,"")}:Oi(t,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany)?{score:this._config.scores.okSubheadings,hasMarks:!0,resultText:Object(_.sprintf)( /* * translators: %1$s and %5$s expand to a link on yoast.com, %3$d to the number of text sections * not separated by subheadings, %4$d expands to the recommended number of words following a @@ -295,30 +295,30 @@ Object(_.__)("%1$sSubheading distribution%2$s: You are not using any subheadings /* translators: %1$s expands to a link to https://yoa.st/headings, %2$s expands to the link closing tag. */ Object(_.__)("%1$sSubheading distribution%2$s: Great job!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.goodShortTextNoSubheadings,hasMarks:!1,resultText:Object(_.sprintf)( /* translators: %1$s expands to a link to https://yoa.st/headings, %2$s expands to the link closing tag. */ -Object(_.__)("%1$sSubheading distribution%2$s: You are not using any subheadings, but your text is short enough and probably doesn't need them.","wordpress-seo"),this._config.urlTitle,"")}}};class xa extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ai.b)("https://yoa.st/34z"),urlCallToAction:Object(Ai.b)("https://yoa.st/35a"),applicableIfTextLongerThan:200};this.identifier="textTransitionWords",this._config=Object(T.merge)(t,e)}calculateTransitionWordPercentage(e){return 0===e.transitionWordSentences||0===e.totalSentences?0:ji(e.transitionWordSentences/e.totalSentences*100)}calculateScoreFromPercentage(e){return e<20?3:Ni(e,20,30)?6:9}calculateTransitionWordResult(e){const t=this.calculateTransitionWordPercentage(e),r=this.calculateScoreFromPercentage(t),n=t>0;return r<7&&0===t?{score:ji(r),hasMarks:n,text:Object(_.sprintf)( +Object(_.__)("%1$sSubheading distribution%2$s: You are not using any subheadings, but your text is short enough and probably doesn't need them.","wordpress-seo"),this._config.urlTitle,"")}}};class xa extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ei.b)("https://yoa.st/34z"),urlCallToAction:Object(Ei.b)("https://yoa.st/35a"),applicableIfTextLongerThan:200};this.identifier="textTransitionWords",this._config=Object(T.merge)(t,e)}calculateTransitionWordPercentage(e){return 0===e.transitionWordSentences||0===e.totalSentences?0:Li(e.transitionWordSentences/e.totalSentences*100)}calculateScoreFromPercentage(e){return e<20?3:Ci(e,20,30)?6:9}calculateTransitionWordResult(e){const t=this.calculateTransitionWordPercentage(e),r=this.calculateScoreFromPercentage(t),n=t>0;return r<7&&0===t?{score:Li(r),hasMarks:n,text:Object(_.sprintf)( /* translators: %1$s and %3$s expand to a link to yoast.com, %2$s expands to the anchor end tag */ -Object(_.__)("%1$sTransition words%2$s: None of the sentences contain transition words. %3$sUse some%2$s.","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction)}:r<7?{score:ji(r),hasMarks:n,text:Object(_.sprintf)( +Object(_.__)("%1$sTransition words%2$s: None of the sentences contain transition words. %3$sUse some%2$s.","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction)}:r<7?{score:Li(r),hasMarks:n,text:Object(_.sprintf)( /* translators: %1$s and %4$s expand to a link to yoast.com, %2$s expands to the anchor end tag, %3$s expands to the percentage of sentences containing transition words */ -Object(_.__)("%1$sTransition words%2$s: Only %3$s of the sentences contain transition words, which is not enough. %4$sUse more of them%2$s.","wordpress-seo"),this._config.urlTitle,"",t+"%",this._config.urlCallToAction)}:{score:ji(r),hasMarks:n,text:Object(_.sprintf)( +Object(_.__)("%1$sTransition words%2$s: Only %3$s of the sentences contain transition words, which is not enough. %4$sUse more of them%2$s.","wordpress-seo"),this._config.urlTitle,"",t+"%",this._config.urlCallToAction)}:{score:Li(r),hasMarks:n,text:Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %3$s expands to the anchor end tag. */ -Object(_.__)("%1$sTransition words%2$s: Well done!","wordpress-seo"),this._config.urlTitle,"")}}getResult(e,t){const r=t.getResearch("findTransitionWords"),n=this.calculateTransitionWordResult(r),s=new wi;return s.setScore(n.score),s.setText(n.text),s.setHasMarks(n.hasMarks),s}getMarks(e,t){const r=t.getResearch("findTransitionWords");return Object(T.map)(r.sentenceResults,(function(e){let t=e.sentence;return t=gt(t),new gs({original:t,marked:Ca(t)})}))}isApplicable(e,t){const r=t.getHelper("customCountLength"),n=t.getConfig("assessmentApplicability").transitionWords;n&&(this._config.applicableIfTextLongerThan=n);let s=e.getText();return s=kr(s),(r?r(s):It(s).length)>=this._config.applicableIfTextLongerThan&&t.hasResearch("findTransitionWords")}}class Da extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ai.b)("https://yoa.st/34t"),urlCallToAction:Object(Ai.b)("https://yoa.st/34u")};this.identifier="passiveVoice",this._config=Object(T.merge)(t,e)}calculatePassiveVoiceResult(e){let t,r=0;0!==e.total&&(r=ji(e.passives.length/e.total*100));const n=r>0;return r<=10&&(t=9),ki(r,10,15)&&(t=6),r>15&&(t=3),t>=7?{score:t,hasMarks:n,text:Object(_.sprintf)( +Object(_.__)("%1$sTransition words%2$s: Well done!","wordpress-seo"),this._config.urlTitle,"")}}getResult(e,t){const r=t.getResearch("findTransitionWords"),n=this.calculateTransitionWordResult(r),s=new yi;return s.setScore(n.score),s.setText(n.text),s.setHasMarks(n.hasMarks),s}getMarks(e,t){const r=t.getResearch("findTransitionWords");return Object(T.map)(r.sentenceResults,(function(e){let t=e.sentence;return t=gt(t),new us({original:t,marked:Ca(t)})}))}isApplicable(e,t){const r=t.getHelper("customCountLength"),n=t.getConfig("assessmentApplicability").transitionWords;n&&(this._config.applicableIfTextLongerThan=n);let s=e.getText();return s=kr(s),(r?r(s):It(s).length)>=this._config.applicableIfTextLongerThan&&t.hasResearch("findTransitionWords")}}class Da extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ei.b)("https://yoa.st/34t"),urlCallToAction:Object(Ei.b)("https://yoa.st/34u")};this.identifier="passiveVoice",this._config=Object(T.merge)(t,e)}calculatePassiveVoiceResult(e){let t,r=0;0!==e.total&&(r=Li(e.passives.length/e.total*100));const n=r>0;return r<=10&&(t=9),Oi(r,10,15)&&(t=6),r>15&&(t=3),t>=7?{score:t,hasMarks:n,text:Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ Object(_.__)("%1$sPassive voice%2$s: You're using enough active voice. That's great!","wordpress-seo"),this._config.urlTitle,"")}:{score:t,hasMarks:n,text:Object(_.sprintf)( /* translators: %1$s and %5$s expand to a link on yoast.com, %2$s expands to the anchor end tag, %3$s expands to the percentage of sentences in passive voice, %4$s expands to the recommended value. */ -Object(_.__)("%1$sPassive voice%2$s: %3$s of the sentences contain passive voice, which is more than the recommended maximum of %4$s. %5$sTry to use their active counterparts%2$s.","wordpress-seo"),this._config.urlTitle,"",r+"%","10%",this._config.urlCallToAction)}}getMarks(e,t){const r=t.getResearch("getPassiveVoiceResult");return Object(T.map)(r.passives,(function(e){e=gt(e);const t=Ca(e);return new gs({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getPassiveVoiceResult"),n=this.calculatePassiveVoiceResult(r),s=new wi;return s.setScore(n.score),s.setText(n.text),s.setHasMarks(n.hasMarks),s}isApplicable(e,t){return this.hasEnoughContentForAssessment(e)&&t.hasResearch("getPassiveVoiceResult")}}class La extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ai.b)("https://yoa.st/35f"),urlCallToAction:Object(Ai.b)("https://yoa.st/35g")};this.identifier="sentenceBeginnings",this._config=Object(T.merge)(t,e)}groupSentenceBeginnings(e){const t=Object(T.partition)(e,(function(e){return e.count>2}));if(0===t[0].length)return{total:0};const r=Object(T.sortBy)(t[0],(function(e){return e.count}));return{total:t[0].length,lowestCount:r[0].count}}calculateSentenceBeginningsResult(e){return e.total>0?{score:3,hasMarks:!0,text:Object(_.sprintf)( +Object(_.__)("%1$sPassive voice%2$s: %3$s of the sentences contain passive voice, which is more than the recommended maximum of %4$s. %5$sTry to use their active counterparts%2$s.","wordpress-seo"),this._config.urlTitle,"",r+"%","10%",this._config.urlCallToAction)}}getMarks(e,t){const r=t.getResearch("getPassiveVoiceResult");return Object(T.map)(r.passives,(function(e){e=gt(e);const t=Ca(e);return new us({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getPassiveVoiceResult"),n=this.calculatePassiveVoiceResult(r),s=new yi;return s.setScore(n.score),s.setText(n.text),s.setHasMarks(n.hasMarks),s}isApplicable(e,t){return this.hasEnoughContentForAssessment(e)&&t.hasResearch("getPassiveVoiceResult")}}class La extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ei.b)("https://yoa.st/35f"),urlCallToAction:Object(Ei.b)("https://yoa.st/35g")};this.identifier="sentenceBeginnings",this._config=Object(T.merge)(t,e)}groupSentenceBeginnings(e){const t=Object(T.partition)(e,(function(e){return e.count>2}));if(0===t[0].length)return{total:0};const r=Object(T.sortBy)(t[0],(function(e){return e.count}));return{total:t[0].length,lowestCount:r[0].count}}calculateSentenceBeginningsResult(e){return e.total>0?{score:3,hasMarks:!0,text:Object(_.sprintf)( /* translators: %1$s and %5$s expand to a link on yoast.com, %2$s expands to the anchor end tag, %3$d expands to the number of consecutive sentences starting with the same word, %4$d expands to the number of instances where 3 or more consecutive sentences start with the same word. */ Object(_._n)("%1$sConsecutive sentences%2$s: The text contains %3$d consecutive sentences starting with the same word. %5$sTry to mix things up%2$s!","%1$sConsecutive sentences%2$s: The text contains %4$d instances where %3$d or more consecutive sentences start with the same word. %5$sTry to mix things up%2$s!",e.total,"wordpress-seo"),this._config.urlTitle,"",e.lowestCount,e.total,this._config.urlCallToAction)}:{score:9,hasMarks:!1,text:Object(_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ -Object(_.__)("%1$sConsecutive sentences%2$s: There is enough variety in your sentences. That's great!","wordpress-seo"),this._config.urlTitle,"")}}getMarks(e,t){let r=t.getResearch("getSentenceBeginnings");r=Object(T.filter)(r,(function(e){return e.count>2}));const n=Object(T.map)(r,(function(e){return e.sentences}));return Object(T.map)(Object(T.flatten)(n),(function(e){e=gt(e);const t=Ca(e);return new gs({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getSentenceBeginnings"),n=this.groupSentenceBeginnings(r),s=this.calculateSentenceBeginningsResult(n),i=new wi;return i.setScore(s.score),i.setText(s.text),i.setHasMarks(s.hasMarks),i}isApplicable(e,t){return this.hasEnoughContentForAssessment(e)&&t.hasResearch("getSentenceBeginnings")}}class Ma extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ai.b)("https://yoa.st/35h"),urlCallToAction:Object(Ai.b)("https://yoa.st/35i")};this.identifier="textPresence",this._config=Object(T.merge)(t,e)}getResult(e){if(!this.hasEnoughContentForAssessment(e)){const e=new wi;return e.setText(Object(_.sprintf)( +Object(_.__)("%1$sConsecutive sentences%2$s: There is enough variety in your sentences. That's great!","wordpress-seo"),this._config.urlTitle,"")}}getMarks(e,t){let r=t.getResearch("getSentenceBeginnings");r=Object(T.filter)(r,(function(e){return e.count>2}));const n=Object(T.map)(r,(function(e){return e.sentences}));return Object(T.map)(Object(T.flatten)(n),(function(e){e=gt(e);const t=Ca(e);return new us({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getSentenceBeginnings"),n=this.groupSentenceBeginnings(r),s=this.calculateSentenceBeginningsResult(n),i=new yi;return i.setScore(s.score),i.setText(s.text),i.setHasMarks(s.hasMarks),i}isApplicable(e,t){return this.hasEnoughContentForAssessment(e)&&t.hasResearch("getSentenceBeginnings")}}class Ma extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ei.b)("https://yoa.st/35h"),urlCallToAction:Object(Ei.b)("https://yoa.st/35i")};this.identifier="textPresence",this._config=Object(T.merge)(t,e)}getResult(e){if(!this.hasEnoughContentForAssessment(e)){const e=new yi;return e.setText(Object(_.sprintf)( /* translators: %1$s and %3$s expand to links to articles on Yoast.com, %2$s expands to the anchor end tag*/ -Object(_.__)("%1$sNot enough content%2$s: %3$sPlease add some content to enable a good analysis%2$s.","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction)),e.setScore(3),e}return new wi}}var Pa=function(e){return-1===e?"error":0===e?"feedback":e<=4?"bad":e>4&&e<=7?"ok":e>7?"good":""};const Fa=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};fa.call(this,e,t),this.type="contentAssessor",this._assessments=[new Ia,new Na,new Ra,new xa,new Da,new Ma,new La]};r(18).inherits(Fa,fa),Fa.prototype.calculatePenaltyPointsFullSupport=function(e){switch(e){case"bad":return 3;case"ok":return 2;default:case"good":return 0}},Fa.prototype.calculatePenaltyPointsPartialSupport=function(e){switch(e){case"bad":return 4;case"ok":return 2;default:case"good":return 0}},Fa.prototype._allAssessmentsSupported=function(){const e=this._assessments.length;return this.getApplicableAssessments().length===e},Fa.prototype.calculatePenaltyPoints=function(){const e=this.getValidResults(),t=Object(T.map)(e,function(e){const t=Pa(e.getScore());return this._allAssessmentsSupported()?this.calculatePenaltyPointsFullSupport(t):this.calculatePenaltyPointsPartialSupport(t)}.bind(this));return Object(T.sum)(t)},Fa.prototype._ratePenaltyPoints=function(e){if(1===this.getValidResults().length)return 30;if(this._allAssessmentsSupported()){if(e>6)return 30;if(e>4)return 60}else{if(e>4)return 30;if(e>2)return 60}return 90},Fa.prototype.calculateOverallScore=function(){if(0===this.getValidResults().length)return 30;const e=this.calculatePenaltyPoints();return this._ratePenaltyPoints(e)};var ja=Fa;const Ba=function(e,t){fa.call(this,e,t),this.type="taxonomyAssessor",this._assessments=[new Si,new Ii,new Li,new Mi,new _a,new ba({recommendedMinimum:250,slightlyBelowMinimum:200,belowMinimum:100,veryFarBelowMinimum:50,urlTitle:Object(Ai.b)("https://yoa.st/34j"),urlCallToAction:Object(Ai.b)("https://yoa.st/34k"),customContentType:"taxonomyAssessor"}),new $i,new Aa({scores:{widthTooShort:9}},!0),new qi,new Oa,new wa]};Object(v.inherits)(Ba,fa);var Ua=Ba;const Ha={keyword:"",synonyms:"",description:"",title:"",titleWidth:0,slug:"",locale:"en_US",permalink:"",date:"",customData:{},textTitle:"",writingDirection:"LTR"};function $a(e,t){this._text=e||"",this._tree=null,t=t||{},Object(T.defaults)(t,Ha),""===t.locale&&(t.locale=Ha.locale),t.hasOwnProperty("url")&&(console.warn("The 'url' attribute is deprecated, use 'slug' instead."),t.slug=t.url||t.slug);const r=t.keyword.replace(/[‘’“”"'.?!:;,¿¡«»&*@#±^%|~`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\u002b\u0026\s]/g,"");Object(T.isEmpty)(r)&&(t.keyword=Ha.keyword),this._attributes=t}$a.prototype.hasKeyword=function(){return""!==this._attributes.keyword},$a.prototype.getKeyword=function(){return this._attributes.keyword},$a.prototype.hasSynonyms=function(){return""!==this._attributes.synonyms},$a.prototype.getSynonyms=function(){return this._attributes.synonyms},$a.prototype.hasText=function(){return""!==this._text},$a.prototype.getText=function(){return this._text},$a.prototype.setTree=function(e){this._tree=e},$a.prototype.getTree=function(){return this._tree},$a.prototype.hasDescription=function(){return""!==this._attributes.description},$a.prototype.getDescription=function(){return this._attributes.description},$a.prototype.hasTitle=function(){return""!==this._attributes.title},$a.prototype.getTitle=function(){return this._attributes.title},$a.prototype.hasTitleWidth=function(){return 0!==this._attributes.titleWidth},$a.prototype.getTitleWidth=function(){return this._attributes.titleWidth},$a.prototype.hasSlug=function(){return""!==this._attributes.slug},$a.prototype.getSlug=function(){return this._attributes.slug},$a.prototype.hasUrl=function(){return console.warn("This function is deprecated, use hasSlug instead"),this.hasSlug()},$a.prototype.getUrl=function(){return console.warn("This function is deprecated, use getSlug instead"),this.getSlug()},$a.prototype.hasLocale=function(){return""!==this._attributes.locale},$a.prototype.getLocale=function(){return this._attributes.locale},$a.prototype.getWritingDirection=function(){return this._attributes.writingDirection},$a.prototype.hasPermalink=function(){return""!==this._attributes.permalink},$a.prototype.getPermalink=function(){return this._attributes.permalink},$a.prototype.hasDate=function(){return""!==this._attributes.date},$a.prototype.getDate=function(){return this._attributes.date},$a.prototype.hasCustomData=function(){return!Object(T.isEmpty)(this._attributes.customData)},$a.prototype.getCustomData=function(){return this._attributes.customData},$a.prototype.hasTextTitle=function(){return""!==this._attributes.textTitle&&!Object(T.isNil)(this._attributes.textTitle)},$a.prototype.getTextTitle=function(){return this._attributes.textTitle},$a.prototype.serialize=function(){return{_parseClass:"Paper",text:this._text,...this._attributes}},$a.prototype.equals=function(e){return this._text===e.getText()&&Object(T.isEqual)(this._attributes,e._attributes)},$a.parse=function(e){if(e instanceof $a)return e;const{text:t,_parseClass:r,...n}=e;return new $a(t,n)};var Ka=$a;const qa=function(e,t){fa.call(this,e,t),this.type="relatedKeywordAssessor",this._assessments=[new Si,new Ii({isRelatedKeyphrase:!0}),new Li,new Mi,new Ui,new Oa,new Ea]};Object(v.inherits)(qa,fa);var Ga=qa;const za="Avoid using %1$s as it is potentially harmful.",Wa="Be careful when using %1$s as it is potentially harmful.",Ya="Consider using an alternative, such as %2$s.",Va="Consider using an alternative, such as %2$s, unless referring to someone who explicitly wants to be referred to with this term.",Qa=[za,Ya].join(" "),Xa=[Wa,Ya].join(" "),Ja=[Wa,Va].join(" "),Za=[za,Va].join(" "),eo="Alternatively, if talking about a specific person, use their preferred descriptor if known.";function to(e,t,r){return e.every((e,n)=>r[t+n]===e)}function ro(e,t){const r=t.map(e=>It(e,!1));return t=>!r.some(r=>{const n=t-r.length;return n>=0&&to(r,n,e)})}function no(e,t){return r=>!ro(e,t)(r)}function so(e,t,r){const n=r.map(e=>It(e,!1));return r=>n.some(n=>{const s=r+t.length;return s>=0&&to(n,s,e)})}function io(e,t,r){return n=>!so(e,t,r)(n)}function ao(e,t){const r=[];return e.forEach((n,s)=>{to(t,s,e)&&r.push(s)}),r}var oo=["arisen","awoken","reawoken","babysat","backslid","backslidden","beat","beaten","become","begun","bent","unbent","bet","bid","outbid","rebid","underbid","overbid","bidden","bitten","blown","bought","overbought","bound","unbound","rebound","broadcast","rebroadcast","broken","brought","browbeat","browbeaten","built","prebuilt","rebuilt","overbuilt","burnt","burst","bust","cast","miscast","recast","caught","chosen","clung","come","overcome","cost","crept","cut","undercut","recut","daydreamt","dealt","misdealt","redealt","disproven","done","predone","outdone","misdone","redone","overdone","undone","drawn","outdrawn","redrawn","overdrawn","dreamt","driven","outdriven","drunk","outdrunk","overdrunk","dug","dwelt","eaten","overeaten","fallen","felt","fit","refit","retrofit","flown","outflown","flung","forbidden","forecast","foregone","foreseen","foretold","forgiven","forgotten","forsaken","fought","outfought","found","frostbitten","frozen","unfrozen","given","gone","undergone","gotten","ground","reground","grown","outgrown","regrown","had","handwritten","heard","reheard","misheard","overheard","held","hewn","hidden","unhidden","hit","hung","rehung","overhung","unhung","hurt","inlaid","input","interwound","interwoven","jerry-built","kept","knelt","knit","reknit","unknit","known","laid","mislaid","relaid","overlaid","lain","underlain","leant","leapt","outleapt","learnt","unlearnt","relearnt","mislearnt","left","lent","let","lip-read","lit","relit","lost","made","premade","remade","meant","met","mown","offset","paid","prepaid","repaid","overpaid","partaken","proofread","proven","put","quick-frozen","quit","read","misread","reread","retread","rewaken","rid","ridden","outridden","overridden","risen","roughcast","run","outrun","rerun","overrun","rung","said","sand-cast","sat","outsat","sawn","seen","overseen","sent","resent","set","preset","reset","misset","sewn","resewn","oversewn","unsewn","shaken","shat","shaven","shit","shone","outshone","shorn","shot","outshot","overshot","shown","shrunk","preshrunk","shut","sight-read","slain","slept","outslept","overslept","slid","slit","slung","unslung","slunk","smelt","outsmelt","snuck","sold","undersold","presold","outsold","resold","oversold","sought","sown","spat","spelt","misspelt","spent","underspent","outspent","misspent","overspent","spilt","overspilt","spit","split","spoilt","spoken","outspoken","misspoken","overspoken","spread","sprung","spun","unspun","stolen","stood","understood","misunderstood","strewn","stricken","stridden","striven","struck","strung","unstrung","stuck","unstuck","stung","stunk","sublet","sunburnt","sung","outsung","sunk","sweat","swept","swollen","sworn","outsworn","swum","outswum","swung","taken","undertaken","mistaken","retaken","overtaken","taught","mistaught","retaught","telecast","test-driven","test-flown","thought","outthought","rethought","overthought","thrown","outthrown","overthrown","thrust","told","retold","torn","retorn","trod","trodden","typecast","typeset","upheld","upset","waylaid","wept","wet","rewet","withdrawn","withheld","withstood","woken","won","rewon","worn","reworn","wound","rewound","overwound","unwound","woven","rewoven","unwoven","written","typewritten","underwritten","outwritten","miswritten","rewritten","overwritten","wrung"];const lo=/\w+ed($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi;const co=["am","is","are","was","were","been","get","gets","got","gotten","be","she's","he's","it's","i'm","we're","they're","you're","that's","isn't","weren't","wasn't","aren't"],uo=["being","getting","having","what's"];var ho=co.concat(uo);const po=["accordingly","additionally","afterward","afterwards","albeit","also","although","altogether","another","basically","because","before","besides","but","certainly","chiefly","comparatively","concurrently","consequently","contrarily","conversely","correspondingly","despite","doubtedly","during","e.g.","earlier","emphatically","equally","especially","eventually","evidently","explicitly","finally","firstly","following","formerly","forthwith","fourthly","further","furthermore","generally","hence","henceforth","however","i.e.","identically","indeed","initially","instead","last","lastly","later","lest","likewise","markedly","meanwhile","moreover","nevertheless","nonetheless","nor","notwithstanding","obviously","occasionally","otherwise","overall","particularly","presently","previously","rather","regardless","secondly","shortly","significantly","similarly","simultaneously","since","so","soon","specifically","still","straightaway","subsequently","surely","surprisingly","than","then","thereafter","therefore","thereupon","thirdly","though","thus","till","undeniably","undoubtedly","unless","unlike","unquestionably","until","when","whenever","whereas","while"];po.concat(["above all","after all","after that","all in all","all of a sudden","all things considered","analogous to","although this may be true","analogous to","another key point","as a matter of fact","as a result","as an illustration","as can be seen","as has been noted","as I have noted","as I have said","as I have shown","as long as","as much as","as opposed to","as shown above","as soon as","as well as","at any rate","at first","at last","at least","at length","at the present time","at the same time","at this instant","at this point","at this time","balanced against","being that","by all means","by and large","by comparison","by the same token","by the time","compared to","be that as it may","coupled with","different from","due to","equally important","even if","even more","even so","even though","first thing to remember","for example","for fear that","for instance","for one thing","for that reason","for the most part","for the purpose of","for the same reason","for this purpose","for this reason","from time to time","given that","given these points","important to realize","in a word","in addition","in another case","in any case","in any event","in brief","in case","in conclusion","in contrast","in detail","in due time","in effect","in either case","in essence","in fact","in general","in light of","in like fashion","in like manner","in order that","in order to","in other words","in particular","in reality","in short","in similar fashion","in spite of","in sum","in summary","in that case","in the event that","in the final analysis","in the first place","in the fourth place","in the hope that","in the light of","in the long run","in the meantime","in the same fashion","in the same way","in the second place","in the third place","in this case","in this situation","in time","in truth","in view of","inasmuch as","most compelling evidence","most important","must be remembered","not only","not to mention","note that","now that","of course","on account of","on balance","on condition that","on one hand","on the condition that","on the contrary","on the negative side","on the other hand","on the positive side","on the whole","on this occasion","once","once in a while","only if","owing to","point often overlooked","prior to","provided that","seeing that","so as to","so far","so long as","so that","sooner or later","such as","summing up","take the case of","that is","that is to say","then again","this time","to be sure","to begin with","to clarify","to conclude","to demonstrate","to emphasize","to enumerate","to explain","to illustrate","to list","to point out","to put it another way","to put it differently","to repeat","to rephrase it","to say nothing of","to sum up","to summarize","to that end","to the end that","to this end","together with","under those circumstances","until now","up against","up to the present time","vis a vis","what's more","while it may be true","while this may be true","with attention to","with the result that","with this in mind","with this intention","with this purpose in mind","without a doubt","without delay","without doubt","without reservation"]);const go=["the","an","a"],fo=["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","hundred","hundreds","thousand","thousands","million","millions","billion","billions"],mo=["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth"],_o=["i","you","he","she","it","we","they"],To=["me","him","us","them"],Eo=["this","that","these","those"],vo=["my","your","his","her","its","their","our","mine","yours","hers","theirs","ours"],bo=["all","some","many","lot","lots","ton","tons","bit","no","every","enough","little","much","more","most","plenty","several","few","fewer","kind","kinds"],yo=["myself","yourself","himself","herself","itself","oneself","ourselves","yourselves","themselves"],Ao=["none","nobody","everyone","everybody","someone","somebody","anyone","anybody","nothing","everything","something","anything","each","other","whatever","whichever","whoever","whomever","whomsoever","whosoever","others","neither","both","either","any","such"],Oo=["one's","nobody's","everyone's","everybody's","someone's","somebody's","anyone's","anybody's","nothing's","everything's","something's","anything's","whoever's","others'","other's","another's","neither's","either's"],Co=["which","what","whose"],wo=["who","whom"],So=["where","how","why","whether","wherever","whyever","wheresoever","whensoever","howsoever","whysoever","whatsoever","whereso","whomso","whenso","howso","whyso","whoso","whatso"],ko=["therefor","therein","hereby","hereto","wherein","therewith","herewith","wherewith","thereby"],No=["there","here","whither","thither","hither","whence","thence"],Ro=["always","once","twice","thrice"],Io=["can","cannot","can't","could","couldn't","could've","dare","dares","dared","do","don't","does","doesn't","did","didn't","done","have","haven't","had","hadn't","has","hasn't","i've","you've","we've","they've","i'd","you'd","he'd","she'd","it'd","we'd","they'd","would","wouldn't","would've","may","might","must","need","needn't","needs","ought","shall","shalln't","shan't","should","shouldn't","will","won't","i'll","you'll","he'll","she'll","it'll","we'll","they'll","there's","there're","there'll","here's","here're","there'll"],xo=["appear","appears","appeared","become","becomes","became","come","comes","came","keep","keeps","kept","remain","remains","remained","stay","stays","stayed","turn","turns","turned"],Do=["doing","daring","having","appearing","becoming","coming","keeping","remaining","staying","saying","asking","stating","seeming","letting","making","setting","showing","putting","adding","going","using","trying","containing"],Lo=["in","from","with","under","throughout","atop","for","on","of","to","aboard","about","above","abreast","absent","across","adjacent","after","against","along","alongside","amid","mid","among","apropos","apud","around","as","astride","at","ontop","afore","tofore","behind","ahind","below","ablow","beneath","neath","beside","between","atween","beyond","ayond","by","chez","circa","spite","down","except","into","less","like","minus","near","nearer","nearest","anear","notwithstanding","off","onto","opposite","out","outen","over","past","per","pre","qua","sans","sauf","sithence","through","thru","truout","toward","underneath","up","upon","upside","versus","via","vis-à-vis","without","ago","apart","aside","aslant","away","withal","towards","amidst","amongst","midst","whilst"],Mo=["back","within","forward","backward","ahead"],Po=["and","or","and/or","yet"],Fo=["sooner","just","only"],jo=["if","even"],Bo=["say","says","said","claimed","ask","asks","asked","stated","explain","explains","explained","think","thinks","talks","talked","announces","announced","tells","told","discusses","discussed","suggests","suggested","understands","understood"],Uo=["again","definitely","eternally","expressively","instead","expressly","immediately","including","instantly","namely","naturally","next","notably","now","nowadays","ordinarily","positively","truly","ultimately","uniquely","usually","almost","maybe","probably","granted","initially","too","actually","already","e.g","i.e","often","regularly","simply","optionally","perhaps","sometimes","likely","never","ever","else","inasmuch","provided","currently","incidentally","elsewhere","particular","recently","relatively","f.i","clearly","apparently"],Ho=["highly","very","really","extremely","absolutely","completely","totally","utterly","quite","somewhat","seriously","fairly","fully","amazingly"],$o=["seem","seems","seemed","let","let's","lets","make","makes","made","want","showed","shown","go","goes","went","gone","take","takes","took","taken","put","puts","use","used","try","tries","tried","mean","means","meant","called","based","add","adds","added","contain","contains","contained","consist","consists","consisted","ensure","ensures","ensured"],Ko=["new","newer","newest","old","older","oldest","previous","good","well","better","best","big","bigger","biggest","easy","easier","easiest","fast","faster","fastest","far","hard","harder","hardest","least","own","large","larger","largest","long","longer","longest","low","lower","lowest","high","higher","highest","regular","simple","simpler","simplest","small","smaller","smallest","tiny","tinier","tiniest","short","shorter","shortest","main","actual","nice","nicer","nicest","real","same","able","certain","usual","so-called","mainly","mostly","recent","anymore","complete","lately","possible","commonly","constantly","continually","directly","easily","nearly","slightly","somewhere","estimated","latest","different","similar","widely","bad","worse","worst","great","specific","available","average","awful","awesome","basic","beautiful","busy","current","entire","everywhere","important","major","multiple","normal","necessary","obvious","partly","special","last","early","earlier","earliest","young","younger","youngest"],qo=["oh","wow","tut-tut","tsk-tsk","ugh","whew","phew","yeah","yea","shh","oops","ouch","aha","yikes"],Go=["tbs","tbsp","spk","lb","qt","pk","bu","oz","pt","mod","doz","hr","f.g","ml","dl","cl","l","mg","g","kg","quart"],zo=["seconds","minute","minutes","hour","hours","day","days","week","weeks","month","months","year","years","today","tomorrow","yesterday"],Wo=["thing","things","way","ways","matter","case","likelihood","ones","piece","pieces","stuff","times","part","parts","percent","instance","instances","aspect","aspects","item","items","idea","theme","person","instance","instances","detail","details","factor","factors","difference","differences"],Yo=["not","yes","sure","top","bottom","ok","okay","amen","aka","etc","etcetera","sorry","please"],Vo=["jr","sr"],Qo=([].concat(mo,Do,Ko),[].concat(go,Lo,Po,Eo,Ho,bo,vo),[].concat(po,Ro,_o,To,yo,qo,fo,co,Io,xo,Bo,$o,Ao,Fo,jo,Co,wo,So,No,Yo,Mo,ko,Go,zo,Wo),[].concat(go,Lo,Eo,vo,mo,Do,bo),[].concat(Io,xo,Bo,$o),[].concat(go,fo,mo,Eo,vo,yo,_o,To,bo,Ao,Do,Oo,Co,wo,So,ko,No,Ro,Mo,co,uo,Io,xo,Lo,Po,Fo,jo,Bo,po,Uo,Ho,$o,qo,Ko,Go,Yo,Vo));[].concat(go,fo,mo,Eo,vo,yo,_o,To,bo,Ao,Do,Oo,Co,wo,So,ko,No,Ro,Mo,co,uo,Io,xo,Lo,Po,Fo,jo,Bo,po,Uo,Ho,$o,qo,Ko,Go,Wo,Yo,zo,["ms","mss","mrs","mr","dr","prof"],Vo);const Xo=wt.filter(e=>It(e,!1).length>0);function Jo(e,t){return r=>so(e,t,Qo)(r)||function(e,t){return r=>{const n=r+t.length;return nolder person, older citizen","person older than 70"],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"seniorCitizens",nonInclusivePhrases:["senior citizens"],inclusiveAlternatives:["older people, older citizens","people older than 70"],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"agingDependants",nonInclusivePhrases:["aging dependants"],inclusiveAlternatives:["older people","people older than 70"],score:3,feedbackFormat:[Za,Zo].join(" ")},{identifier:"elderly",nonInclusivePhrases:["elderly"],inclusiveAlternatives:["older people","people older than 70"],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"senile",nonInclusivePhrases:["senile"],inclusiveAlternatives:"",score:3,feedbackFormat:[za,"Consider using an alternative, such as a specific characteristic or experience if it is known (e.g. has Alzheimer's)."].join(" ")},{identifier:"senility",nonInclusivePhrases:["senility"],inclusiveAlternatives:"dementia",score:3,feedbackFormat:Qa},{identifier:"seniors",nonInclusivePhrases:["seniors"],inclusiveAlternatives:["older people","people older than 70"],score:6,feedbackFormat:[Ja,Zo].join(" "),rule:(e,t)=>ao(e,t).filter(ro(e,["high school","college","graduating","juniors and"])).filter(io(e,t,["in high school","in college","who are graduating"]))},{identifier:"theAged",nonInclusivePhrases:["the aged"],inclusiveAlternatives:["older people","people older than 70"],score:3,feedbackFormat:[Qa,Zo].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];el.forEach(e=>{e.category="age",e.learnMoreUrl="https://yoa.st/inclusive-language-age"});var tl=el;const rl=[{identifier:"albinos",nonInclusivePhrases:["albinos"],inclusiveAlternatives:"people with albinism, albino people",score:6,feedbackFormat:Ja},{identifier:"anAlbino",nonInclusivePhrases:["an albino"],inclusiveAlternatives:"person with albinism, albino person",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"obese",nonInclusivePhrases:["obese","overweight"],inclusiveAlternatives:"has a higher weight, higher-weight person, person in higher weight body, heavier person",score:6,feedbackFormat:[Ja,eo].join(" ")},{identifier:"obesitySingular",nonInclusivePhrases:["person with obesity","fat person"],inclusiveAlternatives:"person who has a higher weight, higher-weight person, person in higher weight body, heavier person",score:6,feedbackFormat:[Ja,eo].join(" ")},{identifier:"obesityPlural",nonInclusivePhrases:["people with obesity","fat people"],inclusiveAlternatives:"people who have a higher weight, higher-weight people, people in higher weight bodies, heavier people",score:6,feedbackFormat:[Ja].join(" ")},{identifier:"verticallyChallenged",nonInclusivePhrases:["vertically challenged"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism",score:3,feedbackFormat:Qa},{identifier:"midget",nonInclusivePhrases:["midget"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism",score:3,feedbackFormat:Qa},{identifier:"midgets",nonInclusivePhrases:["midgets"],inclusiveAlternatives:"little people, have short stature, people with dwarfism",score:3,feedbackFormat:Qa},{identifier:"harelip",nonInclusivePhrases:["harelip"],inclusiveAlternatives:"cleft lip, cleft palate",score:3,feedbackFormat:Qa}];rl.forEach(e=>{e.category="appearance",e.learnMoreUrl="https://yoa.st/inclusive-language-appearance"});var nl=rl;const sl=["so","very","a bit","really","pretty","kind of","that","too","totally","completely","absolutely","even","also","as"],il=ho.slice(0,-2),al=il.splice(19,4),ol=function(e,t){return Object(T.flatMap)(e,e=>Object(T.flatMap)(t,t=>`${e} ${t}`))},ll=ol(il,sl).concat(il);let cl=Object(T.flatMap)(il,e=>e+" not");cl=cl.concat(al);const ul=ol(cl,sl).concat(cl),hl=ll.concat(ul),dl=ol(["driving","drive","drove","drives","driven"],["me","you","them","him","her","someone","somebody","anyone","anybody","everyone","everybody"]),pl=["go","goes","going","gone","went"],gl=dl.concat(pl),fl=["in love"],ml=ll.concat(ul),_l=["about"],Tl="Avoid using %1$s as it is derogatory. Consider using an alternative, such as %2$s instead.",El=Wa+" Unless you are referencing the specific medical condition, consider using another alternative to describe the trait or behavior, such as %2$s.",vl=["Avoid using crazy as it is potentially harmful.",Ya].join(" "),bl=[{identifier:"binge",nonInclusivePhrases:["binge"],inclusiveAlternatives:"indulge, satiate, wallow, spree, marathon, consume excessively",score:6,feedbackFormat:"Be careful when using %1$s, unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s.",rule:(e,t)=>ao(e,t).filter(io(e,t,["drink","drinks","drinking"]))},{identifier:"bingeing",nonInclusivePhrases:["bingeing","binging"],inclusiveAlternatives:"indulging, satiating, wallowing, spreeing, marathoning, consuming excessively",score:6,feedbackFormat:"Be careful when using %1$s, unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"binged",nonInclusivePhrases:["binged"],inclusiveAlternatives:"indulged, satiated, wallowed, spreed, marathoned, consumed excessively",score:6,feedbackFormat:"Be careful when using %1$s, unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"binges",nonInclusivePhrases:["binges"],inclusiveAlternatives:"indulges, satiates, wallows, sprees, marathons, consumes excessively",score:6,feedbackFormat:"Be careful when using %1$s, unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"wheelchairBound",nonInclusivePhrases:["wheelchair-bound","wheelchair bound","confined to a wheelchair"],inclusiveAlternatives:"uses a wheelchair, is a wheelchair user",score:3,feedbackFormat:Qa},{identifier:"mentallyRetarded",nonInclusivePhrases:["mentally retarded"],inclusiveAlternatives:"person with an intellectual disability",score:3,feedbackFormat:Qa},{identifier:"retarded",nonInclusivePhrases:["retarded"],inclusiveAlternatives:"uninformed, ignorant, foolish, irrational, insensible",score:3,feedbackFormat:Tl,rule:(e,t)=>ao(e,t).filter(ro(e,["mentally"]))},{identifier:"alcoholic",nonInclusivePhrases:["an alcoholic"],inclusiveAlternatives:"person with alcohol use disorder",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(io(e,t,["drink","beverage"]))},{identifier:"alcoholics",nonInclusivePhrases:["alcoholics"],inclusiveAlternatives:"people with alcohol use disorder",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(io(e,t,["anonymous"]))},{identifier:"cripple",nonInclusivePhrases:["a cripple"],inclusiveAlternatives:"person with a physical disability, a physically disabled person",score:3,feedbackFormat:Tl},{identifier:"crippled",nonInclusivePhrases:["crippled"],inclusiveAlternatives:"has a physical disability, is physically disabled",score:3,feedbackFormat:Qa},{identifier:"daft",nonInclusivePhrases:["daft"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless",score:6,feedbackFormat:Xa},{identifier:"handicapped",nonInclusivePhrases:["handicapped"],inclusiveAlternatives:"disabled, person with a disability",score:3,feedbackFormat:Qa},{identifier:"handicap",nonInclusivePhrases:["handicap"],inclusiveAlternatives:"disability",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(io(e,t,["toilet","toilets","parking","bathroom","bathrooms","stall","stalls"]))},{identifier:"insane",nonInclusivePhrases:["insane"],inclusiveAlternatives:"wild, confusing, unpredictable, impulsive, reckless, out of control, unbelievable, amazing, incomprehensible, nonsensical, outrageous, ridiculous",score:3,feedbackFormat:Qa},{identifier:"imbecile",nonInclusivePhrases:["imbecile"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless",score:3,feedbackFormat:Tl},{identifier:"specialNeeds",nonInclusivePhrases:["special needs"],inclusiveAlternatives:["functional needs, support needs","disabled, person with a disability"],score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s when referring to someone's needs, or %3$s when referring to a person."},{identifier:"hardOfHearing",nonInclusivePhrases:["hard-of-hearing"],inclusiveAlternatives:"hard of hearing, partially deaf, has partial hearing loss",score:3,feedbackFormat:Qa},{identifier:"hearingImpaired",nonInclusivePhrases:["hearing impaired"],inclusiveAlternatives:"deaf or hard of hearing, partially deaf, has partial hearing loss",score:3,feedbackFormat:Qa},{identifier:"functioning",nonInclusivePhrases:["high functioning","low functioning"],inclusiveAlternatives:"describing the specific characteristic or experience",score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition.",rule:(e,t)=>ao(e,t).filter(io(e,t,["autism"]))},{identifier:"autismHigh",nonInclusivePhrases:["high functioning autism","high-functioning autism"],inclusiveAlternatives:"autism with high support needs or describing the specific characteristic or experience",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition."},{identifier:"autismLow",nonInclusivePhrases:["low functioning autism","low-functioning autism"],inclusiveAlternatives:"autism with low support needs or describing the specific characteristic or experience",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition."},{identifier:"lame",nonInclusivePhrases:["lame"],inclusiveAlternatives:"boring, lousy, unimpressive, sad, corny",score:3,feedbackFormat:Qa},{identifier:"lamer",nonInclusivePhrases:["lamer"],inclusiveAlternatives:"more boring, lousier, more unimpressive, sadder, cornier",score:3,feedbackFormat:Qa},{identifier:"lamest",nonInclusivePhrases:["lamest"],inclusiveAlternatives:"most boring, lousiest, most unimpressive, saddest, corniest",score:3,feedbackFormat:Qa},{identifier:"commitSuicide",nonInclusivePhrases:["commit suicide"],inclusiveAlternatives:"take one's life, die by suicide, kill oneself",score:3,feedbackFormat:Qa},{identifier:"committingSuicide",nonInclusivePhrases:["committing suicide"],inclusiveAlternatives:"taking one's life, dying by suicide, killing oneself",score:3,feedbackFormat:Qa},{identifier:"commitsSuicide",nonInclusivePhrases:["commits suicide"],inclusiveAlternatives:"takes one's life, dies by suicide, kills oneself",score:3,feedbackFormat:Qa},{identifier:"committedSuicide",nonInclusivePhrases:["committed suicide"],inclusiveAlternatives:"took one's life, died by suicide, killed themself",score:3,feedbackFormat:Qa},{identifier:"handicapParking",nonInclusivePhrases:["handicap parking"],inclusiveAlternatives:"accessible parking",score:3,feedbackFormat:Qa},{identifier:"fellOnDeafEars",nonInclusivePhrases:["fell on deaf ears"],inclusiveAlternatives:"was not addressed, was ignored, was disregarded",score:3,feedbackFormat:Qa},{identifier:"turnOnBlindEye",nonInclusivePhrases:["turn a blind eye"],inclusiveAlternatives:"ignore, pretend not to notice",score:3,feedbackFormat:Qa},{identifier:"blindLeadingBlind",nonInclusivePhrases:["the blind leading the blind"],inclusiveAlternatives:"ignorant, misguided, incompetent, unqualified, insensitive, unaware",score:3,feedbackFormat:Qa},{identifier:"handicapBathroom",nonInclusivePhrases:["handicap bathroom","handicap bathrooms"],inclusiveAlternatives:"accessible bathroom(s)",score:3,feedbackFormat:Qa},{identifier:"handicapToilet",nonInclusivePhrases:["handicap toilet","handicap toilets"],inclusiveAlternatives:"accessible toilet(s)",score:3,feedbackFormat:Qa},{identifier:"handicapStall",nonInclusivePhrases:["handicap stall","handicap stalls"],inclusiveAlternatives:"accessible stall(s)",score:3,feedbackFormat:Qa},{identifier:"stupid",nonInclusivePhrases:["stupid"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless"],score:3,feedbackFormat:Qa},{identifier:"dumb",nonInclusivePhrases:["dumb","dumber","dumbest"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless"],score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(ro(e,["deaf and"]))},{identifier:"deaf",nonInclusivePhrases:["deaf-mute","deaf and dumb"],inclusiveAlternatives:"deaf",score:3,feedbackFormat:Qa},{identifier:"addict",nonInclusivePhrases:["addict"],inclusiveAlternatives:"person with a (drug, alcohol, ...) addiction, person with substance abuse disorder",score:6,feedbackFormat:Ja},{identifier:"addicts",nonInclusivePhrases:["addicts"],inclusiveAlternatives:"people with a (drug, alcohol, ...) addiction, people with substance abuse disorder",score:6,feedbackFormat:Ja},{identifier:"brainDamaged",nonInclusivePhrases:["brain-damaged"],inclusiveAlternatives:"person with a (traumatic) brain injury",score:6,feedbackFormat:Ja},{identifier:"differentlyAbled",nonInclusivePhrases:["differently abled","differently-abled"],inclusiveAlternatives:"disabled, person with a disability",score:6,feedbackFormat:Ja},{identifier:"epilepticFit",nonInclusivePhrases:["epileptic fit"],inclusiveAlternatives:"epileptic seizure",score:3,feedbackFormat:Qa},{identifier:"epilepticFits",nonInclusivePhrases:["epileptic fits"],inclusiveAlternatives:"epileptic seizures",score:3,feedbackFormat:Qa},{identifier:"sanityCheck",nonInclusivePhrases:["sanity check"],inclusiveAlternatives:"final check, confidence check, rationality check, soundness check",score:3,feedbackFormat:Qa},{identifier:"to be not crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to be not impressed by, to be not enthusiastic about, to be not into, to not like",score:3,feedbackFormat:vl,rule:(e,t)=>ao(e,t).filter(no(e,ul))},{identifier:"to be crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to love, to be obsessed with, to be infatuated with",score:3,feedbackFormat:vl,rule:(e,t)=>ao(e,t).filter(no(e,ll))},{identifier:"crazy in love",nonInclusivePhrases:["crazy in love"],inclusiveAlternatives:"wildly in love, head over heels, infatuated",score:3,feedbackFormat:vl},{identifier:"to go crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"to go wild, to go out of control, to go up the wall, to be aggravated, to get confused",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(no(e,pl))},{identifier:"to drive crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"to drive one to their limit, to get on one's last nerve, to make one livid, to aggravate, to make one's blood boil, to exasperate, to get into one's head",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(no(e,dl))},{identifier:"crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(ro(e,gl)).filter(io(e,t,fl)).filter(function(e,t,r,n){return s=>!function(e,t,r,n){return s=>so(e,t,n)(s)&&no(e,r)(s)}(e,t,r,n)(s)}(e,t,ml,_l))},{identifier:"crazier",nonInclusivePhrases:["crazier"],inclusiveAlternatives:"more wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:Qa},{identifier:"craziest",nonInclusivePhrases:["craziest"],inclusiveAlternatives:"most wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:Qa},{identifier:"psychopathic",nonInclusivePhrases:["psychopath","psychopaths","psychopathic"],inclusiveAlternatives:"toxic, manipulative, unpredictable, impulsive, reckless, out of control",score:3,feedbackFormat:Qa},{identifier:"schizophrenic",nonInclusivePhrases:["schizophrenic","bipolar"],inclusiveAlternatives:"of two minds, chaotic, confusing",score:6,feedbackFormat:El},{identifier:"paranoid",nonInclusivePhrases:["paranoid"],inclusiveAlternatives:"overly suspicious, unreasonable, defensive",score:6,feedbackFormat:El},{identifier:"manic",nonInclusivePhrases:["manic"],inclusiveAlternatives:"excited, raving, unbalanced, wild",score:6,feedbackFormat:El},{identifier:"hysterical",nonInclusivePhrases:["hysterical"],inclusiveAlternatives:"intense, vehement, piercing, chaotic",score:3,feedbackFormat:Qa},{identifier:"psycho",nonInclusivePhrases:["psycho","psychos"],inclusiveAlternatives:"toxic, distraught, unpredictable, reckless, out of control",score:3,feedbackFormat:Qa},{identifier:"neurotic",nonInclusivePhrases:["neurotic","lunatic"],inclusiveAlternatives:"distraught, unstable, startling, confusing, baffling",score:3,feedbackFormat:Qa},{identifier:"sociopath",nonInclusivePhrases:["sociopath"],inclusiveAlternatives:["person with antisocial personality disorder","toxic, manipulative, cruel"],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead, unless referring to someone who explicitly wants to be referred to with this term. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"sociopaths",nonInclusivePhrases:["sociopaths"],inclusiveAlternatives:["people with antisocial personality disorder","toxic, manipulative, cruel"],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead, unless referring to someone who explicitly wants to be referred to with this term. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"narcissistic",nonInclusivePhrases:["narcissistic"],inclusiveAlternatives:["person with narcissistic personality disorder","selfish, egotistical, self-centered, self-absorbed, vain, toxic, manipulative"],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"OCD",nonInclusivePhrases:["ocd"],inclusiveAlternatives:"pedantic, obsessed, perfectionist",score:6,feedbackFormat:[Object(_.sprintf)(El,"OCD","%2$s"),"If you are referring to someone who has the medical condition, then state that they have OCD rather than that they are OCD."].join(" "),rule:(e,t)=>ao(e,t).filter(no(e,hl))},{identifier:"theMentallyIll",nonInclusivePhrases:["the mentally ill"],inclusiveAlternatives:"people who are mentally ill, mentally ill people",score:3,feedbackFormat:["Avoid using %1$s as it is generalizing. Consider using an alternative, such as %2$s instead."].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"theDisabled",nonInclusivePhrases:["the disabled"],inclusiveAlternatives:"people who have a disability, disabled people",score:3,feedbackFormat:[Qa].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];bl.forEach(e=>{e.category="disability",e.learnMoreUrl="https://yoa.st/inclusive-language-disability"});var yl=bl;const Al="Avoid using %1$s as it is exclusionary. Consider using an alternative, such as %2$s.",Ol="Be careful when using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",Cl="Avoid using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",wl="Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of %1$s, use an alternative, such as %2$s.",Sl="Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of men, use an alternative, such as %2$s.",kl="Avoid using %1$s as it is derogatory.",Nl=[{identifier:"firemen",nonInclusivePhrases:["firemen"],inclusiveAlternatives:"firefighters",score:6,feedbackFormat:Sl},{identifier:"policemen",nonInclusivePhrases:["policemen"],inclusiveAlternatives:"police officers",score:6,feedbackFormat:Sl},{identifier:"menAndWomen",nonInclusivePhrases:["men and women","women and men"],inclusiveAlternatives:"people, people of all genders, individuals, human beings",score:6,feedbackFormat:wl},{identifier:"boysAndGirls",nonInclusivePhrases:["boys and girls","girls and boys"],inclusiveAlternatives:"kids, children",score:6,feedbackFormat:wl},{identifier:"heOrShe",nonInclusivePhrases:["he/she","he or she","she or he","(s)he"],inclusiveAlternatives:"they",score:6,feedbackFormat:Ol},{identifier:"birthSex",nonInclusivePhrases:["birth sex","natal sex"],inclusiveAlternatives:"assigned sex, assigned sex at birth",score:3,feedbackFormat:Qa},{identifier:"mankind",nonInclusivePhrases:["mankind"],inclusiveAlternatives:"individuals, people, persons, human beings, humanity",score:3,feedbackFormat:Al},{identifier:"preferredPronouns",nonInclusivePhrases:["preferred pronouns"],inclusiveAlternatives:"pronouns",score:6,feedbackFormat:[Xa.slice(0,-1),", unless referring to someone who explicitly wants to use this term to describe their own pronouns."].join("")},{identifier:"oppositeGender",nonInclusivePhrases:["opposite gender"],inclusiveAlternatives:"another gender",score:3,feedbackFormat:Al},{identifier:"oppositeSex",nonInclusivePhrases:["opposite sex"],inclusiveAlternatives:"another sex",score:3,feedbackFormat:Al},{identifier:"femaleBodied",nonInclusivePhrases:["female-bodied"],inclusiveAlternatives:"assigned female at birth",score:3,feedbackFormat:Cl.slice(0,-1)+" if you are discussing a person based on their sex or assigned gender at birth. If talking about human anatomy, use the specific anatomical phrase as opposed to %1$s."},{identifier:"maleBodied",nonInclusivePhrases:["male-bodied"],inclusiveAlternatives:"assigned male at birth",score:3,feedbackFormat:Cl.slice(0,-1)+" if you are discussing a person based on their sex or assigned gender at birth. If talking about human anatomy, use the specific anatomical phrase as opposed to %1$s."},{identifier:"hermaphrodite",nonInclusivePhrases:["hermaphrodite"],inclusiveAlternatives:"intersex",score:3,feedbackFormat:Qa},{identifier:"hermaphrodites",nonInclusivePhrases:["hermaphrodites"],inclusiveAlternatives:"intersex people",score:3,feedbackFormat:Qa},{identifier:"bothGenders",nonInclusivePhrases:["both genders"],inclusiveAlternatives:"people, folks, human beings, all genders",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of two genders, use an alternative, such as %2$s."},{identifier:"ladiesAndGentleman",nonInclusivePhrases:["ladies and gentlemen"],inclusiveAlternatives:"everyone, folks, honored guests",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of men and women, use an alternative, such as %2$s."},{identifier:"husbandAndWife",nonInclusivePhrases:["husband and wife","husbands and wives"],inclusiveAlternatives:"spouses, partners",score:6,feedbackFormat:Ol.slice(0,-1)+", unless referring to someone who explicitly wants to be referred to with this term."},{identifier:"mothersAndFathers",nonInclusivePhrases:["mothers and fathers","fathers and mothers"],inclusiveAlternatives:"parents",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of people who use this term, use an alternative, such as %2$s."},{identifier:"manHours",nonInclusivePhrases:["man-hours"],inclusiveAlternatives:"person-hours, business hours",score:3,feedbackFormat:Al},{identifier:"preferredName",nonInclusivePhrases:["preferred name"],inclusiveAlternatives:"name, affirming name",score:6,feedbackFormat:[Xa.slice(0,-1),", unless referring to someone who explicitly wants to use this term to describe their own name."].join("")},{identifier:"transgenders",nonInclusivePhrases:["transgenders"],inclusiveAlternatives:"trans people, transgender people",score:3,feedbackFormat:[kl,Ya].join(" ")},{identifier:"transsexual",nonInclusivePhrases:["transsexual"],inclusiveAlternatives:"transgender",score:6,feedbackFormat:Ja},{identifier:"transsexuals",nonInclusivePhrases:["transsexuals"],inclusiveAlternatives:"trans people, transgender people",score:6,feedbackFormat:Ja},{identifier:"transWoman",nonInclusivePhrases:["transwoman"],inclusiveAlternatives:"trans woman, transgender woman",score:6,feedbackFormat:Ja},{identifier:"transWomen",nonInclusivePhrases:["transwomen"],inclusiveAlternatives:"trans women, transgender women",score:6,feedbackFormat:Ja},{identifier:"transMan",nonInclusivePhrases:["transman"],inclusiveAlternatives:"trans man, transgender man",score:6,feedbackFormat:Ja},{identifier:"transMen",nonInclusivePhrases:["transmen"],inclusiveAlternatives:"trans men, transgender men",score:6,feedbackFormat:Ja},{identifier:"transgendered",nonInclusivePhrases:["transgendered"],inclusiveAlternatives:["transgender, trans","transitioned, went through a gender transition"],score:3,feedbackFormat:[Qa.slice(0,-1),"if referring to a person. If referring to a transition process, consider using an alternative such as %3$s."].join(" ")},{identifier:"maleToFemale",nonInclusivePhrases:["male-to-female","mtf"],inclusiveAlternatives:"trans woman, transgender woman",score:6,feedbackFormat:Ja},{identifier:"femaleToMale",nonInclusivePhrases:["female-to-male","ftm"],inclusiveAlternatives:"trans man, transgender man",score:6,feedbackFormat:Ja},{identifier:"heShe",nonInclusivePhrases:["he-she"],inclusiveAlternatives:"",score:3,feedbackFormat:kl},{identifier:"shemale",nonInclusivePhrases:["shemale","she-male"],inclusiveAlternatives:"",score:3,feedbackFormat:kl},{identifier:"manMade",nonInclusivePhrases:["man-made","manmade"],inclusiveAlternatives:"artificial, synthetic, machine-made",score:3,feedbackFormat:Al},{identifier:"toEachTheirOwn",nonInclusivePhrases:["to each his own"],inclusiveAlternatives:"to each their own",score:3,feedbackFormat:Al},{identifier:"manned",nonInclusivePhrases:["manned"],inclusiveAlternatives:"crewed",score:3,feedbackFormat:Al},{identifier:"aTransgender",nonInclusivePhrases:["a transgender","the transgender"],inclusiveAlternatives:"transgender person",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];Nl.forEach(e=>{e.category="gender",e.learnMoreUrl="https://yoa.st/inclusive-language-gender"});var Rl=Nl;const Il="Be careful when using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead, unless you are referring to the culture in which this term originated.",xl="Avoid using %1$s as it is overgeneralizing. Consider using %2$s instead. ",Dl=[{identifier:"firstWorld",nonInclusivePhrases:["First World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:xl,caseSensitive:!0,rule:(e,t)=>ao(e,t).filter(io(e,t,["War","war","Assembly","assembly"]))},{identifier:"thirdWorld",nonInclusivePhrases:["Third World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:xl,caseSensitive:!0,rule:(e,t)=>ao(e,t).filter(io(e,t,["War","war","Quarterly","quarterly","country"]))},{identifier:"tribe",nonInclusivePhrases:["tribe"],inclusiveAlternatives:"group, cohort, crew, league, guild, team, union",score:6,feedbackFormat:Il.slice(0,-42)+"a culture that uses this term."},{identifier:"tribes",nonInclusivePhrases:["tribes"],inclusiveAlternatives:"groups, cohorts, crews, leagues, guilds, teams, unions",score:6,feedbackFormat:Il.slice(0,-42)+"a culture that uses this term."},{identifier:"exotic",nonInclusivePhrases:["exotic"],inclusiveAlternatives:"unfamiliar, foreign, peculiar, fascinating, alluring, bizarre, non-native, introduced",score:6,feedbackFormat:Wa+" Unless you are referring to animals, consider using an alternative, such as %2$s.",rule:(e,t)=>ao(e,t).filter(io(e,t,["longhair","longhairs","shorthair","shorthairs"]))},{identifier:"sherpa",nonInclusivePhrases:["sherpa"],inclusiveAlternatives:"commander, coach, mastermind, coach, mentor",score:6,feedbackFormat:Il},{identifier:"guru",nonInclusivePhrases:["guru"],inclusiveAlternatives:"mentor, doyen, coach, mastermind, virtuoso, expert",score:6,feedbackFormat:Il},{identifier:"gurus",nonInclusivePhrases:["gurus"],inclusiveAlternatives:"mentors, doyens, coaches, masterminds, virtuosos, experts",score:6,feedbackFormat:Il},{identifier:"nonWhite",nonInclusivePhrases:["non-white"],inclusiveAlternatives:"people of color, POC, BIPOC or specifying the racial groups mentioned",score:3,feedbackFormat:Qa},{identifier:"oriental",nonInclusivePhrases:["oriental"],inclusiveAlternatives:"Asian. When possible, be more specific (e.g. East Asian)",score:6,feedbackFormat:Wa+" Unless you are referring to objects or animals, consider using an alternative, such as %2$s."},{identifier:"asianAmerican",nonInclusivePhrases:["Asian-American"],inclusiveAlternatives:"Asian American",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"asianAmericans",nonInclusivePhrases:["Asian-Americans"],inclusiveAlternatives:"Asian Americans",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"africanAmerican",nonInclusivePhrases:["African-American"],inclusiveAlternatives:"African American, Black, American of African descent",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"africanAmericans",nonInclusivePhrases:["African-Americans"],inclusiveAlternatives:"African Americans, Black, Americans of African descent",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"whiteRace",nonInclusivePhrases:["the White race"],inclusiveAlternatives:"",score:3,feedbackFormat:za,caseSensitive:!0},{identifier:"whitelist",nonInclusivePhrases:["whitelist"],inclusiveAlternatives:"allowlist",score:3,feedbackFormat:Qa},{identifier:"whitelists",nonInclusivePhrases:["whitelists"],inclusiveAlternatives:"allowlists",score:3,feedbackFormat:Qa},{identifier:"whitelisting",nonInclusivePhrases:["whitelisting"],inclusiveAlternatives:"allowlisting",score:3,feedbackFormat:Qa},{identifier:"whitelisted",nonInclusivePhrases:["whitelisted"],inclusiveAlternatives:"allowlisted",score:3,feedbackFormat:Qa},{identifier:"blacklist",nonInclusivePhrases:["blacklist"],inclusiveAlternatives:"blocklist, denylist, faillist, redlist",score:3,feedbackFormat:Qa},{identifier:"blacklists",nonInclusivePhrases:["blacklists"],inclusiveAlternatives:"blocklists, denylists, faillists, redlists",score:3,feedbackFormat:Qa},{identifier:"blacklisting",nonInclusivePhrases:["blacklisting"],inclusiveAlternatives:"blocklisting, denylisting, faillisting, redlisting",score:3,feedbackFormat:Qa},{identifier:"blacklisted",nonInclusivePhrases:["blacklisted"],inclusiveAlternatives:"blocklisted, denylisted, faillisted, redlisted",score:3,feedbackFormat:Qa},{identifier:"gyp",nonInclusivePhrases:["gyp"],inclusiveAlternatives:"fraud, cheat, swindle, rip-off",score:3,feedbackFormat:Qa},{identifier:"gyps",nonInclusivePhrases:["gyps"],inclusiveAlternatives:"frauds, cheats, swindles, rips off, rip-offs",score:3,feedbackFormat:Qa},{identifier:"gypped",nonInclusivePhrases:["gypped"],inclusiveAlternatives:"cheated, swindled, ripped off",score:3,feedbackFormat:Qa},{identifier:"gypping",nonInclusivePhrases:["gypping"],inclusiveAlternatives:"cheating, swindling, ripping off",score:3,feedbackFormat:Qa},{identifier:"gypsy",nonInclusivePhrases:["gypsy","gipsy"],inclusiveAlternatives:["Romani, Romani person","traveler, wanderer, free-spirited"],score:6,feedbackFormat:[Ja,"If you are referring to a lifestyle rather than the ethnic group or their music, consider using an alternative such as %3$s."].join(" ")},{identifier:"gypsies",nonInclusivePhrases:["gypsies","gipsies"],inclusiveAlternatives:["Romani, Romani people","travelers, wanderers, free-spirited"],score:6,feedbackFormat:[Ja,"If you are referring to a lifestyle rather than the ethnic group or their music, consider using an alternative such as %3$s."].join(" ")},{identifier:"eskimo",nonInclusivePhrases:["eskimo","eskimos"],inclusiveAlternatives:"the specific name of the Indigenous community (for example, Inuit)",score:6,feedbackFormat:Ja},{identifier:"coloredPerson",nonInclusivePhrases:["colored person"],inclusiveAlternatives:"person of color, POC, BIPOC",score:3,feedbackFormat:Qa},{identifier:"coloredPeople",nonInclusivePhrases:["colored people"],inclusiveAlternatives:"people of color, POC, BIPOC",score:3,feedbackFormat:Qa},{identifier:"americanIndians",nonInclusivePhrases:["American Indian","American Indians"],inclusiveAlternatives:"Native American(s), Indigenous peoples of America",score:6,feedbackFormat:Ja,caseSensitive:!0},{identifier:"mulatto",nonInclusivePhrases:["mulatto","mulattos","mulattoes"],inclusiveAlternatives:"mixed, biracial, multiracial",score:3,feedbackFormat:Qa},{identifier:"savage",nonInclusivePhrases:["savage"],inclusiveAlternatives:"severe, dreadful, untamed, brutal, fearless, fierce, brilliant, amazing",score:3,feedbackFormat:Qa},{identifier:"civilized",nonInclusivePhrases:["civilized"],inclusiveAlternatives:"proper, well-mannered, enlightened, respectful",score:3,feedbackFormat:Qa},{identifier:"primitive",nonInclusivePhrases:["primitive"],inclusiveAlternatives:"early, rudimentary",score:3,feedbackFormat:Qa},{identifier:"ebonics",nonInclusivePhrases:["Ebonics"],inclusiveAlternatives:"African American English, African American Language",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"powWow",nonInclusivePhrases:["pow-wow"],inclusiveAlternatives:"chat, brief conversation, brainstorm, huddle",score:6,feedbackFormat:Il},{identifier:"lowManOnTheTotemPole",nonInclusivePhrases:["low man on the totem pole"],inclusiveAlternatives:"person of lower rank, junior-level",score:3,feedbackFormat:Qa},{identifier:"spiritAnimal",nonInclusivePhrases:["spirit animal"],inclusiveAlternatives:"inspiration, hero, icon, idol",score:6,feedbackFormat:Il},{identifier:"firstWorldCountries",nonInclusivePhrases:["first world countries"],inclusiveAlternatives:"the specific name for the countries or regions",score:3,feedbackFormat:xl},{identifier:"firstWorldHyphen",nonInclusivePhrases:["first-world"],inclusiveAlternatives:"the specific name for the country or region",score:3,feedbackFormat:xl},{identifier:"third-worldCountry",nonInclusivePhrases:["third-world country"],inclusiveAlternatives:"low-income country, developing country",score:3,feedbackFormat:Qa},{identifier:"third-worldCountry",nonInclusivePhrases:["third world country"],inclusiveAlternatives:"low-income country, developing country",score:3,feedbackFormat:Qa},{identifier:"underdevelopedCountry",nonInclusivePhrases:["underdeveloped country"],inclusiveAlternatives:"developing country",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead or be more specific about what aspect this word refers to."},{identifier:"underdevelopedCountries",nonInclusivePhrases:["underdeveloped countries"],inclusiveAlternatives:"developing countries",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead or be more specific about what aspect this word refers to."}];Dl.forEach(e=>{e.category="culture",e.learnMoreUrl="https://yoa.st/inclusive-language-culture"});var Ll=Dl;const Ml=[{identifier:"illegalImmigrant",nonInclusivePhrases:["illegal immigrant","illegal alien"],inclusiveAlternatives:"undocumented person, person without papers, immigrant without papers",score:3,feedbackFormat:Qa},{identifier:"illegalImmigrants",nonInclusivePhrases:["illegal immigrants","illegal aliens"],inclusiveAlternatives:"undocumented people, people without papers, immigrants without papers",score:3,feedbackFormat:Qa},{identifier:"povertyStricken",nonInclusivePhrases:["poverty stricken"],inclusiveAlternatives:"people whose income is below the poverty threshold, people with low-income",score:3,feedbackFormat:Qa},{identifier:"welfareReliant",nonInclusivePhrases:["welfare reliant"],inclusiveAlternatives:"receiving welfare",score:3,feedbackFormat:Qa},{identifier:"prostitute",nonInclusivePhrases:["prostitute"],inclusiveAlternatives:"sex worker",score:6,feedbackFormat:Ja},{identifier:"prostitutes",nonInclusivePhrases:["prostitutes"],inclusiveAlternatives:"sex workers",score:6,feedbackFormat:Ja},{identifier:"ex-con",nonInclusivePhrases:["ex-con"],inclusiveAlternatives:"person who has had felony convictions, person who has been incarcerated",score:3,feedbackFormat:Qa},{identifier:"ex-cons",nonInclusivePhrases:["ex-cons"],inclusiveAlternatives:"people who have had felony convictions, people who have been incarcerated",score:3,feedbackFormat:Qa},{identifier:"felon",nonInclusivePhrases:["felon"],inclusiveAlternatives:"person with felony convictions, person who has been incarcerated",score:6,feedbackFormat:Xa},{identifier:"felons",nonInclusivePhrases:["felons"],inclusiveAlternatives:"people with felony convictions, people who have been incarcerated",score:6,feedbackFormat:Xa},{identifier:"ex-offender",nonInclusivePhrases:["ex-offender"],inclusiveAlternatives:"formerly incarcerated person",score:3,feedbackFormat:Qa},{identifier:"ex-offenders",nonInclusivePhrases:["ex-offenders"],inclusiveAlternatives:"formerly incarcerated people",score:3,feedbackFormat:Qa},{identifier:"theHomeless",nonInclusivePhrases:["the homeless"],inclusiveAlternatives:"people experiencing homelessness ",score:3,feedbackFormat:"Avoid using %1$s as it is generalizing. Consider using %2$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"theUndocumented",nonInclusivePhrases:["the undocumented"],inclusiveAlternatives:"people who are undocumented, undocumented people, people without papers ",score:3,feedbackFormat:"Avoid using %1$s as it is potentially overgeneralizing. Consider using %2$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"thePoor",nonInclusivePhrases:["the poor"],inclusiveAlternatives:["people whose income is below the poverty threshold","people with low-income"],score:3,feedbackFormat:"Avoid using %1$s as it is potentially overgeneralizing. Consider using %2$s or %3$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];Ml.forEach(e=>{e.category="ses",e.learnMoreUrl="https://yoa.st/inclusive-language-ses"});var Pl=Ml;const Fl=[{identifier:"minorities",nonInclusivePhrases:["minorities"],inclusiveAlternatives:["marginalized groups","underrepresented groups","gender and sexuality minorities"],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially overgeneralizing. Consider using an alternative, such as %2$s, %3$s or specific minorities, such as %4$s."},{identifier:"normal",nonInclusivePhrases:["normal person","normal people","normal behaviour","normal behavior","mentally normal","behaviorally normal","behaviourally normal","psychologically normal"],inclusiveAlternatives:["typical"],score:3,feedbackFormat:"Avoid using normal as it is potentially harmful. Consider using an alternative, such as %2$s or a specific characteristic or experience if it is known."},{identifier:"abnormal",nonInclusivePhrases:["abnormal person","abnormal people","abnormal behaviour","abnormal behavior","mentally abnormal","behaviorally abnormal","behaviourally abnormal","psychologically abnormal"],inclusiveAlternatives:["atypical"],score:3,feedbackFormat:"Avoid using abnormal as it is potentially harmful. Consider using an alternative, such as %2$s or a specific characteristic or experience if it is known."}];Fl.forEach(e=>{e.category="other",e.learnMoreUrl="https://yoa.st/inclusive-language-other"});var jl=Fl;const Bl=[{identifier:"homosexuals",nonInclusivePhrases:["homosexuals"],inclusiveAlternatives:"gay men, queer people, lesbians",score:6,feedbackFormat:"Be careful when using %1$s as it may overgeneralize or be harmful. Instead, be specific about the group you are referring to (e.g. %2$s)."}];Bl.forEach(e=>{e.category="sexualOrientation",e.learnMoreUrl="https://yoa.st/inclusive-language-orientation"});var Ul=[...tl,...nl,...yl,...Rl,...Ll,...Pl,...jl,...Bl];class Hl{constructor(e){let{identifier:t,nonInclusivePhrases:r,inclusiveAlternatives:n,score:s,feedbackFormat:i,learnMoreUrl:a,rule:o,caseSensitive:l,category:c}=e;this.identifier=t,this.nonInclusivePhrases=r,this.inclusiveAlternatives=n,Object(T.isString)(this.inclusiveAlternatives)&&(this.inclusiveAlternatives=[this.inclusiveAlternatives]),this.score=s,this.feedbackFormat=i,this.learnMoreUrl=Object(Ai.b)(a),this.rule=o||ao,this.caseSensitive=l||!1,this.category=c}isApplicable(e,t){const r=t.getResearch("sentences"),n=e.getTextTitle();return r.push(n),this.foundPhrases=[],r.forEach(e=>{let t=It(e,!1);this.caseSensitive||(t=t.map(e=>e.toLocaleLowerCase()));const r=this.nonInclusivePhrases.find(e=>this.rule(t,It(e,!1)).length>=1);r&&this.foundPhrases.push({sentence:e,phrase:r})}),this.foundPhrases.length>=1}getResult(){const e=Object(_.sprintf)("%1$sLearn more.%2$s",this.learnMoreUrl,""),t=Object(_.sprintf)(this.feedbackFormat,this.foundPhrases[0].phrase,...this.inclusiveAlternatives),r=new wi({score:this.score,text:`${t} ${e}`});return r.setIdentifier(this.identifier),r.setHasMarks(!0),r}getMarks(){return this.foundPhrases?this.foundPhrases.map(e=>new gs({original:e.sentence,marked:Ca(e.sentence)})):[]}}const $l={infoLinks:{}};var Kl=class extends fa{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,t),this.type="inclusiveLanguageAssessor",this._options=Object.assign({},$l,t);const r=this._options.infoLinks;this._assessments=Ul.map(e=>(r[e.category]&&(e.learnMoreUrl=r[e.category]),new Hl(e)))}calculateOverallScore(){const e=this.getValidResults(),t=e.filter(e=>6===e.getScore());return e.filter(e=>3===e.getScore()).length>=1?30:t.length>=1?60:90}};const ql=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};fa.call(this,e,t),this.type="cornerstoneContentAssessor",this._assessments=[new Ia({parameters:{slightlyTooMany:250,farTooMany:300,recommendedMaximumLength:250},applicableIfTextLongerThan:250,cornerstoneContent:!0}),new Na,new Ra({slightlyTooMany:20,farTooMany:25},!0),new xa,new Da,new Ma,new La]};r(18).inherits(ql,ja);var Gl=ql;const zl=function(e,t){fa.call(this,e,t),this.type="cornerstoneRelatedKeywordAssessor",this._assessments=[new Si,new Ii({isRelatedKeyphrase:!0}),new Li,new Mi,new Ui,new Oa,new Ea({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}})]};Object(v.inherits)(zl,fa);var Wl=zl;const Yl=function(e,t){fa.call(this,e,t),this.type="cornerstoneSEOAssessor",this._assessments=[new Si,new Ii,new Li,new Mi,new _a({scores:{tooLong:3,tooShort:3}}),new Ta,new Ui,new Ea({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}}),new va,new ba({recommendedMinimum:900,slightlyBelowMinimum:400,belowMinimum:300,scores:{belowMinimum:-20,farBelowMinimum:-20},cornerstoneContent:!0}),new ya({scores:{noLinks:3}}),new $i,new Hi,new Aa({scores:{widthTooShort:9}},!0),new qi({scores:{okay:3}}),new Oa,new wa]};Object(v.inherits)(Yl,ka);var Vl=Yl;function Ql(e,t){for(let r=0;r3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"analyze";if(!Object(T.isNumber)(e))throw new Error("Task.id should be a number.");if(!Object(T.isFunction)(t))throw new Error("Task.execute should be a function.");if(!Object(T.isFunction)(r))throw new Error("Task.done should be a function.");if(!Object(T.isObject)(n))throw new Error("Task.data should be an object.");this.id=e,this.execute=t,this.done=r,this.data=n,this.type=s}}const ec={pollTime:50};const tc={AssessmentResult:wi,Mark:gs,Paper:Ka,Sentence:Dn,Clause:di,ProminentWord:jn};var rc=function e(t){if(Object(T.isArray)(t))return t.map(e);const r=Object(T.isObject)(t);return r&&t._parseClass&&tc[t._parseClass]?"Sentence"===t._parseClass||"Clause"===t._parseClass?tc[t._parseClass].prototype.parse(t):tc[t._parseClass].parse(t):r?Object(T.mapValues)(t,t=>e(t)):t},nc=function e(t){if(Object(T.isArray)(t))return t.map(e);const r=Object(T.isObject)(t);return r&&t.serialize?t.serialize():r?Object(T.mapValues)(t,t=>e(t)):t},sc=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"%%";r=Object(T.escapeRegExp)(r);const n=new RegExp(`${r}(.+?)${r}`,"g");let s,i=e;for(;null!==(s=n.exec(e));){const e=s[1],n=new RegExp(`${r}${Object(T.escapeRegExp)(e)}${r}`,"g");e in t&&(i=i.replace(n,t[e]))}return i};const ic=function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";r&&(n=sc(n,r));let s=n?[n]:[];return t.name&&t.message&&(t.stack&&e.debug(t.stack),s.push(`${t.name}: ${t.message}`)),s=s.join("\n\t"),e.error(s),s};function ac(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return async function(){try{return await t(...arguments)}catch(t){return{error:ic(e,t,arguments.length<=1?void 0:arguments[1],r)}}}}var oc=class{aggregate(e){console.warn("'aggregate' must be implemented by a child class of 'ScoreAggregator'")}};const lc={bad:3,ok:2,good:0},cc={bad:4,ok:2,good:0},uc=["en","nl","de","it","ru","fr","es"];var hc=class extends oc{isFullySupported(e){if(e&&e.includes("_")){const t=A(e);return uc.includes(t)}return!1}calculateScore(e,t){if(e){if(t>6)return 30;if(t>4)return 60}else{if(t>4)return 30;if(t>2)return 60}return 90}calculatePenalty(e){return e.reduce((e,t)=>{const r=Pa(t.getScore()),n=this.isFullySupported(this.locale)?lc[r]:cc[r];return n?e+n:e},0)}getValidResults(e){return e.filter(e=>e.hasScore()&&e.hasText())}setLocale(e){this.locale=e}aggregate(e){const t=this.getValidResults(e);if(t.length<=1)return 0;const r=this.calculatePenalty(t),n=this.isFullySupported(this.locale);return this.calculateScore(n,r)}},dc=class extends oc{aggregate(e){const t=e.reduce((e,t)=>e+t.getScore(),0);return Math.round(100*t/(9*e.length))||0}};const pc=Object(E.getLogger)("yoast-analysis-worker");pc.setDefaultLevel("error");class gc{constructor(e,t){this._scope=e,this._configuration={contentAnalysisActive:!0,keywordAnalysisActive:!0,inclusiveLanguageAnalysisActive:!1,useCornerstone:!1,useTaxonomy:!1,locale:"en_US",customAnalysisType:""},this._scheduler=new class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._configuration=Object(T.merge)(ec,e),this._tasks={standard:[],extensions:[],analyze:[],analyzeRelatedKeywords:[]},this._pollHandle=null,this._started=!1,this.startPolling=this.startPolling.bind(this),this.stopPolling=this.stopPolling.bind(this),this.tick=this.tick.bind(this)}startPolling(){this._started||(this._started=!0,this.tick())}tick(){this.executeNextTask().then(()=>{this._pollHandle=setTimeout(this.tick,this._configuration.pollTime)})}stopPolling(){clearTimeout(this._pollHandle),this._pollHandle=null,this._started=!1}schedule(e){let{id:t,execute:r,done:n,data:s,type:i}=e;const a=new Zl(t,r,n,s,i);switch(i){case"customMessage":case"loadScript":this._tasks.extensions.push(a);break;case"analyze":this._tasks.analyze=[a];break;case"analyzeRelatedKeywords":this._tasks.analyzeRelatedKeywords=[a];break;default:this._tasks.standard.push(a)}}getNextTask(){return this._tasks.extensions.length>0?this._tasks.extensions.shift():this._tasks.analyze.length>0?this._tasks.analyze.shift():this._tasks.analyzeRelatedKeywords.length>0?this._tasks.analyzeRelatedKeywords.shift():this._tasks.standard.length>0?this._tasks.standard.shift():null}executeNextTask(){const e=this.getNextTask();return null===e?Promise.resolve(null):Promise.resolve().then(()=>e.execute(e.id,e.data)).then(t=>(e.done(e.id,t),t))}},this._paper=null,this._relatedKeywords={},this._researcher=t,this._contentAssessor=null,this._seoAssessor=null,this._relatedKeywordAssessor=null,this.additionalAssessors={},this._inclusiveLanguageOptions={},this._results={readability:{results:[],score:0},seo:{"":{results:[],score:0}},inclusiveLanguage:{results:[],score:0}},this._registeredAssessments=[],this._registeredMessageHandlers={},this._registeredParsers=[],this.setupTreeAnalysis(),this.bindActions(),this.assessRelatedKeywords=this.assessRelatedKeywords.bind(this),this.registerAssessment=this.registerAssessment.bind(this),this.registerMessageHandler=this.registerMessageHandler.bind(this),this.refreshAssessment=this.refreshAssessment.bind(this),this.setCustomContentAssessorClass=this.setCustomContentAssessorClass.bind(this),this.setCustomCornerstoneContentAssessorClass=this.setCustomCornerstoneContentAssessorClass.bind(this),this.setCustomSEOAssessorClass=this.setCustomSEOAssessorClass.bind(this),this.setCustomCornerstoneSEOAssessorClass=this.setCustomCornerstoneSEOAssessorClass.bind(this),this.setCustomRelatedKeywordAssessorClass=this.setCustomRelatedKeywordAssessorClass.bind(this),this.setCustomCornerstoneRelatedKeywordAssessorClass=this.setCustomCornerstoneRelatedKeywordAssessorClass.bind(this),this.registerAssessor=this.registerAssessor.bind(this),this.registerResearch=this.registerResearch.bind(this),this.registerHelper=this.registerHelper.bind(this),this.registerResearcherConfig=this.registerResearcherConfig.bind(this),this.setInclusiveLanguageOptions=this.setInclusiveLanguageOptions.bind(this),this.handleMessage=this.handleMessage.bind(this),this.analyzeRelatedKeywords=ac(pc,this.analyze,"An error occurred while running the related keywords analysis."),this.analyze=ac(pc,this.analyze,"An error occurred while running the analysis."),this.runResearch=ac(pc,this.runResearch,"An error occurred after running the '%%name%%' research.")}bindActions(){this.analyze=this.analyze.bind(this),this.analyzeDone=this.analyzeDone.bind(this),this.analyzeRelatedKeywordsDone=this.analyzeRelatedKeywordsDone.bind(this),this.loadScript=this.loadScript.bind(this),this.loadScriptDone=this.loadScriptDone.bind(this),this.customMessage=this.customMessage.bind(this),this.customMessageDone=this.customMessageDone.bind(this),this.clearCache=this.clearCache.bind(this),this.runResearch=this.runResearch.bind(this),this.runResearchDone=this.runResearchDone.bind(this)}setCustomContentAssessorClass(e,t,r){this._CustomContentAssessorClasses[t]=e,this._CustomContentAssessorOptions[t]=r,this._contentAssessor=this.createContentAssessor()}setCustomCornerstoneContentAssessorClass(e,t,r){this._CustomCornerstoneContentAssessorClasses[t]=e,this._CustomCornerstoneContentAssessorOptions[t]=r,this._contentAssessor=this.createContentAssessor()}setCustomSEOAssessorClass(e,t,r){this._CustomSEOAssessorClasses[t]=e,this._CustomSEOAssessorOptions[t]=r,this._seoAssessor=this.createSEOAssessor()}setCustomCornerstoneSEOAssessorClass(e,t,r){this._CustomCornerstoneSEOAssessorClasses[t]=e,this._CustomCornerstoneSEOAssessorOptions[t]=r,this._seoAssessor=this.createSEOAssessor()}setCustomRelatedKeywordAssessorClass(e,t,r){this._CustomRelatedKeywordAssessorClasses[t]=e,this._CustomRelatedKeywordAssessorOptions[t]=r,this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()}setCustomCornerstoneRelatedKeywordAssessorClass(e,t,r){this._CustomCornerstoneRelatedKeywordAssessorClasses[t]=e,this._CustomCornerstoneRelatedKeywordAssessorOptions[t]=r,this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()}setInclusiveLanguageOptions(e){this._inclusiveLanguageOptions=e}setupTreeAnalysis(){this._treeResearcher=null,this._contentTreeAssessor=null,this._seoTreeAssessor=null,this._relatedKeywordTreeAssessor=null,this._CustomSEOAssessorClasses={},this._CustomCornerstoneSEOAssessorClasses={},this._CustomContentAssessorClasses={},this._CustomCornerstoneContentAssessorClasses={},this._CustomRelatedKeywordAssessorClasses={},this._CustomCornerstoneRelatedKeywordAssessorClasses={},this._CustomSEOAssessorOptions={},this._CustomCornerstoneSEOAssessorOptions={},this._CustomContentAssessorOptions={},this._CustomCornerstoneContentAssessorOptions={},this._CustomRelatedKeywordAssessorOptions={},this._CustomCornerstoneRelatedKeywordAssessorOptions={},this._registeredTreeAssessments=[],this._seoScoreAggregator=new dc,this._contentScoreAggregator=new hc,this._tree=null,this._treeBuilder=null}register(){this._scope.onmessage=this.handleMessage,this._scope.analysisWorker=this}handleMessage(e){let{data:{type:t,id:r,payload:n}}=e;switch(n=rc(n),pc.debug("AnalysisWebWorker incoming:",t,r,n),t){case"initialize":this.initialize(r,n),this._scheduler.startPolling();break;case"analyze":this._scheduler.schedule({id:r,execute:this.analyze,done:this.analyzeDone,data:n,type:t});break;case"analyzeRelatedKeywords":this._scheduler.schedule({id:r,execute:this.analyzeRelatedKeywords,done:this.analyzeRelatedKeywordsDone,data:n,type:t});break;case"loadScript":this._scheduler.schedule({id:r,execute:this.loadScript,done:this.loadScriptDone,data:n,type:t});break;case"runResearch":this._scheduler.schedule({id:r,execute:this.runResearch,done:this.runResearchDone,data:n});break;case"customMessage":{const e=n.name;if(e&&this._registeredMessageHandlers[e]){this._scheduler.schedule({id:r,execute:this.customMessage,done:this.customMessageDone,data:n,type:t});break}this.customMessageDone(r,{error:new Error("No message handler registered for messages with name: "+e)});break}default:console.warn("AnalysisWebWorker unrecognized action:",t)}}createContentAssessor(){const{contentAnalysisActive:e,useCornerstone:t,customAnalysisType:r}=this._configuration;if(!1===e)return null;let n;return!0===t?(n=this._CustomCornerstoneContentAssessorClasses[r]?new this._CustomCornerstoneContentAssessorClasses[r](this._researcher,this._CustomCornerstoneContentAssessorOptions[r]):new Gl(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:s}=e;Object(T.isUndefined)(n.getAssessment(t))&&"cornerstoneReadability"===s&&n.addAssessment(t,r)})):(n=this._CustomContentAssessorClasses[r]?new this._CustomContentAssessorClasses[r](this._researcher,this._CustomContentAssessorOptions[r]):new ja(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:s}=e;Object(T.isUndefined)(n.getAssessment(t))&&"readability"===s&&n.addAssessment(t,r)})),n}createSEOAssessor(){const{keywordAnalysisActive:e,useCornerstone:t,useTaxonomy:r,customAnalysisType:n}=this._configuration;if(!1===e)return null;let s;return s=!0===r?new Ua(this._researcher):!0===t?this._CustomCornerstoneSEOAssessorClasses[n]?new this._CustomCornerstoneSEOAssessorClasses[n](this._researcher,this._CustomCornerstoneSEOAssessorOptions[n]):new Vl(this._researcher):this._CustomSEOAssessorClasses[n]?new this._CustomSEOAssessorClasses[n](this._researcher,this._CustomSEOAssessorOptions[n]):new ka(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:n}=e;Object(T.isUndefined)(s.getAssessment(t))&&"seo"===n&&s.addAssessment(t,r)}),s}createInclusiveLanguageAssessor(){const{inclusiveLanguageAnalysisActive:e}=this._configuration;return!1===e?null:new Kl(this._researcher,this._inclusiveLanguageOptions)}createRelatedKeywordsAssessor(){const{keywordAnalysisActive:e,useCornerstone:t,useTaxonomy:r,customAnalysisType:n}=this._configuration;if(!1===e)return null;let s;return s=!0===r?new Jl(this._researcher):!0===t?this._CustomCornerstoneRelatedKeywordAssessorClasses[n]?new this._CustomCornerstoneRelatedKeywordAssessorClasses[n](this._researcher,this._CustomCornerstoneRelatedKeywordAssessorOptions[n]):new Wl(this._researcher):this._CustomRelatedKeywordAssessorClasses[n]?new this._CustomRelatedKeywordAssessorClasses[n](this._researcher,this._CustomRelatedKeywordAssessorOptions[n]):new Ga(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:n}=e;Object(T.isUndefined)(s.getAssessment(t))&&"relatedKeyphrase"===n&&s.addAssessment(t,r)}),s}send(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};pc.debug("AnalysisWebWorker outgoing:",e,t,r),r=nc(r),this._scope.postMessage({type:e,id:t,payload:r})}static shouldAssessorsUpdate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const s=Object.keys(e);return{readability:Object(T.isNull)(t)||Ql(s,["contentAnalysisActive","useCornerstone","locale","translations","customAnalysisType"]),seo:Object(T.isNull)(r)||Ql(s,["keywordAnalysisActive","useCornerstone","useTaxonomy","locale","translations","researchData","customAnalysisType"]),inclusiveLanguage:Object(T.isNull)(n)||Ql(s,["inclusiveLanguageAnalysisActive","locale","translations"])}}initialize(e,t){const r=gc.shouldAssessorsUpdate(t,this._contentAssessor,this._seoAssessor,this._inclusiveLanguageAssessor);Object(T.has)(t,"translations")&&Object.values(t.translations).forEach(e=>{if(e){const{domain:t,locale_data:r}=e;Object(_.setLocaleData)(r[t],t)}}),Object(T.has)(t,"researchData")&&(Object(T.forEach)(t.researchData,(e,t)=>{this._researcher.addResearchData(t,e)}),delete t.researchData),Object(T.has)(t,"defaultQueryParams")&&(Object(Ai.a)({params:t.defaultQueryParams}),delete t.defaultQueryParams),Object(T.has)(t,"logLevel")&&(pc.setLevel(t.logLevel,!1),delete t.logLevel),Object(T.has)(t,"enabledFeatures")&&(Object(m.enableFeatures)(t.enabledFeatures),delete t.enabledFeatures),this._configuration=Object(T.merge)(this._configuration,t),r.readability&&(this._contentAssessor=this.createContentAssessor(),this._contentTreeAssessor=null),r.seo&&(this._seoAssessor=this.createSEOAssessor(),this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()),r.inclusiveLanguage&&(this._inclusiveLanguageAssessor=this.createInclusiveLanguageAssessor()),this.clearCache(),this.send("initialize:done",e)}registerAssessor(e,t,r){const n=new t(this._researcher);this.additionalAssessors[e]={assessor:n,shouldUpdate:r}}registerAssessment(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"seo";const{useCornerstone:s}=this._configuration;if(!Object(T.isString)(e))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `assessment` to be a function.");if(!Object(T.isString)(r))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `pluginName` to be a string.");const i=r+"-"+e;return null!==this._seoAssessor&&"seo"===n&&this._seoAssessor.addAssessment(i,t),null!==this._contentAssessor&&"readability"===n&&this._contentAssessor.addAssessment(i,t),null!==this._contentAssessor&&"cornerstoneReadability"===n&&s&&this._contentAssessor.addAssessment(i,t),null!==this._relatedKeywordAssessor&&"relatedKeyphrase"===n&&this._relatedKeywordAssessor.addAssessment(i,t),this._registeredAssessments.push({combinedName:i,assessment:t,type:n}),this.refreshAssessment(e,r),!0}registerMessageHandler(e,t,r){if(!Object(T.isString)(e))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `handler` to be a function.");if(!Object(T.isString)(r))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `pluginName` to be a string.");e=r+"-"+e,this._registeredMessageHandlers[e]=t}refreshAssessment(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to refresh assessment for plugin "+t+". Expected parameter `name` to be a string.");if(!Object(T.isString)(t))throw new Dt("Failed to refresh assessment for plugin "+t+". Expected parameter `pluginName` to be a string.");this.clearCache()}registerParser(e){if("function"!=typeof e.isApplicable)throw new Dt("Failed to register the custom parser. Expected parameter 'parser' to have a method 'isApplicable'.");if("function"!=typeof e.parse)throw new Dt("Failed to register the custom parser. Expected parameter 'parser' to have a method 'parse'.");this._registeredParsers.push(e)}clearCache(){this._paper=null}setLocale(e){this._configuration.locale!==e&&(this._configuration.locale=e,this._contentAssessor=this.createContentAssessor())}shouldReadabilityUpdate(e){return null===this._paper||this._paper.getText()!==e.getText()||this._paper.getLocale()!==e.getLocale()}shouldInclusiveLanguageUpdate(e){return null===this._paper||this._paper.getText()!==e.getText()||this._paper.getTextTitle()!==e.getTextTitle()||this._paper.getLocale()!==e.getLocale()}updateInclusiveLanguageAssessor(e){this._configuration.inclusiveLanguageAnalysisActive&&this._inclusiveLanguageAssessor&&e&&(this._inclusiveLanguageAssessor.assess(this._paper),this._results.inclusiveLanguage={results:this._inclusiveLanguageAssessor.results,score:this._inclusiveLanguageAssessor.calculateOverallScore()})}shouldSeoUpdate(e,t){let{keyword:r,synonyms:n}=t;return!!Object(T.isUndefined)(this._relatedKeywords[e])||this._relatedKeywords[e].keyword!==r||this._relatedKeywords[e].synonyms!==n}shouldAdditionalAssessorsUpdate(e){const t={};return Object.keys(this.additionalAssessors).forEach(r=>{t[r]=this.additionalAssessors[r].shouldUpdate(this._paper,e)}),t}updateAdditionalAssessors(e){Object.keys(this.additionalAssessors).forEach(t=>{const{assessor:r}=this.additionalAssessors[t];this._results[t]&&!e[t]||(r.assess(this._paper),this._results[t]={results:r.results,score:r.calculateOverallScore()})})}async analyze(e,t){let{paper:r,relatedKeywords:n={}}=t;const s=null===this._paper||!this._paper.equals(r),i=this.shouldReadabilityUpdate(r),a=this.shouldInclusiveLanguageUpdate(r),o=this.shouldAdditionalAssessorsUpdate(r);if(s){this._paper=r,this._researcher.setPaper(this._paper);const e=new Yi(this._researcher);this._paper.setTree(pa(this._paper.getText(),e)),this.setLocale(this._paper.getLocale())}if(this._configuration.keywordAnalysisActive&&this._seoAssessor&&(s&&(this._results.seo[""]=await this.assess(this._paper,this._tree,{oldAssessor:this._seoAssessor,treeAssessor:this._seoTreeAssessor,scoreAggregator:this._seoScoreAggregator})),!Object(T.isEmpty)(n))){const e=Object.keys(n);(await this.assessRelatedKeywords(r,this._tree,n)).forEach(e=>{this._results.seo[e.key]=e.results}),e.length>1&&(this._results.seo=Object(T.pickBy)(this._results.seo,(t,r)=>Object(T.includes)(e,r)||""===r))}if(this._configuration.contentAnalysisActive&&this._contentAssessor&&i){const e={oldAssessor:this._contentAssessor,treeAssessor:this._contentTreeAssessor,scoreAggregator:this._contentScoreAggregator};e.scoreAggregator.setLocale(this._configuration.locale),this._results.readability=await this.assess(this._paper,this._tree,e)}return this.updateInclusiveLanguageAssessor(a),this.updateAdditionalAssessors(o),this._results}async assess(e,t,r){const{oldAssessor:n,scoreAggregator:s}=r;n.assess(e);const i=[...n.results];return{results:i,score:s.aggregate(i)}}generateAssessmentError(e){const t=new wi;return t.setScore(-1),t.setText(Object(_.sprintf)( +Object(_.__)("%1$sNot enough content%2$s: %3$sPlease add some content to enable a good analysis%2$s.","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction)),e.setScore(3),e}return new yi}}var Pa=function(e){return-1===e?"error":0===e?"feedback":e<=4?"bad":e>4&&e<=7?"ok":e>7?"good":""};const Fa=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};fa.call(this,e,t),this.type="contentAssessor",this._assessments=[new Ia,new Na,new Ra,new xa,new Da,new Ma,new La]};r(18).inherits(Fa,fa),Fa.prototype.calculatePenaltyPointsFullSupport=function(e){switch(e){case"bad":return 3;case"ok":return 2;default:case"good":return 0}},Fa.prototype.calculatePenaltyPointsPartialSupport=function(e){switch(e){case"bad":return 4;case"ok":return 2;default:case"good":return 0}},Fa.prototype._allAssessmentsSupported=function(){const e=this._assessments.length;return this.getApplicableAssessments().length===e},Fa.prototype.calculatePenaltyPoints=function(){const e=this.getValidResults(),t=Object(T.map)(e,function(e){const t=Pa(e.getScore());return this._allAssessmentsSupported()?this.calculatePenaltyPointsFullSupport(t):this.calculatePenaltyPointsPartialSupport(t)}.bind(this));return Object(T.sum)(t)},Fa.prototype._ratePenaltyPoints=function(e){if(1===this.getValidResults().length)return 30;if(this._allAssessmentsSupported()){if(e>6)return 30;if(e>4)return 60}else{if(e>4)return 30;if(e>2)return 60}return 90},Fa.prototype.calculateOverallScore=function(){if(0===this.getValidResults().length)return 30;const e=this.calculatePenaltyPoints();return this._ratePenaltyPoints(e)};var ja=Fa;const Ba=function(e,t){fa.call(this,e,t),this.type="taxonomyAssessor",this._assessments=[new Ai,new Si,new Ri,new Ii,new _a,new ba({recommendedMinimum:250,slightlyBelowMinimum:200,belowMinimum:100,veryFarBelowMinimum:50,urlTitle:Object(Ei.b)("https://yoa.st/34j"),urlCallToAction:Object(Ei.b)("https://yoa.st/34k"),customContentType:"taxonomyAssessor"}),new ji,new Aa({scores:{widthTooShort:9}},!0),new Ui,new Oa,new wa]};Object(v.inherits)(Ba,fa);var Ua=Ba;const Ha={keyword:"",synonyms:"",description:"",title:"",titleWidth:0,slug:"",locale:"en_US",permalink:"",date:"",customData:{},textTitle:"",writingDirection:"LTR"};function $a(e,t){this._text=e||"",this._tree=null,t=t||{},Object(T.defaults)(t,Ha),""===t.locale&&(t.locale=Ha.locale),t.hasOwnProperty("url")&&(console.warn("The 'url' attribute is deprecated, use 'slug' instead."),t.slug=t.url||t.slug);const r=t.keyword.replace(/[‘’“”"'.?!:;,¿¡«»&*@#±^%|~`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\u002b\u0026\s]/g,"");Object(T.isEmpty)(r)&&(t.keyword=Ha.keyword),this._attributes=t}$a.prototype.hasKeyword=function(){return""!==this._attributes.keyword},$a.prototype.getKeyword=function(){return this._attributes.keyword},$a.prototype.hasSynonyms=function(){return""!==this._attributes.synonyms},$a.prototype.getSynonyms=function(){return this._attributes.synonyms},$a.prototype.hasText=function(){return""!==this._text},$a.prototype.getText=function(){return this._text},$a.prototype.setTree=function(e){this._tree=e},$a.prototype.getTree=function(){return this._tree},$a.prototype.hasDescription=function(){return""!==this._attributes.description},$a.prototype.getDescription=function(){return this._attributes.description},$a.prototype.hasTitle=function(){return""!==this._attributes.title},$a.prototype.getTitle=function(){return this._attributes.title},$a.prototype.hasTitleWidth=function(){return 0!==this._attributes.titleWidth},$a.prototype.getTitleWidth=function(){return this._attributes.titleWidth},$a.prototype.hasSlug=function(){return""!==this._attributes.slug},$a.prototype.getSlug=function(){return this._attributes.slug},$a.prototype.hasUrl=function(){return console.warn("This function is deprecated, use hasSlug instead"),this.hasSlug()},$a.prototype.getUrl=function(){return console.warn("This function is deprecated, use getSlug instead"),this.getSlug()},$a.prototype.hasLocale=function(){return""!==this._attributes.locale},$a.prototype.getLocale=function(){return this._attributes.locale},$a.prototype.getWritingDirection=function(){return this._attributes.writingDirection},$a.prototype.hasPermalink=function(){return""!==this._attributes.permalink},$a.prototype.getPermalink=function(){return this._attributes.permalink},$a.prototype.hasDate=function(){return""!==this._attributes.date},$a.prototype.getDate=function(){return this._attributes.date},$a.prototype.hasCustomData=function(){return!Object(T.isEmpty)(this._attributes.customData)},$a.prototype.getCustomData=function(){return this._attributes.customData},$a.prototype.hasTextTitle=function(){return""!==this._attributes.textTitle&&!Object(T.isNil)(this._attributes.textTitle)},$a.prototype.getTextTitle=function(){return this._attributes.textTitle},$a.prototype.serialize=function(){return{_parseClass:"Paper",text:this._text,...this._attributes}},$a.prototype.equals=function(e){return this._text===e.getText()&&Object(T.isEqual)(this._attributes,e._attributes)},$a.parse=function(e){if(e instanceof $a)return e;const{text:t,_parseClass:r,...n}=e;return new $a(t,n)};var Ka=$a;const qa=function(e,t){fa.call(this,e,t),this.type="relatedKeywordAssessor",this._assessments=[new Ai,new Si({isRelatedKeyphrase:!0}),new Ri,new Ii,new Pi,new Oa,new Ea]};Object(v.inherits)(qa,fa);var Ga=qa;const za="Avoid using %1$s as it is potentially harmful.",Wa="Be careful when using %1$s as it is potentially harmful.",Ya="Consider using an alternative, such as %2$s.",Va="Consider using an alternative, such as %2$s, unless referring to someone who explicitly wants to be referred to with this term.",Qa=[za,Ya].join(" "),Xa=[Wa,Ya].join(" "),Ja=[Wa,Va].join(" "),Za=[za,Va].join(" "),eo="Alternatively, if talking about a specific person, use their preferred descriptor if known.";function to(e,t,r){return e.every((e,n)=>r[t+n]===e)}function ro(e,t){const r=t.map(e=>It(e,!1));return t=>!r.some(r=>{const n=t-r.length;return n>=0&&to(r,n,e)})}function no(e,t){return r=>!ro(e,t)(r)}function so(e,t,r){const n=r.map(e=>It(e,!1));return r=>n.some(n=>{const s=r+t.length;return s>=0&&to(n,s,e)})}function io(e,t,r){return n=>!so(e,t,r)(n)}function ao(e,t){const r=[];return e.forEach((n,s)=>{to(t,s,e)&&r.push(s)}),r}var oo=["arisen","awoken","reawoken","babysat","backslid","backslidden","beat","beaten","become","begun","bent","unbent","bet","bid","outbid","rebid","underbid","overbid","bidden","bitten","blown","bought","overbought","bound","unbound","rebound","broadcast","rebroadcast","broken","brought","browbeat","browbeaten","built","prebuilt","rebuilt","overbuilt","burnt","burst","bust","cast","miscast","recast","caught","chosen","clung","come","overcome","cost","crept","cut","undercut","recut","daydreamt","dealt","misdealt","redealt","disproven","done","predone","outdone","misdone","redone","overdone","undone","drawn","outdrawn","redrawn","overdrawn","dreamt","driven","outdriven","drunk","outdrunk","overdrunk","dug","dwelt","eaten","overeaten","fallen","felt","fit","refit","retrofit","flown","outflown","flung","forbidden","forecast","foregone","foreseen","foretold","forgiven","forgotten","forsaken","fought","outfought","found","frostbitten","frozen","unfrozen","given","gone","undergone","gotten","ground","reground","grown","outgrown","regrown","had","handwritten","heard","reheard","misheard","overheard","held","hewn","hidden","unhidden","hit","hung","rehung","overhung","unhung","hurt","inlaid","input","interwound","interwoven","jerry-built","kept","knelt","knit","reknit","unknit","known","laid","mislaid","relaid","overlaid","lain","underlain","leant","leapt","outleapt","learnt","unlearnt","relearnt","mislearnt","left","lent","let","lip-read","lit","relit","lost","made","premade","remade","meant","met","mown","offset","paid","prepaid","repaid","overpaid","partaken","proofread","proven","put","quick-frozen","quit","read","misread","reread","retread","rewaken","rid","ridden","outridden","overridden","risen","roughcast","run","outrun","rerun","overrun","rung","said","sand-cast","sat","outsat","sawn","seen","overseen","sent","resent","set","preset","reset","misset","sewn","resewn","oversewn","unsewn","shaken","shat","shaven","shit","shone","outshone","shorn","shot","outshot","overshot","shown","shrunk","preshrunk","shut","sight-read","slain","slept","outslept","overslept","slid","slit","slung","unslung","slunk","smelt","outsmelt","snuck","sold","undersold","presold","outsold","resold","oversold","sought","sown","spat","spelt","misspelt","spent","underspent","outspent","misspent","overspent","spilt","overspilt","spit","split","spoilt","spoken","outspoken","misspoken","overspoken","spread","sprung","spun","unspun","stolen","stood","understood","misunderstood","strewn","stricken","stridden","striven","struck","strung","unstrung","stuck","unstuck","stung","stunk","sublet","sunburnt","sung","outsung","sunk","sweat","swept","swollen","sworn","outsworn","swum","outswum","swung","taken","undertaken","mistaken","retaken","overtaken","taught","mistaught","retaught","telecast","test-driven","test-flown","thought","outthought","rethought","overthought","thrown","outthrown","overthrown","thrust","told","retold","torn","retorn","trod","trodden","typecast","typeset","upheld","upset","waylaid","wept","wet","rewet","withdrawn","withheld","withstood","woken","won","rewon","worn","reworn","wound","rewound","overwound","unwound","woven","rewoven","unwoven","written","typewritten","underwritten","outwritten","miswritten","rewritten","overwritten","wrung"];const lo=/\w+ed($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi;const co=["am","is","are","was","were","been","get","gets","got","gotten","be","she's","he's","it's","i'm","we're","they're","you're","that's","isn't","weren't","wasn't","aren't"],uo=["being","getting","having","what's"];var ho=co.concat(uo);const po=["accordingly","additionally","afterward","afterwards","albeit","also","although","altogether","another","basically","because","before","besides","but","certainly","chiefly","comparatively","concurrently","consequently","contrarily","conversely","correspondingly","despite","doubtedly","during","e.g.","earlier","emphatically","equally","especially","eventually","evidently","explicitly","finally","firstly","following","formerly","forthwith","fourthly","further","furthermore","generally","hence","henceforth","however","i.e.","identically","indeed","initially","instead","last","lastly","later","lest","likewise","markedly","meanwhile","moreover","nevertheless","nonetheless","nor","notwithstanding","obviously","occasionally","otherwise","overall","particularly","presently","previously","rather","regardless","secondly","shortly","significantly","similarly","simultaneously","since","so","soon","specifically","still","straightaway","subsequently","surely","surprisingly","than","then","thereafter","therefore","thereupon","thirdly","though","thus","till","undeniably","undoubtedly","unless","unlike","unquestionably","until","when","whenever","whereas","while"];po.concat(["above all","after all","after that","all in all","all of a sudden","all things considered","analogous to","although this may be true","analogous to","another key point","as a matter of fact","as a result","as an illustration","as can be seen","as has been noted","as I have noted","as I have said","as I have shown","as long as","as much as","as opposed to","as shown above","as soon as","as well as","at any rate","at first","at last","at least","at length","at the present time","at the same time","at this instant","at this point","at this time","balanced against","being that","by all means","by and large","by comparison","by the same token","by the time","compared to","be that as it may","coupled with","different from","due to","equally important","even if","even more","even so","even though","first thing to remember","for example","for fear that","for instance","for one thing","for that reason","for the most part","for the purpose of","for the same reason","for this purpose","for this reason","from time to time","given that","given these points","important to realize","in a word","in addition","in another case","in any case","in any event","in brief","in case","in conclusion","in contrast","in detail","in due time","in effect","in either case","in essence","in fact","in general","in light of","in like fashion","in like manner","in order that","in order to","in other words","in particular","in reality","in short","in similar fashion","in spite of","in sum","in summary","in that case","in the event that","in the final analysis","in the first place","in the fourth place","in the hope that","in the light of","in the long run","in the meantime","in the same fashion","in the same way","in the second place","in the third place","in this case","in this situation","in time","in truth","in view of","inasmuch as","most compelling evidence","most important","must be remembered","not only","not to mention","note that","now that","of course","on account of","on balance","on condition that","on one hand","on the condition that","on the contrary","on the negative side","on the other hand","on the positive side","on the whole","on this occasion","once","once in a while","only if","owing to","point often overlooked","prior to","provided that","seeing that","so as to","so far","so long as","so that","sooner or later","such as","summing up","take the case of","that is","that is to say","then again","this time","to be sure","to begin with","to clarify","to conclude","to demonstrate","to emphasize","to enumerate","to explain","to illustrate","to list","to point out","to put it another way","to put it differently","to repeat","to rephrase it","to say nothing of","to sum up","to summarize","to that end","to the end that","to this end","together with","under those circumstances","until now","up against","up to the present time","vis a vis","what's more","while it may be true","while this may be true","with attention to","with the result that","with this in mind","with this intention","with this purpose in mind","without a doubt","without delay","without doubt","without reservation"]);const go=["the","an","a"],fo=["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","hundred","hundreds","thousand","thousands","million","millions","billion","billions"],mo=["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth"],_o=["i","you","he","she","it","we","they"],To=["me","him","us","them"],Eo=["this","that","these","those"],vo=["my","your","his","her","its","their","our","mine","yours","hers","theirs","ours"],bo=["all","some","many","lot","lots","ton","tons","bit","no","every","enough","little","much","more","most","plenty","several","few","fewer","kind","kinds"],yo=["myself","yourself","himself","herself","itself","oneself","ourselves","yourselves","themselves"],Ao=["none","nobody","everyone","everybody","someone","somebody","anyone","anybody","nothing","everything","something","anything","each","other","whatever","whichever","whoever","whomever","whomsoever","whosoever","others","neither","both","either","any","such"],Oo=["one's","nobody's","everyone's","everybody's","someone's","somebody's","anyone's","anybody's","nothing's","everything's","something's","anything's","whoever's","others'","other's","another's","neither's","either's"],Co=["which","what","whose"],wo=["who","whom"],So=["where","how","why","whether","wherever","whyever","wheresoever","whensoever","howsoever","whysoever","whatsoever","whereso","whomso","whenso","howso","whyso","whoso","whatso"],ko=["therefor","therein","hereby","hereto","wherein","therewith","herewith","wherewith","thereby"],No=["there","here","whither","thither","hither","whence","thence"],Ro=["always","once","twice","thrice"],Io=["can","cannot","can't","could","couldn't","could've","dare","dares","dared","do","don't","does","doesn't","did","didn't","done","have","haven't","had","hadn't","has","hasn't","i've","you've","we've","they've","i'd","you'd","he'd","she'd","it'd","we'd","they'd","would","wouldn't","would've","may","might","must","need","needn't","needs","ought","shall","shalln't","shan't","should","shouldn't","will","won't","i'll","you'll","he'll","she'll","it'll","we'll","they'll","there's","there're","there'll","here's","here're","there'll"],xo=["appear","appears","appeared","become","becomes","became","come","comes","came","keep","keeps","kept","remain","remains","remained","stay","stays","stayed","turn","turns","turned"],Do=["doing","daring","having","appearing","becoming","coming","keeping","remaining","staying","saying","asking","stating","seeming","letting","making","setting","showing","putting","adding","going","using","trying","containing"],Lo=["in","from","with","under","throughout","atop","for","on","of","to","aboard","about","above","abreast","absent","across","adjacent","after","against","along","alongside","amid","mid","among","apropos","apud","around","as","astride","at","ontop","afore","tofore","behind","ahind","below","ablow","beneath","neath","beside","between","atween","beyond","ayond","by","chez","circa","spite","down","except","into","less","like","minus","near","nearer","nearest","anear","notwithstanding","off","onto","opposite","out","outen","over","past","per","pre","qua","sans","sauf","sithence","through","thru","truout","toward","underneath","up","upon","upside","versus","via","vis-à-vis","without","ago","apart","aside","aslant","away","withal","towards","amidst","amongst","midst","whilst"],Mo=["back","within","forward","backward","ahead"],Po=["and","or","and/or","yet"],Fo=["sooner","just","only"],jo=["if","even"],Bo=["say","says","said","claimed","ask","asks","asked","stated","explain","explains","explained","think","thinks","talks","talked","announces","announced","tells","told","discusses","discussed","suggests","suggested","understands","understood"],Uo=["again","definitely","eternally","expressively","instead","expressly","immediately","including","instantly","namely","naturally","next","notably","now","nowadays","ordinarily","positively","truly","ultimately","uniquely","usually","almost","maybe","probably","granted","initially","too","actually","already","e.g","i.e","often","regularly","simply","optionally","perhaps","sometimes","likely","never","ever","else","inasmuch","provided","currently","incidentally","elsewhere","particular","recently","relatively","f.i","clearly","apparently"],Ho=["highly","very","really","extremely","absolutely","completely","totally","utterly","quite","somewhat","seriously","fairly","fully","amazingly"],$o=["seem","seems","seemed","let","let's","lets","make","makes","made","want","showed","shown","go","goes","went","gone","take","takes","took","taken","put","puts","use","used","try","tries","tried","mean","means","meant","called","based","add","adds","added","contain","contains","contained","consist","consists","consisted","ensure","ensures","ensured"],Ko=["new","newer","newest","old","older","oldest","previous","good","well","better","best","big","bigger","biggest","easy","easier","easiest","fast","faster","fastest","far","hard","harder","hardest","least","own","large","larger","largest","long","longer","longest","low","lower","lowest","high","higher","highest","regular","simple","simpler","simplest","small","smaller","smallest","tiny","tinier","tiniest","short","shorter","shortest","main","actual","nice","nicer","nicest","real","same","able","certain","usual","so-called","mainly","mostly","recent","anymore","complete","lately","possible","commonly","constantly","continually","directly","easily","nearly","slightly","somewhere","estimated","latest","different","similar","widely","bad","worse","worst","great","specific","available","average","awful","awesome","basic","beautiful","busy","current","entire","everywhere","important","major","multiple","normal","necessary","obvious","partly","special","last","early","earlier","earliest","young","younger","youngest"],qo=["oh","wow","tut-tut","tsk-tsk","ugh","whew","phew","yeah","yea","shh","oops","ouch","aha","yikes"],Go=["tbs","tbsp","spk","lb","qt","pk","bu","oz","pt","mod","doz","hr","f.g","ml","dl","cl","l","mg","g","kg","quart"],zo=["seconds","minute","minutes","hour","hours","day","days","week","weeks","month","months","year","years","today","tomorrow","yesterday"],Wo=["thing","things","way","ways","matter","case","likelihood","ones","piece","pieces","stuff","times","part","parts","percent","instance","instances","aspect","aspects","item","items","idea","theme","person","instance","instances","detail","details","factor","factors","difference","differences"],Yo=["not","yes","sure","top","bottom","ok","okay","amen","aka","etc","etcetera","sorry","please"],Vo=["jr","sr"],Qo=([].concat(mo,Do,Ko),[].concat(go,Lo,Po,Eo,Ho,bo,vo),[].concat(po,Ro,_o,To,yo,qo,fo,co,Io,xo,Bo,$o,Ao,Fo,jo,Co,wo,So,No,Yo,Mo,ko,Go,zo,Wo),[].concat(go,Lo,Eo,vo,mo,Do,bo),[].concat(Io,xo,Bo,$o),[].concat(go,fo,mo,Eo,vo,yo,_o,To,bo,Ao,Do,Oo,Co,wo,So,ko,No,Ro,Mo,co,uo,Io,xo,Lo,Po,Fo,jo,Bo,po,Uo,Ho,$o,qo,Ko,Go,Yo,Vo));[].concat(go,fo,mo,Eo,vo,yo,_o,To,bo,Ao,Do,Oo,Co,wo,So,ko,No,Ro,Mo,co,uo,Io,xo,Lo,Po,Fo,jo,Bo,po,Uo,Ho,$o,qo,Ko,Go,Wo,Yo,zo,["ms","mss","mrs","mr","dr","prof"],Vo);const Xo=wt.filter(e=>It(e,!1).length>0);function Jo(e,t){return r=>so(e,t,Qo)(r)||function(e,t){return r=>{const n=r+t.length;return nolder person, older citizen","person older than 70"],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"seniorCitizens",nonInclusivePhrases:["senior citizens"],inclusiveAlternatives:["older people, older citizens","people older than 70"],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"agingDependants",nonInclusivePhrases:["aging dependants"],inclusiveAlternatives:["older people","people older than 70"],score:3,feedbackFormat:[Za,Zo].join(" ")},{identifier:"elderly",nonInclusivePhrases:["elderly"],inclusiveAlternatives:["older people","people older than 70"],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"senile",nonInclusivePhrases:["senile"],inclusiveAlternatives:"",score:3,feedbackFormat:[za,"Consider using an alternative, such as a specific characteristic or experience if it is known (e.g. has Alzheimer's)."].join(" ")},{identifier:"senility",nonInclusivePhrases:["senility"],inclusiveAlternatives:"dementia",score:3,feedbackFormat:Qa},{identifier:"seniors",nonInclusivePhrases:["seniors"],inclusiveAlternatives:["older people","people older than 70"],score:6,feedbackFormat:[Ja,Zo].join(" "),rule:(e,t)=>ao(e,t).filter(ro(e,["high school","college","graduating","juniors and"])).filter(io(e,t,["in high school","in college","who are graduating"]))},{identifier:"theAged",nonInclusivePhrases:["the aged"],inclusiveAlternatives:["older people","people older than 70"],score:3,feedbackFormat:[Qa,Zo].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];el.forEach(e=>{e.category="age",e.learnMoreUrl="https://yoa.st/inclusive-language-age"});var tl=el;const rl=[{identifier:"albinos",nonInclusivePhrases:["albinos"],inclusiveAlternatives:"people with albinism, albino people",score:6,feedbackFormat:Ja},{identifier:"anAlbino",nonInclusivePhrases:["an albino"],inclusiveAlternatives:"person with albinism, albino person",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"obese",nonInclusivePhrases:["obese","overweight"],inclusiveAlternatives:"has a higher weight, higher-weight person, person in higher weight body, heavier person",score:6,feedbackFormat:[Ja,eo].join(" ")},{identifier:"obesitySingular",nonInclusivePhrases:["person with obesity","fat person"],inclusiveAlternatives:"person who has a higher weight, higher-weight person, person in higher weight body, heavier person",score:6,feedbackFormat:[Ja,eo].join(" ")},{identifier:"obesityPlural",nonInclusivePhrases:["people with obesity","fat people"],inclusiveAlternatives:"people who have a higher weight, higher-weight people, people in higher weight bodies, heavier people",score:6,feedbackFormat:[Ja].join(" ")},{identifier:"verticallyChallenged",nonInclusivePhrases:["vertically challenged"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism",score:3,feedbackFormat:Qa},{identifier:"midget",nonInclusivePhrases:["midget"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism",score:3,feedbackFormat:Qa},{identifier:"midgets",nonInclusivePhrases:["midgets"],inclusiveAlternatives:"little people, have short stature, people with dwarfism",score:3,feedbackFormat:Qa},{identifier:"harelip",nonInclusivePhrases:["harelip"],inclusiveAlternatives:"cleft lip, cleft palate",score:3,feedbackFormat:Qa}];rl.forEach(e=>{e.category="appearance",e.learnMoreUrl="https://yoa.st/inclusive-language-appearance"});var nl=rl;const sl=["so","very","a bit","really","pretty","kind of","that","too","totally","completely","absolutely","even","also","as"],il=ho.slice(0,-2),al=il.splice(19,4),ol=function(e,t){return Object(T.flatMap)(e,e=>Object(T.flatMap)(t,t=>`${e} ${t}`))},ll=ol(il,sl).concat(il);let cl=Object(T.flatMap)(il,e=>e+" not");cl=cl.concat(al);const ul=ol(cl,sl).concat(cl),hl=ll.concat(ul),dl=ol(["driving","drive","drove","drives","driven"],["me","you","them","him","her","someone","somebody","anyone","anybody","everyone","everybody"]),pl=["go","goes","going","gone","went"],gl=dl.concat(pl),fl=["in love"],ml=ll.concat(ul),_l=["about"],Tl="Avoid using %1$s as it is derogatory. Consider using an alternative, such as %2$s instead.",El=Wa+" Unless you are referencing the specific medical condition, consider using another alternative to describe the trait or behavior, such as %2$s.",vl=["Avoid using crazy as it is potentially harmful.",Ya].join(" "),bl=[{identifier:"binge",nonInclusivePhrases:["binge"],inclusiveAlternatives:"indulge, satiate, wallow, spree, marathon, consume excessively",score:6,feedbackFormat:"Be careful when using %1$s, unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s.",rule:(e,t)=>ao(e,t).filter(io(e,t,["drink","drinks","drinking"]))},{identifier:"bingeing",nonInclusivePhrases:["bingeing","binging"],inclusiveAlternatives:"indulging, satiating, wallowing, spreeing, marathoning, consuming excessively",score:6,feedbackFormat:"Be careful when using %1$s, unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"binged",nonInclusivePhrases:["binged"],inclusiveAlternatives:"indulged, satiated, wallowed, spreed, marathoned, consumed excessively",score:6,feedbackFormat:"Be careful when using %1$s, unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"binges",nonInclusivePhrases:["binges"],inclusiveAlternatives:"indulges, satiates, wallows, sprees, marathons, consumes excessively",score:6,feedbackFormat:"Be careful when using %1$s, unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"wheelchairBound",nonInclusivePhrases:["wheelchair-bound","wheelchair bound","confined to a wheelchair"],inclusiveAlternatives:"uses a wheelchair, is a wheelchair user",score:3,feedbackFormat:Qa},{identifier:"mentallyRetarded",nonInclusivePhrases:["mentally retarded"],inclusiveAlternatives:"person with an intellectual disability",score:3,feedbackFormat:Qa},{identifier:"retarded",nonInclusivePhrases:["retarded"],inclusiveAlternatives:"uninformed, ignorant, foolish, irrational, insensible",score:3,feedbackFormat:Tl,rule:(e,t)=>ao(e,t).filter(ro(e,["mentally"]))},{identifier:"alcoholic",nonInclusivePhrases:["an alcoholic"],inclusiveAlternatives:"person with alcohol use disorder",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(io(e,t,["drink","beverage"]))},{identifier:"alcoholics",nonInclusivePhrases:["alcoholics"],inclusiveAlternatives:"people with alcohol use disorder",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(io(e,t,["anonymous"]))},{identifier:"cripple",nonInclusivePhrases:["a cripple"],inclusiveAlternatives:"person with a physical disability, a physically disabled person",score:3,feedbackFormat:Tl},{identifier:"crippled",nonInclusivePhrases:["crippled"],inclusiveAlternatives:"has a physical disability, is physically disabled",score:3,feedbackFormat:Qa},{identifier:"daft",nonInclusivePhrases:["daft"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless",score:6,feedbackFormat:Xa},{identifier:"handicapped",nonInclusivePhrases:["handicapped"],inclusiveAlternatives:"disabled, person with a disability",score:3,feedbackFormat:Qa},{identifier:"handicap",nonInclusivePhrases:["handicap"],inclusiveAlternatives:"disability",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(io(e,t,["toilet","toilets","parking","bathroom","bathrooms","stall","stalls"]))},{identifier:"insane",nonInclusivePhrases:["insane"],inclusiveAlternatives:"wild, confusing, unpredictable, impulsive, reckless, out of control, unbelievable, amazing, incomprehensible, nonsensical, outrageous, ridiculous",score:3,feedbackFormat:Qa},{identifier:"imbecile",nonInclusivePhrases:["imbecile"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless",score:3,feedbackFormat:Tl},{identifier:"specialNeeds",nonInclusivePhrases:["special needs"],inclusiveAlternatives:["functional needs, support needs","disabled, person with a disability"],score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s when referring to someone's needs, or %3$s when referring to a person."},{identifier:"hardOfHearing",nonInclusivePhrases:["hard-of-hearing"],inclusiveAlternatives:"hard of hearing, partially deaf, has partial hearing loss",score:3,feedbackFormat:Qa},{identifier:"hearingImpaired",nonInclusivePhrases:["hearing impaired"],inclusiveAlternatives:"deaf or hard of hearing, partially deaf, has partial hearing loss",score:3,feedbackFormat:Qa},{identifier:"functioning",nonInclusivePhrases:["high functioning","low functioning"],inclusiveAlternatives:"describing the specific characteristic or experience",score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition.",rule:(e,t)=>ao(e,t).filter(io(e,t,["autism"]))},{identifier:"autismHigh",nonInclusivePhrases:["high functioning autism","high-functioning autism"],inclusiveAlternatives:"autism with high support needs or describing the specific characteristic or experience",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition."},{identifier:"autismLow",nonInclusivePhrases:["low functioning autism","low-functioning autism"],inclusiveAlternatives:"autism with low support needs or describing the specific characteristic or experience",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition."},{identifier:"lame",nonInclusivePhrases:["lame"],inclusiveAlternatives:"boring, lousy, unimpressive, sad, corny",score:3,feedbackFormat:Qa},{identifier:"lamer",nonInclusivePhrases:["lamer"],inclusiveAlternatives:"more boring, lousier, more unimpressive, sadder, cornier",score:3,feedbackFormat:Qa},{identifier:"lamest",nonInclusivePhrases:["lamest"],inclusiveAlternatives:"most boring, lousiest, most unimpressive, saddest, corniest",score:3,feedbackFormat:Qa},{identifier:"commitSuicide",nonInclusivePhrases:["commit suicide"],inclusiveAlternatives:"take one's life, die by suicide, kill oneself",score:3,feedbackFormat:Qa},{identifier:"committingSuicide",nonInclusivePhrases:["committing suicide"],inclusiveAlternatives:"taking one's life, dying by suicide, killing oneself",score:3,feedbackFormat:Qa},{identifier:"commitsSuicide",nonInclusivePhrases:["commits suicide"],inclusiveAlternatives:"takes one's life, dies by suicide, kills oneself",score:3,feedbackFormat:Qa},{identifier:"committedSuicide",nonInclusivePhrases:["committed suicide"],inclusiveAlternatives:"took one's life, died by suicide, killed themself",score:3,feedbackFormat:Qa},{identifier:"handicapParking",nonInclusivePhrases:["handicap parking"],inclusiveAlternatives:"accessible parking",score:3,feedbackFormat:Qa},{identifier:"fellOnDeafEars",nonInclusivePhrases:["fell on deaf ears"],inclusiveAlternatives:"was not addressed, was ignored, was disregarded",score:3,feedbackFormat:Qa},{identifier:"turnOnBlindEye",nonInclusivePhrases:["turn a blind eye"],inclusiveAlternatives:"ignore, pretend not to notice",score:3,feedbackFormat:Qa},{identifier:"blindLeadingBlind",nonInclusivePhrases:["the blind leading the blind"],inclusiveAlternatives:"ignorant, misguided, incompetent, unqualified, insensitive, unaware",score:3,feedbackFormat:Qa},{identifier:"handicapBathroom",nonInclusivePhrases:["handicap bathroom","handicap bathrooms"],inclusiveAlternatives:"accessible bathroom(s)",score:3,feedbackFormat:Qa},{identifier:"handicapToilet",nonInclusivePhrases:["handicap toilet","handicap toilets"],inclusiveAlternatives:"accessible toilet(s)",score:3,feedbackFormat:Qa},{identifier:"handicapStall",nonInclusivePhrases:["handicap stall","handicap stalls"],inclusiveAlternatives:"accessible stall(s)",score:3,feedbackFormat:Qa},{identifier:"stupid",nonInclusivePhrases:["stupid"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless"],score:3,feedbackFormat:Qa},{identifier:"dumb",nonInclusivePhrases:["dumb","dumber","dumbest"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless"],score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(ro(e,["deaf and"]))},{identifier:"deaf",nonInclusivePhrases:["deaf-mute","deaf and dumb"],inclusiveAlternatives:"deaf",score:3,feedbackFormat:Qa},{identifier:"addict",nonInclusivePhrases:["addict"],inclusiveAlternatives:"person with a (drug, alcohol, ...) addiction, person with substance abuse disorder",score:6,feedbackFormat:Ja},{identifier:"addicts",nonInclusivePhrases:["addicts"],inclusiveAlternatives:"people with a (drug, alcohol, ...) addiction, people with substance abuse disorder",score:6,feedbackFormat:Ja},{identifier:"brainDamaged",nonInclusivePhrases:["brain-damaged"],inclusiveAlternatives:"person with a (traumatic) brain injury",score:6,feedbackFormat:Ja},{identifier:"differentlyAbled",nonInclusivePhrases:["differently abled","differently-abled"],inclusiveAlternatives:"disabled, person with a disability",score:6,feedbackFormat:Ja},{identifier:"epilepticFit",nonInclusivePhrases:["epileptic fit"],inclusiveAlternatives:"epileptic seizure",score:3,feedbackFormat:Qa},{identifier:"epilepticFits",nonInclusivePhrases:["epileptic fits"],inclusiveAlternatives:"epileptic seizures",score:3,feedbackFormat:Qa},{identifier:"sanityCheck",nonInclusivePhrases:["sanity check"],inclusiveAlternatives:"final check, confidence check, rationality check, soundness check",score:3,feedbackFormat:Qa},{identifier:"to be not crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to be not impressed by, to be not enthusiastic about, to be not into, to not like",score:3,feedbackFormat:vl,rule:(e,t)=>ao(e,t).filter(no(e,ul))},{identifier:"to be crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to love, to be obsessed with, to be infatuated with",score:3,feedbackFormat:vl,rule:(e,t)=>ao(e,t).filter(no(e,ll))},{identifier:"crazy in love",nonInclusivePhrases:["crazy in love"],inclusiveAlternatives:"wildly in love, head over heels, infatuated",score:3,feedbackFormat:vl},{identifier:"to go crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"to go wild, to go out of control, to go up the wall, to be aggravated, to get confused",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(no(e,pl))},{identifier:"to drive crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"to drive one to their limit, to get on one's last nerve, to make one livid, to aggravate, to make one's blood boil, to exasperate, to get into one's head",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(no(e,dl))},{identifier:"crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(ro(e,gl)).filter(io(e,t,fl)).filter(function(e,t,r,n){return s=>!function(e,t,r,n){return s=>so(e,t,n)(s)&&no(e,r)(s)}(e,t,r,n)(s)}(e,t,ml,_l))},{identifier:"crazier",nonInclusivePhrases:["crazier"],inclusiveAlternatives:"more wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:Qa},{identifier:"craziest",nonInclusivePhrases:["craziest"],inclusiveAlternatives:"most wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:Qa},{identifier:"psychopathic",nonInclusivePhrases:["psychopath","psychopaths","psychopathic"],inclusiveAlternatives:"toxic, manipulative, unpredictable, impulsive, reckless, out of control",score:3,feedbackFormat:Qa},{identifier:"schizophrenic",nonInclusivePhrases:["schizophrenic","bipolar"],inclusiveAlternatives:"of two minds, chaotic, confusing",score:6,feedbackFormat:El},{identifier:"paranoid",nonInclusivePhrases:["paranoid"],inclusiveAlternatives:"overly suspicious, unreasonable, defensive",score:6,feedbackFormat:El},{identifier:"manic",nonInclusivePhrases:["manic"],inclusiveAlternatives:"excited, raving, unbalanced, wild",score:6,feedbackFormat:El},{identifier:"hysterical",nonInclusivePhrases:["hysterical"],inclusiveAlternatives:"intense, vehement, piercing, chaotic",score:3,feedbackFormat:Qa},{identifier:"psycho",nonInclusivePhrases:["psycho","psychos"],inclusiveAlternatives:"toxic, distraught, unpredictable, reckless, out of control",score:3,feedbackFormat:Qa},{identifier:"neurotic",nonInclusivePhrases:["neurotic","lunatic"],inclusiveAlternatives:"distraught, unstable, startling, confusing, baffling",score:3,feedbackFormat:Qa},{identifier:"sociopath",nonInclusivePhrases:["sociopath"],inclusiveAlternatives:["person with antisocial personality disorder","toxic, manipulative, cruel"],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead, unless referring to someone who explicitly wants to be referred to with this term. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"sociopaths",nonInclusivePhrases:["sociopaths"],inclusiveAlternatives:["people with antisocial personality disorder","toxic, manipulative, cruel"],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead, unless referring to someone who explicitly wants to be referred to with this term. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"narcissistic",nonInclusivePhrases:["narcissistic"],inclusiveAlternatives:["person with narcissistic personality disorder","selfish, egotistical, self-centered, self-absorbed, vain, toxic, manipulative"],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"OCD",nonInclusivePhrases:["ocd"],inclusiveAlternatives:"pedantic, obsessed, perfectionist",score:6,feedbackFormat:[Object(_.sprintf)(El,"OCD","%2$s"),"If you are referring to someone who has the medical condition, then state that they have OCD rather than that they are OCD."].join(" "),rule:(e,t)=>ao(e,t).filter(no(e,hl))},{identifier:"theMentallyIll",nonInclusivePhrases:["the mentally ill"],inclusiveAlternatives:"people who are mentally ill, mentally ill people",score:3,feedbackFormat:["Avoid using %1$s as it is generalizing. Consider using an alternative, such as %2$s instead."].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"theDisabled",nonInclusivePhrases:["the disabled"],inclusiveAlternatives:"people who have a disability, disabled people",score:3,feedbackFormat:[Qa].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];bl.forEach(e=>{e.category="disability",e.learnMoreUrl="https://yoa.st/inclusive-language-disability"});var yl=bl;const Al="Avoid using %1$s as it is exclusionary. Consider using an alternative, such as %2$s.",Ol="Be careful when using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",Cl="Avoid using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",wl="Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of %1$s, use an alternative, such as %2$s.",Sl="Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of men, use an alternative, such as %2$s.",kl="Avoid using %1$s as it is derogatory.",Nl=[{identifier:"firemen",nonInclusivePhrases:["firemen"],inclusiveAlternatives:"firefighters",score:6,feedbackFormat:Sl},{identifier:"policemen",nonInclusivePhrases:["policemen"],inclusiveAlternatives:"police officers",score:6,feedbackFormat:Sl},{identifier:"menAndWomen",nonInclusivePhrases:["men and women","women and men"],inclusiveAlternatives:"people, people of all genders, individuals, human beings",score:6,feedbackFormat:wl},{identifier:"boysAndGirls",nonInclusivePhrases:["boys and girls","girls and boys"],inclusiveAlternatives:"kids, children",score:6,feedbackFormat:wl},{identifier:"heOrShe",nonInclusivePhrases:["he/she","he or she","she or he","(s)he"],inclusiveAlternatives:"they",score:6,feedbackFormat:Ol},{identifier:"birthSex",nonInclusivePhrases:["birth sex","natal sex"],inclusiveAlternatives:"assigned sex, assigned sex at birth",score:3,feedbackFormat:Qa},{identifier:"mankind",nonInclusivePhrases:["mankind"],inclusiveAlternatives:"individuals, people, persons, human beings, humanity",score:3,feedbackFormat:Al},{identifier:"preferredPronouns",nonInclusivePhrases:["preferred pronouns"],inclusiveAlternatives:"pronouns",score:6,feedbackFormat:[Xa.slice(0,-1),", unless referring to someone who explicitly wants to use this term to describe their own pronouns."].join("")},{identifier:"oppositeGender",nonInclusivePhrases:["opposite gender"],inclusiveAlternatives:"another gender",score:3,feedbackFormat:Al},{identifier:"oppositeSex",nonInclusivePhrases:["opposite sex"],inclusiveAlternatives:"another sex",score:3,feedbackFormat:Al},{identifier:"femaleBodied",nonInclusivePhrases:["female-bodied"],inclusiveAlternatives:"assigned female at birth",score:3,feedbackFormat:Cl.slice(0,-1)+" if you are discussing a person based on their sex or assigned gender at birth. If talking about human anatomy, use the specific anatomical phrase as opposed to %1$s."},{identifier:"maleBodied",nonInclusivePhrases:["male-bodied"],inclusiveAlternatives:"assigned male at birth",score:3,feedbackFormat:Cl.slice(0,-1)+" if you are discussing a person based on their sex or assigned gender at birth. If talking about human anatomy, use the specific anatomical phrase as opposed to %1$s."},{identifier:"hermaphrodite",nonInclusivePhrases:["hermaphrodite"],inclusiveAlternatives:"intersex",score:3,feedbackFormat:Qa},{identifier:"hermaphrodites",nonInclusivePhrases:["hermaphrodites"],inclusiveAlternatives:"intersex people",score:3,feedbackFormat:Qa},{identifier:"bothGenders",nonInclusivePhrases:["both genders"],inclusiveAlternatives:"people, folks, human beings, all genders",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of two genders, use an alternative, such as %2$s."},{identifier:"ladiesAndGentleman",nonInclusivePhrases:["ladies and gentlemen"],inclusiveAlternatives:"everyone, folks, honored guests",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of men and women, use an alternative, such as %2$s."},{identifier:"husbandAndWife",nonInclusivePhrases:["husband and wife","husbands and wives"],inclusiveAlternatives:"spouses, partners",score:6,feedbackFormat:Ol.slice(0,-1)+", unless referring to someone who explicitly wants to be referred to with this term."},{identifier:"mothersAndFathers",nonInclusivePhrases:["mothers and fathers","fathers and mothers"],inclusiveAlternatives:"parents",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of people who use this term, use an alternative, such as %2$s."},{identifier:"manHours",nonInclusivePhrases:["man-hours"],inclusiveAlternatives:"person-hours, business hours",score:3,feedbackFormat:Al},{identifier:"preferredName",nonInclusivePhrases:["preferred name"],inclusiveAlternatives:"name, affirming name",score:6,feedbackFormat:[Xa.slice(0,-1),", unless referring to someone who explicitly wants to use this term to describe their own name."].join("")},{identifier:"transgenders",nonInclusivePhrases:["transgenders"],inclusiveAlternatives:"trans people, transgender people",score:3,feedbackFormat:[kl,Ya].join(" ")},{identifier:"transsexual",nonInclusivePhrases:["transsexual"],inclusiveAlternatives:"transgender",score:6,feedbackFormat:Ja},{identifier:"transsexuals",nonInclusivePhrases:["transsexuals"],inclusiveAlternatives:"trans people, transgender people",score:6,feedbackFormat:Ja},{identifier:"transWoman",nonInclusivePhrases:["transwoman"],inclusiveAlternatives:"trans woman, transgender woman",score:6,feedbackFormat:Ja},{identifier:"transWomen",nonInclusivePhrases:["transwomen"],inclusiveAlternatives:"trans women, transgender women",score:6,feedbackFormat:Ja},{identifier:"transMan",nonInclusivePhrases:["transman"],inclusiveAlternatives:"trans man, transgender man",score:6,feedbackFormat:Ja},{identifier:"transMen",nonInclusivePhrases:["transmen"],inclusiveAlternatives:"trans men, transgender men",score:6,feedbackFormat:Ja},{identifier:"transgendered",nonInclusivePhrases:["transgendered"],inclusiveAlternatives:["transgender, trans","transitioned, went through a gender transition"],score:3,feedbackFormat:[Qa.slice(0,-1),"if referring to a person. If referring to a transition process, consider using an alternative such as %3$s."].join(" ")},{identifier:"maleToFemale",nonInclusivePhrases:["male-to-female","mtf"],inclusiveAlternatives:"trans woman, transgender woman",score:6,feedbackFormat:Ja},{identifier:"femaleToMale",nonInclusivePhrases:["female-to-male","ftm"],inclusiveAlternatives:"trans man, transgender man",score:6,feedbackFormat:Ja},{identifier:"heShe",nonInclusivePhrases:["he-she"],inclusiveAlternatives:"",score:3,feedbackFormat:kl},{identifier:"shemale",nonInclusivePhrases:["shemale","she-male"],inclusiveAlternatives:"",score:3,feedbackFormat:kl},{identifier:"manMade",nonInclusivePhrases:["man-made","manmade"],inclusiveAlternatives:"artificial, synthetic, machine-made",score:3,feedbackFormat:Al},{identifier:"toEachTheirOwn",nonInclusivePhrases:["to each his own"],inclusiveAlternatives:"to each their own",score:3,feedbackFormat:Al},{identifier:"manned",nonInclusivePhrases:["manned"],inclusiveAlternatives:"crewed",score:3,feedbackFormat:Al},{identifier:"aTransgender",nonInclusivePhrases:["a transgender","the transgender"],inclusiveAlternatives:"transgender person",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];Nl.forEach(e=>{e.category="gender",e.learnMoreUrl="https://yoa.st/inclusive-language-gender"});var Rl=Nl;const Il="Be careful when using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead, unless you are referring to the culture in which this term originated.",xl="Avoid using %1$s as it is overgeneralizing. Consider using %2$s instead. ",Dl=[{identifier:"firstWorld",nonInclusivePhrases:["First World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:xl,caseSensitive:!0,rule:(e,t)=>ao(e,t).filter(io(e,t,["War","war","Assembly","assembly"]))},{identifier:"thirdWorld",nonInclusivePhrases:["Third World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:xl,caseSensitive:!0,rule:(e,t)=>ao(e,t).filter(io(e,t,["War","war","Quarterly","quarterly","country"]))},{identifier:"tribe",nonInclusivePhrases:["tribe"],inclusiveAlternatives:"group, cohort, crew, league, guild, team, union",score:6,feedbackFormat:Il.slice(0,-42)+"a culture that uses this term."},{identifier:"tribes",nonInclusivePhrases:["tribes"],inclusiveAlternatives:"groups, cohorts, crews, leagues, guilds, teams, unions",score:6,feedbackFormat:Il.slice(0,-42)+"a culture that uses this term."},{identifier:"exotic",nonInclusivePhrases:["exotic"],inclusiveAlternatives:"unfamiliar, foreign, peculiar, fascinating, alluring, bizarre, non-native, introduced",score:6,feedbackFormat:Wa+" Unless you are referring to animals, consider using an alternative, such as %2$s.",rule:(e,t)=>ao(e,t).filter(io(e,t,["longhair","longhairs","shorthair","shorthairs"]))},{identifier:"sherpa",nonInclusivePhrases:["sherpa"],inclusiveAlternatives:"commander, coach, mastermind, coach, mentor",score:6,feedbackFormat:Il},{identifier:"guru",nonInclusivePhrases:["guru"],inclusiveAlternatives:"mentor, doyen, coach, mastermind, virtuoso, expert",score:6,feedbackFormat:Il},{identifier:"gurus",nonInclusivePhrases:["gurus"],inclusiveAlternatives:"mentors, doyens, coaches, masterminds, virtuosos, experts",score:6,feedbackFormat:Il},{identifier:"nonWhite",nonInclusivePhrases:["non-white"],inclusiveAlternatives:"people of color, POC, BIPOC or specifying the racial groups mentioned",score:3,feedbackFormat:Qa},{identifier:"oriental",nonInclusivePhrases:["oriental"],inclusiveAlternatives:"Asian. When possible, be more specific (e.g. East Asian)",score:6,feedbackFormat:Wa+" Unless you are referring to objects or animals, consider using an alternative, such as %2$s."},{identifier:"asianAmerican",nonInclusivePhrases:["Asian-American"],inclusiveAlternatives:"Asian American",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"asianAmericans",nonInclusivePhrases:["Asian-Americans"],inclusiveAlternatives:"Asian Americans",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"africanAmerican",nonInclusivePhrases:["African-American"],inclusiveAlternatives:"African American, Black, American of African descent",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"africanAmericans",nonInclusivePhrases:["African-Americans"],inclusiveAlternatives:"African Americans, Black, Americans of African descent",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"whiteRace",nonInclusivePhrases:["the White race"],inclusiveAlternatives:"",score:3,feedbackFormat:za,caseSensitive:!0},{identifier:"whitelist",nonInclusivePhrases:["whitelist"],inclusiveAlternatives:"allowlist",score:3,feedbackFormat:Qa},{identifier:"whitelists",nonInclusivePhrases:["whitelists"],inclusiveAlternatives:"allowlists",score:3,feedbackFormat:Qa},{identifier:"whitelisting",nonInclusivePhrases:["whitelisting"],inclusiveAlternatives:"allowlisting",score:3,feedbackFormat:Qa},{identifier:"whitelisted",nonInclusivePhrases:["whitelisted"],inclusiveAlternatives:"allowlisted",score:3,feedbackFormat:Qa},{identifier:"blacklist",nonInclusivePhrases:["blacklist"],inclusiveAlternatives:"blocklist, denylist, faillist, redlist",score:3,feedbackFormat:Qa},{identifier:"blacklists",nonInclusivePhrases:["blacklists"],inclusiveAlternatives:"blocklists, denylists, faillists, redlists",score:3,feedbackFormat:Qa},{identifier:"blacklisting",nonInclusivePhrases:["blacklisting"],inclusiveAlternatives:"blocklisting, denylisting, faillisting, redlisting",score:3,feedbackFormat:Qa},{identifier:"blacklisted",nonInclusivePhrases:["blacklisted"],inclusiveAlternatives:"blocklisted, denylisted, faillisted, redlisted",score:3,feedbackFormat:Qa},{identifier:"gyp",nonInclusivePhrases:["gyp"],inclusiveAlternatives:"fraud, cheat, swindle, rip-off",score:3,feedbackFormat:Qa},{identifier:"gyps",nonInclusivePhrases:["gyps"],inclusiveAlternatives:"frauds, cheats, swindles, rips off, rip-offs",score:3,feedbackFormat:Qa},{identifier:"gypped",nonInclusivePhrases:["gypped"],inclusiveAlternatives:"cheated, swindled, ripped off",score:3,feedbackFormat:Qa},{identifier:"gypping",nonInclusivePhrases:["gypping"],inclusiveAlternatives:"cheating, swindling, ripping off",score:3,feedbackFormat:Qa},{identifier:"gypsy",nonInclusivePhrases:["gypsy","gipsy"],inclusiveAlternatives:["Romani, Romani person","traveler, wanderer, free-spirited"],score:6,feedbackFormat:[Ja,"If you are referring to a lifestyle rather than the ethnic group or their music, consider using an alternative such as %3$s."].join(" ")},{identifier:"gypsies",nonInclusivePhrases:["gypsies","gipsies"],inclusiveAlternatives:["Romani, Romani people","travelers, wanderers, free-spirited"],score:6,feedbackFormat:[Ja,"If you are referring to a lifestyle rather than the ethnic group or their music, consider using an alternative such as %3$s."].join(" ")},{identifier:"eskimo",nonInclusivePhrases:["eskimo","eskimos"],inclusiveAlternatives:"the specific name of the Indigenous community (for example, Inuit)",score:6,feedbackFormat:Ja},{identifier:"coloredPerson",nonInclusivePhrases:["colored person"],inclusiveAlternatives:"person of color, POC, BIPOC",score:3,feedbackFormat:Qa},{identifier:"coloredPeople",nonInclusivePhrases:["colored people"],inclusiveAlternatives:"people of color, POC, BIPOC",score:3,feedbackFormat:Qa},{identifier:"americanIndians",nonInclusivePhrases:["American Indian","American Indians"],inclusiveAlternatives:"Native American(s), Indigenous peoples of America",score:6,feedbackFormat:Ja,caseSensitive:!0},{identifier:"mulatto",nonInclusivePhrases:["mulatto","mulattos","mulattoes"],inclusiveAlternatives:"mixed, biracial, multiracial",score:3,feedbackFormat:Qa},{identifier:"savage",nonInclusivePhrases:["savage"],inclusiveAlternatives:"severe, dreadful, untamed, brutal, fearless, fierce, brilliant, amazing",score:3,feedbackFormat:Qa},{identifier:"civilized",nonInclusivePhrases:["civilized"],inclusiveAlternatives:"proper, well-mannered, enlightened, respectful",score:3,feedbackFormat:Qa},{identifier:"primitive",nonInclusivePhrases:["primitive"],inclusiveAlternatives:"early, rudimentary",score:3,feedbackFormat:Qa},{identifier:"ebonics",nonInclusivePhrases:["Ebonics"],inclusiveAlternatives:"African American English, African American Language",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"powWow",nonInclusivePhrases:["pow-wow"],inclusiveAlternatives:"chat, brief conversation, brainstorm, huddle",score:6,feedbackFormat:Il},{identifier:"lowManOnTheTotemPole",nonInclusivePhrases:["low man on the totem pole"],inclusiveAlternatives:"person of lower rank, junior-level",score:3,feedbackFormat:Qa},{identifier:"spiritAnimal",nonInclusivePhrases:["spirit animal"],inclusiveAlternatives:"inspiration, hero, icon, idol",score:6,feedbackFormat:Il},{identifier:"firstWorldCountries",nonInclusivePhrases:["first world countries"],inclusiveAlternatives:"the specific name for the countries or regions",score:3,feedbackFormat:xl},{identifier:"firstWorldHyphen",nonInclusivePhrases:["first-world"],inclusiveAlternatives:"the specific name for the country or region",score:3,feedbackFormat:xl},{identifier:"third-worldCountry",nonInclusivePhrases:["third-world country"],inclusiveAlternatives:"low-income country, developing country",score:3,feedbackFormat:Qa},{identifier:"third-worldCountry",nonInclusivePhrases:["third world country"],inclusiveAlternatives:"low-income country, developing country",score:3,feedbackFormat:Qa},{identifier:"underdevelopedCountry",nonInclusivePhrases:["underdeveloped country"],inclusiveAlternatives:"developing country",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead or be more specific about what aspect this word refers to."},{identifier:"underdevelopedCountries",nonInclusivePhrases:["underdeveloped countries"],inclusiveAlternatives:"developing countries",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead or be more specific about what aspect this word refers to."}];Dl.forEach(e=>{e.category="culture",e.learnMoreUrl="https://yoa.st/inclusive-language-culture"});var Ll=Dl;const Ml=[{identifier:"illegalImmigrant",nonInclusivePhrases:["illegal immigrant","illegal alien"],inclusiveAlternatives:"undocumented person, person without papers, immigrant without papers",score:3,feedbackFormat:Qa},{identifier:"illegalImmigrants",nonInclusivePhrases:["illegal immigrants","illegal aliens"],inclusiveAlternatives:"undocumented people, people without papers, immigrants without papers",score:3,feedbackFormat:Qa},{identifier:"povertyStricken",nonInclusivePhrases:["poverty stricken"],inclusiveAlternatives:"people whose income is below the poverty threshold, people with low-income",score:3,feedbackFormat:Qa},{identifier:"welfareReliant",nonInclusivePhrases:["welfare reliant"],inclusiveAlternatives:"receiving welfare",score:3,feedbackFormat:Qa},{identifier:"prostitute",nonInclusivePhrases:["prostitute"],inclusiveAlternatives:"sex worker",score:6,feedbackFormat:Ja},{identifier:"prostitutes",nonInclusivePhrases:["prostitutes"],inclusiveAlternatives:"sex workers",score:6,feedbackFormat:Ja},{identifier:"ex-con",nonInclusivePhrases:["ex-con"],inclusiveAlternatives:"person who has had felony convictions, person who has been incarcerated",score:3,feedbackFormat:Qa},{identifier:"ex-cons",nonInclusivePhrases:["ex-cons"],inclusiveAlternatives:"people who have had felony convictions, people who have been incarcerated",score:3,feedbackFormat:Qa},{identifier:"felon",nonInclusivePhrases:["felon"],inclusiveAlternatives:"person with felony convictions, person who has been incarcerated",score:6,feedbackFormat:Xa},{identifier:"felons",nonInclusivePhrases:["felons"],inclusiveAlternatives:"people with felony convictions, people who have been incarcerated",score:6,feedbackFormat:Xa},{identifier:"ex-offender",nonInclusivePhrases:["ex-offender"],inclusiveAlternatives:"formerly incarcerated person",score:3,feedbackFormat:Qa},{identifier:"ex-offenders",nonInclusivePhrases:["ex-offenders"],inclusiveAlternatives:"formerly incarcerated people",score:3,feedbackFormat:Qa},{identifier:"theHomeless",nonInclusivePhrases:["the homeless"],inclusiveAlternatives:"people experiencing homelessness ",score:3,feedbackFormat:"Avoid using %1$s as it is generalizing. Consider using %2$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"theUndocumented",nonInclusivePhrases:["the undocumented"],inclusiveAlternatives:"people who are undocumented, undocumented people, people without papers ",score:3,feedbackFormat:"Avoid using %1$s as it is potentially overgeneralizing. Consider using %2$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"thePoor",nonInclusivePhrases:["the poor"],inclusiveAlternatives:["people whose income is below the poverty threshold","people with low-income"],score:3,feedbackFormat:"Avoid using %1$s as it is potentially overgeneralizing. Consider using %2$s or %3$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];Ml.forEach(e=>{e.category="ses",e.learnMoreUrl="https://yoa.st/inclusive-language-ses"});var Pl=Ml;const Fl=[{identifier:"minorities",nonInclusivePhrases:["minorities"],inclusiveAlternatives:["marginalized groups","underrepresented groups","gender and sexuality minorities"],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially overgeneralizing. Consider using an alternative, such as %2$s, %3$s or specific minorities, such as %4$s."},{identifier:"normal",nonInclusivePhrases:["normal person","normal people","normal behaviour","normal behavior","mentally normal","behaviorally normal","behaviourally normal","psychologically normal"],inclusiveAlternatives:["typical"],score:3,feedbackFormat:"Avoid using normal as it is potentially harmful. Consider using an alternative, such as %2$s or a specific characteristic or experience if it is known."},{identifier:"abnormal",nonInclusivePhrases:["abnormal person","abnormal people","abnormal behaviour","abnormal behavior","mentally abnormal","behaviorally abnormal","behaviourally abnormal","psychologically abnormal"],inclusiveAlternatives:["atypical"],score:3,feedbackFormat:"Avoid using abnormal as it is potentially harmful. Consider using an alternative, such as %2$s or a specific characteristic or experience if it is known."}];Fl.forEach(e=>{e.category="other",e.learnMoreUrl="https://yoa.st/inclusive-language-other"});var jl=Fl;const Bl=[{identifier:"homosexuals",nonInclusivePhrases:["homosexuals"],inclusiveAlternatives:"gay men, queer people, lesbians",score:6,feedbackFormat:"Be careful when using %1$s as it may overgeneralize or be harmful. Instead, be specific about the group you are referring to (e.g. %2$s)."}];Bl.forEach(e=>{e.category="sexualOrientation",e.learnMoreUrl="https://yoa.st/inclusive-language-orientation"});var Ul=[...tl,...nl,...yl,...Rl,...Ll,...Pl,...jl,...Bl];class Hl{constructor(e){let{identifier:t,nonInclusivePhrases:r,inclusiveAlternatives:n,score:s,feedbackFormat:i,learnMoreUrl:a,rule:o,caseSensitive:l,category:c}=e;this.identifier=t,this.nonInclusivePhrases=r,this.inclusiveAlternatives=n,Object(T.isString)(this.inclusiveAlternatives)&&(this.inclusiveAlternatives=[this.inclusiveAlternatives]),this.score=s,this.feedbackFormat=i,this.learnMoreUrl=Object(Ei.b)(a),this.rule=o||ao,this.caseSensitive=l||!1,this.category=c}isApplicable(e,t){const r=t.getResearch("sentences"),n=e.getTextTitle();return r.push(n),this.foundPhrases=[],r.forEach(e=>{let t=It(e,!1);this.caseSensitive||(t=t.map(e=>e.toLocaleLowerCase()));const r=this.nonInclusivePhrases.find(e=>this.rule(t,It(e,!1)).length>=1);r&&this.foundPhrases.push({sentence:e,phrase:r})}),this.foundPhrases.length>=1}getResult(){const e=Object(_.sprintf)("%1$sLearn more.%2$s",this.learnMoreUrl,""),t=Object(_.sprintf)(this.feedbackFormat,this.foundPhrases[0].phrase,...this.inclusiveAlternatives),r=new yi({score:this.score,text:`${t} ${e}`});return r.setIdentifier(this.identifier),r.setHasMarks(!0),r}getMarks(){return this.foundPhrases?this.foundPhrases.map(e=>new us({original:e.sentence,marked:Ca(e.sentence)})):[]}}const $l={infoLinks:{}};var Kl=class extends fa{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,t),this.type="inclusiveLanguageAssessor",this._options=Object.assign({},$l,t);const r=this._options.infoLinks;this._assessments=Ul.map(e=>(r[e.category]&&(e.learnMoreUrl=r[e.category]),new Hl(e)))}calculateOverallScore(){const e=this.getValidResults(),t=e.filter(e=>6===e.getScore());return e.filter(e=>3===e.getScore()).length>=1?30:t.length>=1?60:90}};const ql=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};fa.call(this,e,t),this.type="cornerstoneContentAssessor",this._assessments=[new Ia({parameters:{slightlyTooMany:250,farTooMany:300,recommendedMaximumLength:250},applicableIfTextLongerThan:250,cornerstoneContent:!0}),new Na,new Ra({slightlyTooMany:20,farTooMany:25},!0),new xa,new Da,new Ma,new La]};r(18).inherits(ql,ja);var Gl=ql;const zl=function(e,t){fa.call(this,e,t),this.type="cornerstoneRelatedKeywordAssessor",this._assessments=[new Ai,new Si({isRelatedKeyphrase:!0}),new Ri,new Ii,new Pi,new Oa,new Ea({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}})]};Object(v.inherits)(zl,fa);var Wl=zl;const Yl=function(e,t){fa.call(this,e,t),this.type="cornerstoneSEOAssessor",this._assessments=[new Ai,new Si,new Ri,new Ii,new _a({scores:{tooLong:3,tooShort:3}}),new Ta,new Pi,new Ea({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}}),new va,new ba({recommendedMinimum:900,slightlyBelowMinimum:400,belowMinimum:300,scores:{belowMinimum:-20,farBelowMinimum:-20},cornerstoneContent:!0}),new ya({scores:{noLinks:3}}),new ji,new Fi,new Aa({scores:{widthTooShort:9}},!0),new Ui({scores:{okay:3}}),new Oa,new wa]};Object(v.inherits)(Yl,ka);var Vl=Yl;function Ql(e,t){for(let r=0;r3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"analyze";if(!Object(T.isNumber)(e))throw new Error("Task.id should be a number.");if(!Object(T.isFunction)(t))throw new Error("Task.execute should be a function.");if(!Object(T.isFunction)(r))throw new Error("Task.done should be a function.");if(!Object(T.isObject)(n))throw new Error("Task.data should be an object.");this.id=e,this.execute=t,this.done=r,this.data=n,this.type=s}}const ec={pollTime:50};const tc={AssessmentResult:yi,Mark:us,Paper:Ka,Sentence:Nn,Clause:li,ProminentWord:Ln};var rc=function e(t){if(Object(T.isArray)(t))return t.map(e);const r=Object(T.isObject)(t);return r&&t._parseClass&&tc[t._parseClass]?"Sentence"===t._parseClass||"Clause"===t._parseClass?tc[t._parseClass].prototype.parse(t):tc[t._parseClass].parse(t):r?Object(T.mapValues)(t,t=>e(t)):t},nc=function e(t){if(Object(T.isArray)(t))return t.map(e);const r=Object(T.isObject)(t);return r&&t.serialize?t.serialize():r?Object(T.mapValues)(t,t=>e(t)):t},sc=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"%%";r=Object(T.escapeRegExp)(r);const n=new RegExp(`${r}(.+?)${r}`,"g");let s,i=e;for(;null!==(s=n.exec(e));){const e=s[1],n=new RegExp(`${r}${Object(T.escapeRegExp)(e)}${r}`,"g");e in t&&(i=i.replace(n,t[e]))}return i};const ic=function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";r&&(n=sc(n,r));let s=n?[n]:[];return t.name&&t.message&&(t.stack&&e.debug(t.stack),s.push(`${t.name}: ${t.message}`)),s=s.join("\n\t"),e.error(s),s};function ac(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return async function(){try{return await t(...arguments)}catch(t){return{error:ic(e,t,arguments.length<=1?void 0:arguments[1],r)}}}}var oc=class{aggregate(e){console.warn("'aggregate' must be implemented by a child class of 'ScoreAggregator'")}};const lc={bad:3,ok:2,good:0},cc={bad:4,ok:2,good:0},uc=["en","nl","de","it","ru","fr","es"];var hc=class extends oc{isFullySupported(e){if(e&&e.includes("_")){const t=A(e);return uc.includes(t)}return!1}calculateScore(e,t){if(e){if(t>6)return 30;if(t>4)return 60}else{if(t>4)return 30;if(t>2)return 60}return 90}calculatePenalty(e){return e.reduce((e,t)=>{const r=Pa(t.getScore()),n=this.isFullySupported(this.locale)?lc[r]:cc[r];return n?e+n:e},0)}getValidResults(e){return e.filter(e=>e.hasScore()&&e.hasText())}setLocale(e){this.locale=e}aggregate(e){const t=this.getValidResults(e);if(t.length<=1)return 0;const r=this.calculatePenalty(t),n=this.isFullySupported(this.locale);return this.calculateScore(n,r)}},dc=class extends oc{aggregate(e){const t=e.reduce((e,t)=>e+t.getScore(),0);return Math.round(100*t/(9*e.length))||0}};const pc=Object(E.getLogger)("yoast-analysis-worker");pc.setDefaultLevel("error");class gc{constructor(e,t){this._scope=e,this._configuration={contentAnalysisActive:!0,keywordAnalysisActive:!0,inclusiveLanguageAnalysisActive:!1,useCornerstone:!1,useTaxonomy:!1,locale:"en_US",customAnalysisType:""},this._scheduler=new class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._configuration=Object(T.merge)(ec,e),this._tasks={standard:[],extensions:[],analyze:[],analyzeRelatedKeywords:[]},this._pollHandle=null,this._started=!1,this.startPolling=this.startPolling.bind(this),this.stopPolling=this.stopPolling.bind(this),this.tick=this.tick.bind(this)}startPolling(){this._started||(this._started=!0,this.tick())}tick(){this.executeNextTask().then(()=>{this._pollHandle=setTimeout(this.tick,this._configuration.pollTime)})}stopPolling(){clearTimeout(this._pollHandle),this._pollHandle=null,this._started=!1}schedule(e){let{id:t,execute:r,done:n,data:s,type:i}=e;const a=new Zl(t,r,n,s,i);switch(i){case"customMessage":case"loadScript":this._tasks.extensions.push(a);break;case"analyze":this._tasks.analyze=[a];break;case"analyzeRelatedKeywords":this._tasks.analyzeRelatedKeywords=[a];break;default:this._tasks.standard.push(a)}}getNextTask(){return this._tasks.extensions.length>0?this._tasks.extensions.shift():this._tasks.analyze.length>0?this._tasks.analyze.shift():this._tasks.analyzeRelatedKeywords.length>0?this._tasks.analyzeRelatedKeywords.shift():this._tasks.standard.length>0?this._tasks.standard.shift():null}executeNextTask(){const e=this.getNextTask();return null===e?Promise.resolve(null):Promise.resolve().then(()=>e.execute(e.id,e.data)).then(t=>(e.done(e.id,t),t))}},this._paper=null,this._relatedKeywords={},this._researcher=t,this._contentAssessor=null,this._seoAssessor=null,this._relatedKeywordAssessor=null,this.additionalAssessors={},this._inclusiveLanguageOptions={},this._results={readability:{results:[],score:0},seo:{"":{results:[],score:0}},inclusiveLanguage:{results:[],score:0}},this._registeredAssessments=[],this._registeredMessageHandlers={},this._registeredParsers=[],this.setupTreeAnalysis(),this.bindActions(),this.assessRelatedKeywords=this.assessRelatedKeywords.bind(this),this.registerAssessment=this.registerAssessment.bind(this),this.registerMessageHandler=this.registerMessageHandler.bind(this),this.refreshAssessment=this.refreshAssessment.bind(this),this.setCustomContentAssessorClass=this.setCustomContentAssessorClass.bind(this),this.setCustomCornerstoneContentAssessorClass=this.setCustomCornerstoneContentAssessorClass.bind(this),this.setCustomSEOAssessorClass=this.setCustomSEOAssessorClass.bind(this),this.setCustomCornerstoneSEOAssessorClass=this.setCustomCornerstoneSEOAssessorClass.bind(this),this.setCustomRelatedKeywordAssessorClass=this.setCustomRelatedKeywordAssessorClass.bind(this),this.setCustomCornerstoneRelatedKeywordAssessorClass=this.setCustomCornerstoneRelatedKeywordAssessorClass.bind(this),this.registerAssessor=this.registerAssessor.bind(this),this.registerResearch=this.registerResearch.bind(this),this.registerHelper=this.registerHelper.bind(this),this.registerResearcherConfig=this.registerResearcherConfig.bind(this),this.setInclusiveLanguageOptions=this.setInclusiveLanguageOptions.bind(this),this.handleMessage=this.handleMessage.bind(this),this.analyzeRelatedKeywords=ac(pc,this.analyze,"An error occurred while running the related keywords analysis."),this.analyze=ac(pc,this.analyze,"An error occurred while running the analysis."),this.runResearch=ac(pc,this.runResearch,"An error occurred after running the '%%name%%' research.")}bindActions(){this.analyze=this.analyze.bind(this),this.analyzeDone=this.analyzeDone.bind(this),this.analyzeRelatedKeywordsDone=this.analyzeRelatedKeywordsDone.bind(this),this.loadScript=this.loadScript.bind(this),this.loadScriptDone=this.loadScriptDone.bind(this),this.customMessage=this.customMessage.bind(this),this.customMessageDone=this.customMessageDone.bind(this),this.clearCache=this.clearCache.bind(this),this.runResearch=this.runResearch.bind(this),this.runResearchDone=this.runResearchDone.bind(this)}setCustomContentAssessorClass(e,t,r){this._CustomContentAssessorClasses[t]=e,this._CustomContentAssessorOptions[t]=r,this._contentAssessor=this.createContentAssessor()}setCustomCornerstoneContentAssessorClass(e,t,r){this._CustomCornerstoneContentAssessorClasses[t]=e,this._CustomCornerstoneContentAssessorOptions[t]=r,this._contentAssessor=this.createContentAssessor()}setCustomSEOAssessorClass(e,t,r){this._CustomSEOAssessorClasses[t]=e,this._CustomSEOAssessorOptions[t]=r,this._seoAssessor=this.createSEOAssessor()}setCustomCornerstoneSEOAssessorClass(e,t,r){this._CustomCornerstoneSEOAssessorClasses[t]=e,this._CustomCornerstoneSEOAssessorOptions[t]=r,this._seoAssessor=this.createSEOAssessor()}setCustomRelatedKeywordAssessorClass(e,t,r){this._CustomRelatedKeywordAssessorClasses[t]=e,this._CustomRelatedKeywordAssessorOptions[t]=r,this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()}setCustomCornerstoneRelatedKeywordAssessorClass(e,t,r){this._CustomCornerstoneRelatedKeywordAssessorClasses[t]=e,this._CustomCornerstoneRelatedKeywordAssessorOptions[t]=r,this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()}setInclusiveLanguageOptions(e){this._inclusiveLanguageOptions=e}setupTreeAnalysis(){this._treeResearcher=null,this._contentTreeAssessor=null,this._seoTreeAssessor=null,this._relatedKeywordTreeAssessor=null,this._CustomSEOAssessorClasses={},this._CustomCornerstoneSEOAssessorClasses={},this._CustomContentAssessorClasses={},this._CustomCornerstoneContentAssessorClasses={},this._CustomRelatedKeywordAssessorClasses={},this._CustomCornerstoneRelatedKeywordAssessorClasses={},this._CustomSEOAssessorOptions={},this._CustomCornerstoneSEOAssessorOptions={},this._CustomContentAssessorOptions={},this._CustomCornerstoneContentAssessorOptions={},this._CustomRelatedKeywordAssessorOptions={},this._CustomCornerstoneRelatedKeywordAssessorOptions={},this._registeredTreeAssessments=[],this._seoScoreAggregator=new dc,this._contentScoreAggregator=new hc,this._tree=null,this._treeBuilder=null}register(){this._scope.onmessage=this.handleMessage,this._scope.analysisWorker=this}handleMessage(e){let{data:{type:t,id:r,payload:n}}=e;switch(n=rc(n),pc.debug("AnalysisWebWorker incoming:",t,r,n),t){case"initialize":this.initialize(r,n),this._scheduler.startPolling();break;case"analyze":this._scheduler.schedule({id:r,execute:this.analyze,done:this.analyzeDone,data:n,type:t});break;case"analyzeRelatedKeywords":this._scheduler.schedule({id:r,execute:this.analyzeRelatedKeywords,done:this.analyzeRelatedKeywordsDone,data:n,type:t});break;case"loadScript":this._scheduler.schedule({id:r,execute:this.loadScript,done:this.loadScriptDone,data:n,type:t});break;case"runResearch":this._scheduler.schedule({id:r,execute:this.runResearch,done:this.runResearchDone,data:n});break;case"customMessage":{const e=n.name;if(e&&this._registeredMessageHandlers[e]){this._scheduler.schedule({id:r,execute:this.customMessage,done:this.customMessageDone,data:n,type:t});break}this.customMessageDone(r,{error:new Error("No message handler registered for messages with name: "+e)});break}default:console.warn("AnalysisWebWorker unrecognized action:",t)}}createContentAssessor(){const{contentAnalysisActive:e,useCornerstone:t,customAnalysisType:r}=this._configuration;if(!1===e)return null;let n;return!0===t?(n=this._CustomCornerstoneContentAssessorClasses[r]?new this._CustomCornerstoneContentAssessorClasses[r](this._researcher,this._CustomCornerstoneContentAssessorOptions[r]):new Gl(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:s}=e;Object(T.isUndefined)(n.getAssessment(t))&&"cornerstoneReadability"===s&&n.addAssessment(t,r)})):(n=this._CustomContentAssessorClasses[r]?new this._CustomContentAssessorClasses[r](this._researcher,this._CustomContentAssessorOptions[r]):new ja(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:s}=e;Object(T.isUndefined)(n.getAssessment(t))&&"readability"===s&&n.addAssessment(t,r)})),n}createSEOAssessor(){const{keywordAnalysisActive:e,useCornerstone:t,useTaxonomy:r,customAnalysisType:n}=this._configuration;if(!1===e)return null;let s;return s=!0===r?new Ua(this._researcher):!0===t?this._CustomCornerstoneSEOAssessorClasses[n]?new this._CustomCornerstoneSEOAssessorClasses[n](this._researcher,this._CustomCornerstoneSEOAssessorOptions[n]):new Vl(this._researcher):this._CustomSEOAssessorClasses[n]?new this._CustomSEOAssessorClasses[n](this._researcher,this._CustomSEOAssessorOptions[n]):new ka(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:n}=e;Object(T.isUndefined)(s.getAssessment(t))&&"seo"===n&&s.addAssessment(t,r)}),s}createInclusiveLanguageAssessor(){const{inclusiveLanguageAnalysisActive:e}=this._configuration;return!1===e?null:new Kl(this._researcher,this._inclusiveLanguageOptions)}createRelatedKeywordsAssessor(){const{keywordAnalysisActive:e,useCornerstone:t,useTaxonomy:r,customAnalysisType:n}=this._configuration;if(!1===e)return null;let s;return s=!0===r?new Jl(this._researcher):!0===t?this._CustomCornerstoneRelatedKeywordAssessorClasses[n]?new this._CustomCornerstoneRelatedKeywordAssessorClasses[n](this._researcher,this._CustomCornerstoneRelatedKeywordAssessorOptions[n]):new Wl(this._researcher):this._CustomRelatedKeywordAssessorClasses[n]?new this._CustomRelatedKeywordAssessorClasses[n](this._researcher,this._CustomRelatedKeywordAssessorOptions[n]):new Ga(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:n}=e;Object(T.isUndefined)(s.getAssessment(t))&&"relatedKeyphrase"===n&&s.addAssessment(t,r)}),s}send(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};pc.debug("AnalysisWebWorker outgoing:",e,t,r),r=nc(r),this._scope.postMessage({type:e,id:t,payload:r})}static shouldAssessorsUpdate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const s=Object.keys(e);return{readability:Object(T.isNull)(t)||Ql(s,["contentAnalysisActive","useCornerstone","locale","translations","customAnalysisType"]),seo:Object(T.isNull)(r)||Ql(s,["keywordAnalysisActive","useCornerstone","useTaxonomy","locale","translations","researchData","customAnalysisType"]),inclusiveLanguage:Object(T.isNull)(n)||Ql(s,["inclusiveLanguageAnalysisActive","locale","translations"])}}initialize(e,t){const r=gc.shouldAssessorsUpdate(t,this._contentAssessor,this._seoAssessor,this._inclusiveLanguageAssessor);Object(T.has)(t,"translations")&&Object.values(t.translations).forEach(e=>{if(e){const{domain:t,locale_data:r}=e;Object(_.setLocaleData)(r[t],t)}}),Object(T.has)(t,"researchData")&&(Object(T.forEach)(t.researchData,(e,t)=>{this._researcher.addResearchData(t,e)}),delete t.researchData),Object(T.has)(t,"defaultQueryParams")&&(Object(Ei.a)({params:t.defaultQueryParams}),delete t.defaultQueryParams),Object(T.has)(t,"logLevel")&&(pc.setLevel(t.logLevel,!1),delete t.logLevel),Object(T.has)(t,"enabledFeatures")&&(Object(m.enableFeatures)(t.enabledFeatures),delete t.enabledFeatures),this._configuration=Object(T.merge)(this._configuration,t),r.readability&&(this._contentAssessor=this.createContentAssessor(),this._contentTreeAssessor=null),r.seo&&(this._seoAssessor=this.createSEOAssessor(),this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()),r.inclusiveLanguage&&(this._inclusiveLanguageAssessor=this.createInclusiveLanguageAssessor()),this.clearCache(),this.send("initialize:done",e)}registerAssessor(e,t,r){const n=new t(this._researcher);this.additionalAssessors[e]={assessor:n,shouldUpdate:r}}registerAssessment(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"seo";const{useCornerstone:s}=this._configuration;if(!Object(T.isString)(e))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `assessment` to be a function.");if(!Object(T.isString)(r))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `pluginName` to be a string.");const i=r+"-"+e;return null!==this._seoAssessor&&"seo"===n&&this._seoAssessor.addAssessment(i,t),null!==this._contentAssessor&&"readability"===n&&this._contentAssessor.addAssessment(i,t),null!==this._contentAssessor&&"cornerstoneReadability"===n&&s&&this._contentAssessor.addAssessment(i,t),null!==this._relatedKeywordAssessor&&"relatedKeyphrase"===n&&this._relatedKeywordAssessor.addAssessment(i,t),this._registeredAssessments.push({combinedName:i,assessment:t,type:n}),this.refreshAssessment(e,r),!0}registerMessageHandler(e,t,r){if(!Object(T.isString)(e))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `handler` to be a function.");if(!Object(T.isString)(r))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `pluginName` to be a string.");e=r+"-"+e,this._registeredMessageHandlers[e]=t}refreshAssessment(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to refresh assessment for plugin "+t+". Expected parameter `name` to be a string.");if(!Object(T.isString)(t))throw new Dt("Failed to refresh assessment for plugin "+t+". Expected parameter `pluginName` to be a string.");this.clearCache()}registerParser(e){if("function"!=typeof e.isApplicable)throw new Dt("Failed to register the custom parser. Expected parameter 'parser' to have a method 'isApplicable'.");if("function"!=typeof e.parse)throw new Dt("Failed to register the custom parser. Expected parameter 'parser' to have a method 'parse'.");this._registeredParsers.push(e)}clearCache(){this._paper=null}setLocale(e){this._configuration.locale!==e&&(this._configuration.locale=e,this._contentAssessor=this.createContentAssessor())}shouldReadabilityUpdate(e){return null===this._paper||this._paper.getText()!==e.getText()||this._paper.getLocale()!==e.getLocale()}shouldInclusiveLanguageUpdate(e){return null===this._paper||this._paper.getText()!==e.getText()||this._paper.getTextTitle()!==e.getTextTitle()||this._paper.getLocale()!==e.getLocale()}updateInclusiveLanguageAssessor(e){this._configuration.inclusiveLanguageAnalysisActive&&this._inclusiveLanguageAssessor&&e&&(this._inclusiveLanguageAssessor.assess(this._paper),this._results.inclusiveLanguage={results:this._inclusiveLanguageAssessor.results,score:this._inclusiveLanguageAssessor.calculateOverallScore()})}shouldSeoUpdate(e,t){let{keyword:r,synonyms:n}=t;return!!Object(T.isUndefined)(this._relatedKeywords[e])||this._relatedKeywords[e].keyword!==r||this._relatedKeywords[e].synonyms!==n}shouldAdditionalAssessorsUpdate(e){const t={};return Object.keys(this.additionalAssessors).forEach(r=>{t[r]=this.additionalAssessors[r].shouldUpdate(this._paper,e)}),t}updateAdditionalAssessors(e){Object.keys(this.additionalAssessors).forEach(t=>{const{assessor:r}=this.additionalAssessors[t];this._results[t]&&!e[t]||(r.assess(this._paper),this._results[t]={results:r.results,score:r.calculateOverallScore()})})}async analyze(e,t){let{paper:r,relatedKeywords:n={}}=t;const s=null===this._paper||!this._paper.equals(r),i=this.shouldReadabilityUpdate(r),a=this.shouldInclusiveLanguageUpdate(r),o=this.shouldAdditionalAssessorsUpdate(r);if(s){this._paper=r,this._researcher.setPaper(this._paper);const e=new qi(this._researcher);this._paper.setTree(pa(this._paper.getText(),e)),this.setLocale(this._paper.getLocale())}if(this._configuration.keywordAnalysisActive&&this._seoAssessor&&(s&&(this._results.seo[""]=await this.assess(this._paper,this._tree,{oldAssessor:this._seoAssessor,treeAssessor:this._seoTreeAssessor,scoreAggregator:this._seoScoreAggregator})),!Object(T.isEmpty)(n))){const e=Object.keys(n);(await this.assessRelatedKeywords(r,this._tree,n)).forEach(e=>{this._results.seo[e.key]=e.results}),e.length>1&&(this._results.seo=Object(T.pickBy)(this._results.seo,(t,r)=>Object(T.includes)(e,r)||""===r))}if(this._configuration.contentAnalysisActive&&this._contentAssessor&&i){const e={oldAssessor:this._contentAssessor,treeAssessor:this._contentTreeAssessor,scoreAggregator:this._contentScoreAggregator};e.scoreAggregator.setLocale(this._configuration.locale),this._results.readability=await this.assess(this._paper,this._tree,e)}return this.updateInclusiveLanguageAssessor(a),this.updateAdditionalAssessors(o),this._results}async assess(e,t,r){const{oldAssessor:n,scoreAggregator:s}=r;n.assess(e);const i=[...n.results];return{results:i,score:s.aggregate(i)}}generateAssessmentError(e){const t=new yi;return t.setScore(-1),t.setText(Object(_.sprintf)( /* translators: %1$s expands to the name of the assessment. */ -Object(_.__)("An error occurred in the '%1$s' assessment","wordpress-seo"),e.name)),t}async assessRelatedKeywords(e,t,r){const n=Object.keys(r);return await Promise.all(n.map(n=>{this._relatedKeywords[n]=r[n];const s=Ka.parse({...e.serialize(),keyword:this._relatedKeywords[n].keyword,synonyms:this._relatedKeywords[n].synonyms}),i={oldAssessor:this._relatedKeywordAssessor,treeAssessor:this._relatedKeywordTreeAssessor,scoreAggregator:this._seoScoreAggregator};return this.assess(s,t,i).then(e=>({key:n,results:e}))}))}loadScript(e,t){let{url:r}=t;if(Object(T.isUndefined)(r))return{loaded:!1,url:r,message:"Load Script was called without an URL."};try{this._scope.importScripts(r)}catch(e){return{loaded:!1,url:r,message:e.message}}return{loaded:!0,url:r}}loadScriptDone(e,t){t.loaded?this.send("loadScript:done",e,t):this.send("loadScript:failed",e,t)}analyzeDone(e,t){t.error?this.send("analyze:failed",e,t):this.send("analyze:done",e,t)}analyzeRelatedKeywordsDone(e,t){t.error?this.send("analyzeRelatedKeywords:failed",e,t):this.send("analyzeRelatedKeywords:done",e,t)}customMessage(e,t){let{name:r,data:n}=t;try{return{success:!0,data:this._registeredMessageHandlers[r](n)}}catch(e){return{error:e}}}customMessageDone(e,t){t.success?this.send("customMessage:done",e,t.data):this.send("customMessage:failed",t.error)}registerResearch(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom research. Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register the custom research. Expected parameter `research` to be a function.");const r=this._researcher;r.hasResearch(e)||r.addResearch(e,t)}runResearch(e,t){let{name:r,paper:n=null}=t;const s=this._researcher.getData("morphology"),i=this._researcher;if(null!==n&&(i.setPaper(n),i.addResearchData("morphology",s),null===n.getTree())){const e=new Yi(i);n.setTree(pa(n.getText(),e))}return i.getResearch(r)}runResearchDone(e,t){t.error?this.send("runResearch:failed",e,t):this.send("runResearch:done",e,t)}registerHelper(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom helper. Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register the custom helper. Expected parameter `helper` to be a function.");const r=this._researcher;r.hasHelper(e)||r.addHelper(e,t)}registerResearcherConfig(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom researcher config. Expected parameter `name` to be a string.");if(Object(T.isUndefined)(t)||Object(T.isEmpty)(t))throw new Mt("Failed to register the custom researcher config. Expected parameter `researcherConfig` to be defined.");const r=this._researcher;r.hasConfig(e)||r.addConfig(e,t)}}class fc{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.result=e,this.data=t}}var mc=class{constructor(e){this._worker=e,this._requests={},this._autoIncrementedRequestId=-1,this.initialize=this.initialize.bind(this),this.analyze=this.analyze.bind(this),this.analyzeRelatedKeywords=this.analyzeRelatedKeywords.bind(this),this.loadScript=this.loadScript.bind(this),this.sendMessage=this.sendMessage.bind(this),this.runResearch=this.runResearch.bind(this),this.handleMessage=this.handleMessage.bind(this),this.handleMessageError=this.handleMessageError.bind(this),this.handleError=this.handleError.bind(this),this._worker.onmessage=this.handleMessage,this._worker.onmessageerror=this.handleMessageError,this._worker.onerror=this.handleError}handleMessage(e){let{data:{type:t,id:r,payload:n}}=e;const s=this._requests[r];if(s){switch(n=rc(n),t){case"initialize:done":case"loadScript:done":case"customMessage:done":case"runResearch:done":case"analyzeRelatedKeywords:done":case"analyze:done":s.resolve(n);break;case"analyze:failed":case"loadScript:failed":case"customMessage:failed":case"runResearch:failed":case"analyzeRelatedKeywords:failed":s.reject(n);break;default:console.warn("AnalysisWebWorker unrecognized action:",t)}delete this._requests[r]}else console.warn("AnalysisWebWorker unmatched response:",n)}handleMessageError(e){console.warn("AnalysisWebWorker message error:",e)}handleError(e){const t=Object.keys(this._requests),r=t[t.length-1],n=this._requests[r];n?n.reject(e):console.error("AnalysisWebWorker error:",e)}createRequestId(){return this._autoIncrementedRequestId++,this._autoIncrementedRequestId}createRequestPromise(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((r,n)=>{this._requests[e]=new class{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._resolve=e,this._reject=t,this._data=r}resolve(){const e=new fc(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},this._data);this._resolve(e)}reject(){const e=new fc(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},this._data);this._reject(e)}}(r,n,t)})}sendRequest(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.createRequestId(),s=this.createRequestPromise(n,r);return this.send(e,n,t),s}send(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r=nc(r),this._worker.postMessage({type:e,id:t,payload:r})}initialize(e){return this.sendRequest("initialize",e)}analyzeRelatedKeywords(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.sendRequest("analyzeRelatedKeywords",{paper:e,relatedKeywords:t})}analyze(e){return this.sendRequest("analyze",{paper:e})}loadScript(e){return this.sendRequest("loadScript",{url:e})}sendMessage(e,t,r){return e=r+"-"+e,this.sendRequest("customMessage",{name:e,data:t},t)}runResearch(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.sendRequest("runResearch",{name:e,paper:t})}};function _c(e){const t=function(e){const t=window.URL||window.webkitURL,r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,n=`\n\t\ttry {\n\t\t\t${function(e){return`\n\t\tself.yoastOriginalUrl = '${e}';\n\t\timportScripts('${e}');\n\t`}(e)}\n\t\t} catch ( error ) {\n\t\t\tconsole.log( "Error occurred during worker initialization:" );\n\t\t\tconsole.log( error );\n\t\t}\n\t`;let s;try{s=new Blob([n],{type:"application/javascript"})}catch(e){const t=new r;t.append(n),s=t.getBlob("application/javascript")}return t.createObjectURL(s)}(e);return new Worker(t)}var Tc=function(e){if(!function(e,t){const r=new URL(e,window.location.origin),n=new URL(t,window.location.origin);return r.hostname===n.hostname&&r.port===n.port&&r.protocol===n.protocol}(window.location,e)||window.wpseoAdminL10n&&"1"===window.wpseoAdminL10n.isWebStoriesIntegrationActive)return _c(e);let t=null;try{t=new Worker(e)}catch(r){try{t=_c(e)}catch(e){throw e}}return t};const Ec={ParagraphTooLongAssessment:Na,PassiveVoiceAssessment:Da,SentenceBeginningsAssessment:La,SentenceLengthInTextAssessment:Ra,SubheadingDistributionTooLongAssessment:Ia,TextPresenceAssessment:Ma,TransitionWordsAssessment:xa},vc={FunctionWordsInKeyphraseAssessment:Oa,InternalLinksAssessment:Hi,IntroductionKeywordAssessment:Si,KeyphraseLengthAssessment:Ii,KeywordDensityAssessment:Li,MetaDescriptionKeywordAssessment:Mi,MetaDescriptionLengthAssessment:_a,OutboundLinksAssessment:ya,PageTitleWidthAssessment:Aa,SingleH1Assessment:wa,SubheadingsKeywordAssessment:Ta,TextCompetingLinksAssessment:Ui,TextLengthAssessment:ba,KeyphraseInSEOTitleAssessment:$i,SlugKeywordAssessment:Ki,UrlKeywordAssessment:class extends Ki{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),this.identifier="urlKeyword",console.warn("This object is deprecated, use SlugKeywordAssessment instead.")}},ImageKeyphraseAssessment:Ea,ImageCountAssessment:va},bc={InclusiveLanguageAssessment:Hl};var yc=function(e,t){if(Object(T.isUndefined)(e))throw new Mt("The previously keyword plugin requires the YoastSEO app");Object(T.isUndefined)(t)&&(t={usedKeywords:{},usedKeywordsPostTypes:{},searchUrl:"",postUrl:""}),this.app=e,this.usedKeywords=t.usedKeywords,this.usedKeywordsPostTypes=t.usedKeywordsPostTypes,this.searchUrl=t.searchUrl,this.postUrl=t.postUrl,this.urlTitle=Object(Ai.b)("https://yoa.st/33x"),this.urlCallToAction=Object(Ai.b)("https://yoa.st/33y")};yc.prototype.registerPlugin=function(){this.app.registerAssessment("usedKeywords",{getResult:this.assess.bind(this),isApplicable:function(e){return e.hasKeyword()}},"previouslyUsedKeywords")},yc.prototype.updateKeywordUsage=function(e,t){this.usedKeywords=e,this.usedKeywordsPostTypes=t},yc.prototype.scoreAssessment=function(e,t){const r=e.count,n=e.id,s=e.postTypeToDisplay;let i;return 0===r?{text:Object(_.sprintf)( +Object(_.__)("An error occurred in the '%1$s' assessment","wordpress-seo"),e.name)),t}async assessRelatedKeywords(e,t,r){const n=Object.keys(r);return await Promise.all(n.map(n=>{this._relatedKeywords[n]=r[n];const s=Ka.parse({...e.serialize(),keyword:this._relatedKeywords[n].keyword,synonyms:this._relatedKeywords[n].synonyms}),i={oldAssessor:this._relatedKeywordAssessor,treeAssessor:this._relatedKeywordTreeAssessor,scoreAggregator:this._seoScoreAggregator};return this.assess(s,t,i).then(e=>({key:n,results:e}))}))}loadScript(e,t){let{url:r}=t;if(Object(T.isUndefined)(r))return{loaded:!1,url:r,message:"Load Script was called without an URL."};try{this._scope.importScripts(r)}catch(e){return{loaded:!1,url:r,message:e.message}}return{loaded:!0,url:r}}loadScriptDone(e,t){t.loaded?this.send("loadScript:done",e,t):this.send("loadScript:failed",e,t)}analyzeDone(e,t){t.error?this.send("analyze:failed",e,t):this.send("analyze:done",e,t)}analyzeRelatedKeywordsDone(e,t){t.error?this.send("analyzeRelatedKeywords:failed",e,t):this.send("analyzeRelatedKeywords:done",e,t)}customMessage(e,t){let{name:r,data:n}=t;try{return{success:!0,data:this._registeredMessageHandlers[r](n)}}catch(e){return{error:e}}}customMessageDone(e,t){t.success?this.send("customMessage:done",e,t.data):this.send("customMessage:failed",t.error)}registerResearch(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom research. Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register the custom research. Expected parameter `research` to be a function.");const r=this._researcher;r.hasResearch(e)||r.addResearch(e,t)}runResearch(e,t){let{name:r,paper:n=null}=t;const s=this._researcher.getData("morphology"),i=this._researcher;if(null!==n&&(i.setPaper(n),i.addResearchData("morphology",s),null===n.getTree())){const e=new qi(i);n.setTree(pa(n.getText(),e))}return i.getResearch(r)}runResearchDone(e,t){t.error?this.send("runResearch:failed",e,t):this.send("runResearch:done",e,t)}registerHelper(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom helper. Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register the custom helper. Expected parameter `helper` to be a function.");const r=this._researcher;r.hasHelper(e)||r.addHelper(e,t)}registerResearcherConfig(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom researcher config. Expected parameter `name` to be a string.");if(Object(T.isUndefined)(t)||Object(T.isEmpty)(t))throw new Mt("Failed to register the custom researcher config. Expected parameter `researcherConfig` to be defined.");const r=this._researcher;r.hasConfig(e)||r.addConfig(e,t)}}class fc{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.result=e,this.data=t}}var mc=class{constructor(e){this._worker=e,this._requests={},this._autoIncrementedRequestId=-1,this.initialize=this.initialize.bind(this),this.analyze=this.analyze.bind(this),this.analyzeRelatedKeywords=this.analyzeRelatedKeywords.bind(this),this.loadScript=this.loadScript.bind(this),this.sendMessage=this.sendMessage.bind(this),this.runResearch=this.runResearch.bind(this),this.handleMessage=this.handleMessage.bind(this),this.handleMessageError=this.handleMessageError.bind(this),this.handleError=this.handleError.bind(this),this._worker.onmessage=this.handleMessage,this._worker.onmessageerror=this.handleMessageError,this._worker.onerror=this.handleError}handleMessage(e){let{data:{type:t,id:r,payload:n}}=e;const s=this._requests[r];if(s){switch(n=rc(n),t){case"initialize:done":case"loadScript:done":case"customMessage:done":case"runResearch:done":case"analyzeRelatedKeywords:done":case"analyze:done":s.resolve(n);break;case"analyze:failed":case"loadScript:failed":case"customMessage:failed":case"runResearch:failed":case"analyzeRelatedKeywords:failed":s.reject(n);break;default:console.warn("AnalysisWebWorker unrecognized action:",t)}delete this._requests[r]}else console.warn("AnalysisWebWorker unmatched response:",n)}handleMessageError(e){console.warn("AnalysisWebWorker message error:",e)}handleError(e){const t=Object.keys(this._requests),r=t[t.length-1],n=this._requests[r];n?n.reject(e):console.error("AnalysisWebWorker error:",e)}createRequestId(){return this._autoIncrementedRequestId++,this._autoIncrementedRequestId}createRequestPromise(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((r,n)=>{this._requests[e]=new class{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._resolve=e,this._reject=t,this._data=r}resolve(){const e=new fc(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},this._data);this._resolve(e)}reject(){const e=new fc(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},this._data);this._reject(e)}}(r,n,t)})}sendRequest(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.createRequestId(),s=this.createRequestPromise(n,r);return this.send(e,n,t),s}send(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r=nc(r),this._worker.postMessage({type:e,id:t,payload:r})}initialize(e){return this.sendRequest("initialize",e)}analyzeRelatedKeywords(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.sendRequest("analyzeRelatedKeywords",{paper:e,relatedKeywords:t})}analyze(e){return this.sendRequest("analyze",{paper:e})}loadScript(e){return this.sendRequest("loadScript",{url:e})}sendMessage(e,t,r){return e=r+"-"+e,this.sendRequest("customMessage",{name:e,data:t},t)}runResearch(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.sendRequest("runResearch",{name:e,paper:t})}};function _c(e){const t=function(e){const t=window.URL||window.webkitURL,r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,n=`\n\t\ttry {\n\t\t\t${function(e){return`\n\t\tself.yoastOriginalUrl = '${e}';\n\t\timportScripts('${e}');\n\t`}(e)}\n\t\t} catch ( error ) {\n\t\t\tconsole.log( "Error occurred during worker initialization:" );\n\t\t\tconsole.log( error );\n\t\t}\n\t`;let s;try{s=new Blob([n],{type:"application/javascript"})}catch(e){const t=new r;t.append(n),s=t.getBlob("application/javascript")}return t.createObjectURL(s)}(e);return new Worker(t)}var Tc=function(e){if(!function(e,t){const r=new URL(e,window.location.origin),n=new URL(t,window.location.origin);return r.hostname===n.hostname&&r.port===n.port&&r.protocol===n.protocol}(window.location,e)||window.wpseoAdminL10n&&"1"===window.wpseoAdminL10n.isWebStoriesIntegrationActive)return _c(e);let t=null;try{t=new Worker(e)}catch(r){try{t=_c(e)}catch(e){throw e}}return t};const Ec={ParagraphTooLongAssessment:Na,PassiveVoiceAssessment:Da,SentenceBeginningsAssessment:La,SentenceLengthInTextAssessment:Ra,SubheadingDistributionTooLongAssessment:Ia,TextPresenceAssessment:Ma,TransitionWordsAssessment:xa},vc={FunctionWordsInKeyphraseAssessment:Oa,InternalLinksAssessment:Fi,IntroductionKeywordAssessment:Ai,KeyphraseLengthAssessment:Si,KeywordDensityAssessment:Ri,MetaDescriptionKeywordAssessment:Ii,MetaDescriptionLengthAssessment:_a,OutboundLinksAssessment:ya,PageTitleWidthAssessment:Aa,SingleH1Assessment:wa,SubheadingsKeywordAssessment:Ta,TextCompetingLinksAssessment:Pi,TextLengthAssessment:ba,KeyphraseInSEOTitleAssessment:ji,SlugKeywordAssessment:Bi,UrlKeywordAssessment:class extends Bi{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),this.identifier="urlKeyword",console.warn("This object is deprecated, use SlugKeywordAssessment instead.")}},ImageKeyphraseAssessment:Ea,ImageCountAssessment:va},bc={InclusiveLanguageAssessment:Hl};var yc=function(e,t){if(Object(T.isUndefined)(e))throw new Mt("The previously keyword plugin requires the YoastSEO app");Object(T.isUndefined)(t)&&(t={usedKeywords:{},usedKeywordsPostTypes:{},searchUrl:"",postUrl:""}),this.app=e,this.usedKeywords=t.usedKeywords,this.usedKeywordsPostTypes=t.usedKeywordsPostTypes,this.searchUrl=t.searchUrl,this.postUrl=t.postUrl,this.urlTitle=Object(Ei.b)("https://yoa.st/33x"),this.urlCallToAction=Object(Ei.b)("https://yoa.st/33y")};yc.prototype.registerPlugin=function(){this.app.registerAssessment("usedKeywords",{getResult:this.assess.bind(this),isApplicable:function(e){return e.hasKeyword()}},"previouslyUsedKeywords")},yc.prototype.updateKeywordUsage=function(e,t){this.usedKeywords=e,this.usedKeywordsPostTypes=t},yc.prototype.scoreAssessment=function(e,t){const r=e.count,n=e.id,s=e.postTypeToDisplay;let i;return 0===r?{text:Object(_.sprintf)( /* translators: %1$s expands to a link to an article on yoast.com, %2$s expands to an anchor tag. */ @@ -329,4 +329,4 @@ text:Object(_.sprintf)(Object(_.__)("%3$sPreviously used keyphrase%5$s: You've u /* translators: %1$s and $3$s expand to the admin search page for the keyword, %2$d expands to the number of times this keyword has been used before, %4$s and %5$s expand to links to yoast.com, %6$s expands to the anchor end tag */ -text:Object(_.sprintf)(Object(_.__)("%4$sPreviously used keyphrase%6$s: You've used this keyphrase %1$s multiple times before%3$s. %5$sDo not use your keyphrase more than once%6$s.","wordpress-seo"),i,r,"",this.urlTitle,this.urlCallToAction,""),score:1}):void 0},yc.prototype.researchPreviouslyUsedKeywords=function(e){const t=e.getKeyword();let r=0,n="",s=0;return!Object(T.isUndefined)(this.usedKeywords[t])&&this.usedKeywords[t].length>0&&(r=this.usedKeywords[t].length,this.usedKeywordsPostTypes&&(n=this.usedKeywordsPostTypes[t][0]),s=this.usedKeywords[t][0]),{id:s,count:r,postTypeToDisplay:n}},yc.prototype.assess=function(e){var t=this.researchPreviouslyUsedKeywords(e),r=this.scoreAssessment(t,e),n=new wi;return n.setScore(r.score),n.setText(r.text),n};var Ac=yc,Oc=function(e){return e.replace(new RegExp("]*>","g"),"").replace(new RegExp("
","g"),"")},Cc=function(){const e=Object(_.__)("Content optimization:","wordpress-seo");return{feedback:{className:"na",screenReaderText:Object(_.__)("Feedback","wordpress-seo"),fullText:`${e} ${Object(_.__)("Has feedback","wordpress-seo")}`,screenReaderReadabilityText:""},bad:{className:"bad",screenReaderText:Object(_.__)("Needs improvement","wordpress-seo"),fullText:`${e} ${Object(_.__)("Needs improvement","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("Needs improvement","wordpress-seo")},ok:{className:"ok",screenReaderText:Object(_.__)("OK SEO score","wordpress-seo"),fullText:`${e} ${Object(_.__)("OK SEO score","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("OK","wordpress-seo")},good:{className:"good",screenReaderText:Object(_.__)("Good SEO score","wordpress-seo"),fullText:`${e} ${Object(_.__)("Good SEO score","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("Good","wordpress-seo")}}},wc=function(e){this.app=e,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this.customTests=[],setTimeout(this._pollLoadingPlugins.bind(this),1500)};wc.prototype._registerPlugin=function(e,t){return"string"!=typeof e?(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(t)||"object"==typeof t?!1===this._validateUniqueness(e)?(console.error("Failed to register plugin. Plugin with name "+e+" already exists"),!1):(this.plugins[e]=t,!0):(console.error("Failed to register plugin "+e+". Expected parameters `options` to be a object."),!1)},wc.prototype._ready=function(e){return"string"!=typeof e?(console.error("Failed to modify status for plugin "+e+". Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(this.plugins[e])?(console.error("Failed to modify status for plugin "+e+". The plugin was not properly registered."),!1):(this.plugins[e].status="ready",!0)},wc.prototype._reloaded=function(e){return"string"!=typeof e?(console.error("Failed to reload Content Analysis for "+e+". Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(this.plugins[e])?(console.error("Failed to reload Content Analysis for plugin "+e+". The plugin was not properly registered."),!1):(this.app.refresh(),!0)},wc.prototype._registerModification=function(e,t,r,n){if("string"!=typeof e)return console.error("Failed to register modification for plugin "+r+". Expected parameter `modification` to be a string."),!1;if("function"!=typeof t)return console.error("Failed to register modification for plugin "+r+". Expected parameter `callable` to be a function."),!1;if("string"!=typeof r)return console.error("Failed to register modification for plugin "+r+". Expected parameter `pluginName` to be a string."),!1;if(!1===this._validateOrigin(r))return console.error("Failed to register modification for plugin "+r+". The integration has not finished loading yet."),!1;var s={callable:t,origin:r,priority:"number"==typeof n?n:10};return Object(T.isUndefined)(this.modifications[e])&&(this.modifications[e]=[]),this.modifications[e].push(s),!0},wc.prototype._registerTest=function(){console.error("This function is deprecated, please use _registerAssessment")},wc.prototype._registerAssessment=function(e,t,r,n){if(!Object(T.isString)(t))throw new Dt("Failed to register test for plugin "+n+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(r))throw new Dt("Failed to register assessment for plugin "+n+". Expected parameter `assessment` to be a function.");if(!Object(T.isString)(n))throw new Dt("Failed to register assessment for plugin "+n+". Expected parameter `pluginName` to be a string.");return t=n+"-"+t,e.addAssessment(t,r),!0},wc.prototype._pollLoadingPlugins=function(e){e=Object(T.isUndefined)(e)?0:e,!0===this._allReady()?(this.loaded=!0,this.app.pluginsLoaded()):e>=this.preloadThreshold?this._pollTimeExceeded():(e+=50,setTimeout(this._pollLoadingPlugins.bind(this,e),50))},wc.prototype._allReady=function(){return Object(T.reduce)(this.plugins,(function(e,t){return e&&"ready"===t.status}),!0)},wc.prototype._pollTimeExceeded=function(){Object(T.forEach)(this.plugins,(function(e,t){Object(T.isUndefined)(e.options)||"ready"===e.options.status||(console.error("Error: Plugin "+t+". did not finish loading in time."),delete this.plugins[t])})),this.loaded=!0,this.app.pluginsLoaded()},wc.prototype._applyModifications=function(e,t,r){var n=this.modifications[e];return n instanceof Array&&n.length>0&&((n=this._stripIllegalModifications(n)).sort((function(e,t){return e.priority-t.priority})),Object(T.forEach)(n,(function(n){var s=(0,n.callable)(t,r);typeof s==typeof t?t=s:console.error("Modification with name "+e+" performed by plugin with name "+n.origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}))),t},wc.prototype._addPluginTests=function(e){this.customTests.map((function(t){this._addPluginTest(e,t)}),this)},wc.prototype._addPluginTest=function(e,t){e.addAnalysis({name:t.name,callable:t.analysis}),e.analyzeScorer.addScoring({name:t.name,scoring:t.scoring})},wc.prototype._stripIllegalModifications=function(e){return Object(T.forEach)(e,function(t,r){!1===this._validateOrigin(t.origin)&&delete e[r]}.bind(this)),e},wc.prototype._validateOrigin=function(e){return"ready"===this.plugins[e].status},wc.prototype._validateUniqueness=function(e){return!!Object(T.isUndefined)(this.plugins[e])};var Sc=wc,kc=r(70),Nc=r.n(kc),Rc=function(e){this.keyword=e.keyword,this.assessor=e.assessor,this.output=e.targets.output,this.overall=e.targets.overall||"overallScore",this.presenterConfig=Cc(),this._disableMarkerButtons=!1,this._activeMarker=!1};Rc.prototype.setKeyword=function(e){this.keyword=e},Rc.prototype.configHasProperty=function(e){return this.presenterConfig.hasOwnProperty(e)},Rc.prototype.getIndicator=function(e){return{className:this.getIndicatorColorClass(e),screenReaderText:this.getIndicatorScreenReaderText(e),fullText:this.getIndicatorFullText(e),screenReaderReadabilityText:this.getIndicatorScreenReaderReadabilityText(e)}},Rc.prototype.getIndicatorColorClass=function(e){return this.configHasProperty(e)?this.presenterConfig[e].className:""},Rc.prototype.getIndicatorScreenReaderText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderText:""},Rc.prototype.getIndicatorScreenReaderReadabilityText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderReadabilityText:""},Rc.prototype.getIndicatorFullText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].fullText:""},Rc.prototype.resultToRating=function(e){return Object(T.isObject)(e)?(e.rating=Pa(e.score),e):""},Rc.prototype.getIndividualRatings=function(){var e={},t=this.sort(this.assessor.getValidResults()).map(this.resultToRating);return Object(T.forEach)(t,function(t,r){e[r]=this.addRating(t)}.bind(this)),e},Rc.prototype.excludeFromResults=function(e,t){return Object(T.difference)(e,t)},Rc.prototype.sort=function(e){var t=this.getUndefinedScores(e),r=this.excludeFromResults(e,t);return r.sort((function(e,t){return e.score-t.score})),t.concat(r)},Rc.prototype.getUndefinedScores=function(e){return e.filter((function(e){return Object(T.isUndefined)(e.score)||0===e.score}))},Rc.prototype.addRating=function(e){var t=this.getIndicator(e.rating);return t.text=e.text,t.identifier=e.getIdentifier(),e.hasMarker()&&(t.marker=e.getMarker()),t},Rc.prototype.getOverallRating=function(e){var t=0;return""===this.keyword||Object(T.isNumber)(e)&&(t=e/10),this.resultToRating({score:t})},Rc.prototype.markAssessment=function(e,t){this._activeMarker===e?(this.removeAllMarks(),this._activeMarker=!1):(t(),this._activeMarker=e),this.render()},Rc.prototype.disableMarker=function(){this._activeMarker=!1,this.render()},Rc.prototype.disableMarkerButtons=function(){this._disableMarkerButtons=!0,this.render()},Rc.prototype.enableMarkerButtons=function(){this._disableMarkerButtons=!1,this.render()},Rc.prototype.addMarkerEventHandler=function(e,t){document.getElementById(this.output).getElementsByClassName("js-assessment-results__mark-"+e)[0].addEventListener("click",this.markAssessment.bind(this,e,t))},Rc.prototype.render=function(){this.renderIndividualRatings(),this.renderOverallRating()},Rc.prototype.bindMarkButtons=function(e){Object(T.forEach)(e,function(e){e.hasOwnProperty("marker")&&this.addMarkerEventHandler(e.identifier,e.marker)}.bind(this))},Rc.prototype.removeAllMarks=function(){this.assessor.getSpecificMarker()(this.assessor.getPaper(),[])},Rc.prototype.renderIndividualRatings=function(){var e=document.getElementById(this.output),t=this.getIndividualRatings();e.innerHTML=Object(kc.assessmentPresenterResult)({scores:t,i18n:{disabledMarkText:Object(_.__)("Marks are disabled in current view","wordpress-seo"),markInText:Object(_.__)("Mark this result in the text","wordpress-seo"),removeMarksInText:Object(_.__)("Remove marks in the text","wordpress-seo")},activeMarker:this._activeMarker,markerButtonsDisabled:this._disableMarkerButtons}),this.bindMarkButtons(t)},Rc.prototype.renderOverallRating=function(){var e=this.getOverallRating(this.assessor.calculateOverallScore()),t=document.getElementById(this.overall);t&&(t.className="overallScore "+this.getIndicatorColorClass(e.rating))};var Ic=Rc,xc=Object(T.memoize)((function(e,t,r){return Object(T.isUndefined)(t)&&(t=""),(Object(T.isUndefined)(r)||!0===r)&&(e=y(e)),e=Et(e),e=Object(T.escapeRegExp)(e),e=qe(e,!1,t),new RegExp(e,"ig")})),Dc={hasClass:function(e,t){return e.className.indexOf(t)>-1},addClass:function(e,t){var r=e.className.split(" ");-1===r.indexOf(t)&&r.push(t),e.className=r.join(" ")},removeClass:function(e,t){var r=e.className.split(" "),n=r.indexOf(t);-1!==n&&r.splice(n,1),e.className=r.join(" ")},removeClasses:function(e,t){Object(T.forEach)(t,this.removeClass.bind(null,e))}},Lc={desktop:"snippet-editor__view--desktop",mobile:"snippet-editor__view--mobile"},Mc=function(e,t){this.previewMode=e,this.previewToggles=t,this.viewElement=document.getElementById("snippet-preview-view")};Mc.prototype.initialize=function(){this._setPreviewMode(this.previewMode,this._findElementByMode(this.previewMode))},Mc.prototype.bindClickEvent=function(e){e.addEventListener("click",function(){this._setPreviewMode(e.getAttribute("data-type"),e),this.removeTooltipAbility(e)}.bind(this))},Mc.prototype.bindMouseleaveEvent=function(e){e.addEventListener("mouseleave",function(){this.removeTooltipAbility(e)}.bind(this))},Mc.prototype.bindBlurEvent=function(e){e.addEventListener("blur",function(){this.restoreTooltipAbility(e)}.bind(this))},Mc.prototype.bindMouseenterEvent=function(e){e.addEventListener("mouseenter",function(){this.restoreTooltipAbility(e)}.bind(this))},Mc.prototype.bindEvents=function(){Object(T.forEach)(this.previewToggles,function(e){this.bindClickEvent(e),this.bindMouseleaveEvent(e),this.bindBlurEvent(e),this.bindMouseenterEvent(e)}.bind(this))},Mc.prototype._findElementByMode=function(e){return document.getElementsByClassName("snippet-editor__view-icon-"+e)[0]},Mc.prototype._setPreviewMode=function(e,t){this._removeActiveStates(),this._setActiveState(t),Dc.removeClass(this.viewElement,Lc[this.previewMode]),Dc.addClass(this.viewElement,Lc[e]),this.previewMode=e},Mc.prototype.setDesktopMode=function(){this._setPreviewMode("desktop",this._findElementByMode("desktop"))},Mc.prototype.setMobileMode=function(){this._setPreviewMode("mobile",this._findElementByMode("mobile"))},Mc.prototype.setVisibility=function(e){e<640?(this.setMobileMode(),Dc.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")):this.setDesktopMode()},Mc.prototype.setScrollHintVisibility=function(e){Dc.removeClass(this.viewElement,"snippet-editor__view--desktop-has-scroll"),e<640&&Dc.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")},Mc.prototype._removeActiveStates=function(){Object(T.forEach)(this.previewToggles,this._removeActiveState.bind(this))},Mc.prototype._removeActiveState=function(e){Dc.removeClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Dc.removeClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","false")},Mc.prototype.removeTooltipAbility=function(e){Dc.addClass(e,"yoast-tooltip-hidden")},Mc.prototype.restoreTooltipAbility=function(e){Dc.removeClass(e,"yoast-tooltip-hidden")},Mc.prototype._setActiveState=function(e){Dc.addClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Dc.addClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","true")};var Pc=Mc,Fc=Nc.a.snippetEditor,jc=Nc.a.hiddenSpan,Bc={data:{title:"",metaDesc:"",urlPath:"",titleWidth:0,metaHeight:0},placeholder:{title:"",metaDesc:"",urlPath:"example-post/"},defaultValue:{title:"",metaDesc:""},baseURL:"http://example.com/",callbacks:{saveSnippetData:function(){}},addTrailingSlash:!0,metaDescriptionDate:"",previewMode:"desktop"},Uc=[{preview:"title_container",inputField:"title"},{preview:"url_container",inputField:"urlPath"},{preview:"meta_container",inputField:"metaDesc"}],Hc=function(){var e=this.opts.baseURL;return this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.baseUrl)&&this.opts.baseURL===Bc.baseURL&&(e=this.refObj.rawData.baseUrl),e};function $c(e){return this.data[e]}function Kc(e,t){this.element.input[e].value=t,this.data[e]=t}function qc(e,t,r,n){var s;e.value=t,Dc.removeClasses(e,["snippet-editor__progress--bad","snippet-editor__progress--ok","snippet-editor__progress--good"]),Dc.addClass(e,"snippet-editor__progress--"+n),this.hasProgressSupport||(s=t/r*100,e.getElementsByClassName("snippet-editor__progress-bar")[0].style.width=s+"%")}var Gc=function(e){if(Object(T.defaultsDeep)(e,Bc),this.data=e.data,Object(T.isUndefined)(e.analyzerApp)||(this.refObj=e.analyzerApp,this.data={title:this.refObj.rawData.snippetTitle||"",urlPath:this.refObj.rawData.snippetCite||"",metaDesc:this.refObj.rawData.snippetMeta||""},Object(T.isEmpty)(this.refObj.rawData.metaTitle)||(e.placeholder.title=this.refObj.rawData.metaTitle)),!Object(T.isElement)(e.targetElement))throw new Error("The snippet preview requires a valid target element");this.opts=e,this._currentFocus=null,this._currentHover=null,this.unformattedText={},Object.defineProperty(this.unformattedText,"snippet_cite",{get:$c.bind(this,"urlPath"),set:Kc.bind(this,"urlPath")}),Object.defineProperty(this.unformattedText,"snippet_meta",{get:$c.bind(this,"metaDesc"),set:Kc.bind(this,"metaDesc")}),Object.defineProperty(this.unformattedText,"snippet_title",{get:$c.bind(this,"title"),set:Kc.bind(this,"title")})};function zc(){var e=this.data.title;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.title),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),Ve(e)}Gc.prototype.renderTemplate=function(){var e,t=this.opts.targetElement;t.innerHTML=Fc({raw:{title:this.data.title,snippetCite:this.data.urlPath,meta:this.data.metaDesc},rendered:{title:this.formatTitle(),baseUrl:this.formatUrl(),snippetCite:this.formatCite(),meta:this.formatMeta()},metaDescriptionDate:this.opts.metaDescriptionDate,placeholder:this.opts.placeholder,i18n:{edit:Object(_.__)("Edit snippet","wordpress-seo"),title:Object(_.__)("SEO title","wordpress-seo"),slug:Object(_.__)("Slug","wordpress-seo"),metaDescription:Object(_.__)("Meta description","wordpress-seo"),save:Object(_.__)("Close snippet editor","wordpress-seo"),snippetPreview:Object(_.__)("Search appearance","wordpress-seo"),titleLabel:Object(_.__)("SEO title preview:","wordpress-seo"),slugLabel:Object(_.__)("Slug preview:","wordpress-seo"),metaDescriptionLabel:Object(_.__)("Meta description preview:","wordpress-seo"),snippetPreviewDescription:Object(_.__)("You can click on each element in the preview to jump to the Snippet Editor.","wordpress-seo"),desktopPreviewMode:Object(_.__)("Desktop preview","wordpress-seo"),mobilePreviewMode:Object(_.__)("Mobile preview","wordpress-seo"),isScrollableHint:Object(_.__)("Scroll to see the preview content.","wordpress-seo")}}),this.element={measurers:{metaHeight:null},rendered:{title:document.getElementById("snippet_title"),urlBase:document.getElementById("snippet_citeBase"),urlPath:document.getElementById("snippet_cite"),metaDesc:document.getElementById("snippet_meta")},input:{title:t.getElementsByClassName("js-snippet-editor-title")[0],urlPath:t.getElementsByClassName("js-snippet-editor-slug")[0],metaDesc:t.getElementsByClassName("js-snippet-editor-meta-description")[0]},progress:{title:t.getElementsByClassName("snippet-editor__progress-title")[0],metaDesc:t.getElementsByClassName("snippet-editor__progress-meta-description")[0]},container:document.getElementById("snippet_preview"),formContainer:t.getElementsByClassName("snippet-editor__form")[0],editToggle:t.getElementsByClassName("snippet-editor__edit-button")[0],closeEditor:t.getElementsByClassName("snippet-editor__submit")[0],formFields:t.getElementsByClassName("snippet-editor__form-field")},this.element.label={title:this.element.input.title.parentNode,urlPath:this.element.input.urlPath.parentNode,metaDesc:this.element.input.metaDesc.parentNode},this.element.preview={title:this.element.rendered.title.parentNode,urlPath:this.element.rendered.urlPath.parentNode,metaDesc:this.element.rendered.metaDesc.parentNode},this.hasProgressSupport=(e=document.createElement("progress"),!Object(T.isUndefined)(e.max)),this.hasProgressSupport?(this.element.progress.title.max=600,this.element.progress.metaDesc.max=156):Object(T.forEach)(this.element.progress,(function(e){Dc.addClass(e,"snippet-editor__progress--fallback")})),this.initPreviewToggler(),this.setInitialView(),this.opened=!1,this.createMeasurementElements(),this.updateProgressBars()},Gc.prototype.initPreviewToggler=function(){this.snippetPreviewToggle=new Pc(this.opts.previewMode,this.opts.targetElement.getElementsByClassName("snippet-editor__view-icon")),this.snippetPreviewToggle.initialize(),this.snippetPreviewToggle.bindEvents()},Gc.prototype.refresh=function(){this.output=this.htmlOutput(),this.renderOutput(),this.renderSnippetStyle(),this.measureTitle(),this.measureMetaDescription(),this.updateProgressBars()};var Wc=function(){var e=this.data.metaDesc;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.metaDesc),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),Object(T.isEmpty)(this.opts.metaDescriptionDate)||Object(T.isEmpty)(e)||(e=this.opts.metaDescriptionDate+" - "+this.data.metaDesc),Ve(e)};Gc.prototype.getAnalyzerData=function(){return{title:zc.call(this),url:this.data.urlPath,metaDesc:Wc.call(this)}},Gc.prototype.callRegisteredEventBinder=function(){this.hasApp()&&this.refObj.callbacks.bindElementEvents(this.refObj)},Gc.prototype.init=function(){this.hasApp()&&null!==this.refObj.rawData.metaTitle&&null!==this.refObj.rawData.cite&&this.refresh()},Gc.prototype.htmlOutput=function(){var e={};return e.title=this.formatTitle(),e.cite=this.formatCite(),e.meta=this.formatMeta(),e.url=this.formatUrl(),e},Gc.prototype.formatTitle=function(){var e=this.data.title;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.title),Object(T.isEmpty)(e)&&(e=this.opts.placeholder.title),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),e=mt(e),Object(T.isEmpty)(e)&&(e=Object(_.__)("Please provide an SEO title by editing the snippet below.","wordpress-seo")),e},Gc.prototype.formatUrl=function(){return Hc.call(this).replace(/http:\/\//gi,"")},Gc.prototype.formatCite=function(){var e,t=this.data.urlPath;return t=y(mt(t)),Object(T.isEmpty)(t)&&(t=this.opts.placeholder.urlPath),this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.keyword)&&(t=this.formatKeywordUrl(t)),this.opts.addTrailingSlash&&(e=t).indexOf("/")!==e.length-1&&(t+="/"),(t=t.replace(/\s/g,"-")).replace(/\?|#/g,"")},Gc.prototype.formatMeta=function(){var e=this.data.metaDesc;return Object(T.isEmpty)(e)&&(e=this.getMetaText()),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),e=(e=mt(e)).substring(0,156),this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.keyword)&&(e=this.formatKeyword(e)),Object(T.isEmpty)(e)&&(e=Object(_.__)("Please provide a meta description by editing the snippet below.","wordpress-seo")),e},Gc.prototype.getMetaText=function(){var e=this.opts.defaultValue.metaDesc;return this.hasApp()&&!Object(T.isUndefined)(this.refObj.rawData.excerpt)&&Object(T.isEmpty)(e)&&(e=this.refObj.rawData.excerpt),this.hasApp()&&!Object(T.isUndefined)(this.refObj.rawData.text)&&Object(T.isEmpty)(e)&&(e=this.refObj.rawData.text,this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("content",e))),(e=mt(e)).substring(0,156)},Gc.prototype.getIndexMatches=function(){for(var e=[],t=0,r=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,t);r>-1;)e.push(r),t=r+this.refObj.rawData.keyword.length,r=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,t);return e},Gc.prototype.getPeriodMatches=function(){for(var e,t=[0],r=0;(e=this.refObj.rawData.text.indexOf(".",r))>-1;)t.push(e),r=e+1;return t},Gc.prototype.formatKeyword=function(e){var t=this.refObj.rawData.keyword,r=xc(t,"",!1);e=e.replace(r,(function(e){return""+e+""}));var n=Ke(t,this.refObj.rawData.locale);return n!==t&&(r=xc(n,"",!1),e=e.replace(r,(function(e){return""+e+""}))),e},Gc.prototype.formatKeywordUrl=function(e){var t=this.refObj.rawData.keyword,r=(t=(t=Ke(t,this.refObj.rawData.locale)).replace(/'/,"")).replace(/\s/g,"-"),n=xc(r,"\\-");return e.replace(n,(function(e){return""+e+""}))},Gc.prototype.renderOutput=function(){this.element.rendered.title.innerHTML=this.output.title,this.element.rendered.urlPath.innerHTML=this.output.cite,this.element.rendered.urlBase.innerHTML=this.output.url,this.element.rendered.metaDesc.innerHTML=this.output.meta},Gc.prototype.renderSnippetStyle=function(){var e=this.element.rendered.metaDesc,t=Wc.call(this);Object(T.isEmpty)(t)?(Dc.addClass(e,"desc-render"),Dc.removeClass(e,"desc-default")):(Dc.addClass(e,"desc-default"),Dc.removeClass(e,"desc-render"))},Gc.prototype.reRender=function(){this.init()},Gc.prototype.checkTextLength=function(e){var t=e.currentTarget.textContent;switch(e.currentTarget.id){case"snippet_meta":e.currentTarget.className="desc",t.length>156&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,156));break;case"snippet_title":e.currentTarget.className="title",t.length>600&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,600))}},Gc.prototype.getUnformattedText=function(e){var t=e.currentTarget.id;void 0!==this.unformattedText[t]&&(e.currentTarget.textContent=this.unformattedText[t])},Gc.prototype.setUnformattedText=function(e){var t=e.currentTarget.id;this.unformattedText[t]=document.getElementById(t).textContent},Gc.prototype.validateFields=function(){var e=Wc.call(this),t=zc.call(this);e.length>156?Dc.addClass(this.element.input.metaDesc,"snippet-editor__field--invalid"):Dc.removeClass(this.element.input.metaDesc,"snippet-editor__field--invalid"),t.length>600?Dc.addClass(this.element.input.title,"snippet-editor__field--invalid"):Dc.removeClass(this.element.input.title,"snippet-editor__field--invalid")},Gc.prototype.updateProgressBars=function(){var e,t,r;r=Wc.call(this),t=function(e){var t;switch(!0){case e>0&&e<=399:case e>600:t="ok";break;case e>=400&&e<=600:t="good";break;default:t="bad"}return t}(this.data.titleWidth),e=function(e){var t;switch(!0){case e>0&&e<120:case e>156:t="ok";break;case e>=120&&e<=156:t="good";break;default:t="bad"}return t}(r.length),qc.call(this,this.element.progress.title,this.data.titleWidth,600,t),qc.call(this,this.element.progress.metaDesc,r.length,156,e)},Gc.prototype.setInitialView=function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setVisibility(e)},Gc.prototype.handleWindowResizing=Object(T.debounce)((function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setScrollHintVisibility(e)}),25),Gc.prototype.bindEvents=function(){var e;Object(T.forEach)(["title","slug","meta-description"],function(t){(e=document.getElementsByClassName("js-snippet-editor-"+t)[0]).addEventListener("keydown",this.changedInput.bind(this)),e.addEventListener("keyup",this.changedInput.bind(this)),e.addEventListener("input",this.changedInput.bind(this)),e.addEventListener("focus",this.changedInput.bind(this)),e.addEventListener("blur",this.changedInput.bind(this))}.bind(this)),this.element.editToggle.addEventListener("click",this.toggleEditor.bind(this)),this.element.closeEditor.addEventListener("click",this.closeEditor.bind(this)),window.addEventListener("resize",this.handleWindowResizing.bind(this)),Object(T.forEach)(Uc,function(e){var t=document.getElementById(e.preview),r=this.element.input[e.inputField];t.addEventListener("click",function(){this.openEditor(),r.focus()}.bind(this)),r.addEventListener("focus",function(){this._currentFocus=e.inputField,this._updateFocusCarets()}.bind(this)),r.addEventListener("blur",function(){this._currentFocus=null,this._updateFocusCarets()}.bind(this)),t.addEventListener("mouseover",function(){this._currentHover=e.inputField,this._updateHoverCarets()}.bind(this)),t.addEventListener("mouseout",function(){this._currentHover=null,this._updateHoverCarets()}.bind(this))}.bind(this))},Gc.prototype.changedInput=Object(T.debounce)((function(){this.updateDataFromDOM(),this.validateFields(),this.updateProgressBars(),this.refresh(),this.hasApp()&&this.refObj.refresh()}),25),Gc.prototype.updateDataFromDOM=function(){this.data.title=this.element.input.title.value,this.data.urlPath=this.element.input.urlPath.value,this.data.metaDesc=this.element.input.metaDesc.value,this.opts.callbacks.saveSnippetData(Object(T.clone)(this.data))},Gc.prototype.openEditor=function(){this.element.editToggle.setAttribute("aria-expanded","true"),Dc.removeClass(this.element.formContainer,"snippet-editor--hidden"),this.opened=!0},Gc.prototype.closeEditor=function(){Dc.addClass(this.element.formContainer,"snippet-editor--hidden"),this.element.editToggle.setAttribute("aria-expanded","false"),this.element.editToggle.focus(),this.opened=!1},Gc.prototype.toggleEditor=function(){this.opened?this.closeEditor():this.openEditor()},Gc.prototype._updateFocusCarets=function(){var e,t;Object(T.forEach)(this.element.label,(function(e){Dc.removeClass(e,"snippet-editor__label--focus")})),Object(T.forEach)(this.element.preview,(function(e){Dc.removeClass(e,"snippet-editor__container--focus")})),null!==this._currentFocus&&(e=this.element.label[this._currentFocus],t=this.element.preview[this._currentFocus],Dc.addClass(e,"snippet-editor__label--focus"),Dc.addClass(t,"snippet-editor__container--focus"))},Gc.prototype._updateHoverCarets=function(){var e;Object(T.forEach)(this.element.label,(function(e){Dc.removeClass(e,"snippet-editor__label--hover")})),null!==this._currentHover&&(e=this.element.label[this._currentHover],Dc.addClass(e,"snippet-editor__label--hover"))},Gc.prototype.setTitle=function(e){this.element.input.title.value=e,this.changedInput()},Gc.prototype.setUrlPath=function(e){this.element.input.urlPath.value=e,this.changedInput()},Gc.prototype.setMetaDescription=function(e){this.element.input.metaDesc.value=e,this.changedInput()},Gc.prototype.createMeasurementElements=function(){var e,t;e=jc({width:document.getElementById("meta_container").offsetWidth+"px",whiteSpace:""}),(t=document.createElement("div")).className="yoast-measurement-elements-holder",t.innerHTML=e,document.body.appendChild(t),this.element.measurers.metaHeight=t.childNodes[0]},Gc.prototype.measureTitle=function(){0===this.element.rendered.title.offsetWidth&&""!==this.element.rendered.title.textContent||(this.data.titleWidth=this.element.rendered.title.offsetWidth)},Gc.prototype.measureMetaDescription=function(){var e=this.element.measurers.metaHeight;e.innerHTML=this.element.rendered.metaDesc.innerHTML,this.data.metaHeight=e.offsetHeight},Gc.prototype.getTitleWidth=function(){return this.data.titleWidth},Gc.prototype.setTitleWidth=function(e){this.data.titleWidth=e},Gc.prototype.hasApp=function(){return!Object(T.isUndefined)(this.refObj)},Gc.prototype.hasPluggable=function(){return!Object(T.isUndefined)(this.refObj)&&!Object(T.isUndefined)(this.refObj.pluggable)},Gc.prototype.disableEnter=function(e){},Gc.prototype.textFeedback=function(e){},Gc.prototype.showEditIcon=function(e){},Gc.prototype.hideEditIcon=function(){},Gc.prototype.setFocus=function(e){};var Yc=Gc,Vc={callbacks:{bindElementEvents:T.noop,updateSnippetValues:T.noop,saveScores:T.noop,saveContentScore:T.noop,updatedContentResults:T.noop,updatedKeywordsResults:T.noop},sampleText:{baseUrl:"example.org/",snippetCite:"example-post/",title:"",keyword:"Choose a focus keyword",meta:"",text:"Start writing your text!"},queue:["wordCount","keywordDensity","subHeadings","stopwords","fleschReading","linkCount","imageCount","slugKeyword","urlLength","metaDescription","pageTitleKeyword","pageTitleWidth","firstParagraph","'keywordDoubles"],typeDelay:3e3,typeDelayStep:1500,maxTypeDelay:5e3,dynamicDelay:!0,locale:"en_US",translations:{domain:"wordpress-seo",locale_data:{"wordpress-seo":{"":{}}}},replaceTarget:[],resetTarget:[],elementTarget:[],marker:T.noop,keywordAnalysisActive:!0,contentAnalysisActive:!0,hasSnippetPreview:!0,debounceRefresh:!0};function Qc(){var e=document.getElementById(this.config.targets.snippet);return new Yc({analyzerApp:this,targetElement:e,callbacks:{saveSnippetData:this.config.callbacks.saveSnippetData}})}function Xc(e){return!Object(T.isUndefined)(e)&&Yc.prototype.isPrototypeOf(e)}var Jc=function(e){Object(T.isObject)(e)||(e={}),Object(T.defaultsDeep)(e,Vc),function(e){if(!Object(T.isObject)(e.callbacks.getData))throw new Mt("The app requires an object with a getdata callback.");if(!Object(T.isObject)(e.targets))throw new Mt("`targets` is a required App argument, `targets` is not an object.");if(e.hasSnippetPreview&&!Xc(e.snippetPreview)&&!Object(T.isString)(e.targets.snippet))throw new Mt("A snippet preview is required. When no SnippetPreview object isn't passed to the App, the `targets.snippet` is a required App argument. `targets.snippet` is not a string.")}(e),this.config=e,!0===e.debouncedRefresh&&(this.refresh=Object(T.debounce)(this.refresh.bind(this),800)),this._pureRefresh=Object(T.throttle)(this._pureRefresh.bind(this),this.config.typeDelay),this.callbacks=this.config.callbacks,Object(_.setLocaleData)(this.config.translations.locale_data["wordpress-seo"],"wordpress-seo"),this.initializeAssessors(e),this.pluggable=new Sc(this),this.getData(),this.defaultOutputElement=this.getDefaultOutputElement(e),""!==this.defaultOutputElement&&this.showLoadingDialog(),Xc(e.snippetPreview)?(this.snippetPreview=e.snippetPreview,this.snippetPreview.refObj!==this&&(this.snippetPreview.refObj=this)):e.hasSnippetPreview&&(this.snippetPreview=Qc.call(this)),this._assessorOptions={useCornerStone:!1},this.initSnippetPreview(),this.initAssessorPresenters()};Jc.prototype.getDefaultOutputElement=function(e){return e.keywordAnalysisActive?e.targets.output:e.contentAnalysisActive?e.targets.contentOutput:""},Jc.prototype.changeAssessorOptions=function(e){this._assessorOptions=Object(T.merge)(this._assessorOptions,e),this.seoAssessor=this.getSeoAssessor(),this.contentAssessor=this.getContentAssessor(),this.initAssessorPresenters(),this.refresh()},Jc.prototype.getSeoAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneSeoAssessor:this.defaultSeoAssessor},Jc.prototype.getContentAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneContentAssessor:this.defaultContentAssessor},Jc.prototype.initializeAssessors=function(e){this.initializeSEOAssessor(e),this.initializeContentAssessor(e)},Jc.prototype.initializeSEOAssessor=function(e){e.keywordAnalysisActive&&(this.defaultSeoAssessor=new ka({marker:this.config.marker}),this.cornerStoneSeoAssessor=new Vl({marker:this.config.marker}),Object(T.isUndefined)(e.seoAssessor)?this.seoAssessor=this.defaultSeoAssessor:this.seoAssessor=e.seoAssessor)},Jc.prototype.initializeContentAssessor=function(e){e.contentAnalysisActive&&(this.defaultContentAssessor=new ja({marker:this.config.marker,locale:this.config.locale}),this.cornerStoneContentAssessor=new Gl({marker:this.config.marker,locale:this.config.locale}),Object(T.isUndefined)(e._contentAssessor)?this.contentAssessor=this.defaultContentAssessor:this.contentAssessor=e._contentAssessor)},Jc.prototype.extendConfig=function(e){return e.sampleText=this.extendSampleText(e.sampleText),e.locale=e.locale||"en_US",e},Jc.prototype.extendSampleText=function(e){var t=Vc.sampleText;if(Object(T.isUndefined)(e))return t;for(var r in e)Object(T.isUndefined)(e[r])&&(e[r]=t[r]);return e},Jc.prototype.registerCustomDataCallback=function(e){this.callbacks.custom||(this.callbacks.custom=[]),Object(T.isFunction)(e)&&this.callbacks.custom.push(e)},Jc.prototype.getData=function(){if(this.rawData=this.callbacks.getData(),Object(T.isArray)(this.callbacks.custom)&&this.callbacks.custom.forEach(e=>{const t=e();this.rawData=Object(T.merge)(this.rawData,t)}),this.hasSnippetPreview()){var e=this.snippetPreview.getAnalyzerData();this.rawData.metaTitle=e.title,this.rawData.url=e.url,this.rawData.meta=e.metaDesc}this.pluggable.loaded&&(this.rawData.metaTitle=this.pluggable._applyModifications("data_page_title",this.rawData.metaTitle),this.rawData.meta=this.pluggable._applyModifications("data_meta_desc",this.rawData.meta)),this.rawData.titleWidth=Pi(this.rawData.metaTitle),this.rawData.locale=this.config.locale},Jc.prototype.refresh=function(){this.pluggable.loaded&&this._pureRefresh()},Jc.prototype._pureRefresh=function(){this.getData(),this.runAnalyzer()},Jc.prototype.hasSnippetPreview=function(){return null!==this.snippetPreview&&!Object(T.isUndefined)(this.snippetPreview)},Jc.prototype.initSnippetPreview=function(){this.hasSnippetPreview()&&(this.snippetPreview.renderTemplate(),this.snippetPreview.callRegisteredEventBinder(),this.snippetPreview.bindEvents(),this.snippetPreview.init())},Jc.prototype.initAssessorPresenters=function(){Object(T.isUndefined)(this.config.targets.output)||(this.seoAssessorPresenter=new Ic({targets:{output:this.config.targets.output},assessor:this.seoAssessor})),Object(T.isUndefined)(this.config.targets.contentOutput)||(this.contentAssessorPresenter=new Ic({targets:{output:this.config.targets.contentOutput},assessor:this.contentAssessor}))},Jc.prototype.bindInputEvent=function(){for(var e=0;ethis.config.typeDelay&&this.config.typeDelay"+t+""+e.status+"
"})),r.innerHTML+=""}},Jc.prototype.removeLoadingDialog=function(){var e=document.getElementById(this.defaultOutputElement),t=document.getElementById("YoastSEO-plugin-loading");""===this.defaultOutputElement||Object(T.isEmpty)(e)||Object(T.isEmpty)(t)||document.getElementById(this.defaultOutputElement).removeChild(document.getElementById("YoastSEO-plugin-loading"))},Jc.prototype.registerPlugin=function(e,t){return this.pluggable._registerPlugin(e,t)},Jc.prototype.pluginReady=function(e){return this.pluggable._ready(e)},Jc.prototype.pluginReloaded=function(e){return this.pluggable._reloaded(e)},Jc.prototype.registerModification=function(e,t,r,n){return this.pluggable._registerModification(e,t,r,n)},Jc.prototype.registerAssessment=function(e,t,r){if(!Object(T.isUndefined)(this.seoAssessor))return this.pluggable._registerAssessment(this.defaultSeoAssessor,e,t,r)&&this.pluggable._registerAssessment(this.cornerStoneSeoAssessor,e,t,r)},Jc.prototype.disableMarkers=function(){Object(T.isUndefined)(this.seoAssessorPresenter)||this.seoAssessorPresenter.disableMarker(),Object(T.isUndefined)(this.contentAssessorPresenter)||this.contentAssessorPresenter.disableMarker()},Jc.prototype._renderAnalysisResults=function(){this.config.contentAnalysisActive&&!Object(T.isUndefined)(this.contentAssessorPresenter)&&this.contentAssessorPresenter.renderIndividualRatings(),this.config.keywordAnalysisActive&&!Object(T.isUndefined)(this.seoAssessorPresenter)&&(this.seoAssessorPresenter.setKeyword(this.paper.getKeyword()),this.seoAssessorPresenter.render())},Jc.prototype.analyzeTimer=function(){this.refresh()},Jc.prototype.registerTest=function(){console.error("This function is deprecated, please use registerAssessment")},Jc.prototype.createSnippetPreview=function(){this.snippetPreview=Qc.call(this),this.initSnippetPreview()},Jc.prototype.switchAssessors=function(e){console.warn("Switch assessor is deprecated since YoastSEO.js version 1.35.0"),this.changeAssessorOptions({useCornerStone:e})};var Zc=Jc;const eu=function(){};eu.prototype.buildMockElement=function(){const e=[];return e.nodeType=1,e},eu.prototype.buildMockResearcher=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return!t||"object"!=typeof e&&"object"!=typeof s&&"object"!=typeof n?{getResearch:function(){return e},getData:function(){return r},getHelper:function(){return s},hasHelper:function(){return e},getConfig:function(){return n},hasConfig:function(t){return!Object(T.isUndefined)(e[t])}}:{getResearch:function(t){return e[t]},hasResearch:function(t){return!Object(T.isUndefined)(e[t])},addResearch:function(t,r){e[t]=r},getData:function(){return r},getHelper:function(e){return s[e]},hasHelper:function(e){return!Object(T.isUndefined)(s[e])},addHelper:function(e,t){s||(s={}),s[e]=t},getConfig:function(e){return n[e]},hasConfig:function(e){return!Object(T.isUndefined)(n[e])},addConfig:function(e,t){n[e]=t}}},eu.prototype.buildMockString=function(e,t){let r="";e=e||"Test ",t=t||1;for(let n=0;n",this.urlTitle,this.urlCallToAction,""),score:1}):void 0},yc.prototype.researchPreviouslyUsedKeywords=function(e){const t=e.getKeyword();let r=0,n="",s=0;return!Object(T.isUndefined)(this.usedKeywords[t])&&this.usedKeywords[t].length>0&&(r=this.usedKeywords[t].length,this.usedKeywordsPostTypes&&(n=this.usedKeywordsPostTypes[t][0]),s=this.usedKeywords[t][0]),{id:s,count:r,postTypeToDisplay:n}},yc.prototype.assess=function(e){var t=this.researchPreviouslyUsedKeywords(e),r=this.scoreAssessment(t,e),n=new yi;return n.setScore(r.score),n.setText(r.text),n};var Ac=yc,Oc=function(e){return e.replace(new RegExp("]*>","g"),"").replace(new RegExp("","g"),"")},Cc=function(){const e=Object(_.__)("Content optimization:","wordpress-seo");return{feedback:{className:"na",screenReaderText:Object(_.__)("Feedback","wordpress-seo"),fullText:`${e} ${Object(_.__)("Has feedback","wordpress-seo")}`,screenReaderReadabilityText:""},bad:{className:"bad",screenReaderText:Object(_.__)("Needs improvement","wordpress-seo"),fullText:`${e} ${Object(_.__)("Needs improvement","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("Needs improvement","wordpress-seo")},ok:{className:"ok",screenReaderText:Object(_.__)("OK SEO score","wordpress-seo"),fullText:`${e} ${Object(_.__)("OK SEO score","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("OK","wordpress-seo")},good:{className:"good",screenReaderText:Object(_.__)("Good SEO score","wordpress-seo"),fullText:`${e} ${Object(_.__)("Good SEO score","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("Good","wordpress-seo")}}},wc=function(e){this.app=e,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this.customTests=[],setTimeout(this._pollLoadingPlugins.bind(this),1500)};wc.prototype._registerPlugin=function(e,t){return"string"!=typeof e?(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(t)||"object"==typeof t?!1===this._validateUniqueness(e)?(console.error("Failed to register plugin. Plugin with name "+e+" already exists"),!1):(this.plugins[e]=t,!0):(console.error("Failed to register plugin "+e+". Expected parameters `options` to be a object."),!1)},wc.prototype._ready=function(e){return"string"!=typeof e?(console.error("Failed to modify status for plugin "+e+". Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(this.plugins[e])?(console.error("Failed to modify status for plugin "+e+". The plugin was not properly registered."),!1):(this.plugins[e].status="ready",!0)},wc.prototype._reloaded=function(e){return"string"!=typeof e?(console.error("Failed to reload Content Analysis for "+e+". Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(this.plugins[e])?(console.error("Failed to reload Content Analysis for plugin "+e+". The plugin was not properly registered."),!1):(this.app.refresh(),!0)},wc.prototype._registerModification=function(e,t,r,n){if("string"!=typeof e)return console.error("Failed to register modification for plugin "+r+". Expected parameter `modification` to be a string."),!1;if("function"!=typeof t)return console.error("Failed to register modification for plugin "+r+". Expected parameter `callable` to be a function."),!1;if("string"!=typeof r)return console.error("Failed to register modification for plugin "+r+". Expected parameter `pluginName` to be a string."),!1;if(!1===this._validateOrigin(r))return console.error("Failed to register modification for plugin "+r+". The integration has not finished loading yet."),!1;var s={callable:t,origin:r,priority:"number"==typeof n?n:10};return Object(T.isUndefined)(this.modifications[e])&&(this.modifications[e]=[]),this.modifications[e].push(s),!0},wc.prototype._registerTest=function(){console.error("This function is deprecated, please use _registerAssessment")},wc.prototype._registerAssessment=function(e,t,r,n){if(!Object(T.isString)(t))throw new Dt("Failed to register test for plugin "+n+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(r))throw new Dt("Failed to register assessment for plugin "+n+". Expected parameter `assessment` to be a function.");if(!Object(T.isString)(n))throw new Dt("Failed to register assessment for plugin "+n+". Expected parameter `pluginName` to be a string.");return t=n+"-"+t,e.addAssessment(t,r),!0},wc.prototype._pollLoadingPlugins=function(e){e=Object(T.isUndefined)(e)?0:e,!0===this._allReady()?(this.loaded=!0,this.app.pluginsLoaded()):e>=this.preloadThreshold?this._pollTimeExceeded():(e+=50,setTimeout(this._pollLoadingPlugins.bind(this,e),50))},wc.prototype._allReady=function(){return Object(T.reduce)(this.plugins,(function(e,t){return e&&"ready"===t.status}),!0)},wc.prototype._pollTimeExceeded=function(){Object(T.forEach)(this.plugins,(function(e,t){Object(T.isUndefined)(e.options)||"ready"===e.options.status||(console.error("Error: Plugin "+t+". did not finish loading in time."),delete this.plugins[t])})),this.loaded=!0,this.app.pluginsLoaded()},wc.prototype._applyModifications=function(e,t,r){var n=this.modifications[e];return n instanceof Array&&n.length>0&&((n=this._stripIllegalModifications(n)).sort((function(e,t){return e.priority-t.priority})),Object(T.forEach)(n,(function(n){var s=(0,n.callable)(t,r);typeof s==typeof t?t=s:console.error("Modification with name "+e+" performed by plugin with name "+n.origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}))),t},wc.prototype._addPluginTests=function(e){this.customTests.map((function(t){this._addPluginTest(e,t)}),this)},wc.prototype._addPluginTest=function(e,t){e.addAnalysis({name:t.name,callable:t.analysis}),e.analyzeScorer.addScoring({name:t.name,scoring:t.scoring})},wc.prototype._stripIllegalModifications=function(e){return Object(T.forEach)(e,function(t,r){!1===this._validateOrigin(t.origin)&&delete e[r]}.bind(this)),e},wc.prototype._validateOrigin=function(e){return"ready"===this.plugins[e].status},wc.prototype._validateUniqueness=function(e){return!!Object(T.isUndefined)(this.plugins[e])};var Sc=wc,kc=r(70),Nc=r.n(kc),Rc=function(e){this.keyword=e.keyword,this.assessor=e.assessor,this.output=e.targets.output,this.overall=e.targets.overall||"overallScore",this.presenterConfig=Cc(),this._disableMarkerButtons=!1,this._activeMarker=!1};Rc.prototype.setKeyword=function(e){this.keyword=e},Rc.prototype.configHasProperty=function(e){return this.presenterConfig.hasOwnProperty(e)},Rc.prototype.getIndicator=function(e){return{className:this.getIndicatorColorClass(e),screenReaderText:this.getIndicatorScreenReaderText(e),fullText:this.getIndicatorFullText(e),screenReaderReadabilityText:this.getIndicatorScreenReaderReadabilityText(e)}},Rc.prototype.getIndicatorColorClass=function(e){return this.configHasProperty(e)?this.presenterConfig[e].className:""},Rc.prototype.getIndicatorScreenReaderText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderText:""},Rc.prototype.getIndicatorScreenReaderReadabilityText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderReadabilityText:""},Rc.prototype.getIndicatorFullText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].fullText:""},Rc.prototype.resultToRating=function(e){return Object(T.isObject)(e)?(e.rating=Pa(e.score),e):""},Rc.prototype.getIndividualRatings=function(){var e={},t=this.sort(this.assessor.getValidResults()).map(this.resultToRating);return Object(T.forEach)(t,function(t,r){e[r]=this.addRating(t)}.bind(this)),e},Rc.prototype.excludeFromResults=function(e,t){return Object(T.difference)(e,t)},Rc.prototype.sort=function(e){var t=this.getUndefinedScores(e),r=this.excludeFromResults(e,t);return r.sort((function(e,t){return e.score-t.score})),t.concat(r)},Rc.prototype.getUndefinedScores=function(e){return e.filter((function(e){return Object(T.isUndefined)(e.score)||0===e.score}))},Rc.prototype.addRating=function(e){var t=this.getIndicator(e.rating);return t.text=e.text,t.identifier=e.getIdentifier(),e.hasMarker()&&(t.marker=e.getMarker()),t},Rc.prototype.getOverallRating=function(e){var t=0;return""===this.keyword||Object(T.isNumber)(e)&&(t=e/10),this.resultToRating({score:t})},Rc.prototype.markAssessment=function(e,t){this._activeMarker===e?(this.removeAllMarks(),this._activeMarker=!1):(t(),this._activeMarker=e),this.render()},Rc.prototype.disableMarker=function(){this._activeMarker=!1,this.render()},Rc.prototype.disableMarkerButtons=function(){this._disableMarkerButtons=!0,this.render()},Rc.prototype.enableMarkerButtons=function(){this._disableMarkerButtons=!1,this.render()},Rc.prototype.addMarkerEventHandler=function(e,t){document.getElementById(this.output).getElementsByClassName("js-assessment-results__mark-"+e)[0].addEventListener("click",this.markAssessment.bind(this,e,t))},Rc.prototype.render=function(){this.renderIndividualRatings(),this.renderOverallRating()},Rc.prototype.bindMarkButtons=function(e){Object(T.forEach)(e,function(e){e.hasOwnProperty("marker")&&this.addMarkerEventHandler(e.identifier,e.marker)}.bind(this))},Rc.prototype.removeAllMarks=function(){this.assessor.getSpecificMarker()(this.assessor.getPaper(),[])},Rc.prototype.renderIndividualRatings=function(){var e=document.getElementById(this.output),t=this.getIndividualRatings();e.innerHTML=Object(kc.assessmentPresenterResult)({scores:t,i18n:{disabledMarkText:Object(_.__)("Marks are disabled in current view","wordpress-seo"),markInText:Object(_.__)("Mark this result in the text","wordpress-seo"),removeMarksInText:Object(_.__)("Remove marks in the text","wordpress-seo")},activeMarker:this._activeMarker,markerButtonsDisabled:this._disableMarkerButtons}),this.bindMarkButtons(t)},Rc.prototype.renderOverallRating=function(){var e=this.getOverallRating(this.assessor.calculateOverallScore()),t=document.getElementById(this.overall);t&&(t.className="overallScore "+this.getIndicatorColorClass(e.rating))};var Ic=Rc,xc=Object(T.memoize)((function(e,t,r){return Object(T.isUndefined)(t)&&(t=""),(Object(T.isUndefined)(r)||!0===r)&&(e=y(e)),e=Et(e),e=Object(T.escapeRegExp)(e),e=qe(e,!1,t),new RegExp(e,"ig")})),Dc={hasClass:function(e,t){return e.className.indexOf(t)>-1},addClass:function(e,t){var r=e.className.split(" ");-1===r.indexOf(t)&&r.push(t),e.className=r.join(" ")},removeClass:function(e,t){var r=e.className.split(" "),n=r.indexOf(t);-1!==n&&r.splice(n,1),e.className=r.join(" ")},removeClasses:function(e,t){Object(T.forEach)(t,this.removeClass.bind(null,e))}},Lc={desktop:"snippet-editor__view--desktop",mobile:"snippet-editor__view--mobile"},Mc=function(e,t){this.previewMode=e,this.previewToggles=t,this.viewElement=document.getElementById("snippet-preview-view")};Mc.prototype.initialize=function(){this._setPreviewMode(this.previewMode,this._findElementByMode(this.previewMode))},Mc.prototype.bindClickEvent=function(e){e.addEventListener("click",function(){this._setPreviewMode(e.getAttribute("data-type"),e),this.removeTooltipAbility(e)}.bind(this))},Mc.prototype.bindMouseleaveEvent=function(e){e.addEventListener("mouseleave",function(){this.removeTooltipAbility(e)}.bind(this))},Mc.prototype.bindBlurEvent=function(e){e.addEventListener("blur",function(){this.restoreTooltipAbility(e)}.bind(this))},Mc.prototype.bindMouseenterEvent=function(e){e.addEventListener("mouseenter",function(){this.restoreTooltipAbility(e)}.bind(this))},Mc.prototype.bindEvents=function(){Object(T.forEach)(this.previewToggles,function(e){this.bindClickEvent(e),this.bindMouseleaveEvent(e),this.bindBlurEvent(e),this.bindMouseenterEvent(e)}.bind(this))},Mc.prototype._findElementByMode=function(e){return document.getElementsByClassName("snippet-editor__view-icon-"+e)[0]},Mc.prototype._setPreviewMode=function(e,t){this._removeActiveStates(),this._setActiveState(t),Dc.removeClass(this.viewElement,Lc[this.previewMode]),Dc.addClass(this.viewElement,Lc[e]),this.previewMode=e},Mc.prototype.setDesktopMode=function(){this._setPreviewMode("desktop",this._findElementByMode("desktop"))},Mc.prototype.setMobileMode=function(){this._setPreviewMode("mobile",this._findElementByMode("mobile"))},Mc.prototype.setVisibility=function(e){e<640?(this.setMobileMode(),Dc.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")):this.setDesktopMode()},Mc.prototype.setScrollHintVisibility=function(e){Dc.removeClass(this.viewElement,"snippet-editor__view--desktop-has-scroll"),e<640&&Dc.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")},Mc.prototype._removeActiveStates=function(){Object(T.forEach)(this.previewToggles,this._removeActiveState.bind(this))},Mc.prototype._removeActiveState=function(e){Dc.removeClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Dc.removeClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","false")},Mc.prototype.removeTooltipAbility=function(e){Dc.addClass(e,"yoast-tooltip-hidden")},Mc.prototype.restoreTooltipAbility=function(e){Dc.removeClass(e,"yoast-tooltip-hidden")},Mc.prototype._setActiveState=function(e){Dc.addClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Dc.addClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","true")};var Pc=Mc,Fc=Nc.a.snippetEditor,jc=Nc.a.hiddenSpan,Bc={data:{title:"",metaDesc:"",urlPath:"",titleWidth:0,metaHeight:0},placeholder:{title:"",metaDesc:"",urlPath:"example-post/"},defaultValue:{title:"",metaDesc:""},baseURL:"http://example.com/",callbacks:{saveSnippetData:function(){}},addTrailingSlash:!0,metaDescriptionDate:"",previewMode:"desktop"},Uc=[{preview:"title_container",inputField:"title"},{preview:"url_container",inputField:"urlPath"},{preview:"meta_container",inputField:"metaDesc"}],Hc=function(){var e=this.opts.baseURL;return this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.baseUrl)&&this.opts.baseURL===Bc.baseURL&&(e=this.refObj.rawData.baseUrl),e};function $c(e){return this.data[e]}function Kc(e,t){this.element.input[e].value=t,this.data[e]=t}function qc(e,t,r,n){var s;e.value=t,Dc.removeClasses(e,["snippet-editor__progress--bad","snippet-editor__progress--ok","snippet-editor__progress--good"]),Dc.addClass(e,"snippet-editor__progress--"+n),this.hasProgressSupport||(s=t/r*100,e.getElementsByClassName("snippet-editor__progress-bar")[0].style.width=s+"%")}var Gc=function(e){if(Object(T.defaultsDeep)(e,Bc),this.data=e.data,Object(T.isUndefined)(e.analyzerApp)||(this.refObj=e.analyzerApp,this.data={title:this.refObj.rawData.snippetTitle||"",urlPath:this.refObj.rawData.snippetCite||"",metaDesc:this.refObj.rawData.snippetMeta||""},Object(T.isEmpty)(this.refObj.rawData.metaTitle)||(e.placeholder.title=this.refObj.rawData.metaTitle)),!Object(T.isElement)(e.targetElement))throw new Error("The snippet preview requires a valid target element");this.opts=e,this._currentFocus=null,this._currentHover=null,this.unformattedText={},Object.defineProperty(this.unformattedText,"snippet_cite",{get:$c.bind(this,"urlPath"),set:Kc.bind(this,"urlPath")}),Object.defineProperty(this.unformattedText,"snippet_meta",{get:$c.bind(this,"metaDesc"),set:Kc.bind(this,"metaDesc")}),Object.defineProperty(this.unformattedText,"snippet_title",{get:$c.bind(this,"title"),set:Kc.bind(this,"title")})};function zc(){var e=this.data.title;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.title),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),Ve(e)}Gc.prototype.renderTemplate=function(){var e,t=this.opts.targetElement;t.innerHTML=Fc({raw:{title:this.data.title,snippetCite:this.data.urlPath,meta:this.data.metaDesc},rendered:{title:this.formatTitle(),baseUrl:this.formatUrl(),snippetCite:this.formatCite(),meta:this.formatMeta()},metaDescriptionDate:this.opts.metaDescriptionDate,placeholder:this.opts.placeholder,i18n:{edit:Object(_.__)("Edit snippet","wordpress-seo"),title:Object(_.__)("SEO title","wordpress-seo"),slug:Object(_.__)("Slug","wordpress-seo"),metaDescription:Object(_.__)("Meta description","wordpress-seo"),save:Object(_.__)("Close snippet editor","wordpress-seo"),snippetPreview:Object(_.__)("Search appearance","wordpress-seo"),titleLabel:Object(_.__)("SEO title preview:","wordpress-seo"),slugLabel:Object(_.__)("Slug preview:","wordpress-seo"),metaDescriptionLabel:Object(_.__)("Meta description preview:","wordpress-seo"),snippetPreviewDescription:Object(_.__)("You can click on each element in the preview to jump to the Snippet Editor.","wordpress-seo"),desktopPreviewMode:Object(_.__)("Desktop preview","wordpress-seo"),mobilePreviewMode:Object(_.__)("Mobile preview","wordpress-seo"),isScrollableHint:Object(_.__)("Scroll to see the preview content.","wordpress-seo")}}),this.element={measurers:{metaHeight:null},rendered:{title:document.getElementById("snippet_title"),urlBase:document.getElementById("snippet_citeBase"),urlPath:document.getElementById("snippet_cite"),metaDesc:document.getElementById("snippet_meta")},input:{title:t.getElementsByClassName("js-snippet-editor-title")[0],urlPath:t.getElementsByClassName("js-snippet-editor-slug")[0],metaDesc:t.getElementsByClassName("js-snippet-editor-meta-description")[0]},progress:{title:t.getElementsByClassName("snippet-editor__progress-title")[0],metaDesc:t.getElementsByClassName("snippet-editor__progress-meta-description")[0]},container:document.getElementById("snippet_preview"),formContainer:t.getElementsByClassName("snippet-editor__form")[0],editToggle:t.getElementsByClassName("snippet-editor__edit-button")[0],closeEditor:t.getElementsByClassName("snippet-editor__submit")[0],formFields:t.getElementsByClassName("snippet-editor__form-field")},this.element.label={title:this.element.input.title.parentNode,urlPath:this.element.input.urlPath.parentNode,metaDesc:this.element.input.metaDesc.parentNode},this.element.preview={title:this.element.rendered.title.parentNode,urlPath:this.element.rendered.urlPath.parentNode,metaDesc:this.element.rendered.metaDesc.parentNode},this.hasProgressSupport=(e=document.createElement("progress"),!Object(T.isUndefined)(e.max)),this.hasProgressSupport?(this.element.progress.title.max=600,this.element.progress.metaDesc.max=156):Object(T.forEach)(this.element.progress,(function(e){Dc.addClass(e,"snippet-editor__progress--fallback")})),this.initPreviewToggler(),this.setInitialView(),this.opened=!1,this.createMeasurementElements(),this.updateProgressBars()},Gc.prototype.initPreviewToggler=function(){this.snippetPreviewToggle=new Pc(this.opts.previewMode,this.opts.targetElement.getElementsByClassName("snippet-editor__view-icon")),this.snippetPreviewToggle.initialize(),this.snippetPreviewToggle.bindEvents()},Gc.prototype.refresh=function(){this.output=this.htmlOutput(),this.renderOutput(),this.renderSnippetStyle(),this.measureTitle(),this.measureMetaDescription(),this.updateProgressBars()};var Wc=function(){var e=this.data.metaDesc;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.metaDesc),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),Object(T.isEmpty)(this.opts.metaDescriptionDate)||Object(T.isEmpty)(e)||(e=this.opts.metaDescriptionDate+" - "+this.data.metaDesc),Ve(e)};Gc.prototype.getAnalyzerData=function(){return{title:zc.call(this),url:this.data.urlPath,metaDesc:Wc.call(this)}},Gc.prototype.callRegisteredEventBinder=function(){this.hasApp()&&this.refObj.callbacks.bindElementEvents(this.refObj)},Gc.prototype.init=function(){this.hasApp()&&null!==this.refObj.rawData.metaTitle&&null!==this.refObj.rawData.cite&&this.refresh()},Gc.prototype.htmlOutput=function(){var e={};return e.title=this.formatTitle(),e.cite=this.formatCite(),e.meta=this.formatMeta(),e.url=this.formatUrl(),e},Gc.prototype.formatTitle=function(){var e=this.data.title;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.title),Object(T.isEmpty)(e)&&(e=this.opts.placeholder.title),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),e=mt(e),Object(T.isEmpty)(e)&&(e=Object(_.__)("Please provide an SEO title by editing the snippet below.","wordpress-seo")),e},Gc.prototype.formatUrl=function(){return Hc.call(this).replace(/http:\/\//gi,"")},Gc.prototype.formatCite=function(){var e,t=this.data.urlPath;return t=y(mt(t)),Object(T.isEmpty)(t)&&(t=this.opts.placeholder.urlPath),this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.keyword)&&(t=this.formatKeywordUrl(t)),this.opts.addTrailingSlash&&(e=t).indexOf("/")!==e.length-1&&(t+="/"),(t=t.replace(/\s/g,"-")).replace(/\?|#/g,"")},Gc.prototype.formatMeta=function(){var e=this.data.metaDesc;return Object(T.isEmpty)(e)&&(e=this.getMetaText()),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),e=(e=mt(e)).substring(0,156),this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.keyword)&&(e=this.formatKeyword(e)),Object(T.isEmpty)(e)&&(e=Object(_.__)("Please provide a meta description by editing the snippet below.","wordpress-seo")),e},Gc.prototype.getMetaText=function(){var e=this.opts.defaultValue.metaDesc;return this.hasApp()&&!Object(T.isUndefined)(this.refObj.rawData.excerpt)&&Object(T.isEmpty)(e)&&(e=this.refObj.rawData.excerpt),this.hasApp()&&!Object(T.isUndefined)(this.refObj.rawData.text)&&Object(T.isEmpty)(e)&&(e=this.refObj.rawData.text,this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("content",e))),(e=mt(e)).substring(0,156)},Gc.prototype.getIndexMatches=function(){for(var e=[],t=0,r=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,t);r>-1;)e.push(r),t=r+this.refObj.rawData.keyword.length,r=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,t);return e},Gc.prototype.getPeriodMatches=function(){for(var e,t=[0],r=0;(e=this.refObj.rawData.text.indexOf(".",r))>-1;)t.push(e),r=e+1;return t},Gc.prototype.formatKeyword=function(e){var t=this.refObj.rawData.keyword,r=xc(t,"",!1);e=e.replace(r,(function(e){return""+e+""}));var n=Ke(t,this.refObj.rawData.locale);return n!==t&&(r=xc(n,"",!1),e=e.replace(r,(function(e){return""+e+""}))),e},Gc.prototype.formatKeywordUrl=function(e){var t=this.refObj.rawData.keyword,r=(t=(t=Ke(t,this.refObj.rawData.locale)).replace(/'/,"")).replace(/\s/g,"-"),n=xc(r,"\\-");return e.replace(n,(function(e){return""+e+""}))},Gc.prototype.renderOutput=function(){this.element.rendered.title.innerHTML=this.output.title,this.element.rendered.urlPath.innerHTML=this.output.cite,this.element.rendered.urlBase.innerHTML=this.output.url,this.element.rendered.metaDesc.innerHTML=this.output.meta},Gc.prototype.renderSnippetStyle=function(){var e=this.element.rendered.metaDesc,t=Wc.call(this);Object(T.isEmpty)(t)?(Dc.addClass(e,"desc-render"),Dc.removeClass(e,"desc-default")):(Dc.addClass(e,"desc-default"),Dc.removeClass(e,"desc-render"))},Gc.prototype.reRender=function(){this.init()},Gc.prototype.checkTextLength=function(e){var t=e.currentTarget.textContent;switch(e.currentTarget.id){case"snippet_meta":e.currentTarget.className="desc",t.length>156&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,156));break;case"snippet_title":e.currentTarget.className="title",t.length>600&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,600))}},Gc.prototype.getUnformattedText=function(e){var t=e.currentTarget.id;void 0!==this.unformattedText[t]&&(e.currentTarget.textContent=this.unformattedText[t])},Gc.prototype.setUnformattedText=function(e){var t=e.currentTarget.id;this.unformattedText[t]=document.getElementById(t).textContent},Gc.prototype.validateFields=function(){var e=Wc.call(this),t=zc.call(this);e.length>156?Dc.addClass(this.element.input.metaDesc,"snippet-editor__field--invalid"):Dc.removeClass(this.element.input.metaDesc,"snippet-editor__field--invalid"),t.length>600?Dc.addClass(this.element.input.title,"snippet-editor__field--invalid"):Dc.removeClass(this.element.input.title,"snippet-editor__field--invalid")},Gc.prototype.updateProgressBars=function(){var e,t,r;r=Wc.call(this),t=function(e){var t;switch(!0){case e>0&&e<=399:case e>600:t="ok";break;case e>=400&&e<=600:t="good";break;default:t="bad"}return t}(this.data.titleWidth),e=function(e){var t;switch(!0){case e>0&&e<120:case e>156:t="ok";break;case e>=120&&e<=156:t="good";break;default:t="bad"}return t}(r.length),qc.call(this,this.element.progress.title,this.data.titleWidth,600,t),qc.call(this,this.element.progress.metaDesc,r.length,156,e)},Gc.prototype.setInitialView=function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setVisibility(e)},Gc.prototype.handleWindowResizing=Object(T.debounce)((function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setScrollHintVisibility(e)}),25),Gc.prototype.bindEvents=function(){var e;Object(T.forEach)(["title","slug","meta-description"],function(t){(e=document.getElementsByClassName("js-snippet-editor-"+t)[0]).addEventListener("keydown",this.changedInput.bind(this)),e.addEventListener("keyup",this.changedInput.bind(this)),e.addEventListener("input",this.changedInput.bind(this)),e.addEventListener("focus",this.changedInput.bind(this)),e.addEventListener("blur",this.changedInput.bind(this))}.bind(this)),this.element.editToggle.addEventListener("click",this.toggleEditor.bind(this)),this.element.closeEditor.addEventListener("click",this.closeEditor.bind(this)),window.addEventListener("resize",this.handleWindowResizing.bind(this)),Object(T.forEach)(Uc,function(e){var t=document.getElementById(e.preview),r=this.element.input[e.inputField];t.addEventListener("click",function(){this.openEditor(),r.focus()}.bind(this)),r.addEventListener("focus",function(){this._currentFocus=e.inputField,this._updateFocusCarets()}.bind(this)),r.addEventListener("blur",function(){this._currentFocus=null,this._updateFocusCarets()}.bind(this)),t.addEventListener("mouseover",function(){this._currentHover=e.inputField,this._updateHoverCarets()}.bind(this)),t.addEventListener("mouseout",function(){this._currentHover=null,this._updateHoverCarets()}.bind(this))}.bind(this))},Gc.prototype.changedInput=Object(T.debounce)((function(){this.updateDataFromDOM(),this.validateFields(),this.updateProgressBars(),this.refresh(),this.hasApp()&&this.refObj.refresh()}),25),Gc.prototype.updateDataFromDOM=function(){this.data.title=this.element.input.title.value,this.data.urlPath=this.element.input.urlPath.value,this.data.metaDesc=this.element.input.metaDesc.value,this.opts.callbacks.saveSnippetData(Object(T.clone)(this.data))},Gc.prototype.openEditor=function(){this.element.editToggle.setAttribute("aria-expanded","true"),Dc.removeClass(this.element.formContainer,"snippet-editor--hidden"),this.opened=!0},Gc.prototype.closeEditor=function(){Dc.addClass(this.element.formContainer,"snippet-editor--hidden"),this.element.editToggle.setAttribute("aria-expanded","false"),this.element.editToggle.focus(),this.opened=!1},Gc.prototype.toggleEditor=function(){this.opened?this.closeEditor():this.openEditor()},Gc.prototype._updateFocusCarets=function(){var e,t;Object(T.forEach)(this.element.label,(function(e){Dc.removeClass(e,"snippet-editor__label--focus")})),Object(T.forEach)(this.element.preview,(function(e){Dc.removeClass(e,"snippet-editor__container--focus")})),null!==this._currentFocus&&(e=this.element.label[this._currentFocus],t=this.element.preview[this._currentFocus],Dc.addClass(e,"snippet-editor__label--focus"),Dc.addClass(t,"snippet-editor__container--focus"))},Gc.prototype._updateHoverCarets=function(){var e;Object(T.forEach)(this.element.label,(function(e){Dc.removeClass(e,"snippet-editor__label--hover")})),null!==this._currentHover&&(e=this.element.label[this._currentHover],Dc.addClass(e,"snippet-editor__label--hover"))},Gc.prototype.setTitle=function(e){this.element.input.title.value=e,this.changedInput()},Gc.prototype.setUrlPath=function(e){this.element.input.urlPath.value=e,this.changedInput()},Gc.prototype.setMetaDescription=function(e){this.element.input.metaDesc.value=e,this.changedInput()},Gc.prototype.createMeasurementElements=function(){var e,t;e=jc({width:document.getElementById("meta_container").offsetWidth+"px",whiteSpace:""}),(t=document.createElement("div")).className="yoast-measurement-elements-holder",t.innerHTML=e,document.body.appendChild(t),this.element.measurers.metaHeight=t.childNodes[0]},Gc.prototype.measureTitle=function(){0===this.element.rendered.title.offsetWidth&&""!==this.element.rendered.title.textContent||(this.data.titleWidth=this.element.rendered.title.offsetWidth)},Gc.prototype.measureMetaDescription=function(){var e=this.element.measurers.metaHeight;e.innerHTML=this.element.rendered.metaDesc.innerHTML,this.data.metaHeight=e.offsetHeight},Gc.prototype.getTitleWidth=function(){return this.data.titleWidth},Gc.prototype.setTitleWidth=function(e){this.data.titleWidth=e},Gc.prototype.hasApp=function(){return!Object(T.isUndefined)(this.refObj)},Gc.prototype.hasPluggable=function(){return!Object(T.isUndefined)(this.refObj)&&!Object(T.isUndefined)(this.refObj.pluggable)},Gc.prototype.disableEnter=function(e){},Gc.prototype.textFeedback=function(e){},Gc.prototype.showEditIcon=function(e){},Gc.prototype.hideEditIcon=function(){},Gc.prototype.setFocus=function(e){};var Yc=Gc,Vc={callbacks:{bindElementEvents:T.noop,updateSnippetValues:T.noop,saveScores:T.noop,saveContentScore:T.noop,updatedContentResults:T.noop,updatedKeywordsResults:T.noop},sampleText:{baseUrl:"example.org/",snippetCite:"example-post/",title:"",keyword:"Choose a focus keyword",meta:"",text:"Start writing your text!"},queue:["wordCount","keywordDensity","subHeadings","stopwords","fleschReading","linkCount","imageCount","slugKeyword","urlLength","metaDescription","pageTitleKeyword","pageTitleWidth","firstParagraph","'keywordDoubles"],typeDelay:3e3,typeDelayStep:1500,maxTypeDelay:5e3,dynamicDelay:!0,locale:"en_US",translations:{domain:"wordpress-seo",locale_data:{"wordpress-seo":{"":{}}}},replaceTarget:[],resetTarget:[],elementTarget:[],marker:T.noop,keywordAnalysisActive:!0,contentAnalysisActive:!0,hasSnippetPreview:!0,debounceRefresh:!0};function Qc(){var e=document.getElementById(this.config.targets.snippet);return new Yc({analyzerApp:this,targetElement:e,callbacks:{saveSnippetData:this.config.callbacks.saveSnippetData}})}function Xc(e){return!Object(T.isUndefined)(e)&&Yc.prototype.isPrototypeOf(e)}var Jc=function(e){Object(T.isObject)(e)||(e={}),Object(T.defaultsDeep)(e,Vc),function(e){if(!Object(T.isObject)(e.callbacks.getData))throw new Mt("The app requires an object with a getdata callback.");if(!Object(T.isObject)(e.targets))throw new Mt("`targets` is a required App argument, `targets` is not an object.");if(e.hasSnippetPreview&&!Xc(e.snippetPreview)&&!Object(T.isString)(e.targets.snippet))throw new Mt("A snippet preview is required. When no SnippetPreview object isn't passed to the App, the `targets.snippet` is a required App argument. `targets.snippet` is not a string.")}(e),this.config=e,!0===e.debouncedRefresh&&(this.refresh=Object(T.debounce)(this.refresh.bind(this),800)),this._pureRefresh=Object(T.throttle)(this._pureRefresh.bind(this),this.config.typeDelay),this.callbacks=this.config.callbacks,Object(_.setLocaleData)(this.config.translations.locale_data["wordpress-seo"],"wordpress-seo"),this.initializeAssessors(e),this.pluggable=new Sc(this),this.getData(),this.defaultOutputElement=this.getDefaultOutputElement(e),""!==this.defaultOutputElement&&this.showLoadingDialog(),Xc(e.snippetPreview)?(this.snippetPreview=e.snippetPreview,this.snippetPreview.refObj!==this&&(this.snippetPreview.refObj=this)):e.hasSnippetPreview&&(this.snippetPreview=Qc.call(this)),this._assessorOptions={useCornerStone:!1},this.initSnippetPreview(),this.initAssessorPresenters()};Jc.prototype.getDefaultOutputElement=function(e){return e.keywordAnalysisActive?e.targets.output:e.contentAnalysisActive?e.targets.contentOutput:""},Jc.prototype.changeAssessorOptions=function(e){this._assessorOptions=Object(T.merge)(this._assessorOptions,e),this.seoAssessor=this.getSeoAssessor(),this.contentAssessor=this.getContentAssessor(),this.initAssessorPresenters(),this.refresh()},Jc.prototype.getSeoAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneSeoAssessor:this.defaultSeoAssessor},Jc.prototype.getContentAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneContentAssessor:this.defaultContentAssessor},Jc.prototype.initializeAssessors=function(e){this.initializeSEOAssessor(e),this.initializeContentAssessor(e)},Jc.prototype.initializeSEOAssessor=function(e){e.keywordAnalysisActive&&(this.defaultSeoAssessor=new ka({marker:this.config.marker}),this.cornerStoneSeoAssessor=new Vl({marker:this.config.marker}),Object(T.isUndefined)(e.seoAssessor)?this.seoAssessor=this.defaultSeoAssessor:this.seoAssessor=e.seoAssessor)},Jc.prototype.initializeContentAssessor=function(e){e.contentAnalysisActive&&(this.defaultContentAssessor=new ja({marker:this.config.marker,locale:this.config.locale}),this.cornerStoneContentAssessor=new Gl({marker:this.config.marker,locale:this.config.locale}),Object(T.isUndefined)(e._contentAssessor)?this.contentAssessor=this.defaultContentAssessor:this.contentAssessor=e._contentAssessor)},Jc.prototype.extendConfig=function(e){return e.sampleText=this.extendSampleText(e.sampleText),e.locale=e.locale||"en_US",e},Jc.prototype.extendSampleText=function(e){var t=Vc.sampleText;if(Object(T.isUndefined)(e))return t;for(var r in e)Object(T.isUndefined)(e[r])&&(e[r]=t[r]);return e},Jc.prototype.registerCustomDataCallback=function(e){this.callbacks.custom||(this.callbacks.custom=[]),Object(T.isFunction)(e)&&this.callbacks.custom.push(e)},Jc.prototype.getData=function(){if(this.rawData=this.callbacks.getData(),Object(T.isArray)(this.callbacks.custom)&&this.callbacks.custom.forEach(e=>{const t=e();this.rawData=Object(T.merge)(this.rawData,t)}),this.hasSnippetPreview()){var e=this.snippetPreview.getAnalyzerData();this.rawData.metaTitle=e.title,this.rawData.url=e.url,this.rawData.meta=e.metaDesc}this.pluggable.loaded&&(this.rawData.metaTitle=this.pluggable._applyModifications("data_page_title",this.rawData.metaTitle),this.rawData.meta=this.pluggable._applyModifications("data_meta_desc",this.rawData.meta)),this.rawData.titleWidth=xi(this.rawData.metaTitle),this.rawData.locale=this.config.locale},Jc.prototype.refresh=function(){this.pluggable.loaded&&this._pureRefresh()},Jc.prototype._pureRefresh=function(){this.getData(),this.runAnalyzer()},Jc.prototype.hasSnippetPreview=function(){return null!==this.snippetPreview&&!Object(T.isUndefined)(this.snippetPreview)},Jc.prototype.initSnippetPreview=function(){this.hasSnippetPreview()&&(this.snippetPreview.renderTemplate(),this.snippetPreview.callRegisteredEventBinder(),this.snippetPreview.bindEvents(),this.snippetPreview.init())},Jc.prototype.initAssessorPresenters=function(){Object(T.isUndefined)(this.config.targets.output)||(this.seoAssessorPresenter=new Ic({targets:{output:this.config.targets.output},assessor:this.seoAssessor})),Object(T.isUndefined)(this.config.targets.contentOutput)||(this.contentAssessorPresenter=new Ic({targets:{output:this.config.targets.contentOutput},assessor:this.contentAssessor}))},Jc.prototype.bindInputEvent=function(){for(var e=0;ethis.config.typeDelay&&this.config.typeDelay"+t+""+e.status+"
"})),r.innerHTML+=""}},Jc.prototype.removeLoadingDialog=function(){var e=document.getElementById(this.defaultOutputElement),t=document.getElementById("YoastSEO-plugin-loading");""===this.defaultOutputElement||Object(T.isEmpty)(e)||Object(T.isEmpty)(t)||document.getElementById(this.defaultOutputElement).removeChild(document.getElementById("YoastSEO-plugin-loading"))},Jc.prototype.registerPlugin=function(e,t){return this.pluggable._registerPlugin(e,t)},Jc.prototype.pluginReady=function(e){return this.pluggable._ready(e)},Jc.prototype.pluginReloaded=function(e){return this.pluggable._reloaded(e)},Jc.prototype.registerModification=function(e,t,r,n){return this.pluggable._registerModification(e,t,r,n)},Jc.prototype.registerAssessment=function(e,t,r){if(!Object(T.isUndefined)(this.seoAssessor))return this.pluggable._registerAssessment(this.defaultSeoAssessor,e,t,r)&&this.pluggable._registerAssessment(this.cornerStoneSeoAssessor,e,t,r)},Jc.prototype.disableMarkers=function(){Object(T.isUndefined)(this.seoAssessorPresenter)||this.seoAssessorPresenter.disableMarker(),Object(T.isUndefined)(this.contentAssessorPresenter)||this.contentAssessorPresenter.disableMarker()},Jc.prototype._renderAnalysisResults=function(){this.config.contentAnalysisActive&&!Object(T.isUndefined)(this.contentAssessorPresenter)&&this.contentAssessorPresenter.renderIndividualRatings(),this.config.keywordAnalysisActive&&!Object(T.isUndefined)(this.seoAssessorPresenter)&&(this.seoAssessorPresenter.setKeyword(this.paper.getKeyword()),this.seoAssessorPresenter.render())},Jc.prototype.analyzeTimer=function(){this.refresh()},Jc.prototype.registerTest=function(){console.error("This function is deprecated, please use registerAssessment")},Jc.prototype.createSnippetPreview=function(){this.snippetPreview=Qc.call(this),this.initSnippetPreview()},Jc.prototype.switchAssessors=function(e){console.warn("Switch assessor is deprecated since YoastSEO.js version 1.35.0"),this.changeAssessorOptions({useCornerStone:e})};var Zc=Jc;const eu=function(){};eu.prototype.buildMockElement=function(){const e=[];return e.nodeType=1,e},eu.prototype.buildMockResearcher=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return!t||"object"!=typeof e&&"object"!=typeof s&&"object"!=typeof n?{getResearch:function(){return e},getData:function(){return r},getHelper:function(){return s},hasHelper:function(){return e},getConfig:function(){return n},hasConfig:function(t){return!Object(T.isUndefined)(e[t])}}:{getResearch:function(t){return e[t]},hasResearch:function(t){return!Object(T.isUndefined)(e[t])},addResearch:function(t,r){e[t]=r},getData:function(){return r},getHelper:function(e){return s[e]},hasHelper:function(e){return!Object(T.isUndefined)(s[e])},addHelper:function(e,t){s||(s={}),s[e]=t},getConfig:function(e){return n[e]},hasConfig:function(e){return!Object(T.isUndefined)(n[e])},addConfig:function(e,t){n[e]=t}}},eu.prototype.buildMockString=function(e,t){let r="";e=e||"Test ",t=t||1;for(let n=0;n","","Yoast SEO Premium"),{nowrap:Object(s.createElement)("span",{className:"yst-whitespace-nowrap"})});return Object(s.createElement)("div",{className:"yst-p-6 yst-rounded-lg yst-text-white yst-bg-primary-500 yst-shadow"},Object(s.createElement)("figure",{className:"yst-logo-square yst-w-16 yst-h-16 yst-mt-[-2.6rem] yst-mx-auto yst-overflow-hidden yst-border yst-border-white yst-rounded-xl yst-rounded-br-none"},Object(s.createElement)(z,null)),Object(s.createElement)(r.Title,{as:"h2",className:"yst-mt-6 yst-text-base yst-font-extrabold yst-text-white"},o),Object(s.createElement)("p",{className:"yst-mt-2"},a),Object(s.createElement)(r.Button,y()({as:"a",variant:"upsell",href:t,target:"_blank",rel:"noopener",className:"yst-flex yst-justify-center yst-gap-2 yst-mt-4 focus:yst-ring-offset-primary-500"},n),Object(s.createElement)("span",null,o),Object(s.createElement)(I.a,{className:"yst-w-4 yst-h-4 yst-icon-rtl"})),Object(s.createElement)("a",{className:"yst-block yst-mt-4 yst-no-underline",href:"https://www.g2.com/products/yoast-yoast/reviews",target:"_blank",rel:"noopener noreferrer"},Object(s.createElement)("span",{className:"yst-font-medium yst-text-white hover:yst-underline"},Object(i.__)("Read reviews from real users","wordpress-seo")),Object(s.createElement)("span",{className:"yst-flex yst-gap-2 yst-mt-2 yst-items-center"},Object(s.createElement)(f,{className:"yst-w-5 yst-h-5"}),Object(s.createElement)("span",{className:"yst-flex yst-gap-1"},Object(s.createElement)(L,{className:"yst-w-5 yst-h-5"}),Object(s.createElement)(L,{className:"yst-w-5 yst-h-5"}),Object(s.createElement)(L,{className:"yst-w-5 yst-h-5"}),Object(s.createElement)(L,{className:"yst-w-5 yst-h-5"}),Object(s.createElement)(D,{className:"yst-w-5 yst-h-5"})),Object(s.createElement)("span",{className:"yst-text-sm yst-font-semibold yst-text-white"},"4.6 / 5"))))};$.propTypes={link:o.a.string.isRequired,linkProps:o.a.object},$.defaultProps={linkProps:{}};const F=e=>{let{children:t}=e;return Object(s.createElement)("div",{className:"xl:yst-max-w-3xl xl:yst-fixed xl:yst-right-8 xl:yst-w-[16rem]"},Object(s.createElement)("div",{className:"yst-grid yst-grid-cols-1 sm:yst-grid-cols-2 min-[783px]:yst-grid-cols-1 lg:yst-grid-cols-2 xl:yst-grid-cols-1 yst-gap-4"},t))};F.propTypes={children:o.a.node.isRequired};var U=n(101),q=n(12);const Y=e=>{let{videoId:t,thumbnail:n,wistiaEmbedPermission:a}=e;const[o,c]=Object(s.useState)(a.value?q.c.isPlaying:q.c.showPlay),l=Object(s.useCallback)(()=>c(q.c.isPlaying),[c]),d=Object(s.useCallback)(()=>{a.value?l():c(q.c.askPermission)},[a.value,l,c]),u=Object(s.useCallback)(()=>c(q.c.showPlay),[c]),p=Object(s.useCallback)(()=>{a.set(!0),l()},[a.set,l]);return Object(s.createElement)(s.Fragment,null,a.value&&Object(s.createElement)(U.Helmet,null,Object(s.createElement)("script",{src:"https://fast.wistia.com/assets/external/E-v1.js",async:!0})),Object(s.createElement)("div",{className:"yst-relative yst-w-full yst-h-0 yst-pt-[56.25%] yst-overflow-hidden yst-rounded-md yst-drop-shadow-md yst-bg-white"},o===q.c.showPlay&&Object(s.createElement)("button",{className:"yst-absolute yst-inset-0 yst-button yst-p-0 yst-border-none yst-bg-white yst-transition-opacity yst-duration-1000 yst-opacity-100",onClick:d},Object(s.createElement)("img",y()({className:"yst-w-full yst-h-auto",alt:"",loading:"lazy",decoding:"async"},n))),o===q.c.askPermission&&Object(s.createElement)("div",{className:"yst-absolute yst-inset-0 yst-flex yst-flex-col yst-items-center yst-justify-center yst-bg-white"},Object(s.createElement)("p",{className:"yst-max-w-xs yst-mx-auto yst-text-center"},a.status===q.b.loading&&Object(s.createElement)(r.Spinner,null),a.status!==q.b.loading&&Object(i.sprintf)( /* translators: %1$s expands to Yoast SEO. %2$s expands to Wistia. */ -Object(i.__)("To see this video, you need to allow %1$s to load embedded videos from %2$s.","wordpress-seo"),"Yoast SEO","Wistia")),Object(s.createElement)("div",{className:"yst-flex yst-mt-6 yst-gap-x-4"},Object(s.createElement)(r.Button,{type:"button",variant:"secondary",onClick:u,disabled:a.status===q.b.loading},Object(i.__)("Deny","wordpress-seo")),Object(s.createElement)(r.Button,{type:"button",variant:"primary",onClick:p,disabled:a.status===q.b.loading},Object(i.__)("Allow","wordpress-seo")))),a.value&&o===q.c.isPlaying&&Object(s.createElement)("div",{className:"yst-absolute yst-w-full yst-h-full yst-top-0 yst-left-0"},null===t&&Object(s.createElement)(r.Spinner,{className:"yst-h-full yst-mx-auto"}),null!==t&&Object(s.createElement)("div",{className:`wistia_embed wistia_async_${t} videoFoam=true`}))))};Y.propTypes={videoId:o.a.string.isRequired,thumbnail:o.a.shape({src:o.a.string.isRequired,width:o.a.string,height:o.a.string}).isRequired,wistiaEmbedPermission:o.a.shape({value:o.a.bool.isRequired,status:o.a.string.isRequired,set:o.a.func.isRequired}).isRequired}},function(e,t,n){"use strict";function s(){return window.wpseoScriptData&&"1"===window.wpseoScriptData.isBlockEditor}n.d(t,"a",(function(){return s}))},function(e,t,n){"use strict";function s(e){var t=jQuery(".yst-traffic-light"),n=t.closest(".wpseo-meta-section-link"),s=jQuery("#wpseo-traffic-light-desc"),i=e.className||"na";t.attr("class","yst-traffic-light "+i),n.attr("aria-describedby","wpseo-traffic-light-desc"),s.length>0?s.text(e.screenReaderText):n.closest("li").append(""+e.screenReaderText+"")}n.d(t,"a",(function(){return s}))},,,function(e,t,n){"use strict";n.r(t),n.d(t,"refreshDelay",(function(){return s}));const s=500},function(e,t,n){"use strict";n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return l}));var s=n(15),i=n(4);function r(e,t){return e._properties.position.startOffset>t.length||e._properties.position.endOffset>t.length}function a(e,t,n){const a=e.dom;let o=e.getContent();if(o=s.markers.removeMarks(o),Object(i.isEmpty)(n))return void e.setContent(o);o=n[0].hasPosition()?function(e,t){if(!t)return"";for(let n=(e=Object(i.orderBy)(e,e=>e._properties.position.startOffset,["asc"])).length-1;n>=0;n--){const s=e[n];r(s,t)||(t=s.applyWithPosition(t))}return t}(n,o):function(e,t,n,r){const{fieldsToMark:a,selectedHTML:o}=s.languageProcessing.getFieldsToMark(n,r);return Object(i.forEach)(n,(function(t){"acf_content"!==e.id&&(t._properties.marked=s.languageProcessing.normalizeHTML(t._properties.marked),t._properties.original=s.languageProcessing.normalizeHTML(t._properties.original)),a.length>0?o.forEach(e=>{const n=t.applyWithReplace(e);r=r.replace(e,n)}):r=t.applyWithReplace(r)})),r}(e,0,n,o),e.setContent(o),function(e){let t=e.getContent();t=t.replace(new RegExp("<yoastmark.+?>","g"),"").replace(new RegExp("</yoastmark>","g"),""),e.setContent(t)}(e);const c=a.select("yoastmark");Object(i.forEach)(c,(function(e){e.setAttribute("data-mce-bogus","1")}))}function o(e){return window.test=e,a.bind(null,e)}function c(e){return-1!==e.getContent({format:"raw"}).indexOf("0&&void 0!==arguments[0]?arguments[0]:{},t={locale:Object(r.a)(),contentAnalysisActive:Object(c.a)(),keywordAnalysisActive:Object(l.a)(),inclusiveLanguageAnalysisActive:Object(d.a)(),defaultQueryParams:a(),logLevel:Object(s.get)(window,["wpseoScriptData","analysis","worker","log_level"],"ERROR"),enabledFeatures:Object(u.enabledFeatures)()};t=Object(s.merge)(t,e);const n=Object(o.a)();return Object(s.isUndefined)(n)||Object(s.isUndefined)(n.domain)||(t.translations=n),t}},function(e,t){e.exports=window.yoast.reactHelmet},,,,function(e,t,n){"use strict";function s(e){let t=document.getElementById("yoast-measurement-element");return t||(t=function(){const e=document.createElement("div");return e.id="yoast-measurement-element",e.style.position="absolute",e.style.left="-9999em",e.style.top=0,e.style.height=0,e.style.overflow="hidden",e.style.fontFamily="arial, sans-serif",e.style.fontSize="20px",e.style.fontWeight="400",document.body.appendChild(e),e}()),t.innerText=e,t.offsetWidth}n.d(t,"a",(function(){return s}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(18),i=n(4);function r(){const e=Object(s.a)();return 1===Object(i.get)(e,"inclusiveLanguageAnalysisActive",0)}},,function(e,t){e.exports=window.wp.blocks},,function(e,t,n){"use strict";n.r(t),n.d(t,"updateScore",(function(){return a})),n.d(t,"createScoresInPublishBox",(function(){return o})),n.d(t,"scrollToCollapsible",(function(){return c})),n.d(t,"initialize",(function(){return l}));var s=n(4),i=jQuery;function r(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return null!==n?Object(s.get)(n,t,""):Object(s.get)(wpseoScriptData,`metabox.publish_box.labels.${e}.${t}`,"")}function a(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;var s=i("#"+e+"-score"),a="image yoast-logo svg "+t;s.children(".image").attr("class",a);var o=r(e,t,n);s.children(".score-text").html(o)}function o(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const s=i("
",{class:"misc-pub-section yoast yoast-seo-score "+e+"-score",id:e+"-score"}),a=i("",{class:"score-text",html:r(e,t,n)}),o=i("").attr("class","image yoast-logo svg na");s.append(o).append(a),i("#yoast-seo-publishbox-section").append(s)}function c(e){const t=i("#wpadminbar"),n=i(e);if(!t||!n)return;const s="fixed"===t.css("position")?t.height():0;i([document.documentElement,document.body]).animate({scrollTop:n.offset().top-s},1e3),n.trigger("focus"),0===n.parent().siblings().length&&n.trigger("click")}function l(){wpseoScriptData.metabox.keywordAnalysisActive&&o("keyword","na"),wpseoScriptData.metabox.contentAnalysisActive&&o("content","na"),wpseoScriptData.metabox.inclusiveLanguageAnalysisActive&&o("inclusive-language","na"),i("#content-score").on("click","[href='#yoast-readability-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-readability").click(),c("#wpseo-meta-section-readability")})),i("#keyword-score").on("click","[href='#yoast-seo-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-content").click(),c("#yoast-seo-analysis-collapsible-metabox")})),i("#inclusive-language-score").on("click","[href='#yoast-inclusive-language-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-inclusive-language").click(),c("#wpseo-meta-section-inclusive-language")}))}},,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);const i=function(){for(var e=arguments.length,t=new Array(e),n=0;nt.map(e=>e())};t.b=(e,t)=>{let n=e();return()=>{const i=e();Object(s.isEqual)(i,n)||(n=i,t(Object(s.clone)(i)))}}},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return r})),n.d(t,"e",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var s=n(4);function i(e){return{title:e.getSnippetTitle(),slug:e.getSnippetCite(),description:e.getSnippetMeta()}}function r(e){const t=e.getState().snippetEditor.data;return{title:t.title,slug:t.slug,description:t.description}}function a(e){const t={};if(Object(s.isUndefined)(e))return t;t.title=e.title_template;const n=e.metadesc_template;return Object(s.isEmpty)(n)||(t.description=n),t}function o(e,t){const n={...e};return Object(s.forEach)(t,(t,i)=>{Object(s.has)(e,i)&&""===e[i]&&(n[i]=t)}),n}function c(e,t){const n={...e};return Object(s.forEach)(t,(t,i)=>{Object(s.has)(e,i)&&e[i].trim()===t&&(n[i]="")}),n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);class i{constructor(e){this.refresh=e,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this._registerPlugin=this._registerPlugin.bind(this),this._ready=this._ready.bind(this),this._reloaded=this._reloaded.bind(this),this._registerModification=this._registerModification.bind(this),this._registerAssessment=this._registerAssessment.bind(this),this._applyModifications=this._applyModifications.bind(this),setTimeout(this._pollLoadingPlugins.bind(this),1500)}_registerPlugin(e,t){return Object(s.isString)(e)?Object(s.isUndefined)(t)||Object(s.isObject)(t)?!1===this._validateUniqueness(e)?(console.error("Failed to register plugin. Plugin with name "+e+" already exists"),!1):(this.plugins[e]=t,!0):(console.error("Failed to register plugin "+e+". Expected parameters `options` to be a object."),!1):(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1)}_ready(e){return Object(s.isString)(e)?Object(s.isUndefined)(this.plugins[e])?(console.error("Failed to modify status for plugin "+e+". The plugin was not properly registered."),!1):(this.plugins[e].status="ready",!0):(console.error("Failed to modify status for plugin "+e+". Expected parameter `pluginName` to be a string."),!1)}_reloaded(e){return Object(s.isString)(e)?Object(s.isUndefined)(this.plugins[e])?(console.error("Failed to reload Content Analysis for plugin "+e+". The plugin was not properly registered."),!1):(this.refresh(),!0):(console.error("Failed to reload Content Analysis for "+e+". Expected parameter `pluginName` to be a string."),!1)}_registerModification(e,t,n,i){if(!Object(s.isString)(e))return console.error("Failed to register modification for plugin "+n+". Expected parameter `modification` to be a string."),!1;if(!Object(s.isFunction)(t))return console.error("Failed to register modification for plugin "+n+". Expected parameter `callable` to be a function."),!1;if(!Object(s.isString)(n))return console.error("Failed to register modification for plugin "+n+". Expected parameter `pluginName` to be a string."),!1;if(!1===this._validateOrigin(n))return console.error("Failed to register modification for plugin "+n+". The integration has not finished loading yet."),!1;const r={callable:t,origin:n,priority:Object(s.isNumber)(i)?i:10};return Object(s.isUndefined)(this.modifications[e])&&(this.modifications[e]=[]),this.modifications[e].push(r),!0}_registerAssessment(e,t,n,i){return Object(s.isString)(t)?Object(s.isObject)(n)?Object(s.isString)(i)?(t=i+"-"+t,e.addAssessment(t,n),!0):(console.error("Failed to register assessment for plugin "+i+". Expected parameter `pluginName` to be a string."),!1):(console.error("Failed to register assessment for plugin "+i+". Expected parameter `assessment` to be a function."),!1):(console.error("Failed to register test for plugin "+i+". Expected parameter `name` to be a string."),!1)}_applyModifications(e,t,n){let i=this.modifications[e];return!Object(s.isArray)(i)||i.length<1||(i=this._stripIllegalModifications(i),i.sort((e,t)=>e.priority-t.priority),Object(s.forEach)(i,(function(s){const i=s.callable(t,n);typeof i==typeof t?t=i:console.error("Modification with name "+e+" performed by plugin with name "+s.origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}))),t}_pollLoadingPlugins(e){e=Object(s.isUndefined)(e)?0:e,!0===this._allReady()?(this.loaded=!0,this.refresh()):e>=this.preloadThreshold?(this._pollTimeExceeded(),this.loaded=!0,this.refresh()):(e+=50,setTimeout(this._pollLoadingPlugins.bind(this,e),50))}_allReady(){return Object(s.reduce)(this.plugins,(function(e,t){return e&&"ready"===t.status}),!0)}_pollTimeExceeded(){Object(s.forEach)(this.plugins,(function(e,t){Object(s.isUndefined)(e.options)||"ready"===e.options.status||(console.error("Error: Plugin "+t+". did not finish loading in time."),delete this.plugins[t])}))}_stripIllegalModifications(e){return Object(s.forEach)(e,(t,n)=>{!1===this._validateOrigin(t.origin)&&delete e[n]}),e}_validateOrigin(e){return"ready"===this.plugins[e].status}_validateUniqueness(e){return Object(s.isUndefined)(this.plugins[e])}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(4),i=n(18);function r(){const e=Object(i.a)();return Object(s.get)(e,"translations",{domain:"wordpress-seo",locale_data:{"wordpress-seo":{"":{}}}})}},,function(e,t,n){"use strict";n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return y})),n.d(t,"c",(function(){return b}));var s=n(4),i=(n(199),n(72)),r=n(5);const a="";let o=[];const c={"core/paragraph":[{key:"content"}],"core/list":[{key:"values",multilineTag:"li",multilineWrapperTag:["ul","ol"]}],"core/list-item":[{key:"content"}],"core/heading":[{key:"content"}],"core/audio":[{key:"caption"}],"core/embed":[{key:"caption"}],"core/gallery":[{key:"caption"}],"core/image":[{key:"caption"}],"core/table":[{key:"caption"}],"core/video":[{key:"caption"}],"yoast/faq-block":[{key:"questions"}],"yoast/how-to-block":[{key:"steps"}]},l={singleH1:{"core/heading":[{key:"content",filter:e=>1===e.level}]}};function d(){const e=o.shift();e&&(Object(r.dispatch)("core/annotations").__experimentalAddAnnotation(e),u())}function u(){Object(s.isFunction)(window.requestIdleCallback)?window.requestIdleCallback(d,{timeout:1e3}):setTimeout(d,150)}function p(){return Object(r.select)("core/block-editor")&&Object(s.isFunction)(Object(r.select)("core/block-editor").getBlocks)&&Object(r.select)("core/annotations")&&Object(s.isFunction)(Object(r.dispatch)("core/annotations").__experimentalAddAnnotation)}function h(e){const t=Object(r.select)("yoast-seo/editor").getActiveMarker(),n=l[t]||c;return n.hasOwnProperty(e)?n[e]:[]}function g(e,t,n,r,o){const c=Object(i.create)({html:e,multilineTag:n.multilineTag,multilineWrapperTag:n.multilineWrapperTag}).text;return Object(s.flatMap)(o,e=>{const n=function(e,t){const n=t.getOriginal().replace(/(<([^>]+)>)/gi,""),s=t.getMarked().replace(/(<(?!\/?yoastmark)[^>]+>)/gi,""),i=function(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const s=[];if(0===e.length)return s;let i,r=0;for(n||(t=t.toLowerCase(),e=e.toLowerCase());(i=e.indexOf(t,r))>-1;)s.push(i),r=i+t.length;return s}(e,n);if(0===i.length)return[];const r=function(e){let t=e.indexOf(a);const n=t>=0;n||(t=e.indexOf(''));let s=null;const i=[];for(;t>=0;){if(s=(e=n?e.replace(a,""):e.replace('',"")).indexOf(""),s",""),i.push({startOffset:t,endOffset:s}),t=n?e.indexOf(a):e.indexOf(''),s=null}return i}(s),o=[];return r.forEach(e=>{i.forEach(s=>{const i=s+e.startOffset;let r=s+e.endOffset;0===e.startOffset&&e.endOffset===t.getOriginal().length&&(r=s+n.length),o.push({startOffset:i,endOffset:r})})}),o}(c,e);return n?n.map(e=>({...e,block:r.clientId,richTextIdentifier:t})):[]})}function f(e,t,n){const i=e.key,{attributes:r}=t;return e.filter&&!e.filter(r)?[]:"yoast/faq-block"===t.name||"yoast/how-to-block"===t.name?function(e,t,n){const i=t.attributes[e.key];if("yoast/faq-block"===t.name&&0!==i.length){const r=i.map(s=>{const i=s.id+"-question",r=s.id+"-answer",a=g(s.jsonQuestion,i,e,t,n),o=g(s.jsonAnswer,r,e,t,n);return a.concat(o)});return Object(s.flatMap)(r)}if("yoast/how-to-block"===t.name&&0!==i.length){const r=i.map(s=>{const i=s.id+"-name",r=s.id+"-text",a=g(s.jsonName,i,e,t,n),o=g(s.jsonText,r,e,t,n);return a.concat(o)}),a=g(t.attributes.jsonDescription,"description",e,t,n);return Object(s.flatMap)(r.concat(a))}}(e,t,n):g(r[i],i,e,t,n)}function m(e){o=e.map(e=>({blockClientId:e.block,source:"yoast",richTextIdentifier:e.richTextIdentifier,range:{start:e.startOffset,end:e.endOffset}}))}function y(e){o=[],Object(r.dispatch)("core/annotations").__experimentalRemoveAnnotationsBySource("yoast");const t=function(e){return Object(s.uniq)(Object(s.flatten)(e.map(e=>{if(!Object(s.isUndefined)(e.getFieldsToMark()))return e.getFieldsToMark()})))}(e);if(0===e.length)return;let n=Object(r.select)("core/block-editor").getBlocks();t.length>0&&(n=n.filter(e=>t.some(t=>"core/"+t===e.name))),m(function e(t,n){return Object(s.flatMap)(t,t=>{const i=function(e){return e.innerBlocks.length>0}(t)?e(t.innerBlocks,n):[];return function(e,t){return Object(s.flatMap)(h(e.name),n=>f(n,e,t))}(t,n).concat(i)})}(n,e)),u()}function b(){const e=Object(r.select)("core/editor").getSelectedBlock(),t=Object(r.select)("yoast-seo/editor").getActiveMarker();if(!e||!t)return;var n;n=e.clientId,Object(r.select)("core/annotations").__experimentalGetAnnotations().filter(e=>e.blockClientId===n&&"yoast"===e.source).forEach(e=>{Object(r.dispatch)("core/annotations").__experimentalRemoveAnnotation(e.id)});const i=Object(r.select)("yoast-seo/editor").getResultById(t);if(void 0===i)return;const a=i.marks;m(Object(s.flatMap)(h(e.name),t=>f(t,e,a))),u()}},,,,,,,function(e,t,n){"use strict";function s(e){let{alertKey:t}=e;return new Promise(e=>wpseoApi.post("alerts/dismiss",{key:t},()=>e()))}n.r(t),n.d(t,"DISMISS_ALERT",(function(){return s}))},function(e,t,n){"use strict";var s=n(3);const i=s.forwardRef((function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 11V7a4 4 0 118 0m-4 8v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2z"}))}));t.a=i},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return h})),n.d(t,"b",(function(){return g}));var s=n(5),i=n(39),r=n(4),a=n(15),o=n(98),c=n(58),l=n(71),d=n(100),u=n(60);const p=Object(r.debounce)((async function(e,t){const{text:n,...r}=t,o=new a.Paper(n,r);try{const t=await e.analyze(o),{seo:n,readability:r,inclusiveLanguage:a}=t.result;if(n){const e=n[""];e.results=Object(l.sortResultsByIdentifier)(e.results),Object(s.dispatch)("yoast-seo/editor").setSeoResultsForKeyword(o.getKeyword(),e.results),Object(s.dispatch)("yoast-seo/editor").setOverallSeoScore(e.score,o.getKeyword())}r&&(r.results=Object(l.sortResultsByIdentifier)(r.results),Object(s.dispatch)("yoast-seo/editor").setReadabilityResults(r.results),Object(s.dispatch)("yoast-seo/editor").setOverallReadabilityScore(r.score)),a&&(a.results=Object(l.sortResultsByIdentifier)(a.results),Object(s.dispatch)("yoast-seo/editor").setInclusiveLanguageResults(a.results),Object(s.dispatch)("yoast-seo/editor").setOverallInclusiveLanguageScore(a.score)),Object(i.doAction)("yoast.analysis.run",t,{paper:o})}catch(e){Object(c.a)()}}),o.refreshDelay);function h(){const{getAnalysisData:e,getEditorDataTitle:t}=Object(s.select)("yoast-seo/editor");let n=e();n={...n,textTitle:t()};const r=function(e){return e.title=Object(u.a)("data_page_title",e.title),e.title=Object(u.a)("title",e.title),e.description=Object(u.a)("data_meta_desc",e.description),e.text=Object(u.a)("content",e.text),e}(n);return Object(i.applyFilters)("yoast.analysis.data",r)}function g(){const{getAnalysisTimestamp:e,isCornerstoneContent:t}=Object(s.select)("yoast-seo/editor"),n=Object(d.a)();n.initialize(Object(d.b)({useCornerstone:t()})).catch(c.a);let i=h(),a=t(),o=e();return Object(s.subscribe)(()=>{const s=t(),l=h(),d=e();if(s!==a)return a=s,i=l,void n.initialize({useCornerstone:s}).then(()=>p(n,l)).catch(c.a);d===o&&!1!==Object(r.isEqual)(l,i)||(i=l,o=d,p(n,l))}),n}},,,,,,,,function(e,t){e.exports=window.wp.isShallowEqual},function(e,t,n){"use strict";var s=n(4),i=class{static isActive(){return!!document.getElementById("et_pb_main_editor_wrap")}static isTinyMCEHidden(){const e=document.getElementById("et_pb_main_editor_wrap");return!!e&&e.classList.contains("et_pb_hidden")}listen(e){this.classicEditorContainer=document.getElementById("et_pb_main_editor_wrap"),this.classicEditorContainer&&new MutationObserver(t=>{Object(s.forEach)(t,t=>{"attributes"===t.type&&"class"===t.attributeName&&(t.target.classList.contains("et_pb_hidden")?e.classicEditorHidden():e.classicEditorShown())})}).observe(this.classicEditorContainer,{attributes:!0})}};const r={classicEditorHidden:s.noop,classicEditorShown:s.noop,pageBuilderLoaded:s.noop};t.a=class{constructor(){this.determineActivePageBuilders()}determineActivePageBuilders(){i.isActive()&&(this.diviActive=!0),class{static isActive(){return!!window.VCV_I18N}}.isActive()&&(this.vcActive=!0)}isPageBuilderActive(){return this.diviActive||this.vcActive}listen(e){this.callbacks=Object(s.defaults)(e,r),this.diviActive&&(new i).listen(e)}isClassicEditorHidden(){return!(!this.diviActive||!i.isTinyMCEHidden())}}},,,,,,,,,,,function(e,t){var n,s,i="",r=function(e){e=e||"polite";var t=document.createElement("div");return t.id="a11y-speak-"+e,t.className="a11y-speak-region",t.setAttribute("style","clip: rect(1px, 1px, 1px, 1px); position: absolute; height: 1px; width: 1px; overflow: hidden; word-wrap: normal;"),t.setAttribute("aria-live",e),t.setAttribute("aria-relevant","additions text"),t.setAttribute("aria-atomic","true"),document.querySelector("body").appendChild(t),t};!function(e){if("complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll)return e();document.addEventListener("DOMContentLoaded",e)}((function(){n=document.getElementById("a11y-speak-polite"),s=document.getElementById("a11y-speak-assertive"),null===n&&(n=r("polite")),null===s&&(s=r("assertive"))})),e.exports=function(e,t){!function(){for(var e=document.querySelectorAll(".a11y-speak-region"),t=0;t]+>/g," "),i===e&&(e+=" "),i=e,s&&"assertive"===t?s.textContent=e:n&&(n.textContent=e)}},,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(4),i=jQuery;function r(e,t,n,s,r){this._scriptUrl=s,this._options={usedKeywords:t.keyword_usage,usedKeywordsPostTypes:t.keyword_usage_post_types,searchUrl:t.search_url,postUrl:t.post_edit_url},this._keywordUsage=t.keyword_usage,this._usedKeywordsPostTypes=t.keyword_usage_post_types,this._postID=i("#post_ID, [name=tag_ID]").val(),this._taxonomy=i("[name=taxonomy]").val()||"",this._nonce=r,this._ajaxAction=e,this._refreshAnalysis=n,this._initialized=!1}r.prototype.init=function(){const{worker:e}=window.YoastSEO.analysis;this.requestKeywordUsage=Object(s.debounce)(this.requestKeywordUsage.bind(this),500),e.loadScript(this._scriptUrl).then(()=>{e.sendMessage("initialize",this._options,"used-keywords-assessment")}).then(()=>{this._initialized=!0,Object(s.isEqual)(this._options.usedKeywords,this._keywordUsage)?this._refreshAnalysis():e.sendMessage("updateKeywordUsage",this._keywordUsage,"used-keywords-assessment").then(()=>this._refreshAnalysis())}).catch(e=>console.error(e))},r.prototype.setKeyword=function(e){Object(s.has)(this._keywordUsage,e)||this.requestKeywordUsage(e)},r.prototype.requestKeywordUsage=function(e){i.post(ajaxurl,{action:this._ajaxAction,post_id:this._postID,keyword:e,taxonomy:this._taxonomy,nonce:this._nonce},this.updateKeywordUsage.bind(this,e),"json")},r.prototype.updateKeywordUsage=function(e,t){const{worker:n}=window.YoastSEO.analysis,i=t.keyword_usage,r=t.post_types;i&&Object(s.isArray)(i)&&(this._keywordUsage[e]=i,this._usedKeywordsPostTypes[e]=r,this._initialized&&n.sendMessage("updateKeywordUsage",{usedKeywords:this._keywordUsage,usedKeywordsPostTypes:this._usedKeywordsPostTypes},"used-keywords-assessment").then(()=>this._refreshAnalysis()))}},function(e,t,n){"use strict";var s=n(5),i=n(4),r=n(15),a=n(121),o=n(142);t.a=()=>{if(Object(s.select)("yoast-seo/editor").getPreference("isInsightsEnabled",!1))return Object(s.dispatch)("yoast-seo/editor").loadEstimatedReadingTime(),Object(s.subscribe)(Object(i.debounce)((()=>{const{getEditorDataContent:e,getContentLocale:t}=Object(s.select)("yoast-seo/editor"),n=Object(a.a)(e,t),c=(()=>{const{setEstimatedReadingTime:e,setFleschReadingEase:t,setTextLength:n}=Object(s.dispatch)("yoast-seo/editor"),a=Object(i.get)(window,"YoastSEO.analysis.worker.runResearch",i.noop);return()=>{const s=r.Paper.parse(Object(o.a)());a("readingTime",s).then(t=>e(t.result)),a("getFleschReadingScore",s).then(e=>{e.result&&t(e.result)}),a("wordCountInText",s).then(e=>n(e.result))}})();return setTimeout(c,1500),Object(a.b)(n,c)})(),1500,{maxWait:3e3}))}},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(1),i=n(4);function r(e){function t(){e("#copy-home-meta-description").on("click",(function(){e("#open_graph_frontpage_desc").val(e("#meta_description").val())}))}function n(){var t=e("#wpseo-conf");if(t.length){var n=t.attr("action").split("#")[0];t.attr("action",n+window.location.hash)}}function r(){var t=window.location.hash.replace("#top#","");-1!==t.search("#top")&&(t=window.location.hash.replace("#top%23","")),""!==t&&"#"!==t.charAt(0)||(t=e(".wpseotab").attr("id")),e("#"+t).addClass("active"),e("#"+t+"-tab").addClass("nav-tab-active").trigger("click")}function a(t){const n=e("#noindex-author-noposts-wpseo-container");t?n.show():n.hide()}e.fn._wpseoIsInViewport=function(){const t=e(this).offset().top,n=t+e(this).outerHeight(),s=e(window).scrollTop(),i=s+e(window).height();return t>s&&n{e(this).is(":checked")||a(!1)}),o.on("change",()=>{e(this).is(":checked")||a(!0)}),e("#disable-date input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#date-archives-titles-metas-content").toggle("off"===e(this).val())})).trigger("change"),e("#disable-attachment input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#media_settings").toggle("off"===e(this).val())})).trigger("change"),e("#disable-post_format").on("change",(function(){e("#post_format-titles-metas").toggle(e(this).is(":not(:checked)"))})).trigger("change"),e("#zapier_integration_active input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#zapier-connection").toggle("on"===e(this).val())})).trigger("change"),e("#wincher_integration_active input[type='radio']").change((function(){e(this).is(":checked")&&e("#wincher-connection").toggle("on"===e(this).val())})).change(),e("#wpseo-tabs").find("a").on("click",(function(t){var n,i,r,a=!0;if(n=e(this),i=!!e("#first-time-configuration-tab").filter(".nav-tab-active").length,r=!!n.filter("#first-time-configuration-tab").length,i&&!r&&window.isStepBeingEdited&&(a=confirm(Object(s.__)("There are unsaved changes in one or more steps. Leaving means that those changes may not be saved. Are you sure you want to leave?","wordpress-seo"))),a){window.isStepBeingEdited=!1,e("#wpseo-tabs").find("a").removeClass("nav-tab-active"),e(".wpseotab").removeClass("active");var o=e(this).attr("id").replace("-tab",""),c=e("#"+o);c.addClass("active"),e(this).addClass("nav-tab-active"),c.hasClass("nosave")?e("#wpseo-submit-container").hide():e("#wpseo-submit-container").show(),e(window).trigger("yoast-seo-tab-change"),"first-time-configuration"===o?e("#yoast-first-time-configuration-notice").slideUp():e("#yoast-first-time-configuration-notice").slideDown()}else t.preventDefault(),e("#first-time-configuration-tab").trigger("focus")})),e("#yoast-first-time-configuration-notice a").on("click",(function(){e("#first-time-configuration-tab").click()})),e("#company_or_person").on("change",(function(){var t=e(this).val();"company"===t?(e("#knowledge-graph-company").show(),e("#knowledge-graph-person").hide()):"person"===t?(e("#knowledge-graph-company").hide(),e("#knowledge-graph-person").show()):(e("#knowledge-graph-company").hide(),e("#knowledge-graph-person").hide())})).trigger("change"),e(".switch-yoast-seo input").on("keydown",(function(e){"keydown"===e.type&&13===e.which&&e.preventDefault()})),e("body").on("click","button.toggleable-container-trigger",t=>{const n=e(t.currentTarget),s=n.parent().siblings(".toggleable-container");s.toggleClass("toggleable-container-hidden"),n.attr("aria-expanded",!s.hasClass("toggleable-container-hidden")).find("span").toggleClass("dashicons-arrow-up-alt2 dashicons-arrow-down-alt2")});const l=e("#opengraph"),d=e("#wpseo-opengraph-settings");l.length&&d.length&&(d.toggle(l[0].checked),l.on("change",e=>{d.toggle(e.target.checked)})),t(),r(),function(){if(!e("#enable_xml_sitemap input[type=radio]").length)return;const t=e("#yoast-seo-sitemaps-disabled-warning");e("#enable_xml_sitemap input[type=radio]").on("change",(function(){"off"===this.value?t.show():t.hide()}))}(),function(){const t=e("#wpseo-submit-container-float"),n=e("#wpseo-submit-container-fixed");if(!t.length||!n.length)return;function s(){t._wpseoIsInViewport()?n.hide():n.show()}e(window).on("resize scroll",Object(i.debounce)(s,100)),e(window).on("yoast-seo-tab-change",s);const r=e(".wpseo-message");r.length&&window.setTimeout(()=>{r.fadeOut()},5e3),s()}(),"undefined"!=typeof ClipboardJS&&new ClipboardJS("#copy-zapier-api-key").on("success",(function(t){t.clearSelection(),e(t.trigger).trigger("focus")}))}))}},function(e,t,n){"use strict";function s(e){e(document).ready((function(e){void 0!==wp.media&&e(".wpseo_image_upload_button").each((function(t,n){const s=function(t){let n=(t=e(t)).data("target");return n&&""!==n||(n=e(t).attr("id").replace(/_button$/,"")),n}(n),i=e(n).data("target-id"),r=e("#"+s),a=e("#"+i);var o=wp.media.frames.file_frame=wp.media({title:wpseoScriptData.media.choose_image,button:{text:wpseoScriptData.media.choose_image},multiple:!1,library:{type:"image"}});o.on("select",(function(){var e=o.state().get("selection").first().toJSON();r.val(e.url),a.val(e.id)}));const c=e(n);c.click((function(e){e.preventDefault(),o.open()})),c.siblings(".wpseo_image_remove_button").on("click",e=>{e.preventDefault(),r.val(""),a.val("")})}))}))}n.d(t,"a",(function(){return s}))},,,,function(e,t,n){"use strict";n.r(t),n.d(t,"wistiaEmbedPermission",(function(){return a})),n.d(t,"DISMISS_ALERT",(function(){return i.DISMISS_ALERT})),n.d(t,"SNIPPET_EDITOR_FIND_CUSTOM_FIELDS",(function(){return r}));var s=n(25),i=n(138);function r(e){let{query:t,postId:n}=e;return new Promise(e=>{wpseoApi.get("meta/search",{query:t,post_id:n},t=>{e(t.meta)})})}const a=s.s[s.d]},,,,,,,,,,,,,function(e,t,n){"use strict";var s=n(192),i=n(17),r=n(4),a=n(94),o=n(30);const{removeReplacementVariable:c,updateReplacementVariable:l,refreshSnippetEditor:d}=i.actions;var u=["content","title","snippet_title","snippet_meta","primary_category","data_page_title","data_meta_desc","excerpt"],p={},h={},g=function(e,t){this._app=e,this._app.registerPlugin("replaceVariablePlugin",{status:"ready"}),this._store=t,this.replaceVariables=this.replaceVariables.bind(this),this.registerReplacements(),this.registerModifications(),this.registerEvents(),this.subscribeToGutenberg()};g.prototype.registerReplacements=function(){this.addReplacement(new o.a("%%author_first_name%%","author_first_name")),this.addReplacement(new o.a("%%author_last_name%%","author_last_name")),this.addReplacement(new o.a("%%category%%","category")),this.addReplacement(new o.a("%%category_title%%","category_title")),this.addReplacement(new o.a("%%currentdate%%","currentdate")),this.addReplacement(new o.a("%%currentday%%","currentday")),this.addReplacement(new o.a("%%currentmonth%%","currentmonth")),this.addReplacement(new o.a("%%currenttime%%","currenttime")),this.addReplacement(new o.a("%%currentyear%%","currentyear")),this.addReplacement(new o.a("%%date%%","date")),this.addReplacement(new o.a("%%id%%","id")),this.addReplacement(new o.a("%%page%%","page")),this.addReplacement(new o.a("%%permalink%%","permalink")),this.addReplacement(new o.a("%%post_content%%","post_content")),this.addReplacement(new o.a("%%post_month%%","post_month")),this.addReplacement(new o.a("%%post_year%%","post_year")),this.addReplacement(new o.a("%%searchphrase%%","searchphrase")),this.addReplacement(new o.a("%%sitedesc%%","sitedesc")),this.addReplacement(new o.a("%%sitename%%","sitename")),this.addReplacement(new o.a("%%userid%%","userid")),this.addReplacement(new o.a("%%focuskw%%","keyword",{source:"app",aliases:["%%keyword%%"]})),this.addReplacement(new o.a("%%term_description%%","text",{source:"app",scope:["term","category","tag"],aliases:["%%tag_description%%","%%category_description%%"]})),this.addReplacement(new o.a("%%term_title%%","term_title",{scope:["term"]})),this.addReplacement(new o.a("%%term_hierarchy%%","term_hierarchy",{scope:["term"]})),this.addReplacement(new o.a("%%title%%","title",{source:"app",scope:["post","term","page"]})),this.addReplacement(new o.a("%%parent_title%%","title",{source:"app",scope:["page","category"]})),this.addReplacement(new o.a("%%excerpt%%","excerpt",{source:"app",scope:["post"],aliases:["%%excerpt_only%%"]})),this.addReplacement(new o.a("%%primary_category%%","primaryCategory",{source:"app",scope:["post"]})),this.addReplacement(new o.a("%%sep%%(\\s*%%sep%%)*","sep"))},g.prototype.registerEvents=function(){const e=wpseoScriptData.analysis.plugins.replaceVars.scope;"post"===e&&jQuery(".categorydiv").each(this.bindTaxonomyEvents.bind(this)),"post"!==e&&"page"!==e||jQuery("#postcustomstuff > #list-table").each(this.bindFieldEvents.bind(this))},g.prototype.subscribeToGutenberg=function(){if(!Object(a.a)())return;const e={0:""};let t=null;const n=wp.data;n.subscribe(()=>{const i=n.select("core/editor").getEditedPostAttribute("parent");if(void 0!==i&&t!==i)return t=i,i<1?(this._currentParentPageTitle="",void this.declareReloaded()):Object(r.isUndefined)(e[i])?void s.loadPromise.done(()=>{new s.models.Page({id:i}).fetch().then(t=>{this._currentParentPageTitle=t.title.rendered,e[i]=this._currentParentPageTitle,this.declareReloaded()}).fail(()=>{this._currentParentPageTitle="",this.declareReloaded()})}):(this._currentParentPageTitle=e[i],void this.declareReloaded())})},g.prototype.addReplacement=function(e){p[e.placeholder]=e},g.prototype.removeReplacement=function(e){delete p[e.getPlaceholder()]},g.prototype.registerModifications=function(){var e=this.replaceVariables.bind(this);Object(r.forEach)(u,function(t){this._app.registerModification(t,e,"replaceVariablePlugin",10)}.bind(this))},g.prototype.replaceVariables=function(e){return Object(r.isUndefined)(e)||(e=this.parentReplace(e),e=this.replaceCustomTaxonomy(e),e=this.replaceByStore(e),e=this.replacePlaceholders(e)),e},g.prototype.replaceByStore=function(e){const t=this._store.getState().snippetEditor.replacementVariables;return Object(r.forEach)(t,t=>{""!==t.value&&(e=e.replace("%%"+t.name+"%%",t.value))}),e},g.prototype.getReplacementSource=function(e){return"app"===e.source?this._app.rawData:"direct"===e.source?"direct":wpseoScriptData.analysis.plugins.replaceVars.replace_vars},g.prototype.getReplacement=function(e){var t=this.getReplacementSource(e.options);return!1===e.inScope(wpseoScriptData.analysis.plugins.replaceVars.scope)?"":"direct"===t?e.replacement:t[e.replacement]||""},g.prototype.replacePlaceholders=function(e){return Object(r.forEach)(p,function(t){e=e.replace(new RegExp(t.getPlaceholder(!0),"g"),this.getReplacement(t))}.bind(this)),e},g.prototype.declareReloaded=function(){this._app.pluginReloaded("replaceVariablePlugin"),this._store.dispatch(d())},g.prototype.getCategoryName=function(e){var t=e.parent("label").clone();return t.children().remove(),t.text().trim()},g.prototype.parseTaxonomies=function(e,t){Object(r.isUndefined)(h[t])&&(h[t]={});const n=[];Object(r.forEach)(e,function(e){const s=(e=jQuery(e)).val(),i=this.getCategoryName(e),r=e.prop("checked");h[t][s]={label:i,checked:r},r&&-1===n.indexOf(i)&&n.push(i)}.bind(this)),"category"!==t&&(t="ct_"+t),this._store.dispatch(l(t,n.join(", ")))},g.prototype.getAvailableTaxonomies=function(e){var t=jQuery(e).find("input[type=checkbox]"),n=jQuery(e).attr("id").replace("taxonomy-","");t.length>0&&this.parseTaxonomies(t,n),this.declareReloaded()},g.prototype.bindTaxonomyEvents=function(e,t){(t=jQuery(t)).on("wpListAddEnd",".categorychecklist",this.getAvailableTaxonomies.bind(this,t)),t.on("change","input[type=checkbox]",this.getAvailableTaxonomies.bind(this,t)),this.getAvailableTaxonomies(t)},g.prototype.replaceCustomTaxonomy=function(e){return Object(r.forEach)(h,function(t,n){var s="%%ct_"+n+"%%";"category"===n&&(s="%%"+n+"%%"),e=e.replace(s,this.getTaxonomyReplaceVar(n))}.bind(this)),e},g.prototype.getTaxonomyReplaceVar=function(e){var t=[],n=h[e];return!0===Object(r.isUndefined)(n)?"":(Object(r.forEach)(n,(function(e){!1!==e.checked&&t.push(e.label)})),jQuery.uniqueSort(t).join(", "))},g.prototype.parseFields=function(e){jQuery(e).each(function(e,t){var n=jQuery("#"+t.id+"-key").val(),s=jQuery("#"+t.id+"-value").val();const i="cf_"+this.sanitizeCustomFieldNames(n),r=n+" (custom field)";this._store.dispatch(l(i,s,r)),this.addReplacement(new o.a(`%%${i}%%`,s,{source:"direct"}))}.bind(this))},g.prototype.removeFields=function(e){jQuery(e).each(function(e,t){var n=jQuery("#"+t.id+"-key").val();this.removeReplacement("%%cf_"+this.sanitizeCustomFieldNames(n)+"%%")}.bind(this))},g.prototype.sanitizeCustomFieldNames=function(e){return e.replace(/\s/g,"_")},g.prototype.getAvailableFields=function(e){this.removeCustomFields();var t=jQuery(e).find("#the-list > tr:visible[id]");t.length>0&&this.parseFields(t),this.declareReloaded()},g.prototype.bindFieldEvents=function(e,t){var n=(t=jQuery(t)).find("#the-list");n.on("wpListDelEnd.wpseoCustomFields",this.getAvailableFields.bind(this,t)),n.on("wpListAddEnd.wpseoCustomFields",this.getAvailableFields.bind(this,t)),n.on("input.wpseoCustomFields",".textarea",this.getAvailableFields.bind(this,t)),n.on("click.wpseoCustomFields",".button + .updatemeta",this.getAvailableFields.bind(this,t)),this.getAvailableFields(t)},g.prototype.removeCustomFields=function(){var e=Object(r.filter)(p,(function(e,t){return t.indexOf("%%cf_")>-1}));Object(r.forEach)(e,function(e){this._store.dispatch(c(Object(r.trim)(e.placeholder,"%%"))),this.removeReplacement(e)}.bind(this))},g.prototype.parentReplace=function(e){const t=jQuery("#parent_id, #parent").eq(0);return this.hasParentTitle(t)&&(e=e.replace(/%%parent_title%%/,this.getParentTitleReplacement(t))),Object(a.a)()&&!Object(r.isUndefined)(this._currentParentPageTitle)&&(e=e.replace(/%%parent_title%%/,this._currentParentPageTitle)),e},g.prototype.hasParentTitle=function(e){return!Object(r.isUndefined)(e)&&!Object(r.isUndefined)(e.prop("options"))},g.prototype.getParentTitleReplacement=function(e){var t=e.find("option:selected").text();return t===wpseoScriptData.analysis.plugins.replaceVars.no_parent_text?"":t},g.ReplaceVar=o.a,t.a=g},function(e,t){e.exports=window.wp.api},function(e,t,n){"use strict";var s=n(17),i=n(4),r=n(15);t.a=function(e,t,n){e("morphology",new r.Paper("",{keyword:n})).then(e=>{const n=e.result.keyphraseForms;t.dispatch(s.actions.updateWordsToHighlight(Object(i.uniq)(Object(i.flatten)(n))))}).catch(()=>{t.dispatch(s.actions.updateWordsToHighlight([]))})}},,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var s=n(4),i=n(5),r=n(46),a=n(99),o=n(131);function c(e,t){let n;r.isTinyMCEAvailable(r.tmceId)&&(Object(s.isUndefined)(n)&&(n=Object(a.c)(tinyMCE.get(r.tmceId))),n(e,t)),Object(o.b)()&&(function(e,t){tinyMCE.editors.map(e=>Object(a.c)(e)).forEach(n=>n(e,t))}(e,t),Object(o.a)(t))}function l(){const e=Object(i.select)("yoast-seo/editor").isMarkingAvailable(),t=Object(i.select)("yoast-seo/editor").getMarkerPauseStatus();return!e||t?s.noop:c}},,function(e,t){e.exports=window.wp.annotations},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var s=n(3);const i=s.forwardRef((function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 8l4 4m0 0l-4 4m4-4H3"}))}));t.a=i},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var s=n(5),i=n(17),r=n(4),a=n(178);function o(){const e=Object(s.registerStore)("yoast-seo/editor",{reducer:Object(s.combineReducers)(i.reducers),selectors:i.selectors,actions:Object(r.pickBy)(i.actions,e=>"function"==typeof e),controls:a});return(e=>{e.dispatch(i.actions.setSettings({socialPreviews:{sitewideImage:window.wpseoScriptData.metabox.sitewide_social_image,siteName:window.wpseoScriptData.metabox.site_name,contentImage:window.wpseoScriptData.metabox.first_content_image,twitterCardType:window.wpseoScriptData.metabox.twitterCardType},snippetEditor:{baseUrl:window.wpseoScriptData.metabox.base_url,date:window.wpseoScriptData.metabox.metaDescriptionDate,recommendedReplacementVariables:window.wpseoScriptData.analysis.plugins.replaceVars.recommended_replace_vars,siteIconUrl:window.wpseoScriptData.metabox.siteIconUrl}})),e.dispatch(i.actions.setSEMrushChangeCountry(window.wpseoScriptData.metabox.countryCode)),e.dispatch(i.actions.setSEMrushLoginStatus(window.wpseoScriptData.metabox.SEMrushLoginStatus)),e.dispatch(i.actions.setWincherLoginStatus(window.wpseoScriptData.metabox.wincherLoginStatus,!1)),e.dispatch(i.actions.setWincherWebsiteId(window.wpseoScriptData.metabox.wincherWebsiteId)),e.dispatch(i.actions.setWincherAutomaticKeyphaseTracking(window.wpseoScriptData.metabox.wincherAutoAddKeyphrases)),e.dispatch(i.actions.setDismissedAlerts(Object(r.get)(window,"wpseoScriptData.dismissedAlerts",{}))),e.dispatch(i.actions.setCurrentPromotions(Object(r.get)(window,"wpseoScriptData.currentPromotions",[]))),e.dispatch(i.actions.setIsPremium(Boolean(Object(r.get)(window,"wpseoScriptData.metabox.isPremium",!1)))),e.dispatch(i.actions.setPostId(Number(Object(r.get)(window,"wpseoScriptData.postId",null)))),e.dispatch(i.actions.setLinkParams(Object(r.get)(window,"wpseoScriptData.linkParams",{}))),e.dispatch(i.actions.setPluginUrl(Object(r.get)(window,"wpseoScriptData.pluginUrl",""))),e.dispatch(i.actions.setWistiaEmbedPermissionValue("1"===Object(r.get)(window,"wpseoScriptData.wistiaEmbedPermission",!1)))})(e),e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);class i{constructor(){this._callbacks=[],this.register=this.register.bind(this)}register(e){Object(s.isFunction)(e)&&this._callbacks.push(e)}getData(){let e={};return this._callbacks.forEach(t=>{e=Object(s.merge)(e,t())}),e}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var s=n(4),i=n(18),r=n(170);function a(e,t,n){const a=Object(i.a)();if(!a.previouslyUsedKeywordActive)return;const o=Object(s.get)(window,["wpseoScriptData","analysis","worker","keywords_assessment_url"],"used-keywords-assessment.js"),c=Object(s.get)(window,["wpseoScriptData","usedKeywordsNonce"],""),l=new r.a(t,a,e,o,c);l.init();let d={};n.subscribe(()=>{const e=n.getState()||{};e.focusKeyword!==d.focusKeyword&&(d=e,l.setKeyword(e.focusKeyword))})}},,,,,function(e,t,n){"use strict";var s=n(0),i=n(19),r=n(5),a=n(39),o=n(1),c=n(6),l=n(2),d=n.n(l),u=n(93);const p="yoast-seo/editor",h=()=>{const e=Object(r.useSelect)(e=>e(p).selectLink("https://www.yoa.st/ai-generator-learn-more"),[]),t=Object(r.useSelect)(e=>e(p).selectLink("https://yoa.st/ai-generator-upsell"),[]),n=Object(r.useSelect)(e=>e(p).selectImageLink("ai-generator-preview.png"),[]),i=Object(s.useMemo)(()=>({src:n,width:"432",height:"244"}),[n]),a=Object(r.useSelect)(e=>e(p).selectWistiaEmbedPermissionValue(),[]),o=Object(r.useSelect)(e=>e(p).selectWistiaEmbedPermissionStatus(),[]),{setWistiaEmbedPermission:c}=Object(r.useDispatch)(p),l=Object(s.useMemo)(()=>({value:a,status:o,set:c}),[a,o,c]);return Object(s.createElement)(u.b,{learnMoreLink:e,upsellLink:t,thumbnail:i,wistiaEmbedPermission:l})},g=e=>{let{fieldId:t}=e;const[n,,,i,r]=Object(c.useToggleState)(!1),a=Object(s.useCallback)(()=>{i()},[i]),l=Object(s.useRef)(null);return Object(s.createElement)(s.Fragment,null,Object(s.createElement)("button",{type:"button",id:"yst-replacevar__use-ai-button__"+t,className:"yst-replacevar__use-ai-button-upsell",onClick:a},Object(o.__)("Use AI","wordpress-seo")),Object(s.createElement)(c.Modal,{className:"yst-introduction-modal",isOpen:n,onClose:r,initialFocus:l},Object(s.createElement)(c.Modal.Panel,{className:"yst-max-w-lg yst-p-0 yst-bg-gradient-to-b yst-from-[#EDD2E1] yst-rounded-3xl"},Object(s.createElement)(h,{onClose:r,focusElementRef:l}))))};g.propTypes={fieldId:d.a.string.isRequired},t.a=()=>{const e=Object(r.select)("yoast-seo/editor").getIsPremium();Object(a.addFilter)("yoast.replacementVariableEditor.additionalButtons","yoast/yoast-seo-premium/AiGenerator",(t,n)=>{let{fieldId:r}=n;return e||t.push(Object(s.createElement)(i.Fill,{name:"yoast.replacementVariableEditor.additionalButtons."+r},Object(s.createElement)(g,{fieldId:r}))),t})}},function(e,t,n){"use strict";function s(e){function t(e){e&&(e.focus(),e.click())}function n(){if(e(".wpseo-meta-section").length>0){const t=e(".wpseo-meta-section-link");e(".wpseo-metabox-menu li").filter((function(){return"#wpseo-meta-section-content"===e(this).find(".wpseo-meta-section-link").attr("href")})).addClass("active").find("[role='tab']").addClass("yoast-active-tab"),e("#wpseo-meta-section-content, .wpseo-meta-section-react").addClass("active"),t.on("click",(function(n){var s=e(this).attr("id"),i=e(this).attr("href"),r=e(i);n.preventDefault(),e(".wpseo-metabox-menu li").removeClass("active").find("[role='tab']").removeClass("yoast-active-tab"),e(".wpseo-meta-section").removeClass("active"),e(".wpseo-meta-section-react.active").removeClass("active"),"#wpseo-meta-section-content"===i&&e(".wpseo-meta-section-react").addClass("active"),r.addClass("active"),e(this).parent("li").addClass("active").find("[role='tab']").addClass("yoast-active-tab");const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new CustomEvent(e,{detail:t})}("YoastSEO:metaTabChange",{metaTabId:s});window.dispatchEvent(a),this&&(function(e){e.attr({"aria-selected":"false",tabIndex:"-1"})}(t),this.removeAttribute("tabindex"),this.setAttribute("aria-selected","true"))}))}}window.wpseoInitTabs=n,window.wpseo_init_tabs=n,e(".wpseo-meta-section").each((function(t,n){e(n).find(".wpseotab:first").addClass("active")})),window.wpseo_init_tabs(),function(){const n=e(".yoast-aria-tabs"),s=n.find("[role='tab']"),i=n.attr("aria-orientation")||"horizontal";s.attr({"aria-selected":!1,tabIndex:"-1"}),s.filter(".yoast-active-tab").removeAttr("tabindex").attr("aria-selected","true"),s.on("keydown",(function(n){-1!==[32,35,36,37,38,39,40].indexOf(n.which)&&("horizontal"===i&&-1!==[38,40].indexOf(n.which)||"vertical"===i&&-1!==[37,39].indexOf(n.which)||function(n,s){const i=n.which,r=s.index(e(n.target));switch(i){case 32:n.preventDefault(),t(s[r]);break;case 35:n.preventDefault(),t(s[s.length-1]);break;case 36:n.preventDefault(),t(s[0]);break;case 37:case 38:n.preventDefault(),t(s[r-1<0?s.length-1:r-1]);break;case 39:case 40:n.preventDefault(),t(s[r+1===s.length?0:r+1])}}(n,s))}))}()}n.d(t,"a",(function(){return s}))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var s=n(39),i=n(4),r=n(105),a=n(66),o=n(18),c=n(15);function l(e,t,n,l,d){const u=Object(i.cloneDeep)(t.getState());Object(i.merge)(u,n.getData());const p=e.getData();let h=null;d&&(h=d.getBlocks(),h=h.map(e=>function e(t){const n={attributes:{}};return["level","content","alt"].forEach(e=>{t.attributes[e]&&(n.attributes[e]=t.attributes[e])}),n.name=t.name,n.clientId=t.clientId,n.innerBlocks=t.innerBlocks.map(t=>e(t)),n}(e)));const g={text:p.content,textTitle:p.title,keyword:u.focusKeyword,synonyms:u.synonyms,description:u.analysisData.snippet.description||u.snippetEditor.data.description,title:u.analysisData.snippet.title||u.snippetEditor.data.title,slug:u.snippetEditor.data.slug,permalink:u.settings.snippetEditor.baseUrl+u.snippetEditor.data.slug,wpBlocks:h,date:u.settings.snippetEditor.date};l.loaded&&(g.title=l._applyModifications("data_page_title",g.title),g.title=l._applyModifications("title",g.title),g.description=l._applyModifications("data_meta_desc",g.description),g.text=l._applyModifications("content",g.text),g.wpBlocks=l._applyModifications("wpBlocks",g.wpBlocks));const f=u.analysisData.snippet.filteredSEOTitle;return g.titleWidth=Object(r.a)(f||u.snippetEditor.data.title),g.locale=Object(a.a)(),g.writingDirection=function(){let e="LTR";return Object(o.a)().isRtl&&(e="RTL"),e}(),c.Paper.parse(Object(s.applyFilters)("yoast.analysis.data",g))}},,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){(function(t){!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:m,table:m,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/};function s(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||_.defaults,this.rules=n.normal,this.options.pedantic?this.rules=n.pedantic:this.options.gfm&&(this.rules=n.gfm)}n._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,n.def=p(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d{1,9}\.)/,n.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,n.item=p(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=p(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",n._comment=//,n.html=p(n.html,"i").replace("comment",n._comment).replace("tag",n._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),n.paragraph=p(n._paragraph).replace("hr",n.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",n._tag).getRegex(),n.blockquote=p(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=y({},n),n.gfm=y({},n.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),n.pedantic=y({},n.normal,{html:p("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",n._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:m,paragraph:p(n.normal._paragraph).replace("hr",n.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",n.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),s.rules=n,s.lex=function(e,t){return new s(t).lex(e)},s.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},s.prototype.token=function(e,t){var s,i,r,a,o,c,l,u,p,h,g,f,m,y,O,v;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e)){var _=this.tokens[this.tokens.length-1];e=e.substring(r[0].length),_&&"paragraph"===_.type?_.text+="\n"+r[0].trimRight():(r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",codeBlockStyle:"indented",text:this.options.pedantic?r:w(r,"\n")}))}else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2]?r[2].trim():r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if((r=this.rules.nptable.exec(e))&&(c={type:"table",header:b(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===c.align.length){for(e=e.substring(r[0].length),g=0;g ?/gm,""),this.token(r,t),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),l={type:"list_start",ordered:y=(a=r[2]).length>1,start:y?+a:"",loose:!1},this.tokens.push(l),u=[],s=!1,m=(r=r[0].match(this.rules.item)).length,g=0;g1?1===o.length:o.length>1||this.options.smartLists&&o!==a)&&(e=r.slice(g+1).join("\n")+e,g=m-1)),i=s||/\n\n(?!\s*$)/.test(c),g!==m-1&&(s="\n"===c.charAt(c.length-1),i||(i=s)),i&&(l.loose=!0),v=void 0,(O=/^\[[ xX]\] /.test(c))&&(v=" "!==c[1],c=c.replace(/^\[[ xX]\] +/,"")),p={type:"list_item_start",task:O,checked:v,loose:i},u.push(p),this.tokens.push(p),this.token(c,!1),this.tokens.push({type:"list_item_end"});if(l.loose)for(m=u.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",i.em=p(i.em).replace(/punctuation/g,i._punctuation).getRegex(),i._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=p(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,i.tag=p(i.tag).replace("comment",n._comment).replace("attribute",i._attribute).getRegex(),i._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,i._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,i._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,i.link=p(i.link).replace("label",i._label).replace("href",i._href).replace("title",i._title).getRegex(),i.reflink=p(i.reflink).replace("label",i._label).getRegex(),i.normal=y({},i),i.pedantic=y({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:p(/^!?\[(label)\]\((.*?)\)/).replace("label",i._label).getRegex(),reflink:p(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",i._label).getRegex()}),i.gfm=y({},i.normal,{escape:p(i.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(a[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(a[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(a[0])&&(this.inRawBlock=!1),e=e.substring(a[0].length),c+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):d(a[0]):a[0];else if(a=this.rules.link.exec(e)){var l=O(a[2],"()");if(l>-1){var u=4+a[1].length+l;a[2]=a[2].substring(0,l),a[0]=a[0].substring(0,u).trim(),a[3]=""}e=e.substring(a[0].length),this.inLink=!0,s=a[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(s))?(s=t[1],i=t[3]):i="":i=a[3]?a[3].slice(1,-1):"",s=s.trim().replace(/^<([\s\S]*)>$/,"$1"),c+=this.outputLink(a,{href:r.escapes(s),title:r.escapes(i)}),this.inLink=!1}else if((a=this.rules.reflink.exec(e))||(a=this.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){c+=a[0].charAt(0),e=a[0].substring(1)+e;continue}this.inLink=!0,c+=this.outputLink(a,t),this.inLink=!1}else if(a=this.rules.strong.exec(e))e=e.substring(a[0].length),c+=this.renderer.strong(this.output(a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.em.exec(e))e=e.substring(a[0].length),c+=this.renderer.em(this.output(a[6]||a[5]||a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.code.exec(e))e=e.substring(a[0].length),c+=this.renderer.codespan(d(a[2].trim(),!0));else if(a=this.rules.br.exec(e))e=e.substring(a[0].length),c+=this.renderer.br();else if(a=this.rules.del.exec(e))e=e.substring(a[0].length),c+=this.renderer.del(this.output(a[1]));else if(a=this.rules.autolink.exec(e))e=e.substring(a[0].length),s="@"===a[2]?"mailto:"+(n=d(this.mangle(a[1]))):n=d(a[1]),c+=this.renderer.link(s,null,n);else if(this.inLink||!(a=this.rules.url.exec(e))){if(a=this.rules.text.exec(e))e=e.substring(a[0].length),this.inRawBlock?c+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):d(a[0]):a[0]):c+=this.renderer.text(d(this.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===a[2])s="mailto:"+(n=d(a[0]));else{do{o=a[0],a[0]=this.rules._backpedal.exec(a[0])[0]}while(o!==a[0]);n=d(a[0]),s="www."===a[1]?"http://"+n:n}e=e.substring(a[0].length),c+=this.renderer.link(s,null,n)}return c},r.escapes=function(e){return e?e.replace(r.rules._escapes,"$1"):e},r.prototype.outputLink=function(e,t){var n=t.href,s=t.title?d(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,s,this.output(e[1])):this.renderer.image(n,s,d(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",s=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},a.prototype.code=function(e,t,n){var s=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,s);null!=i&&i!==e&&(n=!0,e=i)}return s?'
'+(n?e:d(e,!0))+"
\n":"
"+(n?e:d(e,!0))+"
"},a.prototype.blockquote=function(e){return"
\n"+e+"
\n"},a.prototype.html=function(e){return e},a.prototype.heading=function(e,t,n,s){return this.options.headerIds?"'+e+"\n":""+e+"\n"},a.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},a.prototype.list=function(e,t,n){var s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},a.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},a.prototype.checkbox=function(e){return" "},a.prototype.paragraph=function(e){return"

    "+e+"

    \n"},a.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},a.prototype.tablerow=function(e){return"\n"+e+"\n"},a.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},a.prototype.strong=function(e){return""+e+""},a.prototype.em=function(e){return""+e+""},a.prototype.codespan=function(e){return""+e+""},a.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},a.prototype.del=function(e){return""+e+""},a.prototype.link=function(e,t,n){if(null===(e=h(this.options.sanitize,this.options.baseUrl,e)))return n;var s='"+n+""},a.prototype.image=function(e,t,n){if(null===(e=h(this.options.sanitize,this.options.baseUrl,e)))return n;var s=''+n+'":">")},a.prototype.text=function(e){return e},o.prototype.strong=o.prototype.em=o.prototype.codespan=o.prototype.del=o.prototype.text=function(e){return e},o.prototype.link=o.prototype.image=function(e,t,n){return""+n},o.prototype.br=function(){return""},c.parse=function(e,t){return new c(t).parse(e)},c.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,y({},this.options,{renderer:new o})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},c.prototype.next=function(){return this.token=this.tokens.pop(),this.token},c.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},c.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},c.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,u(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,s,i="",r="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},d.escapeTest=/[&<>"']/,d.escapeReplace=/[&<>"']/g,d.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},d.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,d.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var g={},f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function y(e){for(var t,n,s=1;s=0&&"\\"===n[i];)s=!s;return s?"|":" |"})).split(/ \|/),s=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+d(e.message+"",!0)+"
    ";throw e}}m.exec=m,_.options=_.setOptions=function(e){return y(_.defaults,e),_},_.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new a,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}},_.defaults=_.getDefaults(),_.Parser=c,_.parser=c.parse,_.Renderer=a,_.TextRenderer=o,_.Lexer=s,_.lexer=s.lex,_.InlineLexer=r,_.inlineLexer=r.output,_.Slugger=l,_.parse=_,e.exports=_}(this||"undefined"!=typeof window&&window)}).call(this,n(200))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t);var s=n(51),i=n.n(s),r=n(21),a=n.n(r),o=n(4),c=n(214),l=n(173),d=n(174),u=n(207),p=n(5),h=n(162),g=n.n(h),f=n(94);var m=n(215),y=n(15),b=n(150),w=n(191),O=n(108);const v=new RegExp("\\[[^<>&/\\[\\]\0- =]+?( [^\\]]+?)?\\]","g"),j=new RegExp("\\[/[^<>&/\\[\\]\0- =]+?\\]","g");var k=function(e){let{registerPlugin:t,registerModification:n,pluginReady:s,pluginReloaded:i}=e;this._registerModification=n,this._pluginReady=s,this._pluginReloaded=i,t("YoastShortcodePlugin",{status:"loading"}),this.bindElementEvents();var r="("+wpseoScriptData.analysis.plugins.shortcodes.wpseo_shortcode_tags.join("|")+")";this.keywordRegex=new RegExp(r,"g"),this.closingTagRegex=new RegExp("\\[\\/"+r+"\\]","g"),this.nonCaptureRegex=new RegExp("\\["+r+"[^\\]]*?\\]","g"),this.parsedShortcodes=[],this.loadShortcodes(this.declareReady.bind(this))};k.prototype.declareReady=function(){this._pluginReady("YoastShortcodePlugin"),this.registerModifications()},k.prototype.declareReloaded=function(){this._pluginReloaded("YoastShortcodePlugin")},k.prototype.registerModifications=function(){this._registerModification("content",this.replaceShortcodes.bind(this),"YoastShortcodePlugin")},k.prototype.removeUnknownShortCodes=function(e){return(e=e.replace(v,"")).replace(j,"")},k.prototype.replaceShortcodes=function(e){var t=this.parsedShortcodes;if("string"==typeof e&&t.length>0)for(var n=0;n0))return e();this.parseShortcodes(t,e)},k.prototype.bindElementEvents=function(){var e=document.getElementById("content")||!1,t=_.debounce(this.loadShortcodes.bind(this,this.declareReloaded.bind(this)),500);e&&(e.addEventListener("keyup",t),e.addEventListener("change",t)),"undefined"!=typeof tinyMCE&&"function"==typeof tinyMCE.on&&tinyMCE.on("addEditor",(function(e){e.editor.on("change",t),e.editor.on("keyup",t)}))},k.prototype.getContentTinyMCE=function(){var e=document.getElementById("content")&&document.getElementById("content").value||"";return"undefined"!=typeof tinyMCE&&void 0!==tinyMCE.editors&&0!==tinyMCE.editors.length&&(e=tinyMCE.get("content")&&tinyMCE.get("content").getContent()||""),e},k.prototype.getUnparsedShortcodes=function(e){if("object"!=typeof e)return console.error("Failed to get unparsed shortcodes. Expected parameter to be an array, instead received "+typeof e),!1;for(var t=[],n=0;n0?void jQuery.post(ajaxurl,{action:"wpseo_filter_shortcodes",_wpnonce:wpseoScriptData.analysis.plugins.shortcodes.wpseo_filter_shortcodes_nonce,data:e},function(e){this.saveParsedShortcodes(e,t)}.bind(this)):t()},k.prototype.saveParsedShortcodes=function(e,t){e=JSON.parse(e);for(var n=0;n label");return s.length?e=this.getCategoryName(s):e},V.prototype.getSearchUrl=function(){return wpseoScriptData.metabox.search_url},V.prototype.getPostUrl=function(){return wpseoScriptData.metabox.post_edit_url},V.prototype.getPermalink=function(){var e=this.getUrl();return wpseoScriptData.metabox.base_url+e},V.prototype.getCategoryName=function(e){var t=e.clone();return t.children().remove(),t.text().trim()},V.prototype.setDataFromSnippet=function(e,t){switch(t){case"snippet_meta":document.getElementById("yoast_wpseo_metadesc").value=e;break;case"snippet_cite":if(this.leavePostNameUntouched)return void(this.leavePostNameUntouched=!1);null!==document.getElementById("post_name")&&(document.getElementById("post_name").value=e),null!==document.getElementById("editable-post-name")&&null!==document.getElementById("editable-post-name-full")&&(document.getElementById("editable-post-name").textContent=e,document.getElementById("editable-post-name-full").textContent=e);break;case"snippet_title":document.getElementById("yoast_wpseo_title").value=e}},V.prototype.saveSnippetData=function(e){this.setDataFromSnippet(e.title,"snippet_title"),this.setDataFromSnippet(e.urlPath,"snippet_cite"),this.setDataFromSnippet(e.metaDesc,"snippet_meta")},V.prototype.bindElementEvents=function(e){this.inputElementEventBinder(e),this.changeElementEventBinder(e)},V.prototype.changeElementEventBinder=function(e){for(var t=["#yoast-wpseo-primary-category",'.categorychecklist input[name="post_category[]"]'],n=0;n"+e.responseText+"
    ").find("#editable-post-name-full").text()}function d(){const e={};return Object(F.a)()&&(e.output="does-not-really-exist-but-it-needs-something"),Object(U.a)()&&(e.contentOutput="also-does-not-really-exist-but-it-needs-something"),e}function u(e){Object(o.isUndefined)(e.seoAssessorPresenter)||(e.seoAssessorPresenter.render=function(){}),Object(o.isUndefined)(e.contentAssessorPresenter)||(e.contentAssessorPresenter.render=function(){},e.contentAssessorPresenter.renderIndividualRatings=function(){})}let h;function g(e,t){const n=h||"";h=e.getState().analysisData.snippet,!Object(b.isShallowEqualObjects)(n,h)&&t()}function m(e,t){"visual"!==e?t.dispatch(se("disabled")):t.dispatch(se("enabled"))}function v(){return Object(p.select)("core/edit-post").getEditorMode()}jQuery(document).on("ajaxComplete",(function(e,n,s){if("/admin-ajax.php"===s.url.substr(0-"/admin-ajax.php".length)&&"string"==typeof s.data&&-1!==s.data.indexOf("action=sample-permalink")){a.leavePostNameUntouched=!0;const e={slug:l(n)};t.dispatch(ie(e))}})),function(){if(s=e("#wpseo_meta"),R.setStore(t),R.wpTextViewOnInitCheck(),function(){const e=new C.a;e.isClassicEditorHidden()&&R.disableMarkerButtons(),e.vcActive?R.disableMarkerButtons():e.listen({classicEditorHidden:()=>{R.disableMarkerButtons()},classicEditorShown:()=>{R.isTextViewActive()||R.enableMarkerButtons()}})}(),0===s.length)return;a=function(e){const n=new K({data:e,store:t});return n.leavePostNameUntouched=!1,n}(n),A.initialize();const l=function(t){!function(e){(void 0===window.tinyMCE||Object(f.a)()||"1"!==wpseoScriptData.metabox.show_markers)&&e.dispatch(se("disabled"))}(t);const n={elementTarget:[R.tmceId,"yoast_wpseo_focuskw_text_input","yoast_wpseo_metadesc","excerpt","editable-post-name","editable-post-name-full"],targets:d(),callbacks:{getData:a.getData.bind(a)},locale:wpseoScriptData.metabox.contentLocale,marker:Object(G.a)(t),contentAnalysisActive:Object(U.a)(),keywordAnalysisActive:Object(F.a)(),hasSnippetPreview:!1,debouncedRefresh:!1,researcher:new window.yoast.Researcher.default};Object(F.a)()&&(t.dispatch(ne(e("#yoast_wpseo_focuskw").val())),n.callbacks.saveScores=a.saveScores.bind(a),n.callbacks.updatedKeywordsResults=function(e){const n=t.getState().focusKeyword;t.dispatch(ce(n,e)),t.dispatch(ae())}),Object(U.a)()&&(n.callbacks.saveContentScore=a.saveContentScore.bind(a),n.callbacks.updatedContentResults=function(e){t.dispatch(oe(e)),t.dispatch(ae())}),i=e("#title");const s=Object(W.a)();return Object(o.isUndefined)(s)||Object(o.isUndefined)(s.domain)||(n.translations=s),n}(t);r=new y.App(l),window.YoastSEO=window.YoastSEO||{},window.YoastSEO.app=r,window.YoastSEO.store=t,window.YoastSEO.analysis={},window.YoastSEO.analysis.worker=Object(D.a)(),window.YoastSEO.analysis.collectData=()=>Object(L.a)(n,t,c,r.pluggable,Object(p.select)("core/block-editor")),window.YoastSEO.analysis.applyMarks=(e,t)=>Object(G.a)()(e,t),window.YoastSEO.app.refresh=Object(o.debounce)(()=>Object(B.default)(window.YoastSEO.analysis.worker,window.YoastSEO.analysis.collectData,window.YoastSEO.analysis.applyMarks,t,a),J.refreshDelay),window.YoastSEO.app.registerCustomDataCallback=c.register,window.YoastSEO.app.pluggable=new T.a(window.YoastSEO.app.refresh),window.YoastSEO.app.registerPlugin=window.YoastSEO.app.pluggable._registerPlugin,window.YoastSEO.app.pluginReady=window.YoastSEO.app.pluggable._ready,window.YoastSEO.app.pluginReloaded=window.YoastSEO.app.pluggable._reloaded,window.YoastSEO.app.registerModification=window.YoastSEO.app.pluggable._registerModification,window.YoastSEO.app.registerAssessment=(e,t,n)=>{if(!Object(o.isUndefined)(r.seoAssessor))return window.YoastSEO.app.pluggable._registerAssessment(r.defaultSeoAssessor,e,t,n)&&window.YoastSEO.app.pluggable._registerAssessment(r.cornerStoneSeoAssessor,e,t,n)},window.YoastSEO.app.changeAssessorOptions=function(e){window.YoastSEO.analysis.worker.initialize(e).catch(X.a),window.YoastSEO.app.refresh()},Object(ee.a)(r.refresh,"get_focus_keyword_usage_and_post_types",t),t.subscribe(g.bind(null,t,r.refresh)),window.YoastSEO.analyzerArgs=l,window.YoastSEO.wp={},window.YoastSEO.wp.replaceVarsPlugin=new w.a(r,t),window.YoastSEO.wp.shortcodePlugin=new x({registerPlugin:r.registerPlugin,registerModification:r.registerModification,pluginReady:r.pluginReady,pluginReloaded:r.pluginReloaded}),Object(f.a)()&&new class{constructor(e,t,n){this._registerPlugin=e,this._registerModification=t,this._refreshAnalysis=n,this._reusableBlocks={},this._selectCore=Object(p.select)("core"),this._selectCoreEditor=Object(p.select)("core/editor"),this.reusableBlockChangeListener=this.reusableBlockChangeListener.bind(this),this.parseReusableBlocks=this.parseReusableBlocks.bind(this)}register(){this._registerPlugin("YoastReusableBlocksPlugin",{status:"ready"}),this._registerModification("content",this.parseReusableBlocks,"YoastReusableBlocksPlugin",1),Object(p.subscribe)(Object(o.debounce)(this.reusableBlockChangeListener,500))}reusableBlockChangeListener(){const{blocks:e}=this._selectCoreEditor.getPostEdits();if(!e)return;let t=!1;e.forEach(e=>{if(!Object(O.isReusableBlock)(e))return;const n=this.getBlockContent(e.attributes.ref);this._reusableBlocks[e.attributes.ref]?this._reusableBlocks[e.attributes.ref].content!==n&&(this._reusableBlocks[e.attributes.ref].content=n,t=!0):(this._reusableBlocks[e.attributes.ref]={id:e.attributes.ref,clientId:e.clientId,content:n},t=!0)}),t&&this._refreshAnalysis()}parseReusableBlocks(e){const t=//g;return e.match(t)?e.replace(t,(t,n)=>this._reusableBlocks[n]&&this._reusableBlocks[n].content?this._reusableBlocks[n].content:e):e}getBlockContent(e){const t=this._selectCore.getEditedEntityRecord("postType","wp_block",e);if(t){if(Object(o.isFunction)(t.content))return t.content(t);if(t.blocks)return Object(O.__unstableSerializeAndClean)(t.blocks);if(t.content)return t.content}return""}}(r.registerPlugin,r.registerModification,window.YoastSEO.app.refresh).register(),wpseoScriptData.metabox.markdownEnabled&&new class{constructor(e,t){this._registerPlugin=e,this._registerModification=t}register(){this._registerPlugin("YoastMarkdownPlugin",{status:"ready"}),this._registerModification("content",this.parseMarkdown.bind(this),"YoastMarkdownPlugin",1)}parseMarkdown(e){return S()(e)}}(r.registerPlugin,r.registerModification).register(),window.YoastSEO.wp._tinyMCEHelper=R,Object(F.a)()&&function(t){const n=e("#yoast_wpseo_linkdex").val(),s=Object($.a)(n);Object(I.a)(s),Object(M.a)(s),t.updateScore("keyword",s.className)}(A),Object(U.a)()&&function(t){const n=e("#yoast_wpseo_content_score").val(),s=Object($.a)(n);Object(M.a)(s),t.updateScore("content",s.className)}(A),Object(H.a)()&&function(t){const n=e("#yoast_wpseo_inclusive_language_score").val(),s=Object($.a)(n);Object(M.a)(s),t.updateScore("inclusive-language",s.className)}(A),window.YoastSEO.analysis.worker.initialize(Object(D.b)()).then(()=>{jQuery(window).trigger("YoastSEO:ready")}).catch(X.a),a.bindElementEvents(Object(o.debounce)(()=>Object(B.default)(window.YoastSEO.analysis.worker,window.YoastSEO.analysis.collectData,window.YoastSEO.analysis.applyMarks,t,a),J.refreshDelay)),u(r);const h=r.initAssessorPresenters.bind(r);r.initAssessorPresenters=function(){h(),u(r)},n.setRefresh&&n.setRefresh(r.refresh);let b=Object(Q.a)(a);const _=Object(Q.e)(wpseoScriptData.metabox);b=Object(Q.c)(b,_),t.dispatch(ie(b)),t.dispatch(re("1"===document.getElementById("yoast_wpseo_is_cornerstone").value));let j=t.getState().focusKeyword;Object(P.a)(window.YoastSEO.analysis.worker.runResearch,t,j);const k=Object(o.debounce)(()=>{r.refresh()},50);let E=null;if(t.subscribe(()=>{const n=t.getState().focusKeyword;j!==n&&(j=n,Object(P.a)(window.YoastSEO.analysis.worker.runResearch,t,j),e("#yoast_wpseo_focuskw").val(j),k());const s=Object(Q.b)(t),i=Object(Q.d)(s,_);b.title!==s.title&&a.setDataFromSnippet(i.title,"snippet_title"),b.slug!==s.slug&&a.setDataFromSnippet(i.slug,"snippet_cite"),b.description!==s.description&&a.setDataFromSnippet(i.description,"snippet_meta");const o=t.getState();E!==o.isCornerstone&&(E=o.isCornerstone,document.getElementById("yoast_wpseo_is_cornerstone").value=o.isCornerstone,r.changeAssessorOptions({useCornerstone:o.isCornerstone})),b.title=s.title,b.slug=s.slug,b.description=s.description}),Object(f.a)()){let e=v();m(e,t),Object(p.subscribe)(()=>{const n=v();n!==e&&(e=n,m(e,t))})}Object(B.initializationDone)(),window.YoastSEO.app.refresh()}()}window.YoastReplaceVarPlugin=w.a,window.YoastShortcodePlugin=x;var de=n(11),ue=n.n(de),pe=n(0),he=n(2),ge=n.n(he),fe=n(19),me=n(9),ye=n.n(me),be=n(20),we=n(26),Oe=n.n(we),ve=n(16);const _e=ye.a.div` +Object(i.__)("To see this video, you need to allow %1$s to load embedded videos from %2$s.","wordpress-seo"),"Yoast SEO","Wistia")),Object(s.createElement)("div",{className:"yst-flex yst-mt-6 yst-gap-x-4"},Object(s.createElement)(r.Button,{type:"button",variant:"secondary",onClick:u,disabled:a.status===q.b.loading},Object(i.__)("Deny","wordpress-seo")),Object(s.createElement)(r.Button,{type:"button",variant:"primary",onClick:p,disabled:a.status===q.b.loading},Object(i.__)("Allow","wordpress-seo")))),a.value&&o===q.c.isPlaying&&Object(s.createElement)("div",{className:"yst-absolute yst-w-full yst-h-full yst-top-0 yst-left-0"},null===t&&Object(s.createElement)(r.Spinner,{className:"yst-h-full yst-mx-auto"}),null!==t&&Object(s.createElement)("div",{className:`wistia_embed wistia_async_${t} videoFoam=true`}))))};Y.propTypes={videoId:o.a.string.isRequired,thumbnail:o.a.shape({src:o.a.string.isRequired,width:o.a.string,height:o.a.string}).isRequired,wistiaEmbedPermission:o.a.shape({value:o.a.bool.isRequired,status:o.a.string.isRequired,set:o.a.func.isRequired}).isRequired}},function(e,t,n){"use strict";function s(){return window.wpseoScriptData&&"1"===window.wpseoScriptData.isBlockEditor}n.d(t,"a",(function(){return s}))},function(e,t,n){"use strict";function s(e){var t=jQuery(".yst-traffic-light"),n=t.closest(".wpseo-meta-section-link"),s=jQuery("#wpseo-traffic-light-desc"),i=e.className||"na";t.attr("class","yst-traffic-light "+i),n.attr("aria-describedby","wpseo-traffic-light-desc"),s.length>0?s.text(e.screenReaderText):n.closest("li").append(""+e.screenReaderText+"")}n.d(t,"a",(function(){return s}))},,,function(e,t,n){"use strict";n.r(t),n.d(t,"refreshDelay",(function(){return s}));const s=500},function(e,t,n){"use strict";n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return l}));var s=n(15),i=n(4);function r(e,t){return e._properties.position.startOffset>t.length||e._properties.position.endOffset>t.length}function a(e,t,n){const a=e.dom;let o=e.getContent();if(o=s.markers.removeMarks(o),Object(i.isEmpty)(n))return void e.setContent(o);o=n[0].hasPosition()?function(e,t){if(!t)return"";for(let n=(e=Object(i.orderBy)(e,e=>e._properties.position.startOffset,["asc"])).length-1;n>=0;n--){const s=e[n];r(s,t)||(t=s.applyWithPosition(t))}return t}(n,o):function(e,t,n,r){const{fieldsToMark:a,selectedHTML:o}=s.languageProcessing.getFieldsToMark(n,r);return Object(i.forEach)(n,(function(t){"acf_content"!==e.id&&(t._properties.marked=s.languageProcessing.normalizeHTML(t._properties.marked),t._properties.original=s.languageProcessing.normalizeHTML(t._properties.original)),a.length>0?o.forEach(e=>{const n=t.applyWithReplace(e);r=r.replace(e,n)}):r=t.applyWithReplace(r)})),r}(e,0,n,o),e.setContent(o),function(e){let t=e.getContent();t=t.replace(new RegExp("<yoastmark.+?>","g"),"").replace(new RegExp("</yoastmark>","g"),""),e.setContent(t)}(e);const c=a.select("yoastmark");Object(i.forEach)(c,(function(e){e.setAttribute("data-mce-bogus","1")}))}function o(e){return window.test=e,a.bind(null,e)}function c(e){return-1!==e.getContent({format:"raw"}).indexOf("0&&void 0!==arguments[0]?arguments[0]:{},t={locale:Object(r.a)(),contentAnalysisActive:Object(c.a)(),keywordAnalysisActive:Object(l.a)(),inclusiveLanguageAnalysisActive:Object(d.a)(),defaultQueryParams:a(),logLevel:Object(s.get)(window,["wpseoScriptData","analysis","worker","log_level"],"ERROR"),enabledFeatures:Object(u.enabledFeatures)()};t=Object(s.merge)(t,e);const n=Object(o.a)();return Object(s.isUndefined)(n)||Object(s.isUndefined)(n.domain)||(t.translations=n),t}},function(e,t){e.exports=window.yoast.reactHelmet},,,,function(e,t,n){"use strict";function s(e){let t=document.getElementById("yoast-measurement-element");return t||(t=function(){const e=document.createElement("div");return e.id="yoast-measurement-element",e.style.position="absolute",e.style.left="-9999em",e.style.top=0,e.style.height=0,e.style.overflow="hidden",e.style.fontFamily="arial, sans-serif",e.style.fontSize="20px",e.style.fontWeight="400",document.body.appendChild(e),e}()),t.innerText=e,t.offsetWidth}n.d(t,"a",(function(){return s}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(18),i=n(4);function r(){const e=Object(s.a)();return 1===Object(i.get)(e,"inclusiveLanguageAnalysisActive",0)}},,function(e,t){e.exports=window.wp.blocks},,function(e,t,n){"use strict";n.r(t),n.d(t,"updateScore",(function(){return a})),n.d(t,"createScoresInPublishBox",(function(){return o})),n.d(t,"scrollToCollapsible",(function(){return c})),n.d(t,"initialize",(function(){return l}));var s=n(4),i=jQuery;function r(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return null!==n?Object(s.get)(n,t,""):Object(s.get)(wpseoScriptData,`metabox.publish_box.labels.${e}.${t}`,"")}function a(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;var s=i("#"+e+"-score"),a="image yoast-logo svg "+t;s.children(".image").attr("class",a);var o=r(e,t,n);s.children(".score-text").html(o)}function o(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const s=i("
    ",{class:"misc-pub-section yoast yoast-seo-score "+e+"-score",id:e+"-score"}),a=i("",{class:"score-text",html:r(e,t,n)}),o=i("").attr("class","image yoast-logo svg na");s.append(o).append(a),i("#yoast-seo-publishbox-section").append(s)}function c(e){const t=i("#wpadminbar"),n=i(e);if(!t||!n)return;const s="fixed"===t.css("position")?t.height():0;i([document.documentElement,document.body]).animate({scrollTop:n.offset().top-s},1e3),n.trigger("focus"),0===n.parent().siblings().length&&n.trigger("click")}function l(){wpseoScriptData.metabox.keywordAnalysisActive&&o("keyword","na"),wpseoScriptData.metabox.contentAnalysisActive&&o("content","na"),wpseoScriptData.metabox.inclusiveLanguageAnalysisActive&&o("inclusive-language","na"),i("#content-score").on("click","[href='#yoast-readability-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-readability").click(),c("#wpseo-meta-section-readability")})),i("#keyword-score").on("click","[href='#yoast-seo-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-content").click(),c("#yoast-seo-analysis-collapsible-metabox")})),i("#inclusive-language-score").on("click","[href='#yoast-inclusive-language-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-inclusive-language").click(),c("#wpseo-meta-section-inclusive-language")}))}},,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);const i=function(){for(var e=arguments.length,t=new Array(e),n=0;nt.map(e=>e())};t.b=(e,t)=>{let n=e();return()=>{const i=e();Object(s.isEqual)(i,n)||(n=i,t(Object(s.clone)(i)))}}},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return r})),n.d(t,"e",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var s=n(4);function i(e){return{title:e.getSnippetTitle(),slug:e.getSnippetCite(),description:e.getSnippetMeta()}}function r(e){const t=e.getState().snippetEditor.data;return{title:t.title,slug:t.slug,description:t.description}}function a(e){const t={};if(Object(s.isUndefined)(e))return t;t.title=e.title_template;const n=e.metadesc_template;return Object(s.isEmpty)(n)||(t.description=n),t}function o(e,t){const n={...e};return Object(s.forEach)(t,(t,i)=>{Object(s.has)(e,i)&&""===e[i]&&(n[i]=t)}),n}function c(e,t){const n={...e};return Object(s.forEach)(t,(t,i)=>{Object(s.has)(e,i)&&e[i].trim()===t&&(n[i]="")}),n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);class i{constructor(e){this.refresh=e,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this._registerPlugin=this._registerPlugin.bind(this),this._ready=this._ready.bind(this),this._reloaded=this._reloaded.bind(this),this._registerModification=this._registerModification.bind(this),this._registerAssessment=this._registerAssessment.bind(this),this._applyModifications=this._applyModifications.bind(this),setTimeout(this._pollLoadingPlugins.bind(this),1500)}_registerPlugin(e,t){return Object(s.isString)(e)?Object(s.isUndefined)(t)||Object(s.isObject)(t)?!1===this._validateUniqueness(e)?(console.error("Failed to register plugin. Plugin with name "+e+" already exists"),!1):(this.plugins[e]=t,!0):(console.error("Failed to register plugin "+e+". Expected parameters `options` to be a object."),!1):(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1)}_ready(e){return Object(s.isString)(e)?Object(s.isUndefined)(this.plugins[e])?(console.error("Failed to modify status for plugin "+e+". The plugin was not properly registered."),!1):(this.plugins[e].status="ready",!0):(console.error("Failed to modify status for plugin "+e+". Expected parameter `pluginName` to be a string."),!1)}_reloaded(e){return Object(s.isString)(e)?Object(s.isUndefined)(this.plugins[e])?(console.error("Failed to reload Content Analysis for plugin "+e+". The plugin was not properly registered."),!1):(this.refresh(),!0):(console.error("Failed to reload Content Analysis for "+e+". Expected parameter `pluginName` to be a string."),!1)}_registerModification(e,t,n,i){if(!Object(s.isString)(e))return console.error("Failed to register modification for plugin "+n+". Expected parameter `modification` to be a string."),!1;if(!Object(s.isFunction)(t))return console.error("Failed to register modification for plugin "+n+". Expected parameter `callable` to be a function."),!1;if(!Object(s.isString)(n))return console.error("Failed to register modification for plugin "+n+". Expected parameter `pluginName` to be a string."),!1;if(!1===this._validateOrigin(n))return console.error("Failed to register modification for plugin "+n+". The integration has not finished loading yet."),!1;const r={callable:t,origin:n,priority:Object(s.isNumber)(i)?i:10};return Object(s.isUndefined)(this.modifications[e])&&(this.modifications[e]=[]),this.modifications[e].push(r),!0}_registerAssessment(e,t,n,i){return Object(s.isString)(t)?Object(s.isObject)(n)?Object(s.isString)(i)?(t=i+"-"+t,e.addAssessment(t,n),!0):(console.error("Failed to register assessment for plugin "+i+". Expected parameter `pluginName` to be a string."),!1):(console.error("Failed to register assessment for plugin "+i+". Expected parameter `assessment` to be a function."),!1):(console.error("Failed to register test for plugin "+i+". Expected parameter `name` to be a string."),!1)}_applyModifications(e,t,n){let i=this.modifications[e];return!Object(s.isArray)(i)||i.length<1||(i=this._stripIllegalModifications(i),i.sort((e,t)=>e.priority-t.priority),Object(s.forEach)(i,(function(s){const i=s.callable(t,n);typeof i==typeof t?t=i:console.error("Modification with name "+e+" performed by plugin with name "+s.origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}))),t}_pollLoadingPlugins(e){e=Object(s.isUndefined)(e)?0:e,!0===this._allReady()?(this.loaded=!0,this.refresh()):e>=this.preloadThreshold?(this._pollTimeExceeded(),this.loaded=!0,this.refresh()):(e+=50,setTimeout(this._pollLoadingPlugins.bind(this,e),50))}_allReady(){return Object(s.reduce)(this.plugins,(function(e,t){return e&&"ready"===t.status}),!0)}_pollTimeExceeded(){Object(s.forEach)(this.plugins,(function(e,t){Object(s.isUndefined)(e.options)||"ready"===e.options.status||(console.error("Error: Plugin "+t+". did not finish loading in time."),delete this.plugins[t])}))}_stripIllegalModifications(e){return Object(s.forEach)(e,(t,n)=>{!1===this._validateOrigin(t.origin)&&delete e[n]}),e}_validateOrigin(e){return"ready"===this.plugins[e].status}_validateUniqueness(e){return Object(s.isUndefined)(this.plugins[e])}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(4),i=n(18);function r(){const e=Object(i.a)();return Object(s.get)(e,"translations",{domain:"wordpress-seo",locale_data:{"wordpress-seo":{"":{}}}})}},,function(e,t,n){"use strict";n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return y})),n.d(t,"c",(function(){return b}));var s=n(4),i=(n(199),n(72)),r=n(5);const a="";let o=[];const c={"core/paragraph":[{key:"content"}],"core/list":[{key:"values",multilineTag:"li",multilineWrapperTag:["ul","ol"]}],"core/list-item":[{key:"content"}],"core/heading":[{key:"content"}],"core/audio":[{key:"caption"}],"core/embed":[{key:"caption"}],"core/gallery":[{key:"caption"}],"core/image":[{key:"caption"}],"core/table":[{key:"caption"}],"core/video":[{key:"caption"}],"yoast/faq-block":[{key:"questions"}],"yoast/how-to-block":[{key:"steps"}]},l={singleH1:{"core/heading":[{key:"content",filter:e=>1===e.level}]}};function d(){const e=o.shift();e&&(Object(r.dispatch)("core/annotations").__experimentalAddAnnotation(e),u())}function u(){Object(s.isFunction)(window.requestIdleCallback)?window.requestIdleCallback(d,{timeout:1e3}):setTimeout(d,150)}function p(){return Object(r.select)("core/block-editor")&&Object(s.isFunction)(Object(r.select)("core/block-editor").getBlocks)&&Object(r.select)("core/annotations")&&Object(s.isFunction)(Object(r.dispatch)("core/annotations").__experimentalAddAnnotation)}function h(e){const t=Object(r.select)("yoast-seo/editor").getActiveMarker(),n=l[t]||c;return n.hasOwnProperty(e)?n[e]:[]}function g(e,t,n,r,o){const c=Object(i.create)({html:e,multilineTag:n.multilineTag,multilineWrapperTag:n.multilineWrapperTag}).text;return Object(s.flatMap)(o,e=>{const n=function(e,t){const n=t.getOriginal().replace(/(<([^>]+)>)/gi,""),s=t.getMarked().replace(/(<(?!\/?yoastmark)[^>]+>)/gi,""),i=function(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const s=[];if(0===e.length)return s;let i,r=0;for(n||(t=t.toLowerCase(),e=e.toLowerCase());(i=e.indexOf(t,r))>-1;)s.push(i),r=i+t.length;return s}(e,n);if(0===i.length)return[];const r=function(e){let t=e.indexOf(a);const n=t>=0;n||(t=e.indexOf(''));let s=null;const i=[];for(;t>=0;){if(s=(e=n?e.replace(a,""):e.replace('',"")).indexOf(""),s",""),i.push({startOffset:t,endOffset:s}),t=n?e.indexOf(a):e.indexOf(''),s=null}return i}(s),o=[];return r.forEach(e=>{i.forEach(s=>{const i=s+e.startOffset;let r=s+e.endOffset;0===e.startOffset&&e.endOffset===t.getOriginal().length&&(r=s+n.length),o.push({startOffset:i,endOffset:r})})}),o}(c,e);return n?n.map(e=>({...e,block:r.clientId,richTextIdentifier:t})):[]})}function f(e,t,n){const i=e.key,{attributes:r}=t;return e.filter&&!e.filter(r)?[]:"yoast/faq-block"===t.name||"yoast/how-to-block"===t.name?function(e,t,n){const i=t.attributes[e.key];if("yoast/faq-block"===t.name&&0!==i.length){const r=i.map(s=>{const i=s.id+"-question",r=s.id+"-answer",a=g(s.jsonQuestion,i,e,t,n),o=g(s.jsonAnswer,r,e,t,n);return a.concat(o)});return Object(s.flatMap)(r)}if("yoast/how-to-block"===t.name&&0!==i.length){const r=i.map(s=>{const i=s.id+"-name",r=s.id+"-text",a=g(s.jsonName,i,e,t,n),o=g(s.jsonText,r,e,t,n);return a.concat(o)}),a=g(t.attributes.jsonDescription,"description",e,t,n);return Object(s.flatMap)(r.concat(a))}}(e,t,n):g(r[i],i,e,t,n)}function m(e){o=e.map(e=>({blockClientId:e.block,source:"yoast",richTextIdentifier:e.richTextIdentifier,range:{start:e.startOffset,end:e.endOffset}}))}function y(e){o=[],Object(r.dispatch)("core/annotations").__experimentalRemoveAnnotationsBySource("yoast");const t=function(e){return Object(s.uniq)(Object(s.flatten)(e.map(e=>{if(!Object(s.isUndefined)(e.getFieldsToMark()))return e.getFieldsToMark()})))}(e);if(0===e.length)return;let n=Object(r.select)("core/block-editor").getBlocks();t.length>0&&(n=n.filter(e=>t.some(t=>"core/"+t===e.name))),m(function e(t,n){return Object(s.flatMap)(t,t=>{const i=function(e){return e.innerBlocks.length>0}(t)?e(t.innerBlocks,n):[];return function(e,t){return Object(s.flatMap)(h(e.name),n=>f(n,e,t))}(t,n).concat(i)})}(n,e)),u()}function b(){const e=Object(r.select)("core/editor").getSelectedBlock(),t=Object(r.select)("yoast-seo/editor").getActiveMarker();if(!e||!t)return;var n;n=e.clientId,Object(r.select)("core/annotations").__experimentalGetAnnotations().filter(e=>e.blockClientId===n&&"yoast"===e.source).forEach(e=>{Object(r.dispatch)("core/annotations").__experimentalRemoveAnnotation(e.id)});const i=Object(r.select)("yoast-seo/editor").getResultById(t);if(void 0===i)return;const a=i.marks;m(Object(s.flatMap)(h(e.name),t=>f(t,e,a))),u()}},,,,,,,function(e,t,n){"use strict";function s(e){let{alertKey:t}=e;return new Promise(e=>wpseoApi.post("alerts/dismiss",{key:t},()=>e()))}n.r(t),n.d(t,"DISMISS_ALERT",(function(){return s}))},function(e,t,n){"use strict";var s=n(3);const i=s.forwardRef((function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 11V7a4 4 0 118 0m-4 8v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2z"}))}));t.a=i},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return h})),n.d(t,"b",(function(){return g}));var s=n(5),i=n(39),r=n(4),a=n(15),o=n(98),c=n(58),l=n(71),d=n(100),u=n(60);const p=Object(r.debounce)((async function(e,t){const{text:n,...r}=t,o=new a.Paper(n,r);try{const t=await e.analyze(o),{seo:n,readability:r,inclusiveLanguage:a}=t.result;if(n){const e=n[""];e.results=Object(l.sortResultsByIdentifier)(e.results),Object(s.dispatch)("yoast-seo/editor").setSeoResultsForKeyword(o.getKeyword(),e.results),Object(s.dispatch)("yoast-seo/editor").setOverallSeoScore(e.score,o.getKeyword())}r&&(r.results=Object(l.sortResultsByIdentifier)(r.results),Object(s.dispatch)("yoast-seo/editor").setReadabilityResults(r.results),Object(s.dispatch)("yoast-seo/editor").setOverallReadabilityScore(r.score)),a&&(a.results=Object(l.sortResultsByIdentifier)(a.results),Object(s.dispatch)("yoast-seo/editor").setInclusiveLanguageResults(a.results),Object(s.dispatch)("yoast-seo/editor").setOverallInclusiveLanguageScore(a.score)),Object(i.doAction)("yoast.analysis.run",t,{paper:o})}catch(e){Object(c.a)()}}),o.refreshDelay);function h(){const{getAnalysisData:e,getEditorDataTitle:t}=Object(s.select)("yoast-seo/editor");let n=e();n={...n,textTitle:t()};const r=function(e){return e.title=Object(u.a)("data_page_title",e.title),e.title=Object(u.a)("title",e.title),e.description=Object(u.a)("data_meta_desc",e.description),e.text=Object(u.a)("content",e.text),e}(n);return Object(i.applyFilters)("yoast.analysis.data",r)}function g(){const{getAnalysisTimestamp:e,isCornerstoneContent:t}=Object(s.select)("yoast-seo/editor"),n=Object(d.a)();n.initialize(Object(d.b)({useCornerstone:t()})).catch(c.a);let i=h(),a=t(),o=e();return Object(s.subscribe)(()=>{const s=t(),l=h(),d=e();if(s!==a)return a=s,i=l,void n.initialize({useCornerstone:s}).then(()=>p(n,l)).catch(c.a);d===o&&!1!==Object(r.isEqual)(l,i)||(i=l,o=d,p(n,l))}),n}},,,,,,,,function(e,t){e.exports=window.wp.isShallowEqual},function(e,t,n){"use strict";var s=n(4),i=class{static isActive(){return!!document.getElementById("et_pb_main_editor_wrap")}static isTinyMCEHidden(){const e=document.getElementById("et_pb_main_editor_wrap");return!!e&&e.classList.contains("et_pb_hidden")}listen(e){this.classicEditorContainer=document.getElementById("et_pb_main_editor_wrap"),this.classicEditorContainer&&new MutationObserver(t=>{Object(s.forEach)(t,t=>{"attributes"===t.type&&"class"===t.attributeName&&(t.target.classList.contains("et_pb_hidden")?e.classicEditorHidden():e.classicEditorShown())})}).observe(this.classicEditorContainer,{attributes:!0})}};const r={classicEditorHidden:s.noop,classicEditorShown:s.noop,pageBuilderLoaded:s.noop};t.a=class{constructor(){this.determineActivePageBuilders()}determineActivePageBuilders(){i.isActive()&&(this.diviActive=!0),class{static isActive(){return!!window.VCV_I18N}}.isActive()&&(this.vcActive=!0)}isPageBuilderActive(){return this.diviActive||this.vcActive}listen(e){this.callbacks=Object(s.defaults)(e,r),this.diviActive&&(new i).listen(e)}isClassicEditorHidden(){return!(!this.diviActive||!i.isTinyMCEHidden())}}},,,,,,,,,,,function(e,t){var n,s,i="",r=function(e){e=e||"polite";var t=document.createElement("div");return t.id="a11y-speak-"+e,t.className="a11y-speak-region",t.setAttribute("style","clip: rect(1px, 1px, 1px, 1px); position: absolute; height: 1px; width: 1px; overflow: hidden; word-wrap: normal;"),t.setAttribute("aria-live",e),t.setAttribute("aria-relevant","additions text"),t.setAttribute("aria-atomic","true"),document.querySelector("body").appendChild(t),t};!function(e){if("complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll)return e();document.addEventListener("DOMContentLoaded",e)}((function(){n=document.getElementById("a11y-speak-polite"),s=document.getElementById("a11y-speak-assertive"),null===n&&(n=r("polite")),null===s&&(s=r("assertive"))})),e.exports=function(e,t){!function(){for(var e=document.querySelectorAll(".a11y-speak-region"),t=0;t]+>/g," "),i===e&&(e+=" "),i=e,s&&"assertive"===t?s.textContent=e:n&&(n.textContent=e)}},,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(4),i=jQuery;function r(e,t,n,s,r){this._scriptUrl=s,this._options={usedKeywords:t.keyword_usage,usedKeywordsPostTypes:t.keyword_usage_post_types,searchUrl:t.search_url,postUrl:t.post_edit_url},this._keywordUsage=t.keyword_usage,this._usedKeywordsPostTypes=t.keyword_usage_post_types,this._postID=i("#post_ID, [name=tag_ID]").val(),this._taxonomy=i("[name=taxonomy]").val()||"",this._nonce=r,this._ajaxAction=e,this._refreshAnalysis=n,this._initialized=!1}r.prototype.init=function(){const{worker:e}=window.YoastSEO.analysis;this.requestKeywordUsage=Object(s.debounce)(this.requestKeywordUsage.bind(this),500),e.loadScript(this._scriptUrl).then(()=>{e.sendMessage("initialize",this._options,"used-keywords-assessment")}).then(()=>{this._initialized=!0,Object(s.isEqual)(this._options.usedKeywords,this._keywordUsage)?this._refreshAnalysis():e.sendMessage("updateKeywordUsage",this._keywordUsage,"used-keywords-assessment").then(()=>this._refreshAnalysis())}).catch(e=>console.error(e))},r.prototype.setKeyword=function(e){Object(s.has)(this._keywordUsage,e)||this.requestKeywordUsage(e)},r.prototype.requestKeywordUsage=function(e){i.post(ajaxurl,{action:this._ajaxAction,post_id:this._postID,keyword:e,taxonomy:this._taxonomy,nonce:this._nonce},this.updateKeywordUsage.bind(this,e),"json")},r.prototype.updateKeywordUsage=function(e,t){const{worker:n}=window.YoastSEO.analysis,i=t.keyword_usage,r=t.post_types;i&&Object(s.isArray)(i)&&(this._keywordUsage[e]=i,this._usedKeywordsPostTypes[e]=r,this._initialized&&n.sendMessage("updateKeywordUsage",{usedKeywords:this._keywordUsage,usedKeywordsPostTypes:this._usedKeywordsPostTypes},"used-keywords-assessment").then(()=>this._refreshAnalysis()))}},function(e,t,n){"use strict";var s=n(5),i=n(4),r=n(15),a=n(121),o=n(142);t.a=()=>{if(Object(s.select)("yoast-seo/editor").getPreference("isInsightsEnabled",!1))return Object(s.dispatch)("yoast-seo/editor").loadEstimatedReadingTime(),Object(s.subscribe)(Object(i.debounce)((()=>{const{getEditorDataContent:e,getContentLocale:t}=Object(s.select)("yoast-seo/editor"),n=Object(a.a)(e,t),c=(()=>{const{setEstimatedReadingTime:e,setFleschReadingEase:t,setTextLength:n}=Object(s.dispatch)("yoast-seo/editor"),a=Object(i.get)(window,"YoastSEO.analysis.worker.runResearch",i.noop);return()=>{const s=r.Paper.parse(Object(o.a)());a("readingTime",s).then(t=>e(t.result)),a("getFleschReadingScore",s).then(e=>{e.result&&t(e.result)}),a("wordCountInText",s).then(e=>n(e.result))}})();return setTimeout(c,1500),Object(a.b)(n,c)})(),1500,{maxWait:3e3}))}},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(1),i=n(4);function r(e){function t(){e("#copy-home-meta-description").on("click",(function(){e("#open_graph_frontpage_desc").val(e("#meta_description").val())}))}function n(){var t=e("#wpseo-conf");if(t.length){var n=t.attr("action").split("#")[0];t.attr("action",n+window.location.hash)}}function r(){var t=window.location.hash.replace("#top#","");-1!==t.search("#top")&&(t=window.location.hash.replace("#top%23","")),""!==t&&"#"!==t.charAt(0)||(t=e(".wpseotab").attr("id")),e("#"+t).addClass("active"),e("#"+t+"-tab").addClass("nav-tab-active").trigger("click")}function a(t){const n=e("#noindex-author-noposts-wpseo-container");t?n.show():n.hide()}e.fn._wpseoIsInViewport=function(){const t=e(this).offset().top,n=t+e(this).outerHeight(),s=e(window).scrollTop(),i=s+e(window).height();return t>s&&n{e(this).is(":checked")||a(!1)}),o.on("change",()=>{e(this).is(":checked")||a(!0)}),e("#disable-date input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#date-archives-titles-metas-content").toggle("off"===e(this).val())})).trigger("change"),e("#disable-attachment input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#media_settings").toggle("off"===e(this).val())})).trigger("change"),e("#disable-post_format").on("change",(function(){e("#post_format-titles-metas").toggle(e(this).is(":not(:checked)"))})).trigger("change"),e("#zapier_integration_active input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#zapier-connection").toggle("on"===e(this).val())})).trigger("change"),e("#wincher_integration_active input[type='radio']").change((function(){e(this).is(":checked")&&e("#wincher-connection").toggle("on"===e(this).val())})).change(),e("#wpseo-tabs").find("a").on("click",(function(t){var n,i,r,a=!0;if(n=e(this),i=!!e("#first-time-configuration-tab").filter(".nav-tab-active").length,r=!!n.filter("#first-time-configuration-tab").length,i&&!r&&window.isStepBeingEdited&&(a=confirm(Object(s.__)("There are unsaved changes in one or more steps. Leaving means that those changes may not be saved. Are you sure you want to leave?","wordpress-seo"))),a){window.isStepBeingEdited=!1,e("#wpseo-tabs").find("a").removeClass("nav-tab-active"),e(".wpseotab").removeClass("active");var o=e(this).attr("id").replace("-tab",""),c=e("#"+o);c.addClass("active"),e(this).addClass("nav-tab-active"),c.hasClass("nosave")?e("#wpseo-submit-container").hide():e("#wpseo-submit-container").show(),e(window).trigger("yoast-seo-tab-change"),"first-time-configuration"===o?e("#yoast-first-time-configuration-notice").slideUp():e("#yoast-first-time-configuration-notice").slideDown()}else t.preventDefault(),e("#first-time-configuration-tab").trigger("focus")})),e("#yoast-first-time-configuration-notice a").on("click",(function(){e("#first-time-configuration-tab").click()})),e("#company_or_person").on("change",(function(){var t=e(this).val();"company"===t?(e("#knowledge-graph-company").show(),e("#knowledge-graph-person").hide()):"person"===t?(e("#knowledge-graph-company").hide(),e("#knowledge-graph-person").show()):(e("#knowledge-graph-company").hide(),e("#knowledge-graph-person").hide())})).trigger("change"),e(".switch-yoast-seo input").on("keydown",(function(e){"keydown"===e.type&&13===e.which&&e.preventDefault()})),e("body").on("click","button.toggleable-container-trigger",t=>{const n=e(t.currentTarget),s=n.parent().siblings(".toggleable-container");s.toggleClass("toggleable-container-hidden"),n.attr("aria-expanded",!s.hasClass("toggleable-container-hidden")).find("span").toggleClass("dashicons-arrow-up-alt2 dashicons-arrow-down-alt2")});const l=e("#opengraph"),d=e("#wpseo-opengraph-settings");l.length&&d.length&&(d.toggle(l[0].checked),l.on("change",e=>{d.toggle(e.target.checked)})),t(),r(),function(){if(!e("#enable_xml_sitemap input[type=radio]").length)return;const t=e("#yoast-seo-sitemaps-disabled-warning");e("#enable_xml_sitemap input[type=radio]").on("change",(function(){"off"===this.value?t.show():t.hide()}))}(),function(){const t=e("#wpseo-submit-container-float"),n=e("#wpseo-submit-container-fixed");if(!t.length||!n.length)return;function s(){t._wpseoIsInViewport()?n.hide():n.show()}e(window).on("resize scroll",Object(i.debounce)(s,100)),e(window).on("yoast-seo-tab-change",s);const r=e(".wpseo-message");r.length&&window.setTimeout(()=>{r.fadeOut()},5e3),s()}(),"undefined"!=typeof ClipboardJS&&new ClipboardJS("#copy-zapier-api-key").on("success",(function(t){t.clearSelection(),e(t.trigger).trigger("focus")}))}))}},function(e,t,n){"use strict";function s(e){e(document).ready((function(e){void 0!==wp.media&&e(".wpseo_image_upload_button").each((function(t,n){const s=function(t){let n=(t=e(t)).data("target");return n&&""!==n||(n=e(t).attr("id").replace(/_button$/,"")),n}(n),i=e(n).data("target-id"),r=e("#"+s),a=e("#"+i);var o=wp.media.frames.file_frame=wp.media({title:wpseoScriptData.media.choose_image,button:{text:wpseoScriptData.media.choose_image},multiple:!1,library:{type:"image"}});o.on("select",(function(){var e=o.state().get("selection").first().toJSON();r.val(e.url),a.val(e.id)}));const c=e(n);c.click((function(e){e.preventDefault(),o.open()})),c.siblings(".wpseo_image_remove_button").on("click",e=>{e.preventDefault(),r.val(""),a.val("")})}))}))}n.d(t,"a",(function(){return s}))},,,,function(e,t,n){"use strict";n.r(t),n.d(t,"wistiaEmbedPermission",(function(){return a})),n.d(t,"DISMISS_ALERT",(function(){return i.DISMISS_ALERT})),n.d(t,"SNIPPET_EDITOR_FIND_CUSTOM_FIELDS",(function(){return r}));var s=n(25),i=n(138);function r(e){let{query:t,postId:n}=e;return new Promise(e=>{wpseoApi.get("meta/search",{query:t,post_id:n},t=>{e(t.meta)})})}const a=s.s[s.d]},,,,,,,,,,,,,function(e,t,n){"use strict";var s=n(192),i=n(17),r=n(4),a=n(94),o=n(30);const{removeReplacementVariable:c,updateReplacementVariable:l,refreshSnippetEditor:d}=i.actions;var u=["content","title","snippet_title","snippet_meta","primary_category","data_page_title","data_meta_desc","excerpt"],p={},h={},g=function(e,t){this._app=e,this._app.registerPlugin("replaceVariablePlugin",{status:"ready"}),this._store=t,this.replaceVariables=this.replaceVariables.bind(this),this.registerReplacements(),this.registerModifications(),this.registerEvents(),this.subscribeToGutenberg()};g.prototype.registerReplacements=function(){this.addReplacement(new o.a("%%author_first_name%%","author_first_name")),this.addReplacement(new o.a("%%author_last_name%%","author_last_name")),this.addReplacement(new o.a("%%category%%","category")),this.addReplacement(new o.a("%%category_title%%","category_title")),this.addReplacement(new o.a("%%currentdate%%","currentdate")),this.addReplacement(new o.a("%%currentday%%","currentday")),this.addReplacement(new o.a("%%currentmonth%%","currentmonth")),this.addReplacement(new o.a("%%currenttime%%","currenttime")),this.addReplacement(new o.a("%%currentyear%%","currentyear")),this.addReplacement(new o.a("%%date%%","date")),this.addReplacement(new o.a("%%id%%","id")),this.addReplacement(new o.a("%%page%%","page")),this.addReplacement(new o.a("%%permalink%%","permalink")),this.addReplacement(new o.a("%%post_content%%","post_content")),this.addReplacement(new o.a("%%post_month%%","post_month")),this.addReplacement(new o.a("%%post_year%%","post_year")),this.addReplacement(new o.a("%%searchphrase%%","searchphrase")),this.addReplacement(new o.a("%%sitedesc%%","sitedesc")),this.addReplacement(new o.a("%%sitename%%","sitename")),this.addReplacement(new o.a("%%userid%%","userid")),this.addReplacement(new o.a("%%focuskw%%","keyword",{source:"app",aliases:["%%keyword%%"]})),this.addReplacement(new o.a("%%term_description%%","text",{source:"app",scope:["term","category","tag"],aliases:["%%tag_description%%","%%category_description%%"]})),this.addReplacement(new o.a("%%term_title%%","term_title",{scope:["term"]})),this.addReplacement(new o.a("%%term_hierarchy%%","term_hierarchy",{scope:["term"]})),this.addReplacement(new o.a("%%title%%","title",{source:"app",scope:["post","term","page"]})),this.addReplacement(new o.a("%%parent_title%%","title",{source:"app",scope:["page","category"]})),this.addReplacement(new o.a("%%excerpt%%","excerpt",{source:"app",scope:["post"],aliases:["%%excerpt_only%%"]})),this.addReplacement(new o.a("%%primary_category%%","primaryCategory",{source:"app",scope:["post"]})),this.addReplacement(new o.a("%%sep%%(\\s*%%sep%%)*","sep"))},g.prototype.registerEvents=function(){const e=wpseoScriptData.analysis.plugins.replaceVars.scope;"post"===e&&jQuery(".categorydiv").each(this.bindTaxonomyEvents.bind(this)),"post"!==e&&"page"!==e||jQuery("#postcustomstuff > #list-table").each(this.bindFieldEvents.bind(this))},g.prototype.subscribeToGutenberg=function(){if(!Object(a.a)())return;const e={0:""};let t=null;const n=wp.data;n.subscribe(()=>{const i=n.select("core/editor").getEditedPostAttribute("parent");if(void 0!==i&&t!==i)return t=i,i<1?(this._currentParentPageTitle="",void this.declareReloaded()):Object(r.isUndefined)(e[i])?void s.loadPromise.done(()=>{new s.models.Page({id:i}).fetch().then(t=>{this._currentParentPageTitle=t.title.rendered,e[i]=this._currentParentPageTitle,this.declareReloaded()}).fail(()=>{this._currentParentPageTitle="",this.declareReloaded()})}):(this._currentParentPageTitle=e[i],void this.declareReloaded())})},g.prototype.addReplacement=function(e){p[e.placeholder]=e},g.prototype.removeReplacement=function(e){delete p[e.getPlaceholder()]},g.prototype.registerModifications=function(){var e=this.replaceVariables.bind(this);Object(r.forEach)(u,function(t){this._app.registerModification(t,e,"replaceVariablePlugin",10)}.bind(this))},g.prototype.replaceVariables=function(e){return Object(r.isUndefined)(e)||(e=this.parentReplace(e),e=this.replaceCustomTaxonomy(e),e=this.replaceByStore(e),e=this.replacePlaceholders(e)),e},g.prototype.replaceByStore=function(e){const t=this._store.getState().snippetEditor.replacementVariables;return Object(r.forEach)(t,t=>{""!==t.value&&(e=e.replace("%%"+t.name+"%%",t.value))}),e},g.prototype.getReplacementSource=function(e){return"app"===e.source?this._app.rawData:"direct"===e.source?"direct":wpseoScriptData.analysis.plugins.replaceVars.replace_vars},g.prototype.getReplacement=function(e){var t=this.getReplacementSource(e.options);return!1===e.inScope(wpseoScriptData.analysis.plugins.replaceVars.scope)?"":"direct"===t?e.replacement:t[e.replacement]||""},g.prototype.replacePlaceholders=function(e){return Object(r.forEach)(p,function(t){e=e.replace(new RegExp(t.getPlaceholder(!0),"g"),this.getReplacement(t))}.bind(this)),e},g.prototype.declareReloaded=function(){this._app.pluginReloaded("replaceVariablePlugin"),this._store.dispatch(d())},g.prototype.getCategoryName=function(e){var t=e.parent("label").clone();return t.children().remove(),t.text().trim()},g.prototype.parseTaxonomies=function(e,t){Object(r.isUndefined)(h[t])&&(h[t]={});const n=[];Object(r.forEach)(e,function(e){const s=(e=jQuery(e)).val(),i=this.getCategoryName(e),r=e.prop("checked");h[t][s]={label:i,checked:r},r&&-1===n.indexOf(i)&&n.push(i)}.bind(this)),"category"!==t&&(t="ct_"+t),this._store.dispatch(l(t,n.join(", ")))},g.prototype.getAvailableTaxonomies=function(e){var t=jQuery(e).find("input[type=checkbox]"),n=jQuery(e).attr("id").replace("taxonomy-","");t.length>0&&this.parseTaxonomies(t,n),this.declareReloaded()},g.prototype.bindTaxonomyEvents=function(e,t){(t=jQuery(t)).on("wpListAddEnd",".categorychecklist",this.getAvailableTaxonomies.bind(this,t)),t.on("change","input[type=checkbox]",this.getAvailableTaxonomies.bind(this,t)),this.getAvailableTaxonomies(t)},g.prototype.replaceCustomTaxonomy=function(e){return Object(r.forEach)(h,function(t,n){var s="%%ct_"+n+"%%";"category"===n&&(s="%%"+n+"%%"),e=e.replace(s,this.getTaxonomyReplaceVar(n))}.bind(this)),e},g.prototype.getTaxonomyReplaceVar=function(e){var t=[],n=h[e];return!0===Object(r.isUndefined)(n)?"":(Object(r.forEach)(n,(function(e){!1!==e.checked&&t.push(e.label)})),jQuery.uniqueSort(t).join(", "))},g.prototype.parseFields=function(e){jQuery(e).each(function(e,t){var n=jQuery("#"+t.id+"-key").val(),s=jQuery("#"+t.id+"-value").val();const i="cf_"+this.sanitizeCustomFieldNames(n),r=n+" (custom field)";this._store.dispatch(l(i,s,r)),this.addReplacement(new o.a(`%%${i}%%`,s,{source:"direct"}))}.bind(this))},g.prototype.removeFields=function(e){jQuery(e).each(function(e,t){var n=jQuery("#"+t.id+"-key").val();this.removeReplacement("%%cf_"+this.sanitizeCustomFieldNames(n)+"%%")}.bind(this))},g.prototype.sanitizeCustomFieldNames=function(e){return e.replace(/\s/g,"_")},g.prototype.getAvailableFields=function(e){this.removeCustomFields();var t=jQuery(e).find("#the-list > tr:visible[id]");t.length>0&&this.parseFields(t),this.declareReloaded()},g.prototype.bindFieldEvents=function(e,t){var n=(t=jQuery(t)).find("#the-list");n.on("wpListDelEnd.wpseoCustomFields",this.getAvailableFields.bind(this,t)),n.on("wpListAddEnd.wpseoCustomFields",this.getAvailableFields.bind(this,t)),n.on("input.wpseoCustomFields",".textarea",this.getAvailableFields.bind(this,t)),n.on("click.wpseoCustomFields",".button + .updatemeta",this.getAvailableFields.bind(this,t)),this.getAvailableFields(t)},g.prototype.removeCustomFields=function(){var e=Object(r.filter)(p,(function(e,t){return t.indexOf("%%cf_")>-1}));Object(r.forEach)(e,function(e){this._store.dispatch(c(Object(r.trim)(e.placeholder,"%%"))),this.removeReplacement(e)}.bind(this))},g.prototype.parentReplace=function(e){const t=jQuery("#parent_id, #parent").eq(0);return this.hasParentTitle(t)&&(e=e.replace(/%%parent_title%%/,this.getParentTitleReplacement(t))),Object(a.a)()&&!Object(r.isUndefined)(this._currentParentPageTitle)&&(e=e.replace(/%%parent_title%%/,this._currentParentPageTitle)),e},g.prototype.hasParentTitle=function(e){return!Object(r.isUndefined)(e)&&!Object(r.isUndefined)(e.prop("options"))},g.prototype.getParentTitleReplacement=function(e){var t=e.find("option:selected").text();return t===wpseoScriptData.analysis.plugins.replaceVars.no_parent_text?"":t},g.ReplaceVar=o.a,t.a=g},function(e,t){e.exports=window.wp.api},function(e,t,n){"use strict";var s=n(17),i=n(4),r=n(15);t.a=function(e,t,n){e("morphology",new r.Paper("",{keyword:n})).then(e=>{const n=e.result.keyphraseForms;t.dispatch(s.actions.updateWordsToHighlight(Object(i.uniq)(Object(i.flatten)(n))))}).catch(()=>{t.dispatch(s.actions.updateWordsToHighlight([]))})}},,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var s=n(4),i=n(5),r=n(46),a=n(99),o=n(131);function c(e,t){let n;r.isTinyMCEAvailable(r.tmceId)&&(Object(s.isUndefined)(n)&&(n=Object(a.c)(tinyMCE.get(r.tmceId))),n(e,t)),Object(o.b)()&&(function(e,t){tinyMCE.editors.map(e=>Object(a.c)(e)).forEach(n=>n(e,t))}(e,t),Object(o.a)(t))}function l(){const e=Object(i.select)("yoast-seo/editor").isMarkingAvailable(),t=Object(i.select)("yoast-seo/editor").getMarkerPauseStatus();return!e||t?s.noop:c}},,function(e,t){e.exports=window.wp.annotations},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var s=n(3);const i=s.forwardRef((function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 8l4 4m0 0l-4 4m4-4H3"}))}));t.a=i},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var s=n(5),i=n(17),r=n(4),a=n(178);function o(){const e=Object(s.registerStore)("yoast-seo/editor",{reducer:Object(s.combineReducers)(i.reducers),selectors:i.selectors,actions:Object(r.pickBy)(i.actions,e=>"function"==typeof e),controls:a});return(e=>{e.dispatch(i.actions.setSettings({socialPreviews:{sitewideImage:window.wpseoScriptData.metabox.sitewide_social_image,siteName:window.wpseoScriptData.metabox.site_name,contentImage:window.wpseoScriptData.metabox.first_content_image,twitterCardType:window.wpseoScriptData.metabox.twitterCardType},snippetEditor:{baseUrl:window.wpseoScriptData.metabox.base_url,date:window.wpseoScriptData.metabox.metaDescriptionDate,recommendedReplacementVariables:window.wpseoScriptData.analysis.plugins.replaceVars.recommended_replace_vars,siteIconUrl:window.wpseoScriptData.metabox.siteIconUrl}})),e.dispatch(i.actions.setSEMrushChangeCountry(window.wpseoScriptData.metabox.countryCode)),e.dispatch(i.actions.setSEMrushLoginStatus(window.wpseoScriptData.metabox.SEMrushLoginStatus)),e.dispatch(i.actions.setWincherLoginStatus(window.wpseoScriptData.metabox.wincherLoginStatus,!1)),e.dispatch(i.actions.setWincherWebsiteId(window.wpseoScriptData.metabox.wincherWebsiteId)),e.dispatch(i.actions.setWincherAutomaticKeyphaseTracking(window.wpseoScriptData.metabox.wincherAutoAddKeyphrases)),e.dispatch(i.actions.setDismissedAlerts(Object(r.get)(window,"wpseoScriptData.dismissedAlerts",{}))),e.dispatch(i.actions.setCurrentPromotions(Object(r.get)(window,"wpseoScriptData.currentPromotions",[]))),e.dispatch(i.actions.setIsPremium(Boolean(Object(r.get)(window,"wpseoScriptData.metabox.isPremium",!1)))),e.dispatch(i.actions.setPostId(Number(Object(r.get)(window,"wpseoScriptData.postId",null)))),e.dispatch(i.actions.setLinkParams(Object(r.get)(window,"wpseoScriptData.linkParams",{}))),e.dispatch(i.actions.setPluginUrl(Object(r.get)(window,"wpseoScriptData.pluginUrl",""))),e.dispatch(i.actions.setWistiaEmbedPermissionValue("1"===Object(r.get)(window,"wpseoScriptData.wistiaEmbedPermission",!1)))})(e),e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);class i{constructor(){this._callbacks=[],this.register=this.register.bind(this)}register(e){Object(s.isFunction)(e)&&this._callbacks.push(e)}getData(){let e={};return this._callbacks.forEach(t=>{e=Object(s.merge)(e,t())}),e}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var s=n(4),i=n(18),r=n(170);function a(e,t,n){const a=Object(i.a)();if(!a.previouslyUsedKeywordActive)return;const o=Object(s.get)(window,["wpseoScriptData","analysis","worker","keywords_assessment_url"],"used-keywords-assessment.js"),c=Object(s.get)(window,["wpseoScriptData","usedKeywordsNonce"],""),l=new r.a(t,a,e,o,c);l.init();let d={};n.subscribe(()=>{const e=n.getState()||{};e.focusKeyword!==d.focusKeyword&&(d=e,l.setKeyword(e.focusKeyword))})}},,,,,function(e,t,n){"use strict";var s=n(0),i=n(19),r=n(5),a=n(39),o=n(1),c=n(6),l=n(2),d=n.n(l),u=n(93);const p="yoast-seo/editor",h=()=>{const e=Object(r.useSelect)(e=>e(p).selectLink("https://www.yoa.st/ai-generator-learn-more"),[]),t=Object(r.useSelect)(e=>e(p).selectLink("https://yoa.st/ai-generator-upsell"),[]),n=Object(r.useSelect)(e=>e(p).selectImageLink("ai-generator-preview.png"),[]),i=Object(s.useMemo)(()=>({src:n,width:"432",height:"244"}),[n]),a=Object(r.useSelect)(e=>e(p).selectWistiaEmbedPermissionValue(),[]),o=Object(r.useSelect)(e=>e(p).selectWistiaEmbedPermissionStatus(),[]),{setWistiaEmbedPermission:c}=Object(r.useDispatch)(p),l=Object(s.useMemo)(()=>({value:a,status:o,set:c}),[a,o,c]);return Object(s.createElement)(u.b,{learnMoreLink:e,upsellLink:t,thumbnail:i,wistiaEmbedPermission:l})},g=e=>{let{fieldId:t}=e;const[n,,,i,r]=Object(c.useToggleState)(!1),a=Object(s.useCallback)(()=>{i()},[i]),l=Object(s.useRef)(null);return Object(s.createElement)(s.Fragment,null,Object(s.createElement)("button",{type:"button",id:"yst-replacevar__use-ai-button__"+t,className:"yst-replacevar__use-ai-button-upsell",onClick:a},Object(o.__)("Use AI","wordpress-seo")),Object(s.createElement)(c.Modal,{className:"yst-introduction-modal",isOpen:n,onClose:r,initialFocus:l},Object(s.createElement)(c.Modal.Panel,{className:"yst-max-w-lg yst-p-0 yst-bg-gradient-to-b yst-from-[#EDD2E1] yst-rounded-3xl"},Object(s.createElement)(h,{onClose:r,focusElementRef:l}))))};g.propTypes={fieldId:d.a.string.isRequired},t.a=()=>{const e=Object(r.select)("yoast-seo/editor").getIsPremium();Object(a.addFilter)("yoast.replacementVariableEditor.additionalButtons","yoast/yoast-seo-premium/AiGenerator",(t,n)=>{let{fieldId:r}=n;return e||t.push(Object(s.createElement)(i.Fill,{name:"yoast.replacementVariableEditor.additionalButtons."+r},Object(s.createElement)(g,{fieldId:r}))),t})}},function(e,t,n){"use strict";function s(e){function t(e){e&&(e.focus(),e.click())}function n(){if(e(".wpseo-meta-section").length>0){const t=e(".wpseo-meta-section-link");e(".wpseo-metabox-menu li").filter((function(){return"#wpseo-meta-section-content"===e(this).find(".wpseo-meta-section-link").attr("href")})).addClass("active").find("[role='tab']").addClass("yoast-active-tab"),e("#wpseo-meta-section-content, .wpseo-meta-section-react").addClass("active"),t.on("click",(function(n){var s=e(this).attr("id"),i=e(this).attr("href"),r=e(i);n.preventDefault(),e(".wpseo-metabox-menu li").removeClass("active").find("[role='tab']").removeClass("yoast-active-tab"),e(".wpseo-meta-section").removeClass("active"),e(".wpseo-meta-section-react.active").removeClass("active"),"#wpseo-meta-section-content"===i&&e(".wpseo-meta-section-react").addClass("active"),r.addClass("active"),e(this).parent("li").addClass("active").find("[role='tab']").addClass("yoast-active-tab");const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new CustomEvent(e,{detail:t})}("YoastSEO:metaTabChange",{metaTabId:s});window.dispatchEvent(a),this&&(function(e){e.attr({"aria-selected":"false",tabIndex:"-1"})}(t),this.removeAttribute("tabindex"),this.setAttribute("aria-selected","true"))}))}}window.wpseoInitTabs=n,window.wpseo_init_tabs=n,e(".wpseo-meta-section").each((function(t,n){e(n).find(".wpseotab:first").addClass("active")})),window.wpseo_init_tabs(),function(){const n=e(".yoast-aria-tabs"),s=n.find("[role='tab']"),i=n.attr("aria-orientation")||"horizontal";s.attr({"aria-selected":!1,tabIndex:"-1"}),s.filter(".yoast-active-tab").removeAttr("tabindex").attr("aria-selected","true"),s.on("keydown",(function(n){-1!==[32,35,36,37,38,39,40].indexOf(n.which)&&("horizontal"===i&&-1!==[38,40].indexOf(n.which)||"vertical"===i&&-1!==[37,39].indexOf(n.which)||function(n,s){const i=n.which,r=s.index(e(n.target));switch(i){case 32:n.preventDefault(),t(s[r]);break;case 35:n.preventDefault(),t(s[s.length-1]);break;case 36:n.preventDefault(),t(s[0]);break;case 37:case 38:n.preventDefault(),t(s[r-1<0?s.length-1:r-1]);break;case 39:case 40:n.preventDefault(),t(s[r+1===s.length?0:r+1])}}(n,s))}))}()}n.d(t,"a",(function(){return s}))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var s=n(39),i=n(4),r=n(105),a=n(66),o=n(18),c=n(15);function l(e,t,n,l,d){const u=Object(i.cloneDeep)(t.getState());Object(i.merge)(u,n.getData());const p=e.getData();let h=null;d&&(h=d.getBlocks(),h=h.map(e=>function e(t){const n={attributes:{}};return["level","content","alt"].forEach(e=>{t.attributes[e]&&(n.attributes[e]=t.attributes[e])}),n.name=t.name,n.clientId=t.clientId,n.innerBlocks=t.innerBlocks.map(t=>e(t)),n}(e)));const g={text:p.content,textTitle:p.title,keyword:u.focusKeyword,synonyms:u.synonyms,description:u.analysisData.snippet.description||u.snippetEditor.data.description,title:u.analysisData.snippet.title||u.snippetEditor.data.title,slug:u.snippetEditor.data.slug,permalink:u.settings.snippetEditor.baseUrl+u.snippetEditor.data.slug,wpBlocks:h,date:u.settings.snippetEditor.date};l.loaded&&(g.title=l._applyModifications("data_page_title",g.title),g.title=l._applyModifications("title",g.title),g.description=l._applyModifications("data_meta_desc",g.description),g.text=l._applyModifications("content",g.text),g.wpBlocks=l._applyModifications("wpBlocks",g.wpBlocks));const f=u.analysisData.snippet.filteredSEOTitle;return g.titleWidth=Object(r.a)(f||u.snippetEditor.data.title),g.locale=Object(a.a)(),g.writingDirection=function(){let e="LTR";return Object(o.a)().isRtl&&(e="RTL"),e}(),c.Paper.parse(Object(s.applyFilters)("yoast.analysis.data",g))}},,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){(function(t){!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:m,table:m,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/};function s(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||_.defaults,this.rules=n.normal,this.options.pedantic?this.rules=n.pedantic:this.options.gfm&&(this.rules=n.gfm)}n._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,n.def=p(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d{1,9}\.)/,n.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,n.item=p(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=p(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",n._comment=//,n.html=p(n.html,"i").replace("comment",n._comment).replace("tag",n._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),n.paragraph=p(n._paragraph).replace("hr",n.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",n._tag).getRegex(),n.blockquote=p(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=y({},n),n.gfm=y({},n.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),n.pedantic=y({},n.normal,{html:p("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",n._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:m,paragraph:p(n.normal._paragraph).replace("hr",n.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",n.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),s.rules=n,s.lex=function(e,t){return new s(t).lex(e)},s.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},s.prototype.token=function(e,t){var s,i,r,a,o,c,l,u,p,h,g,f,m,y,O,v;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e)){var _=this.tokens[this.tokens.length-1];e=e.substring(r[0].length),_&&"paragraph"===_.type?_.text+="\n"+r[0].trimRight():(r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",codeBlockStyle:"indented",text:this.options.pedantic?r:w(r,"\n")}))}else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2]?r[2].trim():r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if((r=this.rules.nptable.exec(e))&&(c={type:"table",header:b(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===c.align.length){for(e=e.substring(r[0].length),g=0;g ?/gm,""),this.token(r,t),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),l={type:"list_start",ordered:y=(a=r[2]).length>1,start:y?+a:"",loose:!1},this.tokens.push(l),u=[],s=!1,m=(r=r[0].match(this.rules.item)).length,g=0;g1?1===o.length:o.length>1||this.options.smartLists&&o!==a)&&(e=r.slice(g+1).join("\n")+e,g=m-1)),i=s||/\n\n(?!\s*$)/.test(c),g!==m-1&&(s="\n"===c.charAt(c.length-1),i||(i=s)),i&&(l.loose=!0),v=void 0,(O=/^\[[ xX]\] /.test(c))&&(v=" "!==c[1],c=c.replace(/^\[[ xX]\] +/,"")),p={type:"list_item_start",task:O,checked:v,loose:i},u.push(p),this.tokens.push(p),this.token(c,!1),this.tokens.push({type:"list_item_end"});if(l.loose)for(m=u.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",i.em=p(i.em).replace(/punctuation/g,i._punctuation).getRegex(),i._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=p(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,i.tag=p(i.tag).replace("comment",n._comment).replace("attribute",i._attribute).getRegex(),i._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,i._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,i._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,i.link=p(i.link).replace("label",i._label).replace("href",i._href).replace("title",i._title).getRegex(),i.reflink=p(i.reflink).replace("label",i._label).getRegex(),i.normal=y({},i),i.pedantic=y({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:p(/^!?\[(label)\]\((.*?)\)/).replace("label",i._label).getRegex(),reflink:p(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",i._label).getRegex()}),i.gfm=y({},i.normal,{escape:p(i.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(a[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(a[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(a[0])&&(this.inRawBlock=!1),e=e.substring(a[0].length),c+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):d(a[0]):a[0];else if(a=this.rules.link.exec(e)){var l=O(a[2],"()");if(l>-1){var u=4+a[1].length+l;a[2]=a[2].substring(0,l),a[0]=a[0].substring(0,u).trim(),a[3]=""}e=e.substring(a[0].length),this.inLink=!0,s=a[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(s))?(s=t[1],i=t[3]):i="":i=a[3]?a[3].slice(1,-1):"",s=s.trim().replace(/^<([\s\S]*)>$/,"$1"),c+=this.outputLink(a,{href:r.escapes(s),title:r.escapes(i)}),this.inLink=!1}else if((a=this.rules.reflink.exec(e))||(a=this.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){c+=a[0].charAt(0),e=a[0].substring(1)+e;continue}this.inLink=!0,c+=this.outputLink(a,t),this.inLink=!1}else if(a=this.rules.strong.exec(e))e=e.substring(a[0].length),c+=this.renderer.strong(this.output(a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.em.exec(e))e=e.substring(a[0].length),c+=this.renderer.em(this.output(a[6]||a[5]||a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.code.exec(e))e=e.substring(a[0].length),c+=this.renderer.codespan(d(a[2].trim(),!0));else if(a=this.rules.br.exec(e))e=e.substring(a[0].length),c+=this.renderer.br();else if(a=this.rules.del.exec(e))e=e.substring(a[0].length),c+=this.renderer.del(this.output(a[1]));else if(a=this.rules.autolink.exec(e))e=e.substring(a[0].length),s="@"===a[2]?"mailto:"+(n=d(this.mangle(a[1]))):n=d(a[1]),c+=this.renderer.link(s,null,n);else if(this.inLink||!(a=this.rules.url.exec(e))){if(a=this.rules.text.exec(e))e=e.substring(a[0].length),this.inRawBlock?c+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):d(a[0]):a[0]):c+=this.renderer.text(d(this.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===a[2])s="mailto:"+(n=d(a[0]));else{do{o=a[0],a[0]=this.rules._backpedal.exec(a[0])[0]}while(o!==a[0]);n=d(a[0]),s="www."===a[1]?"http://"+n:n}e=e.substring(a[0].length),c+=this.renderer.link(s,null,n)}return c},r.escapes=function(e){return e?e.replace(r.rules._escapes,"$1"):e},r.prototype.outputLink=function(e,t){var n=t.href,s=t.title?d(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,s,this.output(e[1])):this.renderer.image(n,s,d(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",s=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},a.prototype.code=function(e,t,n){var s=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,s);null!=i&&i!==e&&(n=!0,e=i)}return s?'
    '+(n?e:d(e,!0))+"
    \n":"
    "+(n?e:d(e,!0))+"
    "},a.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},a.prototype.html=function(e){return e},a.prototype.heading=function(e,t,n,s){return this.options.headerIds?"'+e+"\n":""+e+"\n"},a.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},a.prototype.list=function(e,t,n){var s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},a.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},a.prototype.checkbox=function(e){return" "},a.prototype.paragraph=function(e){return"

    "+e+"

    \n"},a.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},a.prototype.tablerow=function(e){return"\n"+e+"\n"},a.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},a.prototype.strong=function(e){return""+e+""},a.prototype.em=function(e){return""+e+""},a.prototype.codespan=function(e){return""+e+""},a.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},a.prototype.del=function(e){return""+e+""},a.prototype.link=function(e,t,n){if(null===(e=h(this.options.sanitize,this.options.baseUrl,e)))return n;var s='"+n+""},a.prototype.image=function(e,t,n){if(null===(e=h(this.options.sanitize,this.options.baseUrl,e)))return n;var s=''+n+'":">")},a.prototype.text=function(e){return e},o.prototype.strong=o.prototype.em=o.prototype.codespan=o.prototype.del=o.prototype.text=function(e){return e},o.prototype.link=o.prototype.image=function(e,t,n){return""+n},o.prototype.br=function(){return""},c.parse=function(e,t){return new c(t).parse(e)},c.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,y({},this.options,{renderer:new o})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},c.prototype.next=function(){return this.token=this.tokens.pop(),this.token},c.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},c.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},c.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,u(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,s,i="",r="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},d.escapeTest=/[&<>"']/,d.escapeReplace=/[&<>"']/g,d.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},d.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,d.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var g={},f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function y(e){for(var t,n,s=1;s=0&&"\\"===n[i];)s=!s;return s?"|":" |"})).split(/ \|/),s=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+d(e.message+"",!0)+"
    ";throw e}}m.exec=m,_.options=_.setOptions=function(e){return y(_.defaults,e),_},_.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new a,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}},_.defaults=_.getDefaults(),_.Parser=c,_.parser=c.parse,_.Renderer=a,_.TextRenderer=o,_.Lexer=s,_.lexer=s.lex,_.InlineLexer=r,_.inlineLexer=r.output,_.Slugger=l,_.parse=_,e.exports=_}(this||"undefined"!=typeof window&&window)}).call(this,n(200))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t);var s=n(51),i=n.n(s),r=n(21),a=n.n(r),o=n(4),c=n(214),l=n(173),d=n(174),u=n(207),p=n(5),h=n(162),g=n.n(h),f=n(94);var m=n(215),y=n(15),b=n(150),w=n(191),O=n(108);const v=new RegExp("\\[[^<>&/\\[\\]\0- =]+?( [^\\]]+?)?\\]","g"),j=new RegExp("\\[/[^<>&/\\[\\]\0- =]+?\\]","g");var k=function(e){let{registerPlugin:t,registerModification:n,pluginReady:s,pluginReloaded:i}=e;this._registerModification=n,this._pluginReady=s,this._pluginReloaded=i,t("YoastShortcodePlugin",{status:"loading"}),this.bindElementEvents();var r="("+wpseoScriptData.analysis.plugins.shortcodes.wpseo_shortcode_tags.join("|")+")";this.keywordRegex=new RegExp(r,"g"),this.closingTagRegex=new RegExp("\\[\\/"+r+"\\]","g"),this.nonCaptureRegex=new RegExp("\\["+r+"[^\\]]*?\\]","g"),this.parsedShortcodes=[],this.loadShortcodes(this.declareReady.bind(this))};k.prototype.declareReady=function(){this._pluginReady("YoastShortcodePlugin"),this.registerModifications()},k.prototype.declareReloaded=function(){this._pluginReloaded("YoastShortcodePlugin")},k.prototype.registerModifications=function(){this._registerModification("content",this.replaceShortcodes.bind(this),"YoastShortcodePlugin")},k.prototype.removeUnknownShortCodes=function(e){return(e=e.replace(v,"")).replace(j,"")},k.prototype.replaceShortcodes=function(e){var t=this.parsedShortcodes;if("string"==typeof e&&t.length>0)for(var n=0;n0))return e();this.parseShortcodes(t,e)},k.prototype.bindElementEvents=function(){var e=document.getElementById("content")||!1,t=_.debounce(this.loadShortcodes.bind(this,this.declareReloaded.bind(this)),500);e&&(e.addEventListener("keyup",t),e.addEventListener("change",t)),"undefined"!=typeof tinyMCE&&"function"==typeof tinyMCE.on&&tinyMCE.on("addEditor",(function(e){e.editor.on("change",t),e.editor.on("keyup",t)}))},k.prototype.getContentTinyMCE=function(){var e=document.getElementById("content")&&document.getElementById("content").value||"";return"undefined"!=typeof tinyMCE&&void 0!==tinyMCE.editors&&0!==tinyMCE.editors.length&&(e=tinyMCE.get("content")&&tinyMCE.get("content").getContent()||""),e},k.prototype.getUnparsedShortcodes=function(e){if("object"!=typeof e)return console.error("Failed to get unparsed shortcodes. Expected parameter to be an array, instead received "+typeof e),!1;for(var t=[],n=0;n0?void jQuery.post(ajaxurl,{action:"wpseo_filter_shortcodes",_wpnonce:wpseoScriptData.analysis.plugins.shortcodes.wpseo_filter_shortcodes_nonce,data:e},function(e){this.saveParsedShortcodes(e,t)}.bind(this)):t()},k.prototype.saveParsedShortcodes=function(e,t){e=JSON.parse(e);for(var n=0;n label");return s.length?e=this.getCategoryName(s):e},V.prototype.getSearchUrl=function(){return wpseoScriptData.metabox.search_url},V.prototype.getPostUrl=function(){return wpseoScriptData.metabox.post_edit_url},V.prototype.getPermalink=function(){var e=this.getUrl();return wpseoScriptData.metabox.base_url+e},V.prototype.getCategoryName=function(e){var t=e.clone();return t.children().remove(),t.text().trim()},V.prototype.setDataFromSnippet=function(e,t){switch(t){case"snippet_meta":document.getElementById("yoast_wpseo_metadesc").value=e;break;case"snippet_cite":if(this.leavePostNameUntouched)return void(this.leavePostNameUntouched=!1);null!==document.getElementById("post_name")&&(document.getElementById("post_name").value=e),null!==document.getElementById("editable-post-name")&&null!==document.getElementById("editable-post-name-full")&&(document.getElementById("editable-post-name").textContent=e,document.getElementById("editable-post-name-full").textContent=e);break;case"snippet_title":document.getElementById("yoast_wpseo_title").value=e}},V.prototype.saveSnippetData=function(e){this.setDataFromSnippet(e.title,"snippet_title"),this.setDataFromSnippet(e.urlPath,"snippet_cite"),this.setDataFromSnippet(e.metaDesc,"snippet_meta")},V.prototype.bindElementEvents=function(e){this.inputElementEventBinder(e),this.changeElementEventBinder(e)},V.prototype.changeElementEventBinder=function(e){for(var t=["#yoast-wpseo-primary-category",'.categorychecklist input[name="post_category[]"]'],n=0;n"+e.responseText+"
    ").find("#editable-post-name-full").text()}function d(){const e={};return Object(F.a)()&&(e.output="does-not-really-exist-but-it-needs-something"),Object(U.a)()&&(e.contentOutput="also-does-not-really-exist-but-it-needs-something"),e}function u(e){Object(o.isUndefined)(e.seoAssessorPresenter)||(e.seoAssessorPresenter.render=function(){}),Object(o.isUndefined)(e.contentAssessorPresenter)||(e.contentAssessorPresenter.render=function(){},e.contentAssessorPresenter.renderIndividualRatings=function(){})}let h;function g(e,t){const n=h||"";h=e.getState().analysisData.snippet,!Object(b.isShallowEqualObjects)(n,h)&&t()}function m(e,t){"visual"!==e?t.dispatch(se("disabled")):t.dispatch(se("enabled"))}function v(){return Object(p.select)("core/edit-post").getEditorMode()}jQuery(document).on("ajaxComplete",(function(e,n,s){if("/admin-ajax.php"===s.url.substr(0-"/admin-ajax.php".length)&&"string"==typeof s.data&&-1!==s.data.indexOf("action=sample-permalink")){a.leavePostNameUntouched=!0;const e={slug:l(n)};t.dispatch(ie(e))}})),function(){if(s=e("#wpseo_meta"),R.setStore(t),R.wpTextViewOnInitCheck(),function(){const e=new C.a;e.isClassicEditorHidden()&&R.disableMarkerButtons(),e.vcActive?R.disableMarkerButtons():e.listen({classicEditorHidden:()=>{R.disableMarkerButtons()},classicEditorShown:()=>{R.isTextViewActive()||R.enableMarkerButtons()}})}(),0===s.length)return;a=function(e){const n=new K({data:e,store:t});return n.leavePostNameUntouched=!1,n}(n),A.initialize();const l=function(t){!function(e){(void 0===window.tinyMCE||Object(f.a)()||"1"!==wpseoScriptData.metabox.show_markers)&&e.dispatch(se("disabled"))}(t);const n={elementTarget:[R.tmceId,"yoast_wpseo_focuskw_text_input","yoast_wpseo_metadesc","excerpt","editable-post-name","editable-post-name-full"],targets:d(),callbacks:{getData:a.getData.bind(a)},locale:wpseoScriptData.metabox.contentLocale,marker:Object(G.a)(t),contentAnalysisActive:Object(U.a)(),keywordAnalysisActive:Object(F.a)(),hasSnippetPreview:!1,debouncedRefresh:!1,researcher:new window.yoast.Researcher.default};Object(F.a)()&&(t.dispatch(ne(e("#yoast_wpseo_focuskw").val())),n.callbacks.saveScores=a.saveScores.bind(a),n.callbacks.updatedKeywordsResults=function(e){const n=t.getState().focusKeyword;t.dispatch(ce(n,e)),t.dispatch(ae())}),Object(U.a)()&&(n.callbacks.saveContentScore=a.saveContentScore.bind(a),n.callbacks.updatedContentResults=function(e){t.dispatch(oe(e)),t.dispatch(ae())}),i=e("#title");const s=Object(W.a)();return Object(o.isUndefined)(s)||Object(o.isUndefined)(s.domain)||(n.translations=s),n}(t);r=new y.App(l),window.YoastSEO=window.YoastSEO||{},window.YoastSEO.app=r,window.YoastSEO.store=t,window.YoastSEO.analysis={},window.YoastSEO.analysis.worker=Object(D.a)(),window.YoastSEO.analysis.collectData=()=>Object(L.a)(n,t,c,r.pluggable,Object(p.select)("core/block-editor")),window.YoastSEO.analysis.applyMarks=(e,t)=>Object(G.a)()(e,t),window.YoastSEO.app.refresh=Object(o.debounce)(()=>Object(B.default)(window.YoastSEO.analysis.worker,window.YoastSEO.analysis.collectData,window.YoastSEO.analysis.applyMarks,t,a),J.refreshDelay),window.YoastSEO.app.registerCustomDataCallback=c.register,window.YoastSEO.app.pluggable=new T.a(window.YoastSEO.app.refresh),window.YoastSEO.app.registerPlugin=window.YoastSEO.app.pluggable._registerPlugin,window.YoastSEO.app.pluginReady=window.YoastSEO.app.pluggable._ready,window.YoastSEO.app.pluginReloaded=window.YoastSEO.app.pluggable._reloaded,window.YoastSEO.app.registerModification=window.YoastSEO.app.pluggable._registerModification,window.YoastSEO.app.registerAssessment=(e,t,n)=>{if(!Object(o.isUndefined)(r.seoAssessor))return window.YoastSEO.app.pluggable._registerAssessment(r.defaultSeoAssessor,e,t,n)&&window.YoastSEO.app.pluggable._registerAssessment(r.cornerStoneSeoAssessor,e,t,n)},window.YoastSEO.app.changeAssessorOptions=function(e){window.YoastSEO.analysis.worker.initialize(e).catch(X.a),window.YoastSEO.app.refresh()},Object(ee.a)(r.refresh,"get_focus_keyword_usage_and_post_types",t),t.subscribe(g.bind(null,t,r.refresh)),window.YoastSEO.analyzerArgs=l,window.YoastSEO.wp={},window.YoastSEO.wp.replaceVarsPlugin=new w.a(r,t),window.YoastSEO.wp.shortcodePlugin=new x({registerPlugin:r.registerPlugin,registerModification:r.registerModification,pluginReady:r.pluginReady,pluginReloaded:r.pluginReloaded}),Object(f.a)()&&new class{constructor(e,t,n){this._registerPlugin=e,this._registerModification=t,this._refreshAnalysis=n,this._reusableBlocks={},this._selectCore=Object(p.select)("core"),this._selectCoreEditor=Object(p.select)("core/editor"),this.reusableBlockChangeListener=this.reusableBlockChangeListener.bind(this),this.parseReusableBlocks=this.parseReusableBlocks.bind(this)}register(){this._registerPlugin("YoastReusableBlocksPlugin",{status:"ready"}),this._registerModification("content",this.parseReusableBlocks,"YoastReusableBlocksPlugin",1),Object(p.subscribe)(Object(o.debounce)(this.reusableBlockChangeListener,500))}reusableBlockChangeListener(){const{blocks:e}=this._selectCoreEditor.getPostEdits();if(!e)return;let t=!1;e.forEach(e=>{if(!Object(O.isReusableBlock)(e))return;const n=this.getBlockContent(e.attributes.ref);this._reusableBlocks[e.attributes.ref]?this._reusableBlocks[e.attributes.ref].content!==n&&(this._reusableBlocks[e.attributes.ref].content=n,t=!0):(this._reusableBlocks[e.attributes.ref]={id:e.attributes.ref,clientId:e.clientId,content:n},t=!0)}),t&&this._refreshAnalysis()}parseReusableBlocks(e){const t=//g;return e.match(t)?e.replace(t,(t,n)=>this._reusableBlocks[n]&&this._reusableBlocks[n].content?this._reusableBlocks[n].content:e):e}getBlockContent(e){const t=this._selectCore.getEditedEntityRecord("postType","wp_block",e);if(t){if(Object(o.isFunction)(t.content))return t.content(t);if(t.blocks)return Object(O.__unstableSerializeAndClean)(t.blocks);if(t.content)return t.content}return""}}(r.registerPlugin,r.registerModification,window.YoastSEO.app.refresh).register(),wpseoScriptData.metabox.markdownEnabled&&new class{constructor(e,t){this._registerPlugin=e,this._registerModification=t}register(){this._registerPlugin("YoastMarkdownPlugin",{status:"ready"}),this._registerModification("content",this.parseMarkdown.bind(this),"YoastMarkdownPlugin",1)}parseMarkdown(e){return S()(e)}}(r.registerPlugin,r.registerModification).register(),window.YoastSEO.wp._tinyMCEHelper=R,Object(F.a)()&&function(t){const n=e("#yoast_wpseo_linkdex").val(),s=Object($.a)(n);Object(I.a)(s),Object(M.a)(s),t.updateScore("keyword",s.className)}(A),Object(U.a)()&&function(t){const n=e("#yoast_wpseo_content_score").val(),s=Object($.a)(n);Object(M.a)(s),t.updateScore("content",s.className)}(A),Object(H.a)()&&function(t){const n=e("#yoast_wpseo_inclusive_language_score").val(),s=Object($.a)(n);Object(M.a)(s),t.updateScore("inclusive-language",s.className)}(A),window.YoastSEO.analysis.worker.initialize(Object(D.b)()).then(()=>{jQuery(window).trigger("YoastSEO:ready")}).catch(X.a),a.bindElementEvents(Object(o.debounce)(()=>Object(B.default)(window.YoastSEO.analysis.worker,window.YoastSEO.analysis.collectData,window.YoastSEO.analysis.applyMarks,t,a),J.refreshDelay)),u(r);const h=r.initAssessorPresenters.bind(r);r.initAssessorPresenters=function(){h(),u(r)},n.setRefresh&&n.setRefresh(r.refresh);let b=Object(Q.a)(a);const _=Object(Q.e)(wpseoScriptData.metabox);b=Object(Q.c)(b,_),t.dispatch(ie(b)),t.dispatch(re("1"===document.getElementById("yoast_wpseo_is_cornerstone").value));let j=t.getState().focusKeyword;Object(P.a)(window.YoastSEO.analysis.worker.runResearch,t,j);const k=Object(o.debounce)(()=>{r.refresh()},50);let E=null;if(t.subscribe(()=>{const n=t.getState().focusKeyword;j!==n&&(j=n,Object(P.a)(window.YoastSEO.analysis.worker.runResearch,t,j),e("#yoast_wpseo_focuskw").val(j),k());const s=Object(Q.b)(t),i=Object(Q.d)(s,_);b.title!==s.title&&a.setDataFromSnippet(i.title,"snippet_title"),b.slug!==s.slug&&a.setDataFromSnippet(i.slug,"snippet_cite"),b.description!==s.description&&a.setDataFromSnippet(i.description,"snippet_meta");const o=t.getState();E!==o.isCornerstone&&(E=o.isCornerstone,document.getElementById("yoast_wpseo_is_cornerstone").value=o.isCornerstone,r.changeAssessorOptions({useCornerstone:o.isCornerstone})),b.title=s.title,b.slug=s.slug,b.description=s.description}),Object(f.a)()){let e=v();m(e,t),Object(p.subscribe)(()=>{const n=v();n!==e&&(e=n,m(e,t))})}Object(B.initializationDone)(),window.YoastSEO.app.refresh()}()}window.YoastReplaceVarPlugin=w.a,window.YoastShortcodePlugin=x;var de=n(11),ue=n.n(de),pe=n(0),he=n(2),ge=n.n(he),fe=n(19),me=n(9),ye=n.n(me),be=n(20),we=n(26),Oe=n.n(we),ve=n(16);const _e=ye.a.div` padding-top: 6px; `,je=e=>{const{value:t,id:n,terms:s,onChange:i}=e;return Object(pe.createElement)(_e,null,Object(pe.createElement)("select",{className:"components-select-control__input",id:n,value:t,onChange:e=>{i(parseInt(e.target.value,10))}},s.map(e=>Object(pe.createElement)("option",{key:e.id,value:e.id},Object(o.unescape)(e.name)))))};je.propTypes={terms:ge.a.arrayOf(ge.a.shape({id:ge.a.string.isRequired,name:ge.a.string.isRequired})),onChange:ge.a.func.isRequired,id:ge.a.string,value:ge.a.string};var ke=je;const xe=ye.a.div` padding-top: 16px; diff --git a/wp-content/plugins/wordpress-seo/readme.txt b/wp-content/plugins/wordpress-seo/readme.txt index fa67dca1b..7aec5d177 100755 --- a/wp-content/plugins/wordpress-seo/readme.txt +++ b/wp-content/plugins/wordpress-seo/readme.txt @@ -5,7 +5,7 @@ License: GPLv3 License URI: http://www.gnu.org/licenses/gpl.html Tags: SEO, XML sitemap, Content analysis, Readability, Schema Tested up to: 6.3 -Stable tag: 21.2 +Stable tag: 21.3 Requires PHP: 7.2.5 Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the Yoast SEO plugin. @@ -340,6 +340,21 @@ Your question has most likely been answered on our help center: [yoast.com/help/ == Changelog == += 21.3 = + +Release date: 2023-10-03 + +Yoast SEO 21.3 is out! In this release, we've focused on improving the plugin's performance, especially regarding handling huge posts on complex websites. Find out more about what's new in Yoast SEO 21.3 in [our release post](https://yoa.st/release-3-10-23)! + +#### Enhancements + +* Enhances post-saving performance in certain conditions for a smoother and more efficient user experience. + +#### Bugfixes + +* Fixes a bug where the notifications counter of the admin bar menu would not show with the correct style on the frontend. +* Fixes a bug where the slug in the search appearance editor would not be set when published posts were edited in the classic editor and the "core/editor" store was available. + = 21.2 = Release date: 2023-09-19 @@ -362,21 +377,5 @@ Yoast SEO 21.2 is out today! In this release, we've improved the naming of sever * Sets the minimum supported WordPress version to 6.2. -= 21.1 = - -Release date: 2023-09-05 - -Here's Yoast SEO 21.1! After the AI release, we're back with an update filled with fixes and enhancements to improve your SEO work. Check it out! Find out more about what's new in Yoast SEO 21.1 in [our release post](https://yoa.st/release-5-9-23)! - -#### Bugfixes - -* Fixes a bug where an error could occur when an indexable was outdated. Props to @jaimearroyonavia. -* Fixes a bug where the cleanup routine would throw an error when on multisites. -* Fixes a bug where the notification for a new content type in the notification center would not be dismissed when installing Elementor and reviewing the new content types. - -#### Other - -* Adds an attribute to the link "See who contributed to" to open in a new browser tab, located in the General tab. Props to @nathanwritescode-uk. - = Earlier versions = For the changelog of earlier versions, please refer to [the changelog on yoast.com](https://yoa.st/yoast-seo-changelog). diff --git a/wp-content/plugins/wordpress-seo/src/builders/indexable-link-builder.php b/wp-content/plugins/wordpress-seo/src/builders/indexable-link-builder.php index 7fe0f3ab9..cf3166977 100755 --- a/wp-content/plugins/wordpress-seo/src/builders/indexable-link-builder.php +++ b/wp-content/plugins/wordpress-seo/src/builders/indexable-link-builder.php @@ -2,6 +2,8 @@ namespace Yoast\WP\SEO\Builders; +use DOMDocument; +use WP_HTML_Tag_Processor; use WPSEO_Image_Utils; use Yoast\WP\SEO\Helpers\Image_Helper; use Yoast\WP\SEO\Helpers\Options_Helper; @@ -211,14 +213,146 @@ protected function gather_links( $content ) { return $links; } + /** + * Gathers all images from content with WP's WP_HTML_Tag_Processor() and returns them along with their IDs, if possible. + * + * @param string $content The content. + * + * @return int[] An associated array of image IDs, keyed by their URL. + */ + protected function gather_images_wp( $content ) { + $processor = new WP_HTML_Tag_Processor( $content ); + $images = []; + + $query = [ + 'tag_name' => 'img', + ]; + + /** + * Filter 'wpseo_image_attribute_containing_id' - Allows filtering what attribute will be used to extract image IDs from. + * + * Defaults to "class", which is where WP natively stores the image IDs, in a `wp-image-` format. + * + * @api string The attribute to be used to extract image IDs from. + */ + $attribute = \apply_filters( 'wpseo_image_attribute_containing_id', 'class' ); + + while ( $processor->next_tag( $query ) ) { + $src = \htmlentities( $processor->get_attribute( 'src' ), ( ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 ), \get_bloginfo( 'charset' ) ); + $classes = $processor->get_attribute( $attribute ); + $id = $this->extract_id_of_classes( $classes ); + + $images[ $src ] = $id; + } + + return $images; + } + + /** + * Gathers all images from content with DOMDocument() and returns them along with their IDs, if possible. + * + * @param string $content The content. + * + * @return int[] An associated array of image IDs, keyed by their URL. + */ + protected function gather_images_domdocument( $content ) { + $images = []; + $charset = \get_bloginfo( 'charset' ); + + /** + * Filter 'wpseo_image_attribute_containing_id' - Allows filtering what attribute will be used to extract image IDs from. + * + * Defaults to "class", which is where WP natively stores the image IDs, in a `wp-image-` format. + * + * @api string The attribute to be used to extract image IDs from. + */ + $attribute = \apply_filters( 'wpseo_image_attribute_containing_id', 'class' ); + + libxml_use_internal_errors( true ); + $post_dom = new DOMDocument(); + $post_dom->loadHTML( '' . $content ); + libxml_clear_errors(); + + foreach ( $post_dom->getElementsByTagName( 'img' ) as $img ) { + $src = \htmlentities( $img->getAttribute( 'src' ), ( ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 ), $charset ); + $classes = $img->getAttribute( $attribute ); + $id = $this->extract_id_of_classes( $classes ); + + $images[ $src ] = $id; + } + + return $images; + } + + /** + * Extracts image ID out of the image's classes. + * + * @param string $classes The classes assigned to the image. + * + * @return int The ID that's extracted from the classes. + */ + protected function extract_id_of_classes( $classes ) { + if ( ! $classes ) { + return 0; + } + + /** + * Filter 'wpseo_extract_id_pattern' - Allows filtering the regex patern to be used to extract image IDs from class/attribute names. + * + * Defaults to the pattern that extracts image IDs from core's `wp-image-` native format in image classes. + * + * @api string The regex pattern to be used to extract image IDs from class names. Empty string if the whole class/attribute should be returned. + */ + $pattern = \apply_filters( 'wpseo_extract_id_pattern', '/(?gather_images_wp( $content ); + } + + if ( ! $should_not_parse_content && class_exists( DOMDocument::class ) ) { + return $this->gather_images_DOMDocument( $content ); + } + if ( \strpos( $content, 'src' ) === false ) { // Nothing to do. return []; @@ -229,7 +363,7 @@ protected function gather_images( $content ) { // Used modifiers iU to match case insensitive and make greedy quantifiers lazy. if ( \preg_match_all( "/$regexp/iU", $content, $matches, \PREG_SET_ORDER ) ) { foreach ( $matches as $match ) { - $images[] = \trim( $match[2], "'" ); + $images[ $match[2] ] = 0; } } @@ -241,7 +375,7 @@ protected function gather_images( $content ) { * * @param Indexable $indexable The indexable. * @param string[] $links The link URLs. - * @param string[] $images The image sources. + * @param int[] $images The image sources. * * @return SEO_Links[] The link models. */ @@ -262,13 +396,12 @@ function ( $link ) use ( $current_url ) { } ); - $images = \array_map( - function( $link ) use ( $home_url, $indexable ) { - return $this->create_internal_link( $link, $home_url, $indexable, true ); - }, - $images - ); - return \array_merge( $links, $images ); + $image_links = []; + foreach ( $images as $image_url => $image_id ) { + $image_links[] = $this->create_internal_link( $image_url, $home_url, $indexable, true, $image_id ); + } + + return \array_merge( $links, $image_links ); } /** @@ -294,10 +427,11 @@ protected function get_post_id( $type, $permalink ) { * @param array $home_url The home url, as parsed by wp_parse_url. * @param Indexable $indexable The indexable of the post containing the link. * @param bool $is_image Whether or not the link is an image. + * @param int $image_id The ID of the internal image. * * @return SEO_Links The created link. */ - protected function create_internal_link( $url, $home_url, $indexable, $is_image = false ) { + protected function create_internal_link( $url, $home_url, $indexable, $is_image = false, $image_id = 0 ) { $parsed_url = \wp_parse_url( $url ); $link_type = $this->url_helper->get_link_type( $parsed_url, $home_url, $is_image ); @@ -326,11 +460,12 @@ protected function create_internal_link( $url, $home_url, $indexable, $is_image if ( $model->type === SEO_Links::TYPE_INTERNAL_IMAGE ) { $permalink = $this->build_permalink( $url, $home_url ); - if ( ! $this->options_helper->get( 'disable-attachment' ) ) { + /** The `wpseo_force_creating_and_using_attachment_indexables` filter is documented in indexable-link-builder.php */ + if ( ! $this->options_helper->get( 'disable-attachment' ) || \apply_filters( 'wpseo_force_creating_and_using_attachment_indexables', false ) ) { $model = $this->enhance_link_from_indexable( $model, $permalink ); } else { - $target_post_id = WPSEO_Image_Utils::get_attachment_by_url( $permalink ); + $target_post_id = ( $image_id !== 0 ) ? $image_id : WPSEO_Image_Utils::get_attachment_by_url( $permalink ); if ( ! empty( $target_post_id ) ) { $model->target_post_id = $target_post_id; diff --git a/wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte-option.php b/wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte-option.php deleted file mode 100755 index 099e41ccb..000000000 --- a/wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte-option.php +++ /dev/null @@ -1,169 +0,0 @@ -maybe_add_weekly_schedule(); - } - - /** - * Sets up the hooks. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @return void - */ - public function register_hooks() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - if ( ! self::is_active() ) { - return; - } - - // Sets the action for the Ryte fetch cron job. - add_action( 'wpseo_ryte_fetch', [ $this, 'fetch_from_ryte' ] ); - } - - /** - * Determines if we can use the functionality. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @return bool True if this functionality can be used. - */ - public static function is_active() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - if ( wp_doing_ajax() ) { - return false; - } - - if ( ! WPSEO_Options::get( 'ryte_indexability' ) ) { - return false; - } - - return true; - } - - /** - * Hooks to run on plugin activation. - * - * @deprecated 18.5 - * @codeCoverageIgnore - */ - public function activate_hooks() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - if ( $this->get_option()->is_enabled() ) { - $this->schedule_cron(); - - return; - } - - $this->unschedule_cron(); - } - - /** - * Determines whether to add a custom cron weekly schedule. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @return void - */ - public function maybe_add_weekly_schedule() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - // If there's no default cron weekly schedule, add a custom one. - add_filter( 'cron_schedules', [ $this, 'add_weekly_schedule' ] ); - } - - /** - * Adds a custom weekly cron schedule. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @param array $schedules The existing custom cron schedules. - * - * @return array Enriched list of custom cron schedules. - */ - public function add_weekly_schedule( $schedules ) { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - if ( ! is_array( $schedules ) ) { - $schedules = []; - } - - /* - * Starting with version 5.4, WordPress does have a default weekly cron - * schedule. See https://core.trac.wordpress.org/changeset/47062. - * We need to add a custom one only if the default one doesn't exist. - */ - if ( isset( $schedules['weekly'] ) ) { - return $schedules; - } - - $schedules['weekly'] = [ - 'interval' => WEEK_IN_SECONDS, - 'display' => __( 'Once Weekly', 'wordpress-seo' ), - ]; - - return $schedules; - } - - /** - * Fetches the data from Ryte. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @return bool|null Whether the request ran. - */ - public function fetch_from_ryte() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - // Don't do anything when the WordPress environment type isn't "production". - if ( wp_get_environment_type() !== 'production' ) { - return; - } - - $ryte_option = $this->get_option(); - if ( ! $ryte_option->should_be_fetched() ) { - return false; - } - - $new_status = $this->request_indexability(); - - // Updates the timestamp in the option. - $ryte_option->set_last_fetch( time() ); - - $ryte_option->set_status( $new_status ); - $ryte_option->save_option(); - - return true; - } - - /** - * Retrieves the option to use. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @return WPSEO_Ryte_Option The option. - */ - protected function get_option() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - return new WPSEO_Ryte_Option(); - } - - /** - * Sends a request to Ryte to get the indexability status. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @return int The indexability status value. - */ - protected function request_indexability() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - $parameters = []; - if ( $this->wordfence_protection_enabled() ) { - $parameters['wf_strict'] = 1; - } - - $request = new WPSEO_Ryte_Request(); - $response = $request->do_request( get_option( 'home' ), $parameters ); - - // Populate the ryte_response property. - $this->ryte_response = $response; - - // It's a valid Ryte response because the array contains an `is_indexable` element. - if ( isset( $response['is_indexable'] ) ) { - return (int) $response['is_indexable']; - } - - // It's not a valid Ryte response. - return WPSEO_Ryte_Option::CANNOT_FETCH; - } - - /** - * Schedules the cronjob to get the new indexability status. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @return void - */ - private function schedule_cron() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - if ( wp_next_scheduled( 'wpseo_ryte_fetch' ) ) { - return; - } - - wp_schedule_event( time(), 'weekly', 'wpseo_ryte_fetch' ); - } - - /** - * Unschedules the cronjob to get the new indexability status. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @return void - */ - private function unschedule_cron() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - if ( ! wp_next_scheduled( 'wpseo_ryte_fetch' ) ) { - return; - } - - wp_clear_scheduled_hook( 'wpseo_ryte_fetch' ); - } - - /** - * Checks if WordFence protects the site against 'fake' Google crawlers. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @return bool True if WordFence protects the site. - */ - private function wordfence_protection_enabled() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - if ( ! class_exists( 'wfConfig' ) ) { - return false; - } - - if ( ! method_exists( 'wfConfig', 'get' ) ) { - return false; - } - - return (bool) wfConfig::get( 'blockFakeBots' ); - } - - /** - * Retrieves the Ryte API response property. - * - * @deprecated 18.5 - * @codeCoverageIgnore - * - * @return array|WP_Error The response or WP_Error on failure. - */ - public function get_response() { - _deprecated_function( __METHOD__, 'Yoast SEO 18.5' ); - return $this->ryte_response; - } -} diff --git a/wp-content/plugins/wordpress-seo/src/deprecated/src/actions/configuration/configuration-workout-action.php b/wp-content/plugins/wordpress-seo/src/deprecated/src/actions/configuration/configuration-workout-action.php deleted file mode 100755 index 884f61735..000000000 --- a/wp-content/plugins/wordpress-seo/src/deprecated/src/actions/configuration/configuration-workout-action.php +++ /dev/null @@ -1,11 +0,0 @@ - array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e95f437ae34ac15c6a553865448aff6c'), 'componentsNew.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-a11y', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-select', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '5bf88ecd3df9ad5b4539b67fa6acb459'), 'featureFlag.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'e10bc9cc72a611812bfc07e62a49fc87'), 'helpers.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'daf04ff1091383587e7329416ccbbc66'), 'replacementVariableEditor.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-draft-js-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '0a5fcadf27d9de01c826a88c004ea8f5'), 'searchMetadataPreviews.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '4351e99333a31af6ccc0a72d597eaa6c'), 'socialMetadataForms.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-redux-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '546bcd16f24f0a8af91ec1d987018c82'), 'styleGuide.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-helpers-package', 'yoast-seo-styled-components-package'), 'version' => '5fc06aa928153289521ef4fad66209f2'), 'uiLibrary.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-element', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'ac5d507ddcf7f505f5ab53332342b807'), 'draftJs.js' => array('dependencies' => array('react', 'react-dom', 'wp-polyfill'), 'version' => '884a06763ec66f3f2b98ae2228a2166b'), 'jed.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'b5de44b7e6b35120d8ba97761f9b11b0'), 'propTypes.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'e9441ac3feaba74c71d9793f44b9b676'), 'reactHelmet.js' => array('dependencies' => array('react', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '23f47eadf3891c8ff5f8acb97ba6b4bc'), 'redux.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '2340e784d7d5751f1fa3189ba31b493f'), 'styledComponents.js' => array('dependencies' => array('react', 'wp-polyfill'), 'version' => 'e0a1a87f171b1b09fda15f788867e8eb'), 'components.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-jed-package', 'yoast-seo-prop-types-package', 'yoast-seo-redux-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e2d878e6411504189a4a41ac5e966b7e'), 'analysis.js' => array('dependencies' => array('lodash', 'wp-i18n', 'wp-polyfill', 'yoast-seo-feature-flag-package'), 'version' => '8e38aa30e7a12f03af94eb0e4ddf5048'), 'reduxJsToolkit.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-redux-package'), 'version' => 'aae2438a60d27ad77ac35206db5f93bd')); \ No newline at end of file + array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e95f437ae34ac15c6a553865448aff6c'), 'componentsNew.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-a11y', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-select', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '5bf88ecd3df9ad5b4539b67fa6acb459'), 'featureFlag.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'e10bc9cc72a611812bfc07e62a49fc87'), 'helpers.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'daf04ff1091383587e7329416ccbbc66'), 'replacementVariableEditor.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-draft-js-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '0a5fcadf27d9de01c826a88c004ea8f5'), 'searchMetadataPreviews.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '4351e99333a31af6ccc0a72d597eaa6c'), 'socialMetadataForms.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-redux-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '546bcd16f24f0a8af91ec1d987018c82'), 'styleGuide.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-helpers-package', 'yoast-seo-styled-components-package'), 'version' => '5fc06aa928153289521ef4fad66209f2'), 'uiLibrary.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-element', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'ac5d507ddcf7f505f5ab53332342b807'), 'draftJs.js' => array('dependencies' => array('react', 'react-dom', 'wp-polyfill'), 'version' => '884a06763ec66f3f2b98ae2228a2166b'), 'jed.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'b5de44b7e6b35120d8ba97761f9b11b0'), 'propTypes.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'e9441ac3feaba74c71d9793f44b9b676'), 'reactHelmet.js' => array('dependencies' => array('react', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '23f47eadf3891c8ff5f8acb97ba6b4bc'), 'redux.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '2340e784d7d5751f1fa3189ba31b493f'), 'styledComponents.js' => array('dependencies' => array('react', 'wp-polyfill'), 'version' => 'e0a1a87f171b1b09fda15f788867e8eb'), 'components.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-jed-package', 'yoast-seo-prop-types-package', 'yoast-seo-redux-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e2d878e6411504189a4a41ac5e966b7e'), 'analysis.js' => array('dependencies' => array('lodash', 'wp-i18n', 'wp-polyfill', 'yoast-seo-feature-flag-package'), 'version' => '597bb5930c02bf4e1fc701fad15d9980'), 'reduxJsToolkit.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-redux-package'), 'version' => 'aae2438a60d27ad77ac35206db5f93bd')); \ No newline at end of file diff --git a/wp-content/plugins/wordpress-seo/src/generated/assets/plugin.php b/wp-content/plugins/wordpress-seo/src/generated/assets/plugin.php index f83993d32..ece212ca2 100755 --- a/wp-content/plugins/wordpress-seo/src/generated/assets/plugin.php +++ b/wp-content/plugins/wordpress-seo/src/generated/assets/plugin.php @@ -1 +1 @@ - array('dependencies' => array('react', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '69480e304478afa0732125a238078f05'), 'admin-global.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'f52f81411f06ce94dee2333a27600924'), 'admin-modules.js' => array('dependencies' => array('react', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package'), 'version' => '866abc2fb48999a4eaba77ebcb672205'), 'analysis-worker.js' => array('dependencies' => array('wp-polyfill'), 'version' => '6fa0d80f2247d8aafeb99f9bfb14df4d'), 'api-client.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'd569a6e5512343a9f1d606d2c7bf2a78'), 'block-editor.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-annotations', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-plugins', 'wp-polyfill', 'wp-rich-text', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '71dee50313c51301837bdacf54b516b7'), 'bulk-editor.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => '227a3a20cd4c31875558aed5251e4c36'), 'classic-editor.js' => array('dependencies' => array('jquery', 'lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '3c4f71218db08411a744387152685104'), 'crawl-settings.js' => array('dependencies' => array('wp-polyfill'), 'version' => '41b15773933fa3ee4d132ee97282d0d6'), 'dashboard-widget.js' => array('dependencies' => array('wp-element', 'wp-polyfill', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-style-guide-package'), 'version' => 'd17d3d38154a1c419f32cb3a3a0ad26f'), 'wincher-dashboard-widget.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e9b3da7733997ad3a0713019909843d0'), 'dynamic-blocks.js' => array('dependencies' => array('wp-blocks', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-server-side-render'), 'version' => '6b716b016f54bccce4ad3cd90f0f784a'), 'edit-page.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => '46d40db319e110d9a9dabc529f91325d'), 'editor-modules.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '9460559d5fd677e592f67adcf65704a8'), 'elementor.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => 'e4d6971868fda522797acf164232803b'), 'externals-components.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '59f943b6e2d6a7b00459b6adfb71628e'), 'externals-contexts.js' => array('dependencies' => array('wp-element', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '2287b1de1f9688e94472a18514e8e076'), 'externals-redux.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-helpers-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'a7437554c005f430265bc0299fad36a4'), 'filter-explanation.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'ae77cb279c80c12d392a37a0b225b2e9'), 'first-time-configuration.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-ui-library-package'), 'version' => '027a9fff9669a612dc3b5176d13b643f'), 'help-scout-beacon.js' => array('dependencies' => array('wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-styled-components-package'), 'version' => '3b7037a52f39cfb1e054ad970c22d7b7'), 'import.js' => array('dependencies' => array('jquery', 'lodash', 'wp-i18n', 'wp-polyfill'), 'version' => '964c7938a21fcb42b144cf50e317de5c'), 'indexation.js' => array('dependencies' => array('jquery', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '67d782aa5f98fb1ed91caa9c39b390f0'), 'installation-success.js' => array('dependencies' => array('lodash', 'react', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-contexts', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'ee434f1aa2f52b2da8c27e8f6fe2a0e9'), 'integrations-page.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-contexts', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '6fee6e88bfe2d275234351afebca9e91'), 'introductions.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => '1e7362e1c8ecd4a1f9f7aeb1aceb20cf'), 'network-admin.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'aad1a00119e3053b530ae8c24d505c5e'), 'post-edit.js' => array('dependencies' => array('jquery', 'lodash', 'react', 'wp-annotations', 'wp-api', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-rich-text', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => 'f1501c6a9d5ae3f9efd86a7a9de39f16'), 'quick-edit-handler.js' => array('dependencies' => array('wp-polyfill'), 'version' => '07052efb487ed262971ca82aadaa27ed'), 'reindex-links.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'a1e7c0cb147afc82d9d2a68f9617ec45'), 'redirect-old-features-tab.js' => array('dependencies' => array('wp-polyfill'), 'version' => '4b1838e53a5a52cbe832e86442dec34e'), 'settings.js' => array('dependencies' => array('jquery', 'lodash', 'react', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-redux', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '49d93e6f7c0184310371fbdb45ce8d0a'), 'new-settings.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '9f6c37f91cb823e3b2a80c48d7080516'), 'academy.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => 'de257a236bb15637d63c4ae50125cfc1'), 'support.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => 'aa281c77b9b3bdc12c1d261f8fa03f0d'), 'structured-data-blocks.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'ba5124af05df3757fc75c242eac83364'), 'term-edit.js' => array('dependencies' => array('jquery', 'lodash', 'wp-annotations', 'wp-api', 'wp-api-fetch', 'wp-data', 'wp-dom-ready', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-rich-text', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'dd3cc0455f2e842b696606290e877c4f'), 'used-keywords-assessment.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-analysis-package'), 'version' => '72969b8debf0963c7c79a23a9b5d5774'), 'react-select.js' => array('dependencies' => array('react', 'react-dom', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '7afc7415cd0086d3764aa421b5caec9f'), 'workouts.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '5ae25a8b4a11e8f45d8756c2aa937967'), 'wordproof-uikit.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'a4bc31ca75c86c84c6d61f14fd5b094f'), 'frontend-inspector-resources.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package'), 'version' => '0c57328d3c1e05881efa5b382a2da335')); \ No newline at end of file + array('dependencies' => array('react', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '69480e304478afa0732125a238078f05'), 'admin-global.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'f52f81411f06ce94dee2333a27600924'), 'admin-modules.js' => array('dependencies' => array('react', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package'), 'version' => '866abc2fb48999a4eaba77ebcb672205'), 'analysis-worker.js' => array('dependencies' => array('wp-polyfill'), 'version' => '6fa0d80f2247d8aafeb99f9bfb14df4d'), 'api-client.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'd569a6e5512343a9f1d606d2c7bf2a78'), 'block-editor.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-annotations', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-plugins', 'wp-polyfill', 'wp-rich-text', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => 'c9f1af48e6d43573b5abe92ac1a0be63'), 'bulk-editor.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => '227a3a20cd4c31875558aed5251e4c36'), 'classic-editor.js' => array('dependencies' => array('jquery', 'lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '5e25901cfb67cccde932c4790bee6075'), 'crawl-settings.js' => array('dependencies' => array('wp-polyfill'), 'version' => '41b15773933fa3ee4d132ee97282d0d6'), 'dashboard-widget.js' => array('dependencies' => array('wp-element', 'wp-polyfill', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-style-guide-package'), 'version' => 'd17d3d38154a1c419f32cb3a3a0ad26f'), 'wincher-dashboard-widget.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e9b3da7733997ad3a0713019909843d0'), 'dynamic-blocks.js' => array('dependencies' => array('wp-blocks', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-server-side-render'), 'version' => '6b716b016f54bccce4ad3cd90f0f784a'), 'edit-page.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => '46d40db319e110d9a9dabc529f91325d'), 'editor-modules.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '9460559d5fd677e592f67adcf65704a8'), 'elementor.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '6770c04bbfe8813b2326cbd3dab5e05a'), 'externals-components.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '59f943b6e2d6a7b00459b6adfb71628e'), 'externals-contexts.js' => array('dependencies' => array('wp-element', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '2287b1de1f9688e94472a18514e8e076'), 'externals-redux.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-helpers-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'a7437554c005f430265bc0299fad36a4'), 'filter-explanation.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'ae77cb279c80c12d392a37a0b225b2e9'), 'first-time-configuration.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-ui-library-package'), 'version' => '027a9fff9669a612dc3b5176d13b643f'), 'help-scout-beacon.js' => array('dependencies' => array('wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-styled-components-package'), 'version' => '3b7037a52f39cfb1e054ad970c22d7b7'), 'import.js' => array('dependencies' => array('jquery', 'lodash', 'wp-i18n', 'wp-polyfill'), 'version' => '964c7938a21fcb42b144cf50e317de5c'), 'indexation.js' => array('dependencies' => array('jquery', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '67d782aa5f98fb1ed91caa9c39b390f0'), 'installation-success.js' => array('dependencies' => array('lodash', 'react', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-contexts', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'ee434f1aa2f52b2da8c27e8f6fe2a0e9'), 'integrations-page.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-contexts', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '6fee6e88bfe2d275234351afebca9e91'), 'introductions.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => '1e7362e1c8ecd4a1f9f7aeb1aceb20cf'), 'network-admin.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'aad1a00119e3053b530ae8c24d505c5e'), 'post-edit.js' => array('dependencies' => array('jquery', 'lodash', 'react', 'wp-annotations', 'wp-api', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-rich-text', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '6888c91ba01fd5b6bb5c16a8138b479e'), 'quick-edit-handler.js' => array('dependencies' => array('wp-polyfill'), 'version' => '07052efb487ed262971ca82aadaa27ed'), 'reindex-links.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'a1e7c0cb147afc82d9d2a68f9617ec45'), 'redirect-old-features-tab.js' => array('dependencies' => array('wp-polyfill'), 'version' => '4b1838e53a5a52cbe832e86442dec34e'), 'settings.js' => array('dependencies' => array('jquery', 'lodash', 'react', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-redux', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '49d93e6f7c0184310371fbdb45ce8d0a'), 'new-settings.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '9f6c37f91cb823e3b2a80c48d7080516'), 'academy.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => 'de257a236bb15637d63c4ae50125cfc1'), 'support.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => 'aa281c77b9b3bdc12c1d261f8fa03f0d'), 'structured-data-blocks.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'ba5124af05df3757fc75c242eac83364'), 'term-edit.js' => array('dependencies' => array('jquery', 'lodash', 'wp-annotations', 'wp-api', 'wp-api-fetch', 'wp-data', 'wp-dom-ready', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-rich-text', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'dd3cc0455f2e842b696606290e877c4f'), 'used-keywords-assessment.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-analysis-package'), 'version' => '72969b8debf0963c7c79a23a9b5d5774'), 'react-select.js' => array('dependencies' => array('react', 'react-dom', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '7afc7415cd0086d3764aa421b5caec9f'), 'workouts.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '5ae25a8b4a11e8f45d8756c2aa937967'), 'wordproof-uikit.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'a4bc31ca75c86c84c6d61f14fd5b094f'), 'frontend-inspector-resources.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package'), 'version' => '0c57328d3c1e05881efa5b382a2da335')); \ No newline at end of file diff --git a/wp-content/plugins/wordpress-seo/src/generated/container.php b/wp-content/plugins/wordpress-seo/src/generated/container.php index e1d798c87..f85be5236 100755 --- a/wp-content/plugins/wordpress-seo/src/generated/container.php +++ b/wp-content/plugins/wordpress-seo/src/generated/container.php @@ -93,7 +93,6 @@ public function __construct() 'yoast\\wp\\seo\\conditionals\\deactivating_yoast_seo_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Deactivating_Yoast_Seo_Conditional', 'yoast\\wp\\seo\\conditionals\\development_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Development_Conditional', 'yoast\\wp\\seo\\conditionals\\front_end_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Conditional', - 'yoast\\wp\\seo\\conditionals\\front_end_inspector_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional', 'yoast\\wp\\seo\\conditionals\\get_request_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Get_Request_Conditional', 'yoast\\wp\\seo\\conditionals\\headless_rest_endpoints_enabled_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Headless_Rest_Endpoints_Enabled_Conditional', 'yoast\\wp\\seo\\conditionals\\import_tool_selected_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Import_Tool_Selected_Conditional', @@ -524,7 +523,6 @@ public function __construct() 'Yoast\\WP\\SEO\\Conditionals\\Deactivating_Yoast_Seo_Conditional' => 'getDeactivatingYoastSeoConditionalService', 'Yoast\\WP\\SEO\\Conditionals\\Development_Conditional' => 'getDevelopmentConditionalService', 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Conditional' => 'getFrontEndConditionalService', - 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional' => 'getFrontEndInspectorConditionalService', 'Yoast\\WP\\SEO\\Conditionals\\Get_Request_Conditional' => 'getGetRequestConditionalService', 'Yoast\\WP\\SEO\\Conditionals\\Headless_Rest_Endpoints_Enabled_Conditional' => 'getHeadlessRestEndpointsEnabledConditionalService', 'Yoast\\WP\\SEO\\Conditionals\\Import_Tool_Selected_Conditional' => 'getImportToolSelectedConditionalService', @@ -1838,20 +1836,6 @@ protected function getFrontEndConditionalService() return $this->services['Yoast\\WP\\SEO\\Conditionals\\Front_End_Conditional'] = new \Yoast\WP\SEO\Conditionals\Front_End_Conditional(); } - /** - * Gets the public 'Yoast\WP\SEO\Conditionals\Front_End_Inspector_Conditional' shared autowired service. - * - * @return \Yoast\WP\SEO\Conditionals\Front_End_Inspector_Conditional - * - * @deprecated Yoast\WP\SEO\Conditionals\Front_End_Inspector_Conditional is deprecated since version 19.5! - */ - protected function getFrontEndInspectorConditionalService() - { - @trigger_error('Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional is deprecated since version 19.5!', E_USER_DEPRECATED); - - return $this->services['Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional'] = new \Yoast\WP\SEO\Conditionals\Front_End_Inspector_Conditional(); - } - /** * Gets the public 'Yoast\WP\SEO\Conditionals\Get_Request_Conditional' shared autowired service. * diff --git a/wp-content/plugins/wordpress-seo/src/helpers/image-helper.php b/wp-content/plugins/wordpress-seo/src/helpers/image-helper.php index fc06b5448..86b7d245b 100755 --- a/wp-content/plugins/wordpress-seo/src/helpers/image-helper.php +++ b/wp-content/plugins/wordpress-seo/src/helpers/image-helper.php @@ -308,7 +308,8 @@ public function get_attachment_by_url( $url, $use_link_table = true ) { return 0; } - if ( ! $this->options_helper->get( 'disable-attachment' ) ) { + /** The `wpseo_force_creating_and_using_attachment_indexables` filter is documented in indexable-link-builder.php */ + if ( ! $this->options_helper->get( 'disable-attachment' ) || \apply_filters( 'wpseo_force_creating_and_using_attachment_indexables', false ) ) { // Strip out the size part of an image URL. $url = \preg_replace( '/(.*)-\d+x\d+\.(jpeg|jpg|png|gif)$/', '$1.$2', $url ); diff --git a/wp-content/plugins/wordpress-seo/vendor/autoload.php b/wp-content/plugins/wordpress-seo/vendor/autoload.php index ef3e23edc..93e863fac 100755 --- a/wp-content/plugins/wordpress-seo/vendor/autoload.php +++ b/wp-content/plugins/wordpress-seo/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit585049d74f3550c3cb9b04a8e1bdc126::getLoader(); +return ComposerAutoloaderInit0ed40f9efb344be2102e6b1e982df89f::getLoader(); diff --git a/wp-content/plugins/wordpress-seo/vendor/composer/InstalledVersions.php b/wp-content/plugins/wordpress-seo/vendor/composer/InstalledVersions.php index d50e0c9fc..015819496 100755 --- a/wp-content/plugins/wordpress-seo/vendor/composer/InstalledVersions.php +++ b/wp-content/plugins/wordpress-seo/vendor/composer/InstalledVersions.php @@ -326,7 +326,9 @@ private static function getInstalled() if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { - $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ + $required = require $vendorDir.'/composer/installed.php'; + $installed[] = self::$installedByVendor[$vendorDir] = $required; if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { self::$installed = $installed[count($installed) - 1]; } @@ -338,12 +340,17 @@ private static function getInstalled() // only require the installed.php file if this file is loaded from its dumped location, // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 if (substr(__DIR__, -8, 1) !== 'C') { - self::$installed = require __DIR__ . '/installed.php'; + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ + $required = require __DIR__ . '/installed.php'; + self::$installed = $required; } else { self::$installed = array(); } } - $installed[] = self::$installed; + + if (self::$installed !== array()) { + $installed[] = self::$installed; + } return $installed; } diff --git a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_classmap.php b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_classmap.php index c4aa347ba..bc6f6b125 100755 --- a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_classmap.php +++ b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_classmap.php @@ -8,7 +8,7 @@ return array( 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', 'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php', - 'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php', + 'Composer\\Installers\\AkauntingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AkauntingInstaller.php', 'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php', 'Composer\\Installers\\AsgardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AsgardInstaller.php', 'Composer\\Installers\\AttogramInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AttogramInstaller.php', @@ -22,7 +22,6 @@ 'Composer\\Installers\\CockpitInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CockpitInstaller.php', 'Composer\\Installers\\CodeIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php', 'Composer\\Installers\\Concrete5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Concrete5Installer.php', - 'Composer\\Installers\\CraftInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CraftInstaller.php', 'Composer\\Installers\\CroogoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CroogoInstaller.php', 'Composer\\Installers\\DecibelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DecibelInstaller.php', 'Composer\\Installers\\DframeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DframeInstaller.php', @@ -40,9 +39,7 @@ 'Composer\\Installers\\ImageCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php', 'Composer\\Installers\\Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Installer.php', 'Composer\\Installers\\ItopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ItopInstaller.php', - 'Composer\\Installers\\JoomlaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php', 'Composer\\Installers\\KanboardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KanboardInstaller.php', - 'Composer\\Installers\\KirbyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KirbyInstaller.php', 'Composer\\Installers\\KnownInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KnownInstaller.php', 'Composer\\Installers\\KodiCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php', 'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php', @@ -56,6 +53,7 @@ 'Composer\\Installers\\MajimaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MajimaInstaller.php', 'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php', 'Composer\\Installers\\MantisBTInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php', + 'Composer\\Installers\\MatomoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MatomoInstaller.php', 'Composer\\Installers\\MauticInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MauticInstaller.php', 'Composer\\Installers\\MayaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MayaInstaller.php', 'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php', @@ -71,7 +69,6 @@ 'Composer\\Installers\\PantheonInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PantheonInstaller.php', 'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php', 'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php', - 'Composer\\Installers\\PimcoreInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php', 'Composer\\Installers\\PiwikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PiwikInstaller.php', 'Composer\\Installers\\PlentymarketsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php', 'Composer\\Installers\\Plugin' => $vendorDir . '/composer/installers/src/Composer/Installers/Plugin.php', @@ -92,9 +89,6 @@ 'Composer\\Installers\\StarbugInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/StarbugInstaller.php', 'Composer\\Installers\\SyDESInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyDESInstaller.php', 'Composer\\Installers\\SyliusInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyliusInstaller.php', - 'Composer\\Installers\\Symfony1Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Symfony1Installer.php', - 'Composer\\Installers\\TYPO3CmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php', - 'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php', 'Composer\\Installers\\TaoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TaoInstaller.php', 'Composer\\Installers\\TastyIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php', 'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php', @@ -121,7 +115,6 @@ 'WPSEO_Admin_Asset_Location' => $baseDir . '/admin/class-admin-asset-location.php', 'WPSEO_Admin_Asset_Manager' => $baseDir . '/admin/class-admin-asset-manager.php', 'WPSEO_Admin_Asset_SEO_Location' => $baseDir . '/admin/class-admin-asset-seo-location.php', - 'WPSEO_Admin_Asset_Yoast_Components_L10n' => $baseDir . '/admin/class-admin-asset-yoast-components-l10n.php', 'WPSEO_Admin_Bar_Menu' => $baseDir . '/inc/class-wpseo-admin-bar-menu.php', 'WPSEO_Admin_Editor_Specific_Replace_Vars' => $baseDir . '/admin/class-admin-editor-specific-replace-vars.php', 'WPSEO_Admin_Gutenberg_Compatibility_Notification' => $baseDir . '/admin/class-admin-gutenberg-compatibility-notification.php', @@ -253,9 +246,6 @@ 'WPSEO_Role_Manager_Factory' => $baseDir . '/admin/roles/class-role-manager-factory.php', 'WPSEO_Role_Manager_VIP' => $baseDir . '/admin/roles/class-role-manager-vip.php', 'WPSEO_Role_Manager_WP' => $baseDir . '/admin/roles/class-role-manager-wp.php', - 'WPSEO_Ryte' => $baseDir . '/src/deprecated/admin/ryte/class-ryte.php', - 'WPSEO_Ryte_Option' => $baseDir . '/src/deprecated/admin/ryte/class-ryte-option.php', - 'WPSEO_Ryte_Request' => $baseDir . '/src/deprecated/admin/ryte/class-ryte-request.php', 'WPSEO_Schema_Person_Upgrade_Notification' => $baseDir . '/admin/class-schema-person-upgrade-notification.php', 'WPSEO_Shortcode_Filter' => $baseDir . '/admin/ajax/class-shortcode-filter.php', 'WPSEO_Shortlinker' => $baseDir . '/inc/class-wpseo-shortlinker.php', @@ -297,8 +287,11 @@ 'WPSEO_WordPress_Integration' => $baseDir . '/inc/interface-wpseo-wordpress-integration.php', 'WPSEO_Yoast_Columns' => $baseDir . '/admin/class-yoast-columns.php', 'Wincher_Dashboard_Widget' => $baseDir . '/admin/class-wincher-dashboard-widget.php', + 'YoastSEO_Vendor\\GuzzleHttp\\BodySummarizer' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php', + 'YoastSEO_Vendor\\GuzzleHttp\\BodySummarizerInterface' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php', 'YoastSEO_Vendor\\GuzzleHttp\\Client' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Client.php', 'YoastSEO_Vendor\\GuzzleHttp\\ClientInterface' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php', + 'YoastSEO_Vendor\\GuzzleHttp\\ClientTrait' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php', 'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\CookieJar' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php', 'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\CookieJarInterface' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php', 'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\FileCookieJar' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php', @@ -310,7 +303,6 @@ 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\GuzzleException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\InvalidArgumentException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\RequestException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php', - 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\SeekException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\ServerException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ServerException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\TooManyRedirectsException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\TransferException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/TransferException.php', @@ -320,10 +312,12 @@ 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\CurlHandler' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php', 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\CurlMultiHandler' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php', 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\EasyHandle' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php', + 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\HeaderProcessor' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php', 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\MockHandler' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/MockHandler.php', 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\Proxy' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php', 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\StreamHandler' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php', 'YoastSEO_Vendor\\GuzzleHttp\\MessageFormatter' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php', + 'YoastSEO_Vendor\\GuzzleHttp\\MessageFormatterInterface' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php', 'YoastSEO_Vendor\\GuzzleHttp\\Middleware' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Middleware.php', 'YoastSEO_Vendor\\GuzzleHttp\\Pool' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php', 'YoastSEO_Vendor\\GuzzleHttp\\PrepareBodyMiddleware' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php', @@ -347,8 +341,10 @@ 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\BufferStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\CachingStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\DroppingStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php', + 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\FnStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/FnStream.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\Header' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/Header.php', + 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\HttpFactory' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\InflateStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\LazyOpenStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\LimitStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php', @@ -376,7 +372,6 @@ 'YoastSEO_Vendor\\GuzzleHttp\\RequestOptions' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php', 'YoastSEO_Vendor\\GuzzleHttp\\RetryMiddleware' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php', 'YoastSEO_Vendor\\GuzzleHttp\\TransferStats' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php', - 'YoastSEO_Vendor\\GuzzleHttp\\UriTemplate' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php', 'YoastSEO_Vendor\\GuzzleHttp\\Utils' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php', 'YoastSEO_Vendor\\League\\OAuth2\\Client\\Grant\\AbstractGrant' => $baseDir . '/vendor_prefixed/league/oauth2-client/src/Grant/AbstractGrant.php', 'YoastSEO_Vendor\\League\\OAuth2\\Client\\Grant\\AuthorizationCode' => $baseDir . '/vendor_prefixed/league/oauth2-client/src/Grant/AuthorizationCode.php', @@ -407,12 +402,22 @@ 'YoastSEO_Vendor\\Psr\\Container\\ContainerExceptionInterface' => $baseDir . '/vendor_prefixed/psr/container/src/ContainerExceptionInterface.php', 'YoastSEO_Vendor\\Psr\\Container\\ContainerInterface' => $baseDir . '/vendor_prefixed/psr/container/src/ContainerInterface.php', 'YoastSEO_Vendor\\Psr\\Container\\NotFoundExceptionInterface' => $baseDir . '/vendor_prefixed/psr/container/src/NotFoundExceptionInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Client\\ClientExceptionInterface' => $baseDir . '/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Client\\ClientInterface' => $baseDir . '/vendor_prefixed/psr/http-client/src/ClientInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Client\\NetworkExceptionInterface' => $baseDir . '/vendor_prefixed/psr/http-client/src/NetworkExceptionInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Client\\RequestExceptionInterface' => $baseDir . '/vendor_prefixed/psr/http-client/src/RequestExceptionInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\MessageInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/MessageInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\RequestFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/RequestFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\RequestInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/RequestInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\ResponseFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/ResponseFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\ResponseInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/ResponseInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\ServerRequestFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/ServerRequestFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\ServerRequestInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/ServerRequestInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\StreamFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/StreamFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\StreamInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/StreamInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\UploadedFileFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/UploadedFileFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\UploadedFileInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/UploadedFileInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\UriFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/UriFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\UriInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/UriInterface.php', 'YoastSEO_Vendor\\Psr\\Log\\AbstractLogger' => $baseDir . '/vendor_prefixed/psr/log/Psr/Log/AbstractLogger.php', 'YoastSEO_Vendor\\Psr\\Log\\InvalidArgumentException' => $baseDir . '/vendor_prefixed/psr/log/Psr/Log/InvalidArgumentException.php', @@ -447,6 +452,7 @@ 'YoastSEO_Vendor\\WordProof\\SDK\\Config\\ScriptsConfig' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Config/ScriptsConfig.php', 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\AuthenticationController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/AuthenticationController.php', 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\CertificateController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php', + 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\IdentityController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php', 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\NoticeController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/NoticeController.php', 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\PostEditorDataController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/PostEditorDataController.php', 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\PostEditorTimestampController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/PostEditorTimestampController.php', @@ -497,7 +503,6 @@ 'Yoast\\WP\\SEO\\Actions\\Addon_Installation\\Addon_Activate_Action' => $baseDir . '/src/actions/addon-installation/addon-activate-action.php', 'Yoast\\WP\\SEO\\Actions\\Addon_Installation\\Addon_Install_Action' => $baseDir . '/src/actions/addon-installation/addon-install-action.php', 'Yoast\\WP\\SEO\\Actions\\Alert_Dismissal_Action' => $baseDir . '/src/actions/alert-dismissal-action.php', - 'Yoast\\WP\\SEO\\Actions\\Configuration\\Configuration_Workout_Action' => $baseDir . '/src/deprecated/src/actions/configuration/configuration-workout-action.php', 'Yoast\\WP\\SEO\\Actions\\Configuration\\First_Time_Configuration_Action' => $baseDir . '/src/actions/configuration/first-time-configuration-action.php', 'Yoast\\WP\\SEO\\Actions\\Importing\\Abstract_Aioseo_Importing_Action' => $baseDir . '/src/actions/importing/abstract-aioseo-importing-action.php', 'Yoast\\WP\\SEO\\Actions\\Importing\\Aioseo\\Abstract_Aioseo_Settings_Importing_Action' => $baseDir . '/src/actions/importing/aioseo/abstract-aioseo-settings-importing-action.php', @@ -572,12 +577,10 @@ 'Yoast\\WP\\SEO\\Conditionals\\Development_Conditional' => $baseDir . '/src/conditionals/development-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Feature_Flag_Conditional' => $baseDir . '/src/conditionals/feature-flag-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Conditional' => $baseDir . '/src/conditionals/front-end-conditional.php', - 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional' => $baseDir . '/src/deprecated/src/conditionals/front-end-inspector-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Get_Request_Conditional' => $baseDir . '/src/conditionals/get-request-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Headless_Rest_Endpoints_Enabled_Conditional' => $baseDir . '/src/conditionals/headless-rest-endpoints-enabled-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Import_Tool_Selected_Conditional' => $baseDir . '/src/conditionals/import-tool-selected-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Indexables_Page_Conditional' => $baseDir . '/src/deprecated/src/conditionals/indexables-page-conditional.php', - 'Yoast\\WP\\SEO\\Conditionals\\Japanese_Support_Conditional' => $baseDir . '/src/deprecated/src/conditionals/japanese-support-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Jetpack_Conditional' => $baseDir . '/src/conditionals/jetpack-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Migrations_Conditional' => $baseDir . '/src/conditionals/migrations-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\New_Settings_Ui_Conditional' => $baseDir . '/src/conditionals/new-settings-ui-conditional.php', @@ -804,7 +807,6 @@ 'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirect_Integration' => $baseDir . '/src/integrations/admin/redirect-integration.php', 'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirect_Old_Features_Tab_Integration' => $baseDir . '/src/deprecated/src/integrations/admin/redirect-old-features-tab-integration.php', 'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirects_Page_Integration' => $baseDir . '/src/integrations/admin/redirects-page-integration.php', - 'Yoast\\WP\\SEO\\Integrations\\Admin\\Ryte_Integration' => $baseDir . '/src/deprecated/src/integrations/admin/ryte-integration.php', 'Yoast\\WP\\SEO\\Integrations\\Admin\\Social_Templates_Integration' => $baseDir . '/src/deprecated/src/integrations/admin/social-templates-integration.php', 'Yoast\\WP\\SEO\\Integrations\\Admin\\Unsupported_PHP_Version' => $baseDir . '/src/deprecated/src/integrations/admin/unsupported-php-version.php', 'Yoast\\WP\\SEO\\Integrations\\Admin\\Workouts_Integration' => $baseDir . '/src/integrations/admin/workouts-integration.php', @@ -932,7 +934,6 @@ 'Yoast\\WP\\SEO\\Presenters\\Abstract_Indexable_Tag_Presenter' => $baseDir . '/src/presenters/abstract-indexable-tag-presenter.php', 'Yoast\\WP\\SEO\\Presenters\\Abstract_Presenter' => $baseDir . '/src/presenters/abstract-presenter.php', 'Yoast\\WP\\SEO\\Presenters\\Admin\\Alert_Presenter' => $baseDir . '/src/presenters/admin/alert-presenter.php', - 'Yoast\\WP\\SEO\\Presenters\\Admin\\Auto_Update_Notification_Presenter' => $baseDir . '/src/deprecated/src/presenters/admin/auto-update-notification-presenter.php', 'Yoast\\WP\\SEO\\Presenters\\Admin\\Badge_Presenter' => $baseDir . '/src/presenters/admin/badge-presenter.php', 'Yoast\\WP\\SEO\\Presenters\\Admin\\Beta_Badge_Presenter' => $baseDir . '/src/presenters/admin/beta-badge-presenter.php', 'Yoast\\WP\\SEO\\Presenters\\Admin\\Help_Link_Presenter' => $baseDir . '/src/presenters/admin/help-link-presenter.php', @@ -999,7 +1000,6 @@ 'Yoast\\WP\\SEO\\Routes\\Abstract_Action_Route' => $baseDir . '/src/routes/abstract-action-route.php', 'Yoast\\WP\\SEO\\Routes\\Abstract_Indexation_Route' => $baseDir . '/src/routes/abstract-indexation-route.php', 'Yoast\\WP\\SEO\\Routes\\Alert_Dismissal_Route' => $baseDir . '/src/routes/alert-dismissal-route.php', - 'Yoast\\WP\\SEO\\Routes\\Configuration_Workout_Route' => $baseDir . '/src/deprecated/src/routes/configuration-workout-route.php', 'Yoast\\WP\\SEO\\Routes\\First_Time_Configuration_Route' => $baseDir . '/src/routes/first-time-configuration-route.php', 'Yoast\\WP\\SEO\\Routes\\Importing_Route' => $baseDir . '/src/routes/importing-route.php', 'Yoast\\WP\\SEO\\Routes\\Indexables_Head_Route' => $baseDir . '/src/routes/indexables-head-route.php', @@ -1015,9 +1015,6 @@ 'Yoast\\WP\\SEO\\Routes\\Workouts_Route' => $baseDir . '/src/routes/workouts-route.php', 'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field' => $baseDir . '/src/routes/yoast-head-rest-field.php', 'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons' => $baseDir . '/src/deprecated/src/schema-templates/assets/icons.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check' => $baseDir . '/src/deprecated/src/services/health-check/curl-check.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports' => $baseDir . '/src/deprecated/src/services/health-check/curl-reports.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner' => $baseDir . '/src/deprecated/src/services/health-check/curl-runner.php', 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check' => $baseDir . '/src/services/health-check/default-tagline-check.php', 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports' => $baseDir . '/src/services/health-check/default-tagline-reports.php', 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner' => $baseDir . '/src/services/health-check/default-tagline-runner.php', @@ -1036,9 +1033,6 @@ 'Yoast\\WP\\SEO\\Services\\Health_Check\\Report_Builder_Factory' => $baseDir . '/src/services/health-check/report-builder-factory.php', 'Yoast\\WP\\SEO\\Services\\Health_Check\\Reports_Trait' => $baseDir . '/src/services/health-check/reports-trait.php', 'Yoast\\WP\\SEO\\Services\\Health_Check\\Runner_Interface' => $baseDir . '/src/services/health-check/runner-interface.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Check' => $baseDir . '/src/deprecated/src/services/health-check/ryte-check.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Reports' => $baseDir . '/src/deprecated/src/services/health-check/ryte-reports.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Runner' => $baseDir . '/src/deprecated/src/services/health-check/ryte-runner.php', 'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Replacevar_Service' => $baseDir . '/src/services/importing/aioseo/aioseo-replacevar-service.php', 'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Robots_Provider_Service' => $baseDir . '/src/services/importing/aioseo/aioseo-robots-provider-service.php', 'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Robots_Transformer_Service' => $baseDir . '/src/services/importing/aioseo/aioseo-robots-transformer-service.php', diff --git a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_real.php b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_real.php index 801cf73f3..5cfd54d91 100755 --- a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_real.php +++ b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit585049d74f3550c3cb9b04a8e1bdc126 +class ComposerAutoloaderInit0ed40f9efb344be2102e6b1e982df89f { private static $loader; @@ -24,15 +24,15 @@ public static function getLoader() require __DIR__ . '/platform_check.php'; - spl_autoload_register(array('ComposerAutoloaderInit585049d74f3550c3cb9b04a8e1bdc126', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit0ed40f9efb344be2102e6b1e982df89f', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); - spl_autoload_unregister(array('ComposerAutoloaderInit585049d74f3550c3cb9b04a8e1bdc126', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit0ed40f9efb344be2102e6b1e982df89f', 'loadClassLoader')); $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit0ed40f9efb344be2102e6b1e982df89f::getInitializer($loader)); } else { $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { diff --git a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_static.php b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_static.php index 589be991e..848d48cb6 100755 --- a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_static.php +++ b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 +class ComposerStaticInit0ed40f9efb344be2102e6b1e982df89f { public static $prefixLengthsPsr4 = array ( 'C' => @@ -23,7 +23,7 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 public static $classMap = array ( 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php', - 'Composer\\Installers\\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php', + 'Composer\\Installers\\AkauntingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AkauntingInstaller.php', 'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php', 'Composer\\Installers\\AsgardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AsgardInstaller.php', 'Composer\\Installers\\AttogramInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AttogramInstaller.php', @@ -37,7 +37,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Composer\\Installers\\CockpitInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CockpitInstaller.php', 'Composer\\Installers\\CodeIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php', 'Composer\\Installers\\Concrete5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Concrete5Installer.php', - 'Composer\\Installers\\CraftInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CraftInstaller.php', 'Composer\\Installers\\CroogoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CroogoInstaller.php', 'Composer\\Installers\\DecibelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DecibelInstaller.php', 'Composer\\Installers\\DframeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DframeInstaller.php', @@ -55,9 +54,7 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Composer\\Installers\\ImageCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php', 'Composer\\Installers\\Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Installer.php', 'Composer\\Installers\\ItopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ItopInstaller.php', - 'Composer\\Installers\\JoomlaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php', 'Composer\\Installers\\KanboardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KanboardInstaller.php', - 'Composer\\Installers\\KirbyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KirbyInstaller.php', 'Composer\\Installers\\KnownInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KnownInstaller.php', 'Composer\\Installers\\KodiCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php', 'Composer\\Installers\\KohanaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KohanaInstaller.php', @@ -71,6 +68,7 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Composer\\Installers\\MajimaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MajimaInstaller.php', 'Composer\\Installers\\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php', 'Composer\\Installers\\MantisBTInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php', + 'Composer\\Installers\\MatomoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MatomoInstaller.php', 'Composer\\Installers\\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php', 'Composer\\Installers\\MayaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MayaInstaller.php', 'Composer\\Installers\\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php', @@ -86,7 +84,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Composer\\Installers\\PantheonInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PantheonInstaller.php', 'Composer\\Installers\\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php', 'Composer\\Installers\\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php', - 'Composer\\Installers\\PimcoreInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php', 'Composer\\Installers\\PiwikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PiwikInstaller.php', 'Composer\\Installers\\PlentymarketsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php', 'Composer\\Installers\\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php', @@ -107,9 +104,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Composer\\Installers\\StarbugInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/StarbugInstaller.php', 'Composer\\Installers\\SyDESInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyDESInstaller.php', 'Composer\\Installers\\SyliusInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyliusInstaller.php', - 'Composer\\Installers\\Symfony1Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Symfony1Installer.php', - 'Composer\\Installers\\TYPO3CmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php', - 'Composer\\Installers\\TYPO3FlowInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php', 'Composer\\Installers\\TaoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TaoInstaller.php', 'Composer\\Installers\\TastyIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php', 'Composer\\Installers\\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php', @@ -136,7 +130,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'WPSEO_Admin_Asset_Location' => __DIR__ . '/../..' . '/admin/class-admin-asset-location.php', 'WPSEO_Admin_Asset_Manager' => __DIR__ . '/../..' . '/admin/class-admin-asset-manager.php', 'WPSEO_Admin_Asset_SEO_Location' => __DIR__ . '/../..' . '/admin/class-admin-asset-seo-location.php', - 'WPSEO_Admin_Asset_Yoast_Components_L10n' => __DIR__ . '/../..' . '/admin/class-admin-asset-yoast-components-l10n.php', 'WPSEO_Admin_Bar_Menu' => __DIR__ . '/../..' . '/inc/class-wpseo-admin-bar-menu.php', 'WPSEO_Admin_Editor_Specific_Replace_Vars' => __DIR__ . '/../..' . '/admin/class-admin-editor-specific-replace-vars.php', 'WPSEO_Admin_Gutenberg_Compatibility_Notification' => __DIR__ . '/../..' . '/admin/class-admin-gutenberg-compatibility-notification.php', @@ -268,9 +261,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'WPSEO_Role_Manager_Factory' => __DIR__ . '/../..' . '/admin/roles/class-role-manager-factory.php', 'WPSEO_Role_Manager_VIP' => __DIR__ . '/../..' . '/admin/roles/class-role-manager-vip.php', 'WPSEO_Role_Manager_WP' => __DIR__ . '/../..' . '/admin/roles/class-role-manager-wp.php', - 'WPSEO_Ryte' => __DIR__ . '/../..' . '/src/deprecated/admin/ryte/class-ryte.php', - 'WPSEO_Ryte_Option' => __DIR__ . '/../..' . '/src/deprecated/admin/ryte/class-ryte-option.php', - 'WPSEO_Ryte_Request' => __DIR__ . '/../..' . '/src/deprecated/admin/ryte/class-ryte-request.php', 'WPSEO_Schema_Person_Upgrade_Notification' => __DIR__ . '/../..' . '/admin/class-schema-person-upgrade-notification.php', 'WPSEO_Shortcode_Filter' => __DIR__ . '/../..' . '/admin/ajax/class-shortcode-filter.php', 'WPSEO_Shortlinker' => __DIR__ . '/../..' . '/inc/class-wpseo-shortlinker.php', @@ -312,8 +302,11 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'WPSEO_WordPress_Integration' => __DIR__ . '/../..' . '/inc/interface-wpseo-wordpress-integration.php', 'WPSEO_Yoast_Columns' => __DIR__ . '/../..' . '/admin/class-yoast-columns.php', 'Wincher_Dashboard_Widget' => __DIR__ . '/../..' . '/admin/class-wincher-dashboard-widget.php', + 'YoastSEO_Vendor\\GuzzleHttp\\BodySummarizer' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php', + 'YoastSEO_Vendor\\GuzzleHttp\\BodySummarizerInterface' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php', 'YoastSEO_Vendor\\GuzzleHttp\\Client' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Client.php', 'YoastSEO_Vendor\\GuzzleHttp\\ClientInterface' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php', + 'YoastSEO_Vendor\\GuzzleHttp\\ClientTrait' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php', 'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php', 'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php', 'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php', @@ -325,7 +318,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\GuzzleException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\InvalidArgumentException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\RequestException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php', - 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\SeekException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\ServerException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ServerException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\TooManyRedirectsException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\TransferException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/TransferException.php', @@ -335,10 +327,12 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\CurlHandler' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php', 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\CurlMultiHandler' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php', 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\EasyHandle' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php', + 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\HeaderProcessor' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php', 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\MockHandler' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/MockHandler.php', 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\Proxy' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php', 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\StreamHandler' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php', 'YoastSEO_Vendor\\GuzzleHttp\\MessageFormatter' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php', + 'YoastSEO_Vendor\\GuzzleHttp\\MessageFormatterInterface' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php', 'YoastSEO_Vendor\\GuzzleHttp\\Middleware' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Middleware.php', 'YoastSEO_Vendor\\GuzzleHttp\\Pool' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php', 'YoastSEO_Vendor\\GuzzleHttp\\PrepareBodyMiddleware' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php', @@ -362,8 +356,10 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\BufferStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\CachingStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\DroppingStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php', + 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\FnStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/FnStream.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\Header' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/Header.php', + 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\HttpFactory' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\InflateStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\LazyOpenStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php', 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\LimitStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php', @@ -391,7 +387,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'YoastSEO_Vendor\\GuzzleHttp\\RequestOptions' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php', 'YoastSEO_Vendor\\GuzzleHttp\\RetryMiddleware' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php', 'YoastSEO_Vendor\\GuzzleHttp\\TransferStats' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php', - 'YoastSEO_Vendor\\GuzzleHttp\\UriTemplate' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php', 'YoastSEO_Vendor\\GuzzleHttp\\Utils' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php', 'YoastSEO_Vendor\\League\\OAuth2\\Client\\Grant\\AbstractGrant' => __DIR__ . '/../..' . '/vendor_prefixed/league/oauth2-client/src/Grant/AbstractGrant.php', 'YoastSEO_Vendor\\League\\OAuth2\\Client\\Grant\\AuthorizationCode' => __DIR__ . '/../..' . '/vendor_prefixed/league/oauth2-client/src/Grant/AuthorizationCode.php', @@ -422,12 +417,22 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'YoastSEO_Vendor\\Psr\\Container\\ContainerExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/container/src/ContainerExceptionInterface.php', 'YoastSEO_Vendor\\Psr\\Container\\ContainerInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/container/src/ContainerInterface.php', 'YoastSEO_Vendor\\Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/container/src/NotFoundExceptionInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Client\\ClientExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Client\\ClientInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-client/src/ClientInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Client\\NetworkExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-client/src/NetworkExceptionInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Client\\RequestExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-client/src/RequestExceptionInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/MessageInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\RequestFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/RequestFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/RequestInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\ResponseFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/ResponseFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/ResponseInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\ServerRequestFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/ServerRequestFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/ServerRequestInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\StreamFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/StreamFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/StreamInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\UploadedFileFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/UploadedFileFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/UploadedFileInterface.php', + 'YoastSEO_Vendor\\Psr\\Http\\Message\\UriFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/UriFactoryInterface.php', 'YoastSEO_Vendor\\Psr\\Http\\Message\\UriInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/UriInterface.php', 'YoastSEO_Vendor\\Psr\\Log\\AbstractLogger' => __DIR__ . '/../..' . '/vendor_prefixed/psr/log/Psr/Log/AbstractLogger.php', 'YoastSEO_Vendor\\Psr\\Log\\InvalidArgumentException' => __DIR__ . '/../..' . '/vendor_prefixed/psr/log/Psr/Log/InvalidArgumentException.php', @@ -462,6 +467,7 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'YoastSEO_Vendor\\WordProof\\SDK\\Config\\ScriptsConfig' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Config/ScriptsConfig.php', 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\AuthenticationController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/AuthenticationController.php', 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\CertificateController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php', + 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\IdentityController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php', 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\NoticeController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/NoticeController.php', 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\PostEditorDataController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/PostEditorDataController.php', 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\PostEditorTimestampController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/PostEditorTimestampController.php', @@ -512,7 +518,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Yoast\\WP\\SEO\\Actions\\Addon_Installation\\Addon_Activate_Action' => __DIR__ . '/../..' . '/src/actions/addon-installation/addon-activate-action.php', 'Yoast\\WP\\SEO\\Actions\\Addon_Installation\\Addon_Install_Action' => __DIR__ . '/../..' . '/src/actions/addon-installation/addon-install-action.php', 'Yoast\\WP\\SEO\\Actions\\Alert_Dismissal_Action' => __DIR__ . '/../..' . '/src/actions/alert-dismissal-action.php', - 'Yoast\\WP\\SEO\\Actions\\Configuration\\Configuration_Workout_Action' => __DIR__ . '/../..' . '/src/deprecated/src/actions/configuration/configuration-workout-action.php', 'Yoast\\WP\\SEO\\Actions\\Configuration\\First_Time_Configuration_Action' => __DIR__ . '/../..' . '/src/actions/configuration/first-time-configuration-action.php', 'Yoast\\WP\\SEO\\Actions\\Importing\\Abstract_Aioseo_Importing_Action' => __DIR__ . '/../..' . '/src/actions/importing/abstract-aioseo-importing-action.php', 'Yoast\\WP\\SEO\\Actions\\Importing\\Aioseo\\Abstract_Aioseo_Settings_Importing_Action' => __DIR__ . '/../..' . '/src/actions/importing/aioseo/abstract-aioseo-settings-importing-action.php', @@ -587,12 +592,10 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Yoast\\WP\\SEO\\Conditionals\\Development_Conditional' => __DIR__ . '/../..' . '/src/conditionals/development-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Feature_Flag_Conditional' => __DIR__ . '/../..' . '/src/conditionals/feature-flag-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Conditional' => __DIR__ . '/../..' . '/src/conditionals/front-end-conditional.php', - 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional' => __DIR__ . '/../..' . '/src/deprecated/src/conditionals/front-end-inspector-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Get_Request_Conditional' => __DIR__ . '/../..' . '/src/conditionals/get-request-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Headless_Rest_Endpoints_Enabled_Conditional' => __DIR__ . '/../..' . '/src/conditionals/headless-rest-endpoints-enabled-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Import_Tool_Selected_Conditional' => __DIR__ . '/../..' . '/src/conditionals/import-tool-selected-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Indexables_Page_Conditional' => __DIR__ . '/../..' . '/src/deprecated/src/conditionals/indexables-page-conditional.php', - 'Yoast\\WP\\SEO\\Conditionals\\Japanese_Support_Conditional' => __DIR__ . '/../..' . '/src/deprecated/src/conditionals/japanese-support-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Jetpack_Conditional' => __DIR__ . '/../..' . '/src/conditionals/jetpack-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\Migrations_Conditional' => __DIR__ . '/../..' . '/src/conditionals/migrations-conditional.php', 'Yoast\\WP\\SEO\\Conditionals\\New_Settings_Ui_Conditional' => __DIR__ . '/../..' . '/src/conditionals/new-settings-ui-conditional.php', @@ -819,7 +822,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirect_Integration' => __DIR__ . '/../..' . '/src/integrations/admin/redirect-integration.php', 'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirect_Old_Features_Tab_Integration' => __DIR__ . '/../..' . '/src/deprecated/src/integrations/admin/redirect-old-features-tab-integration.php', 'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirects_Page_Integration' => __DIR__ . '/../..' . '/src/integrations/admin/redirects-page-integration.php', - 'Yoast\\WP\\SEO\\Integrations\\Admin\\Ryte_Integration' => __DIR__ . '/../..' . '/src/deprecated/src/integrations/admin/ryte-integration.php', 'Yoast\\WP\\SEO\\Integrations\\Admin\\Social_Templates_Integration' => __DIR__ . '/../..' . '/src/deprecated/src/integrations/admin/social-templates-integration.php', 'Yoast\\WP\\SEO\\Integrations\\Admin\\Unsupported_PHP_Version' => __DIR__ . '/../..' . '/src/deprecated/src/integrations/admin/unsupported-php-version.php', 'Yoast\\WP\\SEO\\Integrations\\Admin\\Workouts_Integration' => __DIR__ . '/../..' . '/src/integrations/admin/workouts-integration.php', @@ -947,7 +949,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Yoast\\WP\\SEO\\Presenters\\Abstract_Indexable_Tag_Presenter' => __DIR__ . '/../..' . '/src/presenters/abstract-indexable-tag-presenter.php', 'Yoast\\WP\\SEO\\Presenters\\Abstract_Presenter' => __DIR__ . '/../..' . '/src/presenters/abstract-presenter.php', 'Yoast\\WP\\SEO\\Presenters\\Admin\\Alert_Presenter' => __DIR__ . '/../..' . '/src/presenters/admin/alert-presenter.php', - 'Yoast\\WP\\SEO\\Presenters\\Admin\\Auto_Update_Notification_Presenter' => __DIR__ . '/../..' . '/src/deprecated/src/presenters/admin/auto-update-notification-presenter.php', 'Yoast\\WP\\SEO\\Presenters\\Admin\\Badge_Presenter' => __DIR__ . '/../..' . '/src/presenters/admin/badge-presenter.php', 'Yoast\\WP\\SEO\\Presenters\\Admin\\Beta_Badge_Presenter' => __DIR__ . '/../..' . '/src/presenters/admin/beta-badge-presenter.php', 'Yoast\\WP\\SEO\\Presenters\\Admin\\Help_Link_Presenter' => __DIR__ . '/../..' . '/src/presenters/admin/help-link-presenter.php', @@ -1014,7 +1015,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Yoast\\WP\\SEO\\Routes\\Abstract_Action_Route' => __DIR__ . '/../..' . '/src/routes/abstract-action-route.php', 'Yoast\\WP\\SEO\\Routes\\Abstract_Indexation_Route' => __DIR__ . '/../..' . '/src/routes/abstract-indexation-route.php', 'Yoast\\WP\\SEO\\Routes\\Alert_Dismissal_Route' => __DIR__ . '/../..' . '/src/routes/alert-dismissal-route.php', - 'Yoast\\WP\\SEO\\Routes\\Configuration_Workout_Route' => __DIR__ . '/../..' . '/src/deprecated/src/routes/configuration-workout-route.php', 'Yoast\\WP\\SEO\\Routes\\First_Time_Configuration_Route' => __DIR__ . '/../..' . '/src/routes/first-time-configuration-route.php', 'Yoast\\WP\\SEO\\Routes\\Importing_Route' => __DIR__ . '/../..' . '/src/routes/importing-route.php', 'Yoast\\WP\\SEO\\Routes\\Indexables_Head_Route' => __DIR__ . '/../..' . '/src/routes/indexables-head-route.php', @@ -1030,9 +1030,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Yoast\\WP\\SEO\\Routes\\Workouts_Route' => __DIR__ . '/../..' . '/src/routes/workouts-route.php', 'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field' => __DIR__ . '/../..' . '/src/routes/yoast-head-rest-field.php', 'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons' => __DIR__ . '/../..' . '/src/deprecated/src/schema-templates/assets/icons.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/curl-check.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/curl-reports.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/curl-runner.php', 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-check.php', 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-reports.php', 'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-runner.php', @@ -1051,9 +1048,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 'Yoast\\WP\\SEO\\Services\\Health_Check\\Report_Builder_Factory' => __DIR__ . '/../..' . '/src/services/health-check/report-builder-factory.php', 'Yoast\\WP\\SEO\\Services\\Health_Check\\Reports_Trait' => __DIR__ . '/../..' . '/src/services/health-check/reports-trait.php', 'Yoast\\WP\\SEO\\Services\\Health_Check\\Runner_Interface' => __DIR__ . '/../..' . '/src/services/health-check/runner-interface.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Check' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/ryte-check.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Reports' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/ryte-reports.php', - 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Runner' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/ryte-runner.php', 'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Replacevar_Service' => __DIR__ . '/../..' . '/src/services/importing/aioseo/aioseo-replacevar-service.php', 'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Robots_Provider_Service' => __DIR__ . '/../..' . '/src/services/importing/aioseo/aioseo-robots-provider-service.php', 'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Robots_Transformer_Service' => __DIR__ . '/../..' . '/src/services/importing/aioseo/aioseo-robots-transformer-service.php', @@ -1103,9 +1097,9 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit0ed40f9efb344be2102e6b1e982df89f::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit0ed40f9efb344be2102e6b1e982df89f::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit0ed40f9efb344be2102e6b1e982df89f::$classMap; }, null, ClassLoader::class); } diff --git a/wp-content/plugins/wordpress-seo/vendor/composer/installed.php b/wp-content/plugins/wordpress-seo/vendor/composer/installed.php index 380d53314..3f72b2c73 100755 --- a/wp-content/plugins/wordpress-seo/vendor/composer/installed.php +++ b/wp-content/plugins/wordpress-seo/vendor/composer/installed.php @@ -5,39 +5,27 @@ 'type' => 'wordpress-plugin', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => '65fd3da349478ca55b8242c9d2d1ce1126010e3e', + 'reference' => '76f67d7a6501437c5749d89b06b7b3b807a87096', 'name' => 'yoast/wordpress-seo', 'dev' => false, ), 'versions' => array( 'composer/installers' => array( - 'pretty_version' => 'v1.12.0', - 'version' => '1.12.0.0', + 'pretty_version' => 'v2.2.0', + 'version' => '2.2.0.0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/./installers', 'aliases' => array(), - 'reference' => 'd20a64ed3c94748397ff5973488761b22f6d3f19', + 'reference' => 'c29dc4b93137acb82734f672c37e029dfbd95b35', 'dev_requirement' => false, ), - 'roundcube/plugin-installer' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '*', - ), - ), - 'shama/baton' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '*', - ), - ), 'yoast/wordpress-seo' => array( 'pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'wordpress-plugin', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => '65fd3da349478ca55b8242c9d2d1ce1126010e3e', + 'reference' => '76f67d7a6501437c5749d89b06b7b3b807a87096', 'dev_requirement' => false, ), ), diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php new file mode 100755 index 000000000..01cf94a66 --- /dev/null +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php @@ -0,0 +1,23 @@ +truncateAt = $truncateAt; + } + /** + * Returns a summarized message body. + */ + public function summarize(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message) : ?string + { + return $this->truncateAt === null ? \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::bodySummary($message) : \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt); + } +} diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php new file mode 100755 index 000000000..28ff13e30 --- /dev/null +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php @@ -0,0 +1,12 @@ +configureDefaults($config); } @@ -75,15 +68,17 @@ public function __construct(array $config = []) * @param string $method * @param array $args * - * @return Promise\PromiseInterface + * @return PromiseInterface|ResponseInterface + * + * @deprecated Client::__call will be removed in guzzlehttp/guzzle:8.0. */ public function __call($method, $args) { if (\count($args) < 1) { - throw new \InvalidArgumentException('Magic request methods require a URI and optional options array'); + throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('Magic request methods require a URI and optional options array'); } $uri = $args[0]; - $opts = isset($args[1]) ? $args[1] : []; + $opts = $args[1] ?? []; return \substr($method, -5) === 'Async' ? $this->requestAsync(\substr($method, 0, -5), $uri, $opts) : $this->request($method, $uri, $opts); } /** @@ -91,10 +86,8 @@ public function __call($method, $args) * * @param array $options Request options to apply to the given * request and to the transfer. See \GuzzleHttp\RequestOptions. - * - * @return Promise\PromiseInterface */ - public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) + public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { // Merge the base URI into the request URI if needed. $options = $this->prepareDefaults($options); @@ -106,14 +99,25 @@ public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $re * @param array $options Request options to apply to the given * request and to the transfer. See \GuzzleHttp\RequestOptions. * - * @return ResponseInterface * @throws GuzzleException */ - public function send(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) + public function send(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface { $options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::SYNCHRONOUS] = \true; return $this->sendAsync($request, $options)->wait(); } + /** + * The HttpClient PSR (PSR-18) specify this method. + * + * {@inheritDoc} + */ + public function sendRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface + { + $options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::SYNCHRONOUS] = \true; + $options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::ALLOW_REDIRECTS] = \false; + $options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::HTTP_ERRORS] = \false; + return $this->sendAsync($request, $options)->wait(); + } /** * Create and send an asynchronous HTTP request. * @@ -125,20 +129,18 @@ public function send(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request * @param string $method HTTP method * @param string|UriInterface $uri URI object or string. * @param array $options Request options to apply. See \GuzzleHttp\RequestOptions. - * - * @return Promise\PromiseInterface */ - public function requestAsync($method, $uri = '', array $options = []) + public function requestAsync(string $method, $uri = '', array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { $options = $this->prepareDefaults($options); // Remove request modifying parameter because it can be done up-front. - $headers = isset($options['headers']) ? $options['headers'] : []; - $body = isset($options['body']) ? $options['body'] : null; - $version = isset($options['version']) ? $options['version'] : '1.1'; + $headers = $options['headers'] ?? []; + $body = $options['body'] ?? null; + $version = $options['version'] ?? '1.1'; // Merge the URI into the base URI. - $uri = $this->buildUri($uri, $options); + $uri = $this->buildUri(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::uriFor($uri), $options); if (\is_array($body)) { - $this->invalidBody(); + throw $this->invalidBody(); } $request = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Request($method, $uri, $headers, $body, $version); // Remove the option so that they are not doubly-applied. @@ -156,10 +158,9 @@ public function requestAsync($method, $uri = '', array $options = []) * @param string|UriInterface $uri URI object or string. * @param array $options Request options to apply. See \GuzzleHttp\RequestOptions. * - * @return ResponseInterface * @throws GuzzleException */ - public function request($method, $uri = '', array $options = []) + public function request(string $method, $uri = '', array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface { $options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::SYNCHRONOUS] = \true; return $this->requestAsync($method, $uri, $options)->wait(); @@ -174,22 +175,17 @@ public function request($method, $uri = '', array $options = []) * @param string|null $option The config option to retrieve. * * @return mixed + * + * @deprecated Client::getConfig will be removed in guzzlehttp/guzzle:8.0. */ - public function getConfig($option = null) + public function getConfig(string $option = null) { - return $option === null ? $this->config : (isset($this->config[$option]) ? $this->config[$option] : null); + return $option === null ? $this->config : $this->config[$option] ?? null; } - /** - * @param string|null $uri - * - * @return UriInterface - */ - private function buildUri($uri, array $config) + private function buildUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, array $config) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { - // for BC we accept null which would otherwise fail in uri_for - $uri = \YoastSEO_Vendor\GuzzleHttp\Psr7\uri_for($uri === null ? '' : $uri); if (isset($config['base_uri'])) { - $uri = \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::resolve(\YoastSEO_Vendor\GuzzleHttp\Psr7\uri_for($config['base_uri']), $uri); + $uri = \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::resolve(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::uriFor($config['base_uri']), $uri); } if (isset($config['idn_conversion']) && $config['idn_conversion'] !== \false) { $idnOptions = $config['idn_conversion'] === \true ? \IDNA_DEFAULT : $config['idn_conversion']; @@ -199,24 +195,21 @@ private function buildUri($uri, array $config) } /** * Configures the default options for a client. - * - * @param array $config - * @return void */ - private function configureDefaults(array $config) + private function configureDefaults(array $config) : void { $defaults = ['allow_redirects' => \YoastSEO_Vendor\GuzzleHttp\RedirectMiddleware::$defaultSettings, 'http_errors' => \true, 'decode_content' => \true, 'verify' => \true, 'cookies' => \false, 'idn_conversion' => \false]; // Use the standard Linux HTTP_PROXY and HTTPS_PROXY if set. // We can only trust the HTTP_PROXY environment variable in a CLI // process due to the fact that PHP has no reliable mechanism to // get environment variables that start with "HTTP_". - if (\php_sapi_name() === 'cli' && \getenv('HTTP_PROXY')) { - $defaults['proxy']['http'] = \getenv('HTTP_PROXY'); + if (\PHP_SAPI === 'cli' && ($proxy = \YoastSEO_Vendor\GuzzleHttp\Utils::getenv('HTTP_PROXY'))) { + $defaults['proxy']['http'] = $proxy; } - if ($proxy = \getenv('HTTPS_PROXY')) { + if ($proxy = \YoastSEO_Vendor\GuzzleHttp\Utils::getenv('HTTPS_PROXY')) { $defaults['proxy']['https'] = $proxy; } - if ($noProxy = \getenv('NO_PROXY')) { + if ($noProxy = \YoastSEO_Vendor\GuzzleHttp\Utils::getenv('NO_PROXY')) { $cleanedNoProxy = \str_replace(' ', '', $noProxy); $defaults['proxy']['no'] = \explode(',', $cleanedNoProxy); } @@ -226,7 +219,7 @@ private function configureDefaults(array $config) } // Add the default user-agent header. if (!isset($this->config['headers'])) { - $this->config['headers'] = ['User-Agent' => default_user_agent()]; + $this->config['headers'] = ['User-Agent' => \YoastSEO_Vendor\GuzzleHttp\Utils::defaultUserAgent()]; } else { // Add the User-Agent header if one was not already set. foreach (\array_keys($this->config['headers']) as $name) { @@ -234,17 +227,15 @@ private function configureDefaults(array $config) return; } } - $this->config['headers']['User-Agent'] = default_user_agent(); + $this->config['headers']['User-Agent'] = \YoastSEO_Vendor\GuzzleHttp\Utils::defaultUserAgent(); } } /** * Merges default options into the array. * * @param array $options Options to modify by reference - * - * @return array */ - private function prepareDefaults(array $options) + private function prepareDefaults(array $options) : array { $defaults = $this->config; if (!empty($defaults['headers'])) { @@ -260,7 +251,7 @@ private function prepareDefaults(array $options) $defaults['_conditional'] = []; unset($options['headers']); } elseif (!\is_array($options['headers'])) { - throw new \InvalidArgumentException('headers must be an array'); + throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('headers must be an array'); } } // Shallow merge defaults underneath options. @@ -280,53 +271,39 @@ private function prepareDefaults(array $options) * as-is without merging in default options. * * @param array $options See \GuzzleHttp\RequestOptions. - * - * @return Promise\PromiseInterface */ - private function transfer(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) + private function transfer(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { - // save_to -> sink - if (isset($options['save_to'])) { - $options['sink'] = $options['save_to']; - unset($options['save_to']); - } - // exceptions -> http_errors - if (isset($options['exceptions'])) { - $options['http_errors'] = $options['exceptions']; - unset($options['exceptions']); - } $request = $this->applyOptions($request, $options); /** @var HandlerStack $handler */ $handler = $options['handler']; try { - return \YoastSEO_Vendor\GuzzleHttp\Promise\promise_for($handler($request, $options)); + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::promiseFor($handler($request, $options)); } catch (\Exception $e) { - return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($e); + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($e); } } /** * Applies the array of request options to a request. - * - * @param RequestInterface $request - * @param array $options - * - * @return RequestInterface */ - private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options) + private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { $modify = ['set_headers' => []]; if (isset($options['headers'])) { + if (\array_keys($options['headers']) === \range(0, \count($options['headers']) - 1)) { + throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('The headers array must have header name as keys.'); + } $modify['set_headers'] = $options['headers']; unset($options['headers']); } if (isset($options['form_params'])) { if (isset($options['multipart'])) { - throw new \InvalidArgumentException('You cannot use ' . 'form_params and multipart at the same time. Use the ' . 'form_params option if you want to send application/' . 'x-www-form-urlencoded requests, and the multipart ' . 'option to send multipart/form-data requests.'); + throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('You cannot use ' . 'form_params and multipart at the same time. Use the ' . 'form_params option if you want to send application/' . 'x-www-form-urlencoded requests, and the multipart ' . 'option to send multipart/form-data requests.'); } $options['body'] = \http_build_query($options['form_params'], '', '&'); unset($options['form_params']); // Ensure that we don't have the header in different case and set the new value. - $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\_caseless_remove(['Content-Type'], $options['_conditional']); + $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']); $options['_conditional']['Content-Type'] = 'application/x-www-form-urlencoded'; } if (isset($options['multipart'])) { @@ -334,22 +311,22 @@ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface unset($options['multipart']); } if (isset($options['json'])) { - $options['body'] = \YoastSEO_Vendor\GuzzleHttp\json_encode($options['json']); + $options['body'] = \YoastSEO_Vendor\GuzzleHttp\Utils::jsonEncode($options['json']); unset($options['json']); // Ensure that we don't have the header in different case and set the new value. - $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\_caseless_remove(['Content-Type'], $options['_conditional']); + $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']); $options['_conditional']['Content-Type'] = 'application/json'; } if (!empty($options['decode_content']) && $options['decode_content'] !== \true) { // Ensure that we don't have the header in different case and set the new value. - $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\_caseless_remove(['Accept-Encoding'], $options['_conditional']); + $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove(['Accept-Encoding'], $options['_conditional']); $modify['set_headers']['Accept-Encoding'] = $options['decode_content']; } if (isset($options['body'])) { if (\is_array($options['body'])) { - $this->invalidBody(); + throw $this->invalidBody(); } - $modify['body'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($options['body']); + $modify['body'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($options['body']); unset($options['body']); } if (!empty($options['auth']) && \is_array($options['auth'])) { @@ -358,7 +335,7 @@ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface switch ($type) { case 'basic': // Ensure that we don't have the header in different case and set the new value. - $modify['set_headers'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\_caseless_remove(['Authorization'], $modify['set_headers']); + $modify['set_headers'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove(['Authorization'], $modify['set_headers']); $modify['set_headers']['Authorization'] = 'Basic ' . \base64_encode("{$value[0]}:{$value[1]}"); break; case 'digest': @@ -375,10 +352,10 @@ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface if (isset($options['query'])) { $value = $options['query']; if (\is_array($value)) { - $value = \http_build_query($value, null, '&', \PHP_QUERY_RFC3986); + $value = \http_build_query($value, '', '&', \PHP_QUERY_RFC3986); } if (!\is_string($value)) { - throw new \InvalidArgumentException('query must be a string or array'); + throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('query must be a string or array'); } $modify['query'] = $value; unset($options['query']); @@ -387,14 +364,17 @@ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface if (isset($options['sink'])) { // TODO: Add more sink validation? if (\is_bool($options['sink'])) { - throw new \InvalidArgumentException('sink must not be a boolean'); + throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('sink must not be a boolean'); } } - $request = \YoastSEO_Vendor\GuzzleHttp\Psr7\modify_request($request, $modify); + if (isset($options['version'])) { + $modify['version'] = $options['version']; + } + $request = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::modifyRequest($request, $modify); if ($request->getBody() instanceof \YoastSEO_Vendor\GuzzleHttp\Psr7\MultipartStream) { // Use a multipart/form-data POST if a Content-Type is not set. // Ensure that we don't have the header in different case and set the new value. - $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\_caseless_remove(['Content-Type'], $options['_conditional']); + $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']); $options['_conditional']['Content-Type'] = 'multipart/form-data; boundary=' . $request->getBody()->getBoundary(); } // Merge in conditional headers if they are not present. @@ -406,19 +386,17 @@ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $modify['set_headers'][$k] = $v; } } - $request = \YoastSEO_Vendor\GuzzleHttp\Psr7\modify_request($request, $modify); + $request = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::modifyRequest($request, $modify); // Don't pass this internal value along to middleware/handlers. unset($options['_conditional']); } return $request; } /** - * Throw Exception with pre-set message. - * @return void - * @throws \InvalidArgumentException Invalid body. + * Return an InvalidArgumentException with pre-set message. */ - private function invalidBody() + private function invalidBody() : \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException { - throw new \InvalidArgumentException('Passing in the "body" request ' . 'option as an array to send a POST request has been deprecated. ' . 'Please use the "form_params" request option to send a ' . 'application/x-www-form-urlencoded request, or the "multipart" ' . 'request option to send a multipart/form-data request.'); + return new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('Passing in the "body" request ' . 'option as an array to send a request is not supported. ' . 'Please use the "form_params" request option to send a ' . 'application/x-www-form-urlencoded request, or the "multipart" ' . 'request option to send a multipart/form-data request.'); } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php index 0d3775601..e8b5ce079 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php @@ -13,9 +13,9 @@ interface ClientInterface { /** - * @deprecated Will be removed in Guzzle 7.0.0 + * The Guzzle major version. */ - const VERSION = '6.5.5'; + public const MAJOR_VERSION = 7; /** * Send an HTTP request. * @@ -23,20 +23,17 @@ interface ClientInterface * @param array $options Request options to apply to the given * request and to the transfer. * - * @return ResponseInterface * @throws GuzzleException */ - public function send(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []); + public function send(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface; /** * Asynchronously send an HTTP request. * * @param RequestInterface $request Request to send * @param array $options Request options to apply to the given * request and to the transfer. - * - * @return PromiseInterface */ - public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []); + public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; /** * Create and send an HTTP request. * @@ -48,10 +45,9 @@ public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $re * @param string|UriInterface $uri URI object or string. * @param array $options Request options to apply. * - * @return ResponseInterface * @throws GuzzleException */ - public function request($method, $uri, array $options = []); + public function request(string $method, $uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface; /** * Create and send an asynchronous HTTP request. * @@ -63,10 +59,8 @@ public function request($method, $uri, array $options = []); * @param string $method HTTP method * @param string|UriInterface $uri URI object or string. * @param array $options Request options to apply. - * - * @return PromiseInterface */ - public function requestAsync($method, $uri, array $options = []); + public function requestAsync(string $method, $uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; /** * Get a client configuration option. * @@ -77,6 +71,8 @@ public function requestAsync($method, $uri, array $options = []); * @param string|null $option The config option to retrieve. * * @return mixed + * + * @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0. */ - public function getConfig($option = null); + public function getConfig(string $option = null); } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php new file mode 100755 index 000000000..f1095057e --- /dev/null +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php @@ -0,0 +1,227 @@ +request('GET', $uri, $options); + } + /** + * Create and send an HTTP HEAD request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + * + * @throws GuzzleException + */ + public function head($uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface + { + return $this->request('HEAD', $uri, $options); + } + /** + * Create and send an HTTP PUT request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + * + * @throws GuzzleException + */ + public function put($uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface + { + return $this->request('PUT', $uri, $options); + } + /** + * Create and send an HTTP POST request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + * + * @throws GuzzleException + */ + public function post($uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface + { + return $this->request('POST', $uri, $options); + } + /** + * Create and send an HTTP PATCH request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + * + * @throws GuzzleException + */ + public function patch($uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface + { + return $this->request('PATCH', $uri, $options); + } + /** + * Create and send an HTTP DELETE request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + * + * @throws GuzzleException + */ + public function delete($uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface + { + return $this->request('DELETE', $uri, $options); + } + /** + * Create and send an asynchronous HTTP request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. Use an array to provide a URL + * template and additional variables to use in the URL template expansion. + * + * @param string $method HTTP method + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + */ + public abstract function requestAsync(string $method, $uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; + /** + * Create and send an asynchronous HTTP GET request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. Use an array to provide a URL + * template and additional variables to use in the URL template expansion. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + */ + public function getAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface + { + return $this->requestAsync('GET', $uri, $options); + } + /** + * Create and send an asynchronous HTTP HEAD request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. Use an array to provide a URL + * template and additional variables to use in the URL template expansion. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + */ + public function headAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface + { + return $this->requestAsync('HEAD', $uri, $options); + } + /** + * Create and send an asynchronous HTTP PUT request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. Use an array to provide a URL + * template and additional variables to use in the URL template expansion. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + */ + public function putAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface + { + return $this->requestAsync('PUT', $uri, $options); + } + /** + * Create and send an asynchronous HTTP POST request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. Use an array to provide a URL + * template and additional variables to use in the URL template expansion. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + */ + public function postAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface + { + return $this->requestAsync('POST', $uri, $options); + } + /** + * Create and send an asynchronous HTTP PATCH request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. Use an array to provide a URL + * template and additional variables to use in the URL template expansion. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + */ + public function patchAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface + { + return $this->requestAsync('PATCH', $uri, $options); + } + /** + * Create and send an asynchronous HTTP DELETE request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. Use an array to provide a URL + * template and additional variables to use in the URL template expansion. + * + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + */ + public function deleteAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface + { + return $this->requestAsync('DELETE', $uri, $options); + } +} diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php index 256dfb02a..c8a1ce9b7 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php @@ -9,18 +9,22 @@ */ class CookieJar implements \YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJarInterface { - /** @var SetCookie[] Loaded cookie data */ + /** + * @var SetCookie[] Loaded cookie data + */ private $cookies = []; - /** @var bool */ + /** + * @var bool + */ private $strictMode; /** - * @param bool $strictMode Set to true to throw exceptions when invalid + * @param bool $strictMode Set to true to throw exceptions when invalid * cookies are added to the cookie jar. * @param array $cookieArray Array of SetCookie objects or a hash of * arrays that can be used with the SetCookie * constructor */ - public function __construct($strictMode = \false, $cookieArray = []) + public function __construct(bool $strictMode = \false, array $cookieArray = []) { $this->strictMode = $strictMode; foreach ($cookieArray as $cookie) { @@ -35,10 +39,8 @@ public function __construct($strictMode = \false, $cookieArray = []) * * @param array $cookies Cookies to create the jar from * @param string $domain Domain to set the cookies to - * - * @return self */ - public static function fromArray(array $cookies, $domain) + public static function fromArray(array $cookies, string $domain) : self { $cookieJar = new self(); foreach ($cookies as $name => $value) { @@ -46,22 +48,14 @@ public static function fromArray(array $cookies, $domain) } return $cookieJar; } - /** - * @deprecated - */ - public static function getCookieValue($value) - { - return $value; - } /** * Evaluate if this cookie should be persisted to storage * that survives between requests. * - * @param SetCookie $cookie Being evaluated. - * @param bool $allowSessionCookies If we should persist session cookies - * @return bool + * @param SetCookie $cookie Being evaluated. + * @param bool $allowSessionCookies If we should persist session cookies */ - public static function shouldPersist(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie, $allowSessionCookies = \false) + public static function shouldPersist(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie, bool $allowSessionCookies = \false) : bool { if ($cookie->getExpires() || $allowSessionCookies) { if (!$cookie->getDiscard()) { @@ -74,14 +68,11 @@ public static function shouldPersist(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCooki * Finds and returns the cookie based on the name * * @param string $name cookie name to search for + * * @return SetCookie|null cookie that was found or null if not found */ - public function getCookieByName($name) + public function getCookieByName(string $name) : ?\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie { - // don't allow a non string name - if ($name === null || !\is_scalar($name)) { - return null; - } foreach ($this->cookies as $cookie) { if ($cookie->getName() !== null && \strcasecmp($cookie->getName(), $name) === 0) { return $cookie; @@ -89,38 +80,38 @@ public function getCookieByName($name) } return null; } - public function toArray() + public function toArray() : array { - return \array_map(function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) { + return \array_map(static function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) : array { return $cookie->toArray(); }, $this->getIterator()->getArrayCopy()); } - public function clear($domain = null, $path = null, $name = null) + public function clear(string $domain = null, string $path = null, string $name = null) : void { if (!$domain) { $this->cookies = []; return; } elseif (!$path) { - $this->cookies = \array_filter($this->cookies, function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($domain) { + $this->cookies = \array_filter($this->cookies, static function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($domain) : bool { return !$cookie->matchesDomain($domain); }); } elseif (!$name) { - $this->cookies = \array_filter($this->cookies, function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($path, $domain) { + $this->cookies = \array_filter($this->cookies, static function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($path, $domain) : bool { return !($cookie->matchesPath($path) && $cookie->matchesDomain($domain)); }); } else { - $this->cookies = \array_filter($this->cookies, function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($path, $domain, $name) { + $this->cookies = \array_filter($this->cookies, static function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($path, $domain, $name) { return !($cookie->getName() == $name && $cookie->matchesPath($path) && $cookie->matchesDomain($domain)); }); } } - public function clearSessionCookies() + public function clearSessionCookies() : void { - $this->cookies = \array_filter($this->cookies, function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) { + $this->cookies = \array_filter($this->cookies, static function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) : bool { return !$cookie->getDiscard() && $cookie->getExpires(); }); } - public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) + public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) : bool { // If the name string is empty (but not 0), ignore the set-cookie // string entirely. @@ -133,10 +124,9 @@ public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) if ($result !== \true) { if ($this->strictMode) { throw new \RuntimeException('Invalid cookie: ' . $result); - } else { - $this->removeCookieIfEmpty($cookie); - return \false; } + $this->removeCookieIfEmpty($cookie); + return \false; } // Resolve conflicts with previously set cookies foreach ($this->cookies as $i => $c) { @@ -168,15 +158,18 @@ public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) $this->cookies[] = $cookie; return \true; } - public function count() + public function count() : int { return \count($this->cookies); } - public function getIterator() + /** + * @return \ArrayIterator + */ + public function getIterator() : \ArrayIterator { return new \ArrayIterator(\array_values($this->cookies)); } - public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) + public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) : void { if ($cookieHeader = $response->getHeader('Set-Cookie')) { foreach ($cookieHeader as $cookie) { @@ -199,12 +192,9 @@ public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterfac /** * Computes cookie path following RFC 6265 section 5.1.4 * - * @link https://tools.ietf.org/html/rfc6265#section-5.1.4 - * - * @param RequestInterface $request - * @return string + * @see https://tools.ietf.org/html/rfc6265#section-5.1.4 */ - private function getCookiePathFromRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) + private function getCookiePathFromRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) : string { $uriPath = $request->getUri()->getPath(); if ('' === $uriPath) { @@ -216,12 +206,13 @@ private function getCookiePathFromRequest(\YoastSEO_Vendor\Psr\Http\Message\Requ if ('/' === $uriPath) { return '/'; } - if (0 === ($lastSlashPos = \strrpos($uriPath, '/'))) { + $lastSlashPos = \strrpos($uriPath, '/'); + if (0 === $lastSlashPos || \false === $lastSlashPos) { return '/'; } return \substr($uriPath, 0, $lastSlashPos); } - public function withCookieHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) + public function withCookieHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { $values = []; $uri = $request->getUri(); @@ -238,10 +229,8 @@ public function withCookieHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterf /** * If a cookie already exists and the server asks to set it again with a * null value, the cookie must be deleted. - * - * @param SetCookie $cookie */ - private function removeCookieIfEmpty(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) + private function removeCookieIfEmpty(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) : void { $cookieValue = $cookie->getValue(); if ($cookieValue === null || $cookieValue === '') { diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php index b65be2ad2..dafc1f5e0 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php @@ -12,7 +12,9 @@ * necessary. Subclasses are also responsible for storing and retrieving * cookies from a file, database, etc. * - * @link http://docs.python.org/2/library/cookielib.html Inspiration + * @see https://docs.python.org/2/library/cookielib.html Inspiration + * + * @extends \IteratorAggregate */ interface CookieJarInterface extends \Countable, \IteratorAggregate { @@ -26,14 +28,14 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate * * @return RequestInterface returns the modified request. */ - public function withCookieHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request); + public function withCookieHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface; /** * Extract cookies from an HTTP response and store them in the CookieJar. * * @param RequestInterface $request Request that was sent * @param ResponseInterface $response Response that was received */ - public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response); + public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) : void; /** * Sets a cookie in the cookie jar. * @@ -41,7 +43,7 @@ public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterfac * * @return bool Returns true on success or false on failure */ - public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie); + public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) : bool; /** * Remove cookies currently held in the cookie jar. * @@ -55,10 +57,8 @@ public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie); * @param string|null $domain Clears cookies matching a domain * @param string|null $path Clears cookies matching a domain and path * @param string|null $name Clears cookies matching a domain, path, and name - * - * @return CookieJarInterface */ - public function clear($domain = null, $path = null, $name = null); + public function clear(string $domain = null, string $path = null, string $name = null) : void; /** * Discard all sessions cookies. * @@ -66,11 +66,9 @@ public function clear($domain = null, $path = null, $name = null); * field set to true. To be called when the user agent shuts down according * to RFC 2965. */ - public function clearSessionCookies(); + public function clearSessionCookies() : void; /** * Converts the cookie jar to an array. - * - * @return array */ - public function toArray(); + public function toArray() : array; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php index fd54d7945..059e52ef4 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php @@ -2,25 +2,30 @@ namespace YoastSEO_Vendor\GuzzleHttp\Cookie; +use YoastSEO_Vendor\GuzzleHttp\Utils; /** * Persists non-session cookies using a JSON formatted file */ class FileCookieJar extends \YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJar { - /** @var string filename */ + /** + * @var string filename + */ private $filename; - /** @var bool Control whether to persist session cookies or not. */ + /** + * @var bool Control whether to persist session cookies or not. + */ private $storeSessionCookies; /** * Create a new FileCookieJar object * - * @param string $cookieFile File to store the cookie data - * @param bool $storeSessionCookies Set to true to store session cookies - * in the cookie jar. + * @param string $cookieFile File to store the cookie data + * @param bool $storeSessionCookies Set to true to store session cookies + * in the cookie jar. * * @throws \RuntimeException if the file cannot be found or created */ - public function __construct($cookieFile, $storeSessionCookies = \false) + public function __construct(string $cookieFile, bool $storeSessionCookies = \false) { parent::__construct(); $this->filename = $cookieFile; @@ -40,18 +45,19 @@ public function __destruct() * Saves the cookies to a file. * * @param string $filename File to save + * * @throws \RuntimeException if the file cannot be found or created */ - public function save($filename) + public function save(string $filename) : void { $json = []; + /** @var SetCookie $cookie */ foreach ($this as $cookie) { - /** @var SetCookie $cookie */ if (\YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) { $json[] = $cookie->toArray(); } } - $jsonStr = \YoastSEO_Vendor\GuzzleHttp\json_encode($json); + $jsonStr = \YoastSEO_Vendor\GuzzleHttp\Utils::jsonEncode($json); if (\false === \file_put_contents($filename, $jsonStr, \LOCK_EX)) { throw new \RuntimeException("Unable to save file {$filename}"); } @@ -62,22 +68,24 @@ public function save($filename) * Old cookies are kept unless overwritten by newly loaded ones. * * @param string $filename Cookie file to load. + * * @throws \RuntimeException if the file cannot be loaded. */ - public function load($filename) + public function load(string $filename) : void { $json = \file_get_contents($filename); if (\false === $json) { throw new \RuntimeException("Unable to load file {$filename}"); - } elseif ($json === '') { + } + if ($json === '') { return; } - $data = \YoastSEO_Vendor\GuzzleHttp\json_decode($json, \true); + $data = \YoastSEO_Vendor\GuzzleHttp\Utils::jsonDecode($json, \true); if (\is_array($data)) { - foreach (\json_decode($json, \true) as $cookie) { + foreach ($data as $cookie) { $this->setCookie(new \YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie($cookie)); } - } elseif (\strlen($data)) { + } elseif (\is_scalar($data) && !empty($data)) { throw new \RuntimeException("Invalid cookie file: {$filename}"); } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php index d13d73a71..b5125529f 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php @@ -7,19 +7,23 @@ */ class SessionCookieJar extends \YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJar { - /** @var string session key */ + /** + * @var string session key + */ private $sessionKey; - /** @var bool Control whether to persist session cookies or not. */ + /** + * @var bool Control whether to persist session cookies or not. + */ private $storeSessionCookies; /** * Create a new SessionCookieJar object * - * @param string $sessionKey Session key name to store the cookie - * data in session - * @param bool $storeSessionCookies Set to true to store session cookies - * in the cookie jar. + * @param string $sessionKey Session key name to store the cookie + * data in session + * @param bool $storeSessionCookies Set to true to store session cookies + * in the cookie jar. */ - public function __construct($sessionKey, $storeSessionCookies = \false) + public function __construct(string $sessionKey, bool $storeSessionCookies = \false) { parent::__construct(); $this->sessionKey = $sessionKey; @@ -36,11 +40,11 @@ public function __destruct() /** * Save cookies to the client session */ - public function save() + public function save() : void { $json = []; + /** @var SetCookie $cookie */ foreach ($this as $cookie) { - /** @var SetCookie $cookie */ if (\YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) { $json[] = $cookie->toArray(); } @@ -50,7 +54,7 @@ public function save() /** * Load the contents of the client session into the data array */ - protected function load() + protected function load() : void { if (!isset($_SESSION[$this->sessionKey])) { return; @@ -61,7 +65,7 @@ protected function load() $this->setCookie(new \YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie($cookie)); } } elseif (\strlen($data)) { - throw new \RuntimeException("Invalid cookie data"); + throw new \RuntimeException('Invalid cookie data'); } } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SetCookie.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SetCookie.php index 71e1349f6..8233f7c23 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SetCookie.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SetCookie.php @@ -7,25 +7,27 @@ */ class SetCookie { - /** @var array */ + /** + * @var array + */ private static $defaults = ['Name' => null, 'Value' => null, 'Domain' => null, 'Path' => '/', 'Max-Age' => null, 'Expires' => null, 'Secure' => \false, 'Discard' => \false, 'HttpOnly' => \false]; - /** @var array Cookie data */ + /** + * @var array Cookie data + */ private $data; /** - * Create a new SetCookie object from a string + * Create a new SetCookie object from a string. * * @param string $cookie Set-Cookie header string - * - * @return self */ - public static function fromString($cookie) + public static function fromString(string $cookie) : self { // Create the default return array $data = self::$defaults; // Explode the cookie string using a series of semicolons $pieces = \array_filter(\array_map('trim', \explode(';', $cookie))); // The name of the cookie (first kvp) must exist and include an equal sign. - if (empty($pieces[0]) || !\strpos($pieces[0], '=')) { + if (!isset($pieces[0]) || \strpos($pieces[0], '=') === \false) { return new self($data); } // Add the cookie pieces into the parsed data array @@ -34,13 +36,19 @@ public static function fromString($cookie) $key = \trim($cookieParts[0]); $value = isset($cookieParts[1]) ? \trim($cookieParts[1], " \n\r\t\x00\v") : \true; // Only check for non-cookies when cookies have been found - if (empty($data['Name'])) { + if (!isset($data['Name'])) { $data['Name'] = $key; $data['Value'] = $value; } else { foreach (\array_keys(self::$defaults) as $search) { if (!\strcasecmp($search, $key)) { - $data[$search] = $value; + if ($search === 'Max-Age') { + if (\is_numeric($value)) { + $data[$search] = (int) $value; + } + } else { + $data[$search] = $value; + } continue 2; } } @@ -54,18 +62,49 @@ public static function fromString($cookie) */ public function __construct(array $data = []) { - $this->data = \array_replace(self::$defaults, $data); + $this->data = self::$defaults; + if (isset($data['Name'])) { + $this->setName($data['Name']); + } + if (isset($data['Value'])) { + $this->setValue($data['Value']); + } + if (isset($data['Domain'])) { + $this->setDomain($data['Domain']); + } + if (isset($data['Path'])) { + $this->setPath($data['Path']); + } + if (isset($data['Max-Age'])) { + $this->setMaxAge($data['Max-Age']); + } + if (isset($data['Expires'])) { + $this->setExpires($data['Expires']); + } + if (isset($data['Secure'])) { + $this->setSecure($data['Secure']); + } + if (isset($data['Discard'])) { + $this->setDiscard($data['Discard']); + } + if (isset($data['HttpOnly'])) { + $this->setHttpOnly($data['HttpOnly']); + } + // Set the remaining values that don't have extra validation logic + foreach (\array_diff(\array_keys($data), \array_keys(self::$defaults)) as $key) { + $this->data[$key] = $data[$key]; + } // Extract the Expires value and turn it into a UNIX timestamp if needed if (!$this->getExpires() && $this->getMaxAge()) { // Calculate the Expires date $this->setExpires(\time() + $this->getMaxAge()); - } elseif ($this->getExpires() && !\is_numeric($this->getExpires())) { - $this->setExpires($this->getExpires()); + } elseif (null !== ($expires = $this->getExpires()) && !\is_numeric($expires)) { + $this->setExpires($expires); } } public function __toString() { - $str = $this->data['Name'] . '=' . $this->data['Value'] . '; '; + $str = $this->data['Name'] . '=' . ($this->data['Value'] ?? '') . '; '; foreach ($this->data as $k => $v) { if ($k !== 'Name' && $k !== 'Value' && $v !== null && $v !== \false) { if ($k === 'Expires') { @@ -77,12 +116,12 @@ public function __toString() } return \rtrim($str, '; '); } - public function toArray() + public function toArray() : array { return $this->data; } /** - * Get the cookie name + * Get the cookie name. * * @return string */ @@ -91,34 +130,40 @@ public function getName() return $this->data['Name']; } /** - * Set the cookie name + * Set the cookie name. * * @param string $name Cookie name */ - public function setName($name) + public function setName($name) : void { - $this->data['Name'] = $name; + if (!\is_string($name)) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } + $this->data['Name'] = (string) $name; } /** - * Get the cookie value + * Get the cookie value. * - * @return string + * @return string|null */ public function getValue() { return $this->data['Value']; } /** - * Set the cookie value + * Set the cookie value. * * @param string $value Cookie value */ - public function setValue($value) + public function setValue($value) : void { - $this->data['Value'] = $value; + if (!\is_string($value)) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } + $this->data['Value'] = (string) $value; } /** - * Get the domain + * Get the domain. * * @return string|null */ @@ -127,16 +172,19 @@ public function getDomain() return $this->data['Domain']; } /** - * Set the domain of the cookie + * Set the domain of the cookie. * - * @param string $domain + * @param string|null $domain */ - public function setDomain($domain) + public function setDomain($domain) : void { - $this->data['Domain'] = $domain; + if (!\is_string($domain) && null !== $domain) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } + $this->data['Domain'] = null === $domain ? null : (string) $domain; } /** - * Get the path + * Get the path. * * @return string */ @@ -145,70 +193,82 @@ public function getPath() return $this->data['Path']; } /** - * Set the path of the cookie + * Set the path of the cookie. * * @param string $path Path of the cookie */ - public function setPath($path) + public function setPath($path) : void { - $this->data['Path'] = $path; + if (!\is_string($path)) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } + $this->data['Path'] = (string) $path; } /** - * Maximum lifetime of the cookie in seconds + * Maximum lifetime of the cookie in seconds. * * @return int|null */ public function getMaxAge() { - return $this->data['Max-Age']; + return null === $this->data['Max-Age'] ? null : (int) $this->data['Max-Age']; } /** - * Set the max-age of the cookie + * Set the max-age of the cookie. * - * @param int $maxAge Max age of the cookie in seconds + * @param int|null $maxAge Max age of the cookie in seconds */ - public function setMaxAge($maxAge) + public function setMaxAge($maxAge) : void { - $this->data['Max-Age'] = $maxAge; + if (!\is_int($maxAge) && null !== $maxAge) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an int or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } + $this->data['Max-Age'] = $maxAge === null ? null : (int) $maxAge; } /** - * The UNIX timestamp when the cookie Expires + * The UNIX timestamp when the cookie Expires. * - * @return mixed + * @return string|int|null */ public function getExpires() { return $this->data['Expires']; } /** - * Set the unix timestamp for which the cookie will expire + * Set the unix timestamp for which the cookie will expire. * - * @param int $timestamp Unix timestamp + * @param int|string|null $timestamp Unix timestamp or any English textual datetime description. */ - public function setExpires($timestamp) + public function setExpires($timestamp) : void { - $this->data['Expires'] = \is_numeric($timestamp) ? (int) $timestamp : \strtotime($timestamp); + if (!\is_int($timestamp) && !\is_string($timestamp) && null !== $timestamp) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an int, string or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } + $this->data['Expires'] = null === $timestamp ? null : (\is_numeric($timestamp) ? (int) $timestamp : \strtotime((string) $timestamp)); } /** - * Get whether or not this is a secure cookie + * Get whether or not this is a secure cookie. * - * @return bool|null + * @return bool */ public function getSecure() { return $this->data['Secure']; } /** - * Set whether or not the cookie is secure + * Set whether or not the cookie is secure. * * @param bool $secure Set to true or false if secure */ - public function setSecure($secure) + public function setSecure($secure) : void { - $this->data['Secure'] = $secure; + if (!\is_bool($secure)) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } + $this->data['Secure'] = (bool) $secure; } /** - * Get whether or not this is a session cookie + * Get whether or not this is a session cookie. * * @return bool|null */ @@ -217,16 +277,19 @@ public function getDiscard() return $this->data['Discard']; } /** - * Set whether or not this is a session cookie + * Set whether or not this is a session cookie. * * @param bool $discard Set to true or false if this is a session cookie */ - public function setDiscard($discard) + public function setDiscard($discard) : void { - $this->data['Discard'] = $discard; + if (!\is_bool($discard)) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } + $this->data['Discard'] = (bool) $discard; } /** - * Get whether or not this is an HTTP only cookie + * Get whether or not this is an HTTP only cookie. * * @return bool */ @@ -235,13 +298,16 @@ public function getHttpOnly() return $this->data['HttpOnly']; } /** - * Set whether or not this is an HTTP only cookie + * Set whether or not this is an HTTP only cookie. * * @param bool $httpOnly Set to true or false if this is HTTP only */ - public function setHttpOnly($httpOnly) + public function setHttpOnly($httpOnly) : void { - $this->data['HttpOnly'] = $httpOnly; + if (!\is_bool($httpOnly)) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } + $this->data['HttpOnly'] = (bool) $httpOnly; } /** * Check if the cookie matches a path value. @@ -257,10 +323,8 @@ public function setHttpOnly($httpOnly) * path is a %x2F ("/") character. * * @param string $requestPath Path to check against - * - * @return bool */ - public function matchesPath($requestPath) + public function matchesPath(string $requestPath) : bool { $cookiePath = $this->getPath(); // Match on exact matches or when path is the default empty "/" @@ -279,20 +343,18 @@ public function matchesPath($requestPath) return \substr($requestPath, \strlen($cookiePath), 1) === '/'; } /** - * Check if the cookie matches a domain value + * Check if the cookie matches a domain value. * * @param string $domain Domain to check against - * - * @return bool */ - public function matchesDomain($domain) + public function matchesDomain(string $domain) : bool { $cookieDomain = $this->getDomain(); if (null === $cookieDomain) { return \true; } // Remove the leading '.' as per spec in RFC 6265. - // http://tools.ietf.org/html/rfc6265#section-5.2.3 + // https://tools.ietf.org/html/rfc6265#section-5.2.3 $cookieDomain = \ltrim(\strtolower($cookieDomain), '.'); $domain = \strtolower($domain); // Domain not set or exact match. @@ -300,47 +362,44 @@ public function matchesDomain($domain) return \true; } // Matching the subdomain according to RFC 6265. - // http://tools.ietf.org/html/rfc6265#section-5.1.3 + // https://tools.ietf.org/html/rfc6265#section-5.1.3 if (\filter_var($domain, \FILTER_VALIDATE_IP)) { return \false; } return (bool) \preg_match('/\\.' . \preg_quote($cookieDomain, '/') . '$/', $domain); } /** - * Check if the cookie is expired - * - * @return bool + * Check if the cookie is expired. */ - public function isExpired() + public function isExpired() : bool { return $this->getExpires() !== null && \time() > $this->getExpires(); } /** - * Check if the cookie is valid according to RFC 6265 + * Check if the cookie is valid according to RFC 6265. * * @return bool|string Returns true if valid or an error message if invalid */ public function validate() { - // Names must not be empty, but can be 0 $name = $this->getName(); - if (empty($name) && !\is_numeric($name)) { + if ($name === '') { return 'The cookie name must not be empty'; } // Check if any of the invalid characters are present in the cookie name if (\preg_match('/[\\x00-\\x20\\x22\\x28-\\x29\\x2c\\x2f\\x3a-\\x40\\x5c\\x7b\\x7d\\x7f]/', $name)) { return 'Cookie name must not contain invalid characters: ASCII ' . 'Control characters (0-31;127), space, tab and the ' . 'following characters: ()<>@,;:\\"/?={}'; } - // Value must not be empty, but can be 0 + // Value must not be null. 0 and empty string are valid. Empty strings + // are technically against RFC 6265, but known to happen in the wild. $value = $this->getValue(); - if (empty($value) && !\is_numeric($value)) { + if ($value === null) { return 'The cookie value must not be empty'; } - // Domains must not be empty, but can be 0 - // A "0" is not a valid internet domain, but may be used as server name - // in a private network. + // Domains must not be empty, but can be 0. "0" is not a valid internet + // domain, but may be used as server name in a private network. $domain = $this->getDomain(); - if (empty($domain) && !\is_numeric($domain)) { + if ($domain === null || $domain === '') { return 'The cookie domain must not be empty'; } return \true; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/BadResponseException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/BadResponseException.php index 0c16e4897..e6c253b36 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/BadResponseException.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/BadResponseException.php @@ -9,11 +9,23 @@ */ class BadResponseException extends \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException { - public function __construct($message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Exception $previous = null, array $handlerContext = []) + public function __construct(string $message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response, \Throwable $previous = null, array $handlerContext = []) { - if (null === $response) { - @\trigger_error('Instantiating the ' . __CLASS__ . ' class without a Response is deprecated since version 6.3 and will be removed in 7.0.', \E_USER_DEPRECATED); - } parent::__construct($message, $request, $response, $previous, $handlerContext); } + /** + * Current exception and the ones that extend it will always have a response. + */ + public function hasResponse() : bool + { + return \true; + } + /** + * This function narrows the return type from the parent class and does not allow it to be nullable. + */ + public function getResponse() : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface + { + /** @var ResponseInterface */ + return parent::getResponse(); + } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ConnectException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ConnectException.php index 7e653f7b0..a11d30b01 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ConnectException.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ConnectException.php @@ -2,30 +2,46 @@ namespace YoastSEO_Vendor\GuzzleHttp\Exception; +use YoastSEO_Vendor\Psr\Http\Client\NetworkExceptionInterface; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; /** * Exception thrown when a connection cannot be established. * * Note that no response is present for a ConnectException */ -class ConnectException extends \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException +class ConnectException extends \YoastSEO_Vendor\GuzzleHttp\Exception\TransferException implements \YoastSEO_Vendor\Psr\Http\Client\NetworkExceptionInterface { - public function __construct($message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \Exception $previous = null, array $handlerContext = []) + /** + * @var RequestInterface + */ + private $request; + /** + * @var array + */ + private $handlerContext; + public function __construct(string $message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \Throwable $previous = null, array $handlerContext = []) { - parent::__construct($message, $request, null, $previous, $handlerContext); + parent::__construct($message, 0, $previous); + $this->request = $request; + $this->handlerContext = $handlerContext; } /** - * @return null + * Get the request that caused the exception */ - public function getResponse() + public function getRequest() : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { - return null; + return $this->request; } /** - * @return bool + * Get contextual information about the error from the underlying handler. + * + * The contents of this array will vary depending on which handler you are + * using. It may also be just an empty array. Relying on this data will + * couple you to a specific handler, but can give more debug information + * when needed. */ - public function hasResponse() + public function getHandlerContext() : array { - return \false; + return $this->handlerContext; } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php index b7c2f6437..b420bad41 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php @@ -2,22 +2,7 @@ namespace YoastSEO_Vendor\GuzzleHttp\Exception; -use Throwable; -if (\interface_exists(\Throwable::class)) { - interface GuzzleException extends \Throwable - { - } -} else { - /** - * @method string getMessage() - * @method \Throwable|null getPrevious() - * @method mixed getCode() - * @method string getFile() - * @method int getLine() - * @method array getTrace() - * @method string getTraceAsString() - */ - interface GuzzleException - { - } +use YoastSEO_Vendor\Psr\Http\Client\ClientExceptionInterface; +interface GuzzleException extends \YoastSEO_Vendor\Psr\Http\Client\ClientExceptionInterface +{ } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php index e0d2eecc7..9dda0dbfc 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php @@ -2,25 +2,33 @@ namespace YoastSEO_Vendor\GuzzleHttp\Exception; -use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; +use YoastSEO_Vendor\GuzzleHttp\BodySummarizer; +use YoastSEO_Vendor\GuzzleHttp\BodySummarizerInterface; +use YoastSEO_Vendor\Psr\Http\Client\RequestExceptionInterface; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface; use YoastSEO_Vendor\Psr\Http\Message\UriInterface; /** * HTTP Request exception */ -class RequestException extends \YoastSEO_Vendor\GuzzleHttp\Exception\TransferException +class RequestException extends \YoastSEO_Vendor\GuzzleHttp\Exception\TransferException implements \YoastSEO_Vendor\Psr\Http\Client\RequestExceptionInterface { - /** @var RequestInterface */ + /** + * @var RequestInterface + */ private $request; - /** @var ResponseInterface|null */ + /** + * @var ResponseInterface|null + */ private $response; - /** @var array */ + /** + * @var array + */ private $handlerContext; - public function __construct($message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Exception $previous = null, array $handlerContext = []) + public function __construct(string $message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Throwable $previous = null, array $handlerContext = []) { // Set the code of the exception if the response is set and not future. - $code = $response && !$response instanceof \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface ? $response->getStatusCode() : 0; + $code = $response ? $response->getStatusCode() : 0; parent::__construct($message, $code, $previous); $this->request = $request; $this->response = $response; @@ -28,30 +36,24 @@ public function __construct($message, \YoastSEO_Vendor\Psr\Http\Message\RequestI } /** * Wrap non-RequestExceptions with a RequestException - * - * @param RequestInterface $request - * @param \Exception $e - * - * @return RequestException */ - public static function wrapException(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \Exception $e) + public static function wrapException(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \Throwable $e) : \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException { return $e instanceof \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException ? $e : new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException($e->getMessage(), $request, null, $e); } /** * Factory method to create a new exception with a normalized error message * - * @param RequestInterface $request Request - * @param ResponseInterface $response Response received - * @param \Exception $previous Previous exception - * @param array $ctx Optional handler context. - * - * @return self + * @param RequestInterface $request Request sent + * @param ResponseInterface $response Response received + * @param \Throwable|null $previous Previous exception + * @param array $handlerContext Optional handler context + * @param BodySummarizerInterface|null $bodySummarizer Optional body summarizer */ - public static function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Exception $previous = null, array $ctx = []) + public static function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Throwable $previous = null, array $handlerContext = [], \YoastSEO_Vendor\GuzzleHttp\BodySummarizerInterface $bodySummarizer = null) : self { if (!$response) { - return new self('Error completing request', $request, null, $previous, $ctx); + return new self('Error completing request', $request, null, $previous, $handlerContext); } $level = (int) \floor($response->getStatusCode() / 100); if ($level === 4) { @@ -68,34 +70,17 @@ public static function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $uri = static::obfuscateUri($uri); // Client Error: `GET /` resulted in a `404 Not Found` response: // ... (truncated) - $message = \sprintf('%s: `%s %s` resulted in a `%s %s` response', $label, $request->getMethod(), $uri, $response->getStatusCode(), $response->getReasonPhrase()); - $summary = static::getResponseBodySummary($response); + $message = \sprintf('%s: `%s %s` resulted in a `%s %s` response', $label, $request->getMethod(), $uri->__toString(), $response->getStatusCode(), $response->getReasonPhrase()); + $summary = ($bodySummarizer ?? new \YoastSEO_Vendor\GuzzleHttp\BodySummarizer())->summarize($response); if ($summary !== null) { $message .= ":\n{$summary}\n"; } - return new $className($message, $request, $response, $previous, $ctx); - } - /** - * Get a short summary of the response - * - * Will return `null` if the response is not printable. - * - * @param ResponseInterface $response - * - * @return string|null - */ - public static function getResponseBodySummary(\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) - { - return \YoastSEO_Vendor\GuzzleHttp\Psr7\get_message_body_summary($response); + return new $className($message, $request, $response, $previous, $handlerContext); } /** * Obfuscates URI if there is a username and a password present - * - * @param UriInterface $uri - * - * @return UriInterface */ - private static function obfuscateUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) + private static function obfuscateUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $userInfo = $uri->getUserInfo(); if (\false !== ($pos = \strpos($userInfo, ':'))) { @@ -105,28 +90,22 @@ private static function obfuscateUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterf } /** * Get the request that caused the exception - * - * @return RequestInterface */ - public function getRequest() + public function getRequest() : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { return $this->request; } /** * Get the associated response - * - * @return ResponseInterface|null */ - public function getResponse() + public function getResponse() : ?\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface { return $this->response; } /** * Check if a response was received - * - * @return bool */ - public function hasResponse() + public function hasResponse() : bool { return $this->response !== null; } @@ -137,10 +116,8 @@ public function hasResponse() * using. It may also be just an empty array. Relying on this data will * couple you to a specific handler, but can give more debug information * when needed. - * - * @return array */ - public function getHandlerContext() + public function getHandlerContext() : array { return $this->handlerContext; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php deleted file mode 100755 index 0869d9f1d..000000000 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php +++ /dev/null @@ -1,25 +0,0 @@ -stream = $stream; - $msg = $msg ?: 'Could not seek the stream to position ' . $pos; - parent::__construct($msg); - } - /** - * @return StreamInterface - */ - public function getStream() - { - return $this->stream; - } -} diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactory.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactory.php index c559e543c..6fb5b0d67 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactory.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactory.php @@ -4,30 +4,41 @@ use YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException; use YoastSEO_Vendor\GuzzleHttp\Exception\RequestException; +use YoastSEO_Vendor\GuzzleHttp\Promise as P; use YoastSEO_Vendor\GuzzleHttp\Promise\FulfilledPromise; -use YoastSEO_Vendor\GuzzleHttp\Psr7; +use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; use YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream; use YoastSEO_Vendor\GuzzleHttp\TransferStats; +use YoastSEO_Vendor\GuzzleHttp\Utils; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; /** * Creates curl resources from a request + * + * @final */ class CurlFactory implements \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactoryInterface { - const CURL_VERSION_STR = 'curl_version'; - const LOW_CURL_VERSION_NUMBER = '7.21.2'; - /** @var array */ + public const CURL_VERSION_STR = 'curl_version'; + /** + * @deprecated + */ + public const LOW_CURL_VERSION_NUMBER = '7.21.2'; + /** + * @var resource[]|\CurlHandle[] + */ private $handles = []; - /** @var int Total number of idle handles to keep in cache */ + /** + * @var int Total number of idle handles to keep in cache + */ private $maxHandles; /** * @param int $maxHandles Maximum number of idle handles. */ - public function __construct($maxHandles) + public function __construct(int $maxHandles) { $this->maxHandles = $maxHandles; } - public function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) + public function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle { if (isset($options['curl']['body_as_string'])) { $options['_body_as_string'] = $options['curl']['body_as_string']; @@ -50,7 +61,7 @@ public function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $reque \curl_setopt_array($easy->handle, $conf); return $easy; } - public function release(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) + public function release(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) : void { $resource = $easy->handle; unset($easy->handle); @@ -73,13 +84,10 @@ public function release(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) * Completes a cURL transaction, either returning a response promise or a * rejected promise. * - * @param callable $handler - * @param EasyHandle $easy - * @param CurlFactoryInterface $factory Dictates how the handle is released - * - * @return \GuzzleHttp\Promise\PromiseInterface + * @param callable(RequestInterface, array): PromiseInterface $handler + * @param CurlFactoryInterface $factory Dictates how the handle is released */ - public static function finish(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactoryInterface $factory) + public static function finish(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactoryInterface $factory) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { if (isset($easy->options['on_stats'])) { self::invokeStats($easy); @@ -96,14 +104,17 @@ public static function finish(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Han } return new \YoastSEO_Vendor\GuzzleHttp\Promise\FulfilledPromise($easy->response); } - private static function invokeStats(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) + private static function invokeStats(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) : void { $curlStats = \curl_getinfo($easy->handle); $curlStats['appconnect_time'] = \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME); $stats = new \YoastSEO_Vendor\GuzzleHttp\TransferStats($easy->request, $easy->response, $curlStats['total_time'], $easy->errno, $curlStats); - \call_user_func($easy->options['on_stats'], $stats); + $easy->options['on_stats']($stats); } - private static function finishError(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactoryInterface $factory) + /** + * @param callable(RequestInterface, array): PromiseInterface $handler + */ + private static function finishError(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactoryInterface $factory) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { // Get error information and release the handle to the factory. $ctx = ['errno' => $easy->errno, 'error' => \curl_error($easy->handle), 'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME)] + \curl_getinfo($easy->handle); @@ -115,26 +126,32 @@ private static function finishError(callable $handler, \YoastSEO_Vendor\GuzzleHt } return self::createRejection($easy, $ctx); } - private static function createRejection(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array $ctx) + private static function createRejection(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array $ctx) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { static $connectionErrors = [\CURLE_OPERATION_TIMEOUTED => \true, \CURLE_COULDNT_RESOLVE_HOST => \true, \CURLE_COULDNT_CONNECT => \true, \CURLE_SSL_CONNECT_ERROR => \true, \CURLE_GOT_NOTHING => \true]; + if ($easy->createResponseException) { + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered while creating the response', $easy->request, $easy->response, $easy->createResponseException, $ctx)); + } // If an exception was encountered during the onHeaders event, then // return a rejected promise that wraps that exception. if ($easy->onHeadersException) { - return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered during the on_headers event', $easy->request, $easy->response, $easy->onHeadersException, $ctx)); + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered during the on_headers event', $easy->request, $easy->response, $easy->onHeadersException, $ctx)); } - if (\version_compare($ctx[self::CURL_VERSION_STR], self::LOW_CURL_VERSION_NUMBER)) { - $message = \sprintf('cURL error %s: %s (%s)', $ctx['errno'], $ctx['error'], 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html'); - } else { - $message = \sprintf('cURL error %s: %s (%s) for %s', $ctx['errno'], $ctx['error'], 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html', $easy->request->getUri()); + $message = \sprintf('cURL error %s: %s (%s)', $ctx['errno'], $ctx['error'], 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html'); + $uriString = (string) $easy->request->getUri(); + if ($uriString !== '' && \false === \strpos($ctx['error'], $uriString)) { + $message .= \sprintf(' for %s', $uriString); } // Create a connection exception if it was a specific error code. $error = isset($connectionErrors[$easy->errno]) ? new \YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException($message, $easy->request, null, $ctx) : new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException($message, $easy->request, $easy->response, null, $ctx); - return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($error); + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($error); } - private function getDefaultConf(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) + /** + * @return array + */ + private function getDefaultConf(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) : array { - $conf = ['_headers' => $easy->request->getHeaders(), \CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(), \CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''), \CURLOPT_RETURNTRANSFER => \false, \CURLOPT_HEADER => \false, \CURLOPT_CONNECTTIMEOUT => 150]; + $conf = ['_headers' => $easy->request->getHeaders(), \CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(), \CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''), \CURLOPT_RETURNTRANSFER => \false, \CURLOPT_HEADER => \false, \CURLOPT_CONNECTTIMEOUT => 300]; if (\defined('CURLOPT_PROTOCOLS')) { $conf[\CURLOPT_PROTOCOLS] = \CURLPROTO_HTTP | \CURLPROTO_HTTPS; } @@ -148,7 +165,7 @@ private function getDefaultConf(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $ } return $conf; } - private function applyMethod(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf) + private function applyMethod(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf) : void { $body = $easy->request->getBody(); $size = $body->getSize(); @@ -158,7 +175,7 @@ private function applyMethod(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $eas } $method = $easy->request->getMethod(); if ($method === 'PUT' || $method === 'POST') { - // See http://tools.ietf.org/html/rfc7230#section-3.3.2 + // See https://tools.ietf.org/html/rfc7230#section-3.3.2 if (!$easy->request->hasHeader('Content-Length')) { $conf[\CURLOPT_HTTPHEADER][] = 'Content-Length: 0'; } @@ -167,7 +184,7 @@ private function applyMethod(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $eas unset($conf[\CURLOPT_WRITEFUNCTION], $conf[\CURLOPT_READFUNCTION], $conf[\CURLOPT_FILE], $conf[\CURLOPT_INFILE]); } } - private function applyBody(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, array &$conf) + private function applyBody(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, array &$conf) : void { $size = $request->hasHeader('Content-Length') ? (int) $request->getHeaderLine('Content-Length') : null; // Send the body as a string if the size is less than 1MB OR if the @@ -187,7 +204,7 @@ private function applyBody(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $r if ($body->isSeekable()) { $body->rewind(); } - $conf[\CURLOPT_READFUNCTION] = function ($ch, $fd, $length) use($body) { + $conf[\CURLOPT_READFUNCTION] = static function ($ch, $fd, $length) use($body) { return $body->read($length); }; } @@ -200,7 +217,7 @@ private function applyBody(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $r $conf[\CURLOPT_HTTPHEADER][] = 'Content-Type:'; } } - private function applyHeaders(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf) + private function applyHeaders(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf) : void { foreach ($conf['_headers'] as $name => $values) { foreach ($values as $value) { @@ -225,7 +242,7 @@ private function applyHeaders(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $ea * @param string $name Case-insensitive header to remove * @param array $options Array of options to modify */ - private function removeHeader($name, array &$options) + private function removeHeader(string $name, array &$options) : void { foreach (\array_keys($options['_headers']) as $key) { if (!\strcasecmp($key, $name)) { @@ -234,7 +251,7 @@ private function removeHeader($name, array &$options) } } } - private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf) + private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf) : void { $options = $easy->options; if (isset($options['verify'])) { @@ -252,7 +269,7 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan } // If it's a directory or a link to a directory use CURLOPT_CAPATH. // If not, it's probably a file, or a link to a file, so use CURLOPT_CAINFO. - if (\is_dir($options['verify']) || \is_link($options['verify']) && \is_dir(\readlink($options['verify']))) { + if (\is_dir($options['verify']) || \is_link($options['verify']) === \true && ($verifyLink = \readlink($options['verify'])) !== \false && \is_dir($verifyLink)) { $conf[\CURLOPT_CAPATH] = $options['verify']; } else { $conf[\CURLOPT_CAINFO] = $options['verify']; @@ -260,35 +277,36 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan } } } - if (!empty($options['decode_content'])) { + if (!isset($options['curl'][\CURLOPT_ENCODING]) && !empty($options['decode_content'])) { $accept = $easy->request->getHeaderLine('Accept-Encoding'); if ($accept) { $conf[\CURLOPT_ENCODING] = $accept; } else { + // The empty string enables all available decoders and implicitly + // sets a matching 'Accept-Encoding' header. $conf[\CURLOPT_ENCODING] = ''; - // Don't let curl send the header over the wire + // But as the user did not specify any acceptable encodings we need + // to overwrite this implicit header with an empty one. $conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:'; } } - if (isset($options['sink'])) { - $sink = $options['sink']; - if (!\is_string($sink)) { - $sink = \YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($sink); - } elseif (!\is_dir(\dirname($sink))) { - // Ensure that the directory exists before failing in curl. - throw new \RuntimeException(\sprintf('Directory %s does not exist for sink value of %s', \dirname($sink), $sink)); - } else { - $sink = new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($sink, 'w+'); - } - $easy->sink = $sink; - $conf[\CURLOPT_WRITEFUNCTION] = function ($ch, $write) use($sink) { - return $sink->write($write); - }; - } else { + if (!isset($options['sink'])) { // Use a default temp stream if no sink was set. - $conf[\CURLOPT_FILE] = \fopen('php://temp', 'w+'); - $easy->sink = \YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($conf[\CURLOPT_FILE]); + $options['sink'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen('php://temp', 'w+'); + } + $sink = $options['sink']; + if (!\is_string($sink)) { + $sink = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($sink); + } elseif (!\is_dir(\dirname($sink))) { + // Ensure that the directory exists before failing in curl. + throw new \RuntimeException(\sprintf('Directory %s does not exist for sink value of %s', \dirname($sink), $sink)); + } else { + $sink = new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($sink, 'w+'); } + $easy->sink = $sink; + $conf[\CURLOPT_WRITEFUNCTION] = static function ($ch, $write) use($sink) : int { + return $sink->write($write); + }; $timeoutRequiresNoSignal = \false; if (isset($options['timeout'])) { $timeoutRequiresNoSignal |= $options['timeout'] < 1; @@ -316,12 +334,39 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan $scheme = $easy->request->getUri()->getScheme(); if (isset($options['proxy'][$scheme])) { $host = $easy->request->getUri()->getHost(); - if (!isset($options['proxy']['no']) || !\YoastSEO_Vendor\GuzzleHttp\is_host_in_noproxy($host, $options['proxy']['no'])) { + if (isset($options['proxy']['no']) && \YoastSEO_Vendor\GuzzleHttp\Utils::isHostInNoProxy($host, $options['proxy']['no'])) { + unset($conf[\CURLOPT_PROXY]); + } else { $conf[\CURLOPT_PROXY] = $options['proxy'][$scheme]; } } } } + if (isset($options['crypto_method'])) { + if (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) { + if (!\defined('CURL_SSLVERSION_TLSv1_0')) { + throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.0 not supported by your version of cURL'); + } + $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_0; + } elseif (\STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']) { + if (!\defined('CURL_SSLVERSION_TLSv1_1')) { + throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.1 not supported by your version of cURL'); + } + $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_1; + } elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']) { + if (!\defined('CURL_SSLVERSION_TLSv1_2')) { + throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL'); + } + $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2; + } elseif (\defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) { + if (!\defined('CURL_SSLVERSION_TLSv1_3')) { + throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL'); + } + $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3; + } else { + throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided'); + } + } if (isset($options['cert'])) { $cert = $options['cert']; if (\is_array($cert)) { @@ -331,17 +376,23 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan if (!\file_exists($cert)) { throw new \InvalidArgumentException("SSL certificate not found: {$cert}"); } + // OpenSSL (versions 0.9.3 and later) also support "P12" for PKCS#12-encoded files. + // see https://curl.se/libcurl/c/CURLOPT_SSLCERTTYPE.html + $ext = \pathinfo($cert, \PATHINFO_EXTENSION); + if (\preg_match('#^(der|p12)$#i', $ext)) { + $conf[\CURLOPT_SSLCERTTYPE] = \strtoupper($ext); + } $conf[\CURLOPT_SSLCERT] = $cert; } if (isset($options['ssl_key'])) { if (\is_array($options['ssl_key'])) { if (\count($options['ssl_key']) === 2) { - list($sslKey, $conf[\CURLOPT_SSLKEYPASSWD]) = $options['ssl_key']; + [$sslKey, $conf[\CURLOPT_SSLKEYPASSWD]] = $options['ssl_key']; } else { - list($sslKey) = $options['ssl_key']; + [$sslKey] = $options['ssl_key']; } } - $sslKey = isset($sslKey) ? $sslKey : $options['ssl_key']; + $sslKey = $sslKey ?? $options['ssl_key']; if (!\file_exists($sslKey)) { throw new \InvalidArgumentException("SSL private key not found: {$sslKey}"); } @@ -353,17 +404,12 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan throw new \InvalidArgumentException('progress client option must be callable'); } $conf[\CURLOPT_NOPROGRESS] = \false; - $conf[\CURLOPT_PROGRESSFUNCTION] = function () use($progress) { - $args = \func_get_args(); - // PHP 5.5 pushed the handle onto the start of the args - if (\is_resource($args[0])) { - \array_shift($args); - } - \call_user_func_array($progress, $args); + $conf[\CURLOPT_PROGRESSFUNCTION] = static function ($resource, int $downloadSize, int $downloaded, int $uploadSize, int $uploaded) use($progress) { + $progress($downloadSize, $downloaded, $uploadSize, $uploaded); }; } if (!empty($options['debug'])) { - $conf[\CURLOPT_STDERR] = \YoastSEO_Vendor\GuzzleHttp\debug_resource($options['debug']); + $conf[\CURLOPT_STDERR] = \YoastSEO_Vendor\GuzzleHttp\Utils::debugResource($options['debug']); $conf[\CURLOPT_VERBOSE] = \true; } } @@ -375,8 +421,10 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan * stream, and then encountered a "necessary data rewind wasn't possible" * error, causing the request to be sent through curl_multi_info_read() * without an error status. + * + * @param callable(RequestInterface, array): PromiseInterface $handler */ - private static function retryFailedRewind(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array $ctx) + private static function retryFailedRewind(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array $ctx) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { try { // Only rewind if the body has been read from. @@ -395,11 +443,11 @@ private static function retryFailedRewind(callable $handler, \YoastSEO_Vendor\Gu $ctx['error'] = 'The cURL request was retried 3 times ' . 'and did not succeed. The most likely reason for the failure ' . 'is that cURL was unable to rewind the body of the request ' . 'and subsequent retries resulted in the same error. Turn on ' . 'the debug option to see what went wrong. See ' . 'https://bugs.php.net/bug.php?id=47204 for more information.'; return self::createRejection($easy, $ctx); } else { - $easy->options['_curl_retries']++; + ++$easy->options['_curl_retries']; } return $handler($easy->request, $easy->options); } - private function createHeaderFn(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) + private function createHeaderFn(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) : callable { if (isset($easy->options['on_headers'])) { $onHeaders = $easy->options['on_headers']; @@ -409,11 +457,16 @@ private function createHeaderFn(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $ } else { $onHeaders = null; } - return function ($ch, $h) use($onHeaders, $easy, &$startingResponse) { + return static function ($ch, $h) use($onHeaders, $easy, &$startingResponse) { $value = \trim($h); if ($value === '') { $startingResponse = \true; - $easy->createResponse(); + try { + $easy->createResponse(); + } catch (\Exception $e) { + $easy->createResponseException = $e; + return -1; + } if ($onHeaders !== null) { try { $onHeaders($easy->response); @@ -433,4 +486,11 @@ private function createHeaderFn(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $ return \strlen($h); }; } + public function __destruct() + { + foreach ($this->handles as $id => $handle) { + \curl_close($handle); + unset($this->handles[$id]); + } + } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php index 0384e6c3b..2f116aa94 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php @@ -11,16 +11,13 @@ interface CurlFactoryInterface * @param RequestInterface $request Request * @param array $options Transfer options * - * @return EasyHandle * @throws \RuntimeException when an option cannot be applied */ - public function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options); + public function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle; /** * Release an easy handle, allowing it to be reused or closed. * * This function must call unset on the easy handle's "handle" property. - * - * @param EasyHandle $easy */ - public function release(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy); + public function release(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) : void; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php index f8c33a61c..a865942ee 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php @@ -2,7 +2,7 @@ namespace YoastSEO_Vendor\GuzzleHttp\Handler; -use YoastSEO_Vendor\GuzzleHttp\Psr7; +use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; /** * HTTP handler that uses cURL easy handles as a transport layer. @@ -10,23 +10,27 @@ * When using the CurlHandler, custom curl options can be specified as an * associative array of curl option constants mapping to values in the * **curl** key of the "client" key of the request. + * + * @final */ class CurlHandler { - /** @var CurlFactoryInterface */ + /** + * @var CurlFactoryInterface + */ private $factory; /** * Accepts an associative array of options: * - * - factory: Optional curl factory used to create cURL handles. + * - handle_factory: Optional curl factory used to create cURL handles. * - * @param array $options Array of options to use with the handler + * @param array{handle_factory?: ?CurlFactoryInterface} $options Array of options to use with the handler */ public function __construct(array $options = []) { - $this->factory = isset($options['handle_factory']) ? $options['handle_factory'] : new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactory(3); + $this->factory = $options['handle_factory'] ?? new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactory(3); } - public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) + public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { if (isset($options['delay'])) { \usleep($options['delay'] * 1000); diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php index 01e6faf2c..ddbbfa847 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php @@ -4,6 +4,7 @@ use YoastSEO_Vendor\GuzzleHttp\Promise as P; use YoastSEO_Vendor\GuzzleHttp\Promise\Promise; +use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; use YoastSEO_Vendor\GuzzleHttp\Utils; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; /** @@ -13,17 +14,40 @@ * associative array of curl option constants mapping to values in the * **curl** key of the provided request options. * - * @property resource $_mh Internal use only. Lazy loaded multi-handle. + * @final */ class CurlMultiHandler { - /** @var CurlFactoryInterface */ + /** + * @var CurlFactoryInterface + */ private $factory; + /** + * @var int + */ private $selectTimeout; - private $active; + /** + * @var int Will be higher than 0 when `curl_multi_exec` is still running. + */ + private $active = 0; + /** + * @var array Request entry handles, indexed by handle id in `addRequest`. + * + * @see CurlMultiHandler::addRequest + */ private $handles = []; + /** + * @var array An array of delay times, indexed by handle id in `addRequest`. + * + * @see CurlMultiHandler::addRequest + */ private $delays = []; + /** + * @var array An associative array of CURLMOPT_* options and corresponding values for curl_multi_setopt() + */ private $options = []; + /** @var resource|\CurlMultiHandle */ + private $_mh; /** * This handler accepts the following options: * @@ -32,34 +56,46 @@ class CurlMultiHandler * out while selecting curl handles. Defaults to 1 second. * - options: An associative array of CURLMOPT_* options and * corresponding values for curl_multi_setopt() - * - * @param array $options */ public function __construct(array $options = []) { - $this->factory = isset($options['handle_factory']) ? $options['handle_factory'] : new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactory(50); + $this->factory = $options['handle_factory'] ?? new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactory(50); if (isset($options['select_timeout'])) { $this->selectTimeout = $options['select_timeout']; - } elseif ($selectTimeout = \getenv('GUZZLE_CURL_SELECT_TIMEOUT')) { - $this->selectTimeout = $selectTimeout; + } elseif ($selectTimeout = \YoastSEO_Vendor\GuzzleHttp\Utils::getenv('GUZZLE_CURL_SELECT_TIMEOUT')) { + @\trigger_error('Since guzzlehttp/guzzle 7.2.0: Using environment variable GUZZLE_CURL_SELECT_TIMEOUT is deprecated. Use option "select_timeout" instead.', \E_USER_DEPRECATED); + $this->selectTimeout = (int) $selectTimeout; } else { $this->selectTimeout = 1; } - $this->options = isset($options['options']) ? $options['options'] : []; + $this->options = $options['options'] ?? []; + // unsetting the property forces the first access to go through + // __get(). + unset($this->_mh); } + /** + * @param string $name + * + * @return resource|\CurlMultiHandle + * + * @throws \BadMethodCallException when another field as `_mh` will be gotten + * @throws \RuntimeException when curl can not initialize a multi handle + */ public function __get($name) { - if ($name === '_mh') { - $this->_mh = \curl_multi_init(); - foreach ($this->options as $option => $value) { - // A warning is raised in case of a wrong option. - \curl_multi_setopt($this->_mh, $option, $value); - } - // Further calls to _mh will return the value directly, without entering the - // __get() method at all. - return $this->_mh; + if ($name !== '_mh') { + throw new \BadMethodCallException("Can not get other property as '_mh'."); + } + $multiHandle = \curl_multi_init(); + if (\false === $multiHandle) { + throw new \RuntimeException('Can not initialize curl multi handle.'); + } + $this->_mh = $multiHandle; + foreach ($this->options as $option => $value) { + // A warning is raised in case of a wrong option. + \curl_multi_setopt($this->_mh, $option, $value); } - throw new \BadMethodCallException(); + return $this->_mh; } public function __destruct() { @@ -68,7 +104,7 @@ public function __destruct() unset($this->_mh); } } - public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) + public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { $easy = $this->factory->create($request, $options); $id = (int) $easy->handle; @@ -81,7 +117,7 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req /** * Ticks the curl event loop. */ - public function tick() + public function tick() : void { // Add any delayed handles if needed. if ($this->delays) { @@ -94,7 +130,7 @@ public function tick() } } // Step through the task queue which may add additional requests. - \YoastSEO_Vendor\GuzzleHttp\Promise\queue()->run(); + \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue()->run(); if ($this->active && \curl_multi_select($this->_mh, $this->selectTimeout) === -1) { // Perform a usleep if a select returns -1. // See: https://bugs.php.net/bug.php?id=61141 @@ -107,9 +143,9 @@ public function tick() /** * Runs until all outstanding connections have completed. */ - public function execute() + public function execute() : void { - $queue = \YoastSEO_Vendor\GuzzleHttp\Promise\queue(); + $queue = \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue(); while ($this->handles || !$queue->isEmpty()) { // If there are no transfers, then sleep for the next delay if (!$this->active && $this->delays) { @@ -118,7 +154,7 @@ public function execute() $this->tick(); } } - private function addRequest(array $entry) + private function addRequest(array $entry) : void { $easy = $entry['easy']; $id = (int) $easy->handle; @@ -136,8 +172,11 @@ private function addRequest(array $entry) * * @return bool True on success, false on failure. */ - private function cancel($id) + private function cancel($id) : bool { + if (!\is_int($id)) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an integer to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } // Cannot cancel if it has been processed. if (!isset($this->handles[$id])) { return \false; @@ -148,9 +187,13 @@ private function cancel($id) \curl_close($handle); return \true; } - private function processMessages() + private function processMessages() : void { while ($done = \curl_multi_info_read($this->_mh)) { + if ($done['msg'] !== \CURLMSG_DONE) { + // if it's not done, then it would be premature to remove the handle. ref https://github.com/guzzle/guzzle/pull/2892#issuecomment-945150216 + continue; + } $id = (int) $done['handle']; \curl_multi_remove_handle($this->_mh, $done['handle']); if (!isset($this->handles[$id])) { @@ -163,7 +206,7 @@ private function processMessages() $entry['deferred']->resolve(\YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactory::finish($this, $entry['easy'], $this->factory)); } } - private function timeToNext() + private function timeToNext() : int { $currentTime = \YoastSEO_Vendor\GuzzleHttp\Utils::currentTime(); $nextTime = \PHP_INT_MAX; @@ -172,6 +215,6 @@ private function timeToNext() $nextTime = $time; } } - return \max(0, $nextTime - $currentTime) * 1000000; + return (int) \max(0, $nextTime - $currentTime) * 1000000; } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php index fd304640d..f5e837fda 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php @@ -3,6 +3,7 @@ namespace YoastSEO_Vendor\GuzzleHttp\Handler; use YoastSEO_Vendor\GuzzleHttp\Psr7\Response; +use YoastSEO_Vendor\GuzzleHttp\Utils; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface; use YoastSEO_Vendor\Psr\Http\Message\StreamInterface; @@ -13,36 +14,52 @@ */ final class EasyHandle { - /** @var resource cURL resource */ + /** + * @var resource|\CurlHandle cURL resource + */ public $handle; - /** @var StreamInterface Where data is being written */ + /** + * @var StreamInterface Where data is being written + */ public $sink; - /** @var array Received HTTP headers so far */ + /** + * @var array Received HTTP headers so far + */ public $headers = []; - /** @var ResponseInterface Received response (if any) */ + /** + * @var ResponseInterface|null Received response (if any) + */ public $response; - /** @var RequestInterface Request being sent */ + /** + * @var RequestInterface Request being sent + */ public $request; - /** @var array Request options */ + /** + * @var array Request options + */ public $options = []; - /** @var int cURL error number (if any) */ + /** + * @var int cURL error number (if any) + */ public $errno = 0; - /** @var \Exception Exception during on_headers (if any) */ + /** + * @var \Throwable|null Exception during on_headers (if any) + */ public $onHeadersException; + /** + * @var \Exception|null Exception during createResponse (if any) + */ + public $createResponseException; /** * Attach a response to the easy handle based on the received headers. * - * @throws \RuntimeException if no headers have been received. + * @throws \RuntimeException if no headers have been received or the first + * header line is invalid. */ - public function createResponse() + public function createResponse() : void { - if (empty($this->headers)) { - throw new \RuntimeException('No headers have been received'); - } - // HTTP-version SP status-code SP reason-phrase - $startLine = \explode(' ', \array_shift($this->headers), 3); - $headers = \YoastSEO_Vendor\GuzzleHttp\headers_from_lines($this->headers); - $normalizedKeys = \YoastSEO_Vendor\GuzzleHttp\normalize_header_keys($headers); + [$ver, $status, $reason, $headers] = \YoastSEO_Vendor\GuzzleHttp\Handler\HeaderProcessor::parseHeaders($this->headers); + $normalizedKeys = \YoastSEO_Vendor\GuzzleHttp\Utils::normalizeHeaderKeys($headers); if (!empty($this->options['decode_content']) && isset($normalizedKeys['content-encoding'])) { $headers['x-encoded-content-encoding'] = $headers[$normalizedKeys['content-encoding']]; unset($headers[$normalizedKeys['content-encoding']]); @@ -57,8 +74,15 @@ public function createResponse() } } // Attach a response to the easy handle with the parsed headers. - $this->response = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response($startLine[1], $headers, $this->sink, \substr($startLine[0], 5), isset($startLine[2]) ? (string) $startLine[2] : null); + $this->response = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response($status, $headers, $this->sink, $ver, $reason); } + /** + * @param string $name + * + * @return void + * + * @throws \BadMethodCallException + */ public function __get($name) { $msg = $name === 'handle' ? 'The EasyHandle has been released' : 'Invalid property: ' . $name; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php new file mode 100755 index 000000000..79c7db0ef --- /dev/null +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php @@ -0,0 +1,36 @@ +|null $queue The parameters to be passed to the append function, as an indexed array. + * @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled. + * @param callable|null $onRejected Callback to invoke when the return value is rejected. */ public function __construct(array $queue = null, callable $onFulfilled = null, callable $onRejected = null) { $this->onFulfilled = $onFulfilled; $this->onRejected = $onRejected; if ($queue) { - \call_user_func_array([$this, 'append'], $queue); + // array_values included for BC + $this->append(...\array_values($queue)); } } - public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) + public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { if (!$this->queue) { throw new \OutOfBoundsException('Mock queue is empty'); } if (isset($options['delay']) && \is_numeric($options['delay'])) { - \usleep($options['delay'] * 1000); + \usleep((int) $options['delay'] * 1000); } $this->lastRequest = $request; $this->lastOptions = $options; @@ -73,15 +91,15 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req } } if (\is_callable($response)) { - $response = \call_user_func($response, $request, $options); + $response = $response($request, $options); } - $response = $response instanceof \Exception ? \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($response) : \YoastSEO_Vendor\GuzzleHttp\Promise\promise_for($response); - return $response->then(function ($value) use($request, $options) { + $response = $response instanceof \Throwable ? \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($response) : \YoastSEO_Vendor\GuzzleHttp\Promise\Create::promiseFor($response); + return $response->then(function (?\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $value) use($request, $options) { $this->invokeStats($request, $options, $value); if ($this->onFulfilled) { - \call_user_func($this->onFulfilled, $value); + ($this->onFulfilled)($value); } - if (isset($options['sink'])) { + if ($value !== null && isset($options['sink'])) { $contents = (string) $value->getBody(); $sink = $options['sink']; if (\is_resource($sink)) { @@ -96,62 +114,61 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req }, function ($reason) use($request, $options) { $this->invokeStats($request, $options, null, $reason); if ($this->onRejected) { - \call_user_func($this->onRejected, $reason); + ($this->onRejected)($reason); } - return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($reason); + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($reason); }); } /** * Adds one or more variadic requests, exceptions, callables, or promises * to the queue. + * + * @param mixed ...$values */ - public function append() + public function append(...$values) : void { - foreach (\func_get_args() as $value) { - if ($value instanceof \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface || $value instanceof \Exception || $value instanceof \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface || \is_callable($value)) { + foreach ($values as $value) { + if ($value instanceof \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface || $value instanceof \Throwable || $value instanceof \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface || \is_callable($value)) { $this->queue[] = $value; } else { - throw new \InvalidArgumentException('Expected a response or ' . 'exception. Found ' . \YoastSEO_Vendor\GuzzleHttp\describe_type($value)); + throw new \TypeError('Expected a Response, Promise, Throwable or callable. Found ' . \YoastSEO_Vendor\GuzzleHttp\Utils::describeType($value)); } } } /** * Get the last received request. - * - * @return RequestInterface */ - public function getLastRequest() + public function getLastRequest() : ?\YoastSEO_Vendor\Psr\Http\Message\RequestInterface { return $this->lastRequest; } /** * Get the last received request options. - * - * @return array */ - public function getLastOptions() + public function getLastOptions() : array { return $this->lastOptions; } /** * Returns the number of remaining items in the queue. - * - * @return int */ - public function count() + public function count() : int { return \count($this->queue); } - public function reset() + public function reset() : void { $this->queue = []; } - private function invokeStats(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, $reason = null) + /** + * @param mixed $reason Promise or reason. + */ + private function invokeStats(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, $reason = null) : void { if (isset($options['on_stats'])) { - $transferTime = isset($options['transfer_time']) ? $options['transfer_time'] : 0; + $transferTime = $options['transfer_time'] ?? 0; $stats = new \YoastSEO_Vendor\GuzzleHttp\TransferStats($request, $response, $transferTime, $reason); - \call_user_func($options['on_stats'], $stats); + $options['on_stats']($stats); } } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php index 817894982..69d526d84 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php @@ -2,10 +2,13 @@ namespace YoastSEO_Vendor\GuzzleHttp\Handler; +use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; use YoastSEO_Vendor\GuzzleHttp\RequestOptions; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; /** * Provides basic proxies for handlers. + * + * @final */ class Proxy { @@ -13,14 +16,14 @@ class Proxy * Sends synchronous requests to a specific handler while sending all other * requests to another handler. * - * @param callable $default Handler used for normal responses - * @param callable $sync Handler used for synchronous responses. + * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for normal responses + * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $sync Handler used for synchronous responses. * - * @return callable Returns the composed handler. + * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler. */ - public static function wrapSync(callable $default, callable $sync) + public static function wrapSync(callable $default, callable $sync) : callable { - return function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $sync) { + return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $sync) : PromiseInterface { return empty($options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::SYNCHRONOUS]) ? $default($request, $options) : $sync($request, $options); }; } @@ -32,14 +35,14 @@ public static function wrapSync(callable $default, callable $sync) * performance benefits of curl while still supporting true streaming * through the StreamHandler. * - * @param callable $default Handler used for non-streaming responses - * @param callable $streaming Handler used for streaming responses + * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for non-streaming responses + * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $streaming Handler used for streaming responses * - * @return callable Returns the composed handler. + * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler. */ - public static function wrapStreaming(callable $default, callable $streaming) + public static function wrapStreaming(callable $default, callable $streaming) : callable { - return function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $streaming) { + return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $streaming) : PromiseInterface { return empty($options['stream']) ? $default($request, $options) : $streaming($request, $options); }; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php index 6b2860e64..ad9aa6407 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php @@ -4,6 +4,7 @@ use YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException; use YoastSEO_Vendor\GuzzleHttp\Exception\RequestException; +use YoastSEO_Vendor\GuzzleHttp\Promise as P; use YoastSEO_Vendor\GuzzleHttp\Promise\FulfilledPromise; use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; use YoastSEO_Vendor\GuzzleHttp\Psr7; @@ -12,21 +13,25 @@ use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface; use YoastSEO_Vendor\Psr\Http\Message\StreamInterface; +use YoastSEO_Vendor\Psr\Http\Message\UriInterface; /** * HTTP handler that uses PHP's HTTP stream wrapper. + * + * @final */ class StreamHandler { + /** + * @var array + */ private $lastHeaders = []; /** * Sends an HTTP request. * * @param RequestInterface $request Request to send. * @param array $options Request transfer options. - * - * @return PromiseInterface */ - public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) + public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { // Sleep if there is a delay specified. if (isset($options['delay'])) { @@ -48,44 +53,50 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req // Determine if the error was a networking error. $message = $e->getMessage(); // This list can probably get more comprehensive. - if (\strpos($message, 'getaddrinfo') || \strpos($message, 'Connection refused') || \strpos($message, "couldn't connect to host") || \strpos($message, "connection attempt failed")) { + if (\false !== \strpos($message, 'getaddrinfo') || \false !== \strpos($message, 'Connection refused') || \false !== \strpos($message, "couldn't connect to host") || \false !== \strpos($message, 'connection attempt failed')) { $e = new \YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException($e->getMessage(), $request, $e); + } else { + $e = \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException::wrapException($request, $e); } - $e = \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException::wrapException($request, $e); $this->invokeStats($options, $request, $startTime, null, $e); - return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($e); + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($e); } } - private function invokeStats(array $options, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, $startTime, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, $error = null) + private function invokeStats(array $options, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, ?float $startTime, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Throwable $error = null) : void { if (isset($options['on_stats'])) { $stats = new \YoastSEO_Vendor\GuzzleHttp\TransferStats($request, $response, \YoastSEO_Vendor\GuzzleHttp\Utils::currentTime() - $startTime, $error, []); - \call_user_func($options['on_stats'], $stats); + $options['on_stats']($stats); } } - private function createResponse(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, $stream, $startTime) + /** + * @param resource $stream + */ + private function createResponse(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, $stream, ?float $startTime) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { $hdrs = $this->lastHeaders; $this->lastHeaders = []; - $parts = \explode(' ', \array_shift($hdrs), 3); - $ver = \explode('/', $parts[0])[1]; - $status = $parts[1]; - $reason = isset($parts[2]) ? $parts[2] : null; - $headers = \YoastSEO_Vendor\GuzzleHttp\headers_from_lines($hdrs); - list($stream, $headers) = $this->checkDecode($options, $headers, $stream); - $stream = \YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($stream); + try { + [$ver, $status, $reason, $headers] = \YoastSEO_Vendor\GuzzleHttp\Handler\HeaderProcessor::parseHeaders($hdrs); + } catch (\Exception $e) { + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered while creating the response', $request, null, $e)); + } + [$stream, $headers] = $this->checkDecode($options, $headers, $stream); + $stream = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($stream); $sink = $stream; if (\strcasecmp('HEAD', $request->getMethod())) { $sink = $this->createSink($stream, $options); } - $response = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response($status, $headers, $sink, $ver, $reason); + try { + $response = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response($status, $headers, $sink, $ver, $reason); + } catch (\Exception $e) { + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered while creating the response', $request, null, $e)); + } if (isset($options['on_headers'])) { try { $options['on_headers']($response); } catch (\Exception $e) { - $msg = 'An error was encountered during the on_headers event'; - $ex = new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException($msg, $request, $response, $e); - return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($ex); + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered during the on_headers event', $request, $response, $e)); } } // Do not drain when the request is a HEAD request because they have @@ -96,23 +107,26 @@ private function createResponse(\YoastSEO_Vendor\Psr\Http\Message\RequestInterfa $this->invokeStats($options, $request, $startTime, $response, null); return new \YoastSEO_Vendor\GuzzleHttp\Promise\FulfilledPromise($response); } - private function createSink(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, array $options) + private function createSink(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, array $options) : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface { if (!empty($options['stream'])) { return $stream; } - $sink = isset($options['sink']) ? $options['sink'] : \fopen('php://temp', 'r+'); - return \is_string($sink) ? new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($sink, 'w+') : \YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($sink); + $sink = $options['sink'] ?? \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen('php://temp', 'r+'); + return \is_string($sink) ? new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($sink, 'w+') : \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($sink); } - private function checkDecode(array $options, array $headers, $stream) + /** + * @param resource $stream + */ + private function checkDecode(array $options, array $headers, $stream) : array { // Automatically decode responses when instructed. if (!empty($options['decode_content'])) { - $normalizedKeys = \YoastSEO_Vendor\GuzzleHttp\normalize_header_keys($headers); + $normalizedKeys = \YoastSEO_Vendor\GuzzleHttp\Utils::normalizeHeaderKeys($headers); if (isset($normalizedKeys['content-encoding'])) { $encoding = $headers[$normalizedKeys['content-encoding']]; if ($encoding[0] === 'gzip' || $encoding[0] === 'deflate') { - $stream = new \YoastSEO_Vendor\GuzzleHttp\Psr7\InflateStream(\YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($stream)); + $stream = new \YoastSEO_Vendor\GuzzleHttp\Psr7\InflateStream(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($stream)); $headers['x-encoded-content-encoding'] = $headers[$normalizedKeys['content-encoding']]; // Remove content-encoding header unset($headers[$normalizedKeys['content-encoding']]); @@ -134,21 +148,18 @@ private function checkDecode(array $options, array $headers, $stream) /** * Drains the source stream into the "sink" client option. * - * @param StreamInterface $source - * @param StreamInterface $sink - * @param string $contentLength Header specifying the amount of - * data to read. + * @param string $contentLength Header specifying the amount of + * data to read. * - * @return StreamInterface * @throws \RuntimeException when the sink option is invalid. */ - private function drain(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $source, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $sink, $contentLength) + private function drain(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $source, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $sink, string $contentLength) : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface { // If a content-length header is provided, then stop reading once // that number of bytes has been read. This can prevent infinitely // reading from a stream when dealing with servers that do not honor // Connection: Close headers. - \YoastSEO_Vendor\GuzzleHttp\Psr7\copy_to_stream($source, $sink, \strlen($contentLength) > 0 && (int) $contentLength > 0 ? (int) $contentLength : -1); + \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToStream($source, $sink, \strlen($contentLength) > 0 && (int) $contentLength > 0 ? (int) $contentLength : -1); $sink->seek(0); $source->close(); return $sink; @@ -159,17 +170,21 @@ private function drain(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $source * @param callable $callback Callable that returns stream resource * * @return resource + * * @throws \RuntimeException on error */ private function createResource(callable $callback) { - $errors = null; - \set_error_handler(function ($_, $msg, $file, $line) use(&$errors) { + $errors = []; + \set_error_handler(static function ($_, $msg, $file, $line) use(&$errors) : bool { $errors[] = ['message' => $msg, 'file' => $file, 'line' => $line]; return \true; }); - $resource = $callback(); - \restore_error_handler(); + try { + $resource = $callback(); + } finally { + \restore_error_handler(); + } if (!$resource) { $message = 'Error creating resource: '; foreach ($errors as $err) { @@ -181,12 +196,18 @@ private function createResource(callable $callback) } return $resource; } + /** + * @return resource + */ private function createStream(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) { static $methods; if (!$methods) { $methods = \array_flip(\get_class_methods(__CLASS__)); } + if (!\in_array($request->getUri()->getScheme(), ['http', 'https'])) { + throw new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException(\sprintf("The scheme '%s' is not supported.", $request->getUri()->getScheme()), $request); + } // HTTP/1.1 streams using the PHP stream wrapper require a // Connection: close header if ($request->getProtocolVersion() == '1.1' && !$request->hasHeader('Connection')) { @@ -216,16 +237,19 @@ private function createStream(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $context = \array_replace_recursive($context, $options['stream_context']); } // Microsoft NTLM authentication only supported with curl handler - if (isset($options['auth']) && \is_array($options['auth']) && isset($options['auth'][2]) && 'ntlm' == $options['auth'][2]) { + if (isset($options['auth'][2]) && 'ntlm' === $options['auth'][2]) { throw new \InvalidArgumentException('Microsoft NTLM authentication only supported with curl handler'); } $uri = $this->resolveHost($request, $options); - $context = $this->createResource(function () use($context, $params) { + $contextResource = $this->createResource(static function () use($context, $params) { return \stream_context_create($context, $params); }); - return $this->createResource(function () use($uri, &$http_response_header, $context, $options) { - $resource = \fopen((string) $uri, 'r', null, $context); - $this->lastHeaders = $http_response_header; + return $this->createResource(function () use($uri, &$http_response_header, $contextResource, $context, $options, $request) { + $resource = @\fopen((string) $uri, 'r', \false, $contextResource); + $this->lastHeaders = $http_response_header ?? []; + if (\false === $resource) { + throw new \YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException(\sprintf('Connection refused for URI %s', $uri), $request, null, $context); + } if (isset($options['read_timeout'])) { $readTimeout = $options['read_timeout']; $sec = (int) $readTimeout; @@ -235,27 +259,28 @@ private function createStream(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface return $resource; }); } - private function resolveHost(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) + private function resolveHost(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $uri = $request->getUri(); if (isset($options['force_ip_resolve']) && !\filter_var($uri->getHost(), \FILTER_VALIDATE_IP)) { if ('v4' === $options['force_ip_resolve']) { $records = \dns_get_record($uri->getHost(), \DNS_A); - if (!isset($records[0]['ip'])) { + if (\false === $records || !isset($records[0]['ip'])) { throw new \YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException(\sprintf("Could not resolve IPv4 address for host '%s'", $uri->getHost()), $request); } - $uri = $uri->withHost($records[0]['ip']); - } elseif ('v6' === $options['force_ip_resolve']) { + return $uri->withHost($records[0]['ip']); + } + if ('v6' === $options['force_ip_resolve']) { $records = \dns_get_record($uri->getHost(), \DNS_AAAA); - if (!isset($records[0]['ipv6'])) { + if (\false === $records || !isset($records[0]['ipv6'])) { throw new \YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException(\sprintf("Could not resolve IPv6 address for host '%s'", $uri->getHost()), $request); } - $uri = $uri->withHost('[' . $records[0]['ipv6'] . ']'); + return $uri->withHost('[' . $records[0]['ipv6'] . ']'); } } return $uri; } - private function getDefaultContext(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) + private function getDefaultContext(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) : array { $headers = ''; foreach ($request->getHeaders() as $name => $value) { @@ -263,9 +288,9 @@ private function getDefaultContext(\YoastSEO_Vendor\Psr\Http\Message\RequestInte $headers .= "{$name}: {$val}\r\n"; } } - $context = ['http' => ['method' => $request->getMethod(), 'header' => $headers, 'protocol_version' => $request->getProtocolVersion(), 'ignore_errors' => \true, 'follow_location' => 0]]; + $context = ['http' => ['method' => $request->getMethod(), 'header' => $headers, 'protocol_version' => $request->getProtocolVersion(), 'ignore_errors' => \true, 'follow_location' => 0], 'ssl' => ['peer_name' => $request->getUri()->getHost()]]; $body = (string) $request->getBody(); - if (!empty($body)) { + if ('' !== $body) { $context['http']['content'] = $body; // Prevent the HTTP handler from adding a Content-Type header. if (!$request->hasHeader('Content-Type')) { @@ -275,50 +300,98 @@ private function getDefaultContext(\YoastSEO_Vendor\Psr\Http\Message\RequestInte $context['http']['header'] = \rtrim($context['http']['header']); return $context; } - private function add_proxy(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params) + /** + * @param mixed $value as passed via Request transfer options. + */ + private function add_proxy(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void { + $uri = null; if (!\is_array($value)) { - $options['http']['proxy'] = $value; + $uri = $value; } else { $scheme = $request->getUri()->getScheme(); if (isset($value[$scheme])) { - if (!isset($value['no']) || !\YoastSEO_Vendor\GuzzleHttp\is_host_in_noproxy($request->getUri()->getHost(), $value['no'])) { - $options['http']['proxy'] = $value[$scheme]; + if (!isset($value['no']) || !\YoastSEO_Vendor\GuzzleHttp\Utils::isHostInNoProxy($request->getUri()->getHost(), $value['no'])) { + $uri = $value[$scheme]; } } } + if (!$uri) { + return; + } + $parsed = $this->parse_proxy($uri); + $options['http']['proxy'] = $parsed['proxy']; + if ($parsed['auth']) { + if (!isset($options['http']['header'])) { + $options['http']['header'] = []; + } + $options['http']['header'] .= "\r\nProxy-Authorization: {$parsed['auth']}"; + } } - private function add_timeout(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params) + /** + * Parses the given proxy URL to make it compatible with the format PHP's stream context expects. + */ + private function parse_proxy(string $url) : array + { + $parsed = \parse_url($url); + if ($parsed !== \false && isset($parsed['scheme']) && $parsed['scheme'] === 'http') { + if (isset($parsed['host']) && isset($parsed['port'])) { + $auth = null; + if (isset($parsed['user']) && isset($parsed['pass'])) { + $auth = \base64_encode("{$parsed['user']}:{$parsed['pass']}"); + } + return ['proxy' => "tcp://{$parsed['host']}:{$parsed['port']}", 'auth' => $auth ? "Basic {$auth}" : null]; + } + } + // Return proxy as-is. + return ['proxy' => $url, 'auth' => null]; + } + /** + * @param mixed $value as passed via Request transfer options. + */ + private function add_timeout(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void { if ($value > 0) { $options['http']['timeout'] = $value; } } - private function add_verify(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params) + /** + * @param mixed $value as passed via Request transfer options. + */ + private function add_crypto_method(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void { - if ($value === \true) { - // PHP 5.6 or greater will find the system cert by default. When - // < 5.6, use the Guzzle bundled cacert. - if (\PHP_VERSION_ID < 50600) { - $options['ssl']['cafile'] = \YoastSEO_Vendor\GuzzleHttp\default_ca_bundle(); - } - } elseif (\is_string($value)) { + if ($value === \STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT || $value === \STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT || $value === \STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT || \defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && $value === \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT) { + $options['http']['crypto_method'] = $value; + return; + } + throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided'); + } + /** + * @param mixed $value as passed via Request transfer options. + */ + private function add_verify(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void + { + if ($value === \false) { + $options['ssl']['verify_peer'] = \false; + $options['ssl']['verify_peer_name'] = \false; + return; + } + if (\is_string($value)) { $options['ssl']['cafile'] = $value; if (!\file_exists($value)) { throw new \RuntimeException("SSL CA bundle not found: {$value}"); } - } elseif ($value === \false) { - $options['ssl']['verify_peer'] = \false; - $options['ssl']['verify_peer_name'] = \false; - return; - } else { + } elseif ($value !== \true) { throw new \InvalidArgumentException('Invalid verify request option'); } $options['ssl']['verify_peer'] = \true; $options['ssl']['verify_peer_name'] = \true; $options['ssl']['allow_self_signed'] = \false; } - private function add_cert(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params) + /** + * @param mixed $value as passed via Request transfer options. + */ + private function add_cert(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void { if (\is_array($value)) { $options['ssl']['passphrase'] = $value[1]; @@ -329,26 +402,32 @@ private function add_cert(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $re } $options['ssl']['local_cert'] = $value; } - private function add_progress(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params) + /** + * @param mixed $value as passed via Request transfer options. + */ + private function add_progress(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void { - $this->addNotification($params, function ($code, $a, $b, $c, $transferred, $total) use($value) { + self::addNotification($params, static function ($code, $a, $b, $c, $transferred, $total) use($value) { if ($code == \STREAM_NOTIFY_PROGRESS) { - $value($total, $transferred, null, null); + // The upload progress cannot be determined. Use 0 for cURL compatibility: + // https://curl.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html + $value($total, $transferred, 0, 0); } }); } - private function add_debug(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params) + /** + * @param mixed $value as passed via Request transfer options. + */ + private function add_debug(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void { if ($value === \false) { return; } static $map = [\STREAM_NOTIFY_CONNECT => 'CONNECT', \STREAM_NOTIFY_AUTH_REQUIRED => 'AUTH_REQUIRED', \STREAM_NOTIFY_AUTH_RESULT => 'AUTH_RESULT', \STREAM_NOTIFY_MIME_TYPE_IS => 'MIME_TYPE_IS', \STREAM_NOTIFY_FILE_SIZE_IS => 'FILE_SIZE_IS', \STREAM_NOTIFY_REDIRECTED => 'REDIRECTED', \STREAM_NOTIFY_PROGRESS => 'PROGRESS', \STREAM_NOTIFY_FAILURE => 'FAILURE', \STREAM_NOTIFY_COMPLETED => 'COMPLETED', \STREAM_NOTIFY_RESOLVE => 'RESOLVE']; static $args = ['severity', 'message', 'message_code', 'bytes_transferred', 'bytes_max']; - $value = \YoastSEO_Vendor\GuzzleHttp\debug_resource($value); + $value = \YoastSEO_Vendor\GuzzleHttp\Utils::debugResource($value); $ident = $request->getMethod() . ' ' . $request->getUri()->withFragment(''); - $this->addNotification($params, function () use($ident, $value, $map, $args) { - $passed = \func_get_args(); - $code = \array_shift($passed); + self::addNotification($params, static function (int $code, ...$passed) use($ident, $value, $map, $args) : void { \fprintf($value, '<%s> [%s] ', $ident, $map[$code]); foreach (\array_filter($passed) as $i => $v) { \fwrite($value, $args[$i] . ': "' . $v . '" '); @@ -356,21 +435,20 @@ private function add_debug(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $r \fwrite($value, "\n"); }); } - private function addNotification(array &$params, callable $notify) + private static function addNotification(array &$params, callable $notify) : void { // Wrap the existing function if needed. if (!isset($params['notification'])) { $params['notification'] = $notify; } else { - $params['notification'] = $this->callArray([$params['notification'], $notify]); + $params['notification'] = self::callArray([$params['notification'], $notify]); } } - private function callArray(array $functions) + private static function callArray(array $functions) : callable { - return function () use($functions) { - $args = \func_get_args(); + return static function (...$args) use($functions) { foreach ($functions as $fn) { - \call_user_func_array($fn, $args); + $fn(...$args); } }; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/HandlerStack.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/HandlerStack.php index 117d59727..cb5a23fb1 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/HandlerStack.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/HandlerStack.php @@ -8,14 +8,22 @@ /** * Creates a composed Guzzle handler function by stacking middlewares on top of * an HTTP handler function. + * + * @final */ class HandlerStack { - /** @var callable|null */ + /** + * @var (callable(RequestInterface, array): PromiseInterface)|null + */ private $handler; - /** @var array */ + /** + * @var array{(callable(callable(RequestInterface, array): PromiseInterface): callable), (string|null)}[] + */ private $stack = []; - /** @var callable|null */ + /** + * @var (callable(RequestInterface, array): PromiseInterface)|null + */ private $cached; /** * Creates a default handler stack that can be used by clients. @@ -28,15 +36,13 @@ class HandlerStack * The returned handler stack can be passed to a client in the "handler" * option. * - * @param callable $handler HTTP handler function to use with the stack. If no - * handler is provided, the best handler for your - * system will be utilized. - * - * @return HandlerStack + * @param (callable(RequestInterface, array): PromiseInterface)|null $handler HTTP handler function to use with the stack. If no + * handler is provided, the best handler for your + * system will be utilized. */ - public static function create(callable $handler = null) + public static function create(callable $handler = null) : self { - $stack = new self($handler ?: choose_handler()); + $stack = new self($handler ?: \YoastSEO_Vendor\GuzzleHttp\Utils::chooseHandler()); $stack->push(\YoastSEO_Vendor\GuzzleHttp\Middleware::httpErrors(), 'http_errors'); $stack->push(\YoastSEO_Vendor\GuzzleHttp\Middleware::redirect(), 'allow_redirects'); $stack->push(\YoastSEO_Vendor\GuzzleHttp\Middleware::cookies(), 'cookies'); @@ -44,7 +50,7 @@ public static function create(callable $handler = null) return $stack; } /** - * @param callable $handler Underlying HTTP handler. + * @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler. */ public function __construct(callable $handler = null) { @@ -53,9 +59,6 @@ public function __construct(callable $handler = null) /** * Invokes the handler stack as a composed handler * - * @param RequestInterface $request - * @param array $options - * * @return ResponseInterface|PromiseInterface */ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) @@ -72,14 +75,14 @@ public function __toString() { $depth = 0; $stack = []; - if ($this->handler) { - $stack[] = "0) Handler: " . $this->debugCallable($this->handler); + if ($this->handler !== null) { + $stack[] = '0) Handler: ' . $this->debugCallable($this->handler); } $result = ''; foreach (\array_reverse($this->stack) as $tuple) { - $depth++; + ++$depth; $str = "{$depth}) Name: '{$tuple[1]}', "; - $str .= "Function: " . $this->debugCallable($tuple[0]); + $str .= 'Function: ' . $this->debugCallable($tuple[0]); $result = "> {$str}\n{$result}"; $stack[] = $str; } @@ -91,30 +94,28 @@ public function __toString() /** * Set the HTTP handler that actually returns a promise. * - * @param callable $handler Accepts a request and array of options and - * returns a Promise. + * @param callable(RequestInterface, array): PromiseInterface $handler Accepts a request and array of options and + * returns a Promise. */ - public function setHandler(callable $handler) + public function setHandler(callable $handler) : void { $this->handler = $handler; $this->cached = null; } /** * Returns true if the builder has a handler. - * - * @return bool */ - public function hasHandler() + public function hasHandler() : bool { - return (bool) $this->handler; + return $this->handler !== null; } /** * Unshift a middleware to the bottom of the stack. * - * @param callable $middleware Middleware function - * @param string $name Name to register for this middleware. + * @param callable(callable): callable $middleware Middleware function + * @param string $name Name to register for this middleware. */ - public function unshift(callable $middleware, $name = null) + public function unshift(callable $middleware, string $name = null) : void { \array_unshift($this->stack, [$middleware, $name]); $this->cached = null; @@ -122,10 +123,10 @@ public function unshift(callable $middleware, $name = null) /** * Push a middleware to the top of the stack. * - * @param callable $middleware Middleware function - * @param string $name Name to register for this middleware. + * @param callable(callable): callable $middleware Middleware function + * @param string $name Name to register for this middleware. */ - public function push(callable $middleware, $name = '') + public function push(callable $middleware, string $name = '') : void { $this->stack[] = [$middleware, $name]; $this->cached = null; @@ -133,22 +134,22 @@ public function push(callable $middleware, $name = '') /** * Add a middleware before another middleware by name. * - * @param string $findName Middleware to find - * @param callable $middleware Middleware function - * @param string $withName Name to register for this middleware. + * @param string $findName Middleware to find + * @param callable(callable): callable $middleware Middleware function + * @param string $withName Name to register for this middleware. */ - public function before($findName, callable $middleware, $withName = '') + public function before(string $findName, callable $middleware, string $withName = '') : void { $this->splice($findName, $withName, $middleware, \true); } /** * Add a middleware after another middleware by name. * - * @param string $findName Middleware to find - * @param callable $middleware Middleware function - * @param string $withName Name to register for this middleware. + * @param string $findName Middleware to find + * @param callable(callable): callable $middleware Middleware function + * @param string $withName Name to register for this middleware. */ - public function after($findName, callable $middleware, $withName = '') + public function after(string $findName, callable $middleware, string $withName = '') : void { $this->splice($findName, $withName, $middleware, \false); } @@ -157,37 +158,37 @@ public function after($findName, callable $middleware, $withName = '') * * @param callable|string $remove Middleware to remove by instance or name. */ - public function remove($remove) + public function remove($remove) : void { + if (!\is_string($remove) && !\is_callable($remove)) { + trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a callable or string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__); + } $this->cached = null; $idx = \is_callable($remove) ? 0 : 1; - $this->stack = \array_values(\array_filter($this->stack, function ($tuple) use($idx, $remove) { + $this->stack = \array_values(\array_filter($this->stack, static function ($tuple) use($idx, $remove) { return $tuple[$idx] !== $remove; })); } /** * Compose the middleware and handler into a single callable function. * - * @return callable + * @return callable(RequestInterface, array): PromiseInterface */ - public function resolve() + public function resolve() : callable { - if (!$this->cached) { - if (!($prev = $this->handler)) { + if ($this->cached === null) { + if (($prev = $this->handler) === null) { throw new \LogicException('No handler has been specified'); } foreach (\array_reverse($this->stack) as $fn) { + /** @var callable(RequestInterface, array): PromiseInterface $prev */ $prev = $fn[0]($prev); } $this->cached = $prev; } return $this->cached; } - /** - * @param string $name - * @return int - */ - private function findByName($name) + private function findByName(string $name) : int { foreach ($this->stack as $k => $v) { if ($v[1] === $name) { @@ -198,13 +199,8 @@ private function findByName($name) } /** * Splices a function into the middleware list at a specific position. - * - * @param string $findName - * @param string $withName - * @param callable $middleware - * @param bool $before */ - private function splice($findName, $withName, callable $middleware, $before) + private function splice(string $findName, string $withName, callable $middleware, bool $before) : void { $this->cached = null; $idx = $this->findByName($findName); @@ -226,11 +222,9 @@ private function splice($findName, $withName, callable $middleware, $before) /** * Provides a debug string for a given callable. * - * @param array|callable $fn Function to write as a string. - * - * @return string + * @param callable|string $fn Function to write as a string. */ - private function debugCallable($fn) + private function debugCallable($fn) : string { if (\is_string($fn)) { return "callable({$fn})"; @@ -238,6 +232,7 @@ private function debugCallable($fn) if (\is_array($fn)) { return \is_string($fn[0]) ? "callable({$fn[0]}::{$fn[1]})" : "callable(['" . \get_class($fn[0]) . "', '{$fn[1]}'])"; } + /** @var object $fn */ return 'callable(' . \spl_object_hash($fn) . ')'; } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php index 44ae119d1..ff34387dd 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php @@ -31,38 +31,43 @@ * - {res_headers}: Response headers * - {req_body}: Request body * - {res_body}: Response body + * + * @final */ -class MessageFormatter +class MessageFormatter implements \YoastSEO_Vendor\GuzzleHttp\MessageFormatterInterface { /** * Apache Common Log Format. - * @link http://httpd.apache.org/docs/2.4/logs.html#common + * + * @see https://httpd.apache.org/docs/2.4/logs.html#common + * * @var string */ - const CLF = "{hostname} {req_header_User-Agent} - [{date_common_log}] \"{method} {target} HTTP/{version}\" {code} {res_header_Content-Length}"; - const DEBUG = ">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}"; - const SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}'; - /** @var string Template used to format log messages */ + public const CLF = '{hostname} {req_header_User-Agent} - [{date_common_log}] "{method} {target} HTTP/{version}" {code} {res_header_Content-Length}'; + public const DEBUG = ">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}"; + public const SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}'; + /** + * @var string Template used to format log messages + */ private $template; /** * @param string $template Log message template */ - public function __construct($template = self::CLF) + public function __construct(?string $template = self::CLF) { $this->template = $template ?: self::CLF; } /** * Returns a formatted message string. * - * @param RequestInterface $request Request that was sent - * @param ResponseInterface $response Response that was received - * @param \Exception $error Exception that was received - * - * @return string + * @param RequestInterface $request Request that was sent + * @param ResponseInterface|null $response Response that was received + * @param \Throwable|null $error Exception that was received */ - public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Exception $error = null) + public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Throwable $error = null) : string { $cache = []; + /** @var string */ return \preg_replace_callback('/{\\s*([A-Za-z_\\-\\.0-9]+)\\s*}/', function (array $matches) use($request, $response, $error, &$cache) { if (isset($cache[$matches[1]])) { return $cache[$matches[1]]; @@ -70,10 +75,10 @@ public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $reque $result = ''; switch ($matches[1]) { case 'request': - $result = \YoastSEO_Vendor\GuzzleHttp\Psr7\str($request); + $result = \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::toString($request); break; case 'response': - $result = $response ? \YoastSEO_Vendor\GuzzleHttp\Psr7\str($response) : ''; + $result = $response ? \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::toString($response) : ''; break; case 'req_headers': $result = \trim($request->getMethod() . ' ' . $request->getRequestTarget()) . ' HTTP/' . $request->getProtocolVersion() . "\r\n" . $this->headers($request); @@ -82,10 +87,19 @@ public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $reque $result = $response ? \sprintf('HTTP/%s %d %s', $response->getProtocolVersion(), $response->getStatusCode(), $response->getReasonPhrase()) . "\r\n" . $this->headers($response) : 'NULL'; break; case 'req_body': - $result = $request->getBody(); + $result = $request->getBody()->__toString(); break; case 'res_body': - $result = $response ? $response->getBody() : 'NULL'; + if (!$response instanceof \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface) { + $result = 'NULL'; + break; + } + $body = $response->getBody(); + if (!$body->isSeekable()) { + $result = 'RESPONSE_NOT_LOGGEABLE'; + break; + } + $result = $response->getBody()->__toString(); break; case 'ts': case 'date_iso_8601': @@ -102,7 +116,7 @@ public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $reque break; case 'uri': case 'url': - $result = $request->getUri(); + $result = $request->getUri()->__toString(); break; case 'target': $result = $request->getRequestTarget(); @@ -142,10 +156,8 @@ public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $reque } /** * Get headers from message as string - * - * @return string */ - private function headers(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message) + private function headers(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message) : string { $result = ''; foreach ($message->getHeaders() as $name => $values) { diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php new file mode 100755 index 000000000..a5f80887d --- /dev/null +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php @@ -0,0 +1,17 @@ +withCookieHeader($request); - return $handler($request, $options)->then(function ($response) use($cookieJar, $request) { + return $handler($request, $options)->then(static function (\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) use($cookieJar, $request) : ResponseInterface { $cookieJar->extractCookies($request, $response); return $response; }); @@ -41,23 +42,25 @@ public static function cookies() } /** * Middleware that throws exceptions for 4xx or 5xx responses when the - * "http_error" request option is set to true. + * "http_errors" request option is set to true. * - * @return callable Returns a function that accepts the next handler. + * @param BodySummarizerInterface|null $bodySummarizer The body summarizer to use in exception messages. + * + * @return callable(callable): callable Returns a function that accepts the next handler. */ - public static function httpErrors() + public static function httpErrors(\YoastSEO_Vendor\GuzzleHttp\BodySummarizerInterface $bodySummarizer = null) : callable { - return function (callable $handler) { - return function ($request, array $options) use($handler) { + return static function (callable $handler) use($bodySummarizer) : callable { + return static function ($request, array $options) use($handler, $bodySummarizer) { if (empty($options['http_errors'])) { return $handler($request, $options); } - return $handler($request, $options)->then(function (\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) use($request) { + return $handler($request, $options)->then(static function (\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) use($request, $bodySummarizer) { $code = $response->getStatusCode(); if ($code < 400) { return $response; } - throw \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException::create($request, $response); + throw \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException::create($request, $response, null, [], $bodySummarizer); }); }; }; @@ -65,24 +68,25 @@ public static function httpErrors() /** * Middleware that pushes history data to an ArrayAccess container. * - * @param array|\ArrayAccess $container Container to hold the history (by reference). + * @param array|\ArrayAccess $container Container to hold the history (by reference). + * + * @return callable(callable): callable Returns a function that accepts the next handler. * - * @return callable Returns a function that accepts the next handler. * @throws \InvalidArgumentException if container is not an array or ArrayAccess. */ - public static function history(&$container) + public static function history(&$container) : callable { if (!\is_array($container) && !$container instanceof \ArrayAccess) { throw new \InvalidArgumentException('history container must be an array or object implementing ArrayAccess'); } - return function (callable $handler) use(&$container) { - return function ($request, array $options) use($handler, &$container) { - return $handler($request, $options)->then(function ($value) use($request, &$container, $options) { + return static function (callable $handler) use(&$container) : callable { + return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($handler, &$container) { + return $handler($request, $options)->then(static function ($value) use($request, &$container, $options) { $container[] = ['request' => $request, 'response' => $value, 'error' => null, 'options' => $options]; return $value; - }, function ($reason) use($request, &$container, $options) { + }, static function ($reason) use($request, &$container, $options) { $container[] = ['request' => $request, 'response' => null, 'error' => $reason, 'options' => $options]; - return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($reason); + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($reason); }); }; }; @@ -100,10 +104,10 @@ public static function history(&$container) * * @return callable Returns a function that accepts the next handler. */ - public static function tap(callable $before = null, callable $after = null) + public static function tap(callable $before = null, callable $after = null) : callable { - return function (callable $handler) use($before, $after) { - return function ($request, array $options) use($handler, $before, $after) { + return static function (callable $handler) use($before, $after) : callable { + return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($handler, $before, $after) { if ($before) { $before($request, $options); } @@ -120,9 +124,9 @@ public static function tap(callable $before = null, callable $after = null) * * @return callable Returns a function that accepts the next handler. */ - public static function redirect() + public static function redirect() : callable { - return function (callable $handler) { + return static function (callable $handler) : RedirectMiddleware { return new \YoastSEO_Vendor\GuzzleHttp\RedirectMiddleware($handler); }; } @@ -141,9 +145,9 @@ public static function redirect() * * @return callable Returns a function that accepts the next handler. */ - public static function retry(callable $decider, callable $delay = null) + public static function retry(callable $decider, callable $delay = null) : callable { - return function (callable $handler) use($decider, $delay) { + return static function (callable $handler) use($decider, $delay) : RetryMiddleware { return new \YoastSEO_Vendor\GuzzleHttp\RetryMiddleware($decider, $handler, $delay); }; } @@ -151,25 +155,31 @@ public static function retry(callable $decider, callable $delay = null) * Middleware that logs requests, responses, and errors using a message * formatter. * - * @param LoggerInterface $logger Logs messages. - * @param MessageFormatter $formatter Formatter used to create message strings. - * @param string $logLevel Level at which to log requests. + * @phpstan-param \Psr\Log\LogLevel::* $logLevel Level at which to log requests. + * + * @param LoggerInterface $logger Logs messages. + * @param MessageFormatterInterface|MessageFormatter $formatter Formatter used to create message strings. + * @param string $logLevel Level at which to log requests. * * @return callable Returns a function that accepts the next handler. */ - public static function log(\YoastSEO_Vendor\Psr\Log\LoggerInterface $logger, \YoastSEO_Vendor\GuzzleHttp\MessageFormatter $formatter, $logLevel = 'info') + public static function log(\YoastSEO_Vendor\Psr\Log\LoggerInterface $logger, $formatter, string $logLevel = 'info') : callable { - return function (callable $handler) use($logger, $formatter, $logLevel) { - return function ($request, array $options) use($handler, $logger, $formatter, $logLevel) { - return $handler($request, $options)->then(function ($response) use($logger, $request, $formatter, $logLevel) { + // To be compatible with Guzzle 7.1.x we need to allow users to pass a MessageFormatter + if (!$formatter instanceof \YoastSEO_Vendor\GuzzleHttp\MessageFormatter && !$formatter instanceof \YoastSEO_Vendor\GuzzleHttp\MessageFormatterInterface) { + throw new \LogicException(\sprintf('Argument 2 to %s::log() must be of type %s', self::class, \YoastSEO_Vendor\GuzzleHttp\MessageFormatterInterface::class)); + } + return static function (callable $handler) use($logger, $formatter, $logLevel) : callable { + return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) use($handler, $logger, $formatter, $logLevel) { + return $handler($request, $options)->then(static function ($response) use($logger, $request, $formatter, $logLevel) : ResponseInterface { $message = $formatter->format($request, $response); $logger->log($logLevel, $message); return $response; - }, function ($reason) use($logger, $request, $formatter) { + }, static function ($reason) use($logger, $request, $formatter) : PromiseInterface { $response = $reason instanceof \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException ? $reason->getResponse() : null; - $message = $formatter->format($request, $response, $reason); - $logger->notice($message); - return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($reason); + $message = $formatter->format($request, $response, \YoastSEO_Vendor\GuzzleHttp\Promise\Create::exceptionFor($reason)); + $logger->error($message); + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($reason); }); }; }; @@ -177,12 +187,10 @@ public static function log(\YoastSEO_Vendor\Psr\Log\LoggerInterface $logger, \Yo /** * This middleware adds a default content-type if possible, a default * content-length or transfer-encoding header, and the expect header. - * - * @return callable */ - public static function prepareBody() + public static function prepareBody() : callable { - return function (callable $handler) { + return static function (callable $handler) : PrepareBodyMiddleware { return new \YoastSEO_Vendor\GuzzleHttp\PrepareBodyMiddleware($handler); }; } @@ -192,12 +200,11 @@ public static function prepareBody() * * @param callable $fn Function that accepts a RequestInterface and returns * a RequestInterface. - * @return callable */ - public static function mapRequest(callable $fn) + public static function mapRequest(callable $fn) : callable { - return function (callable $handler) use($fn) { - return function ($request, array $options) use($handler, $fn) { + return static function (callable $handler) use($fn) : callable { + return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($handler, $fn) { return $handler($fn($request), $options); }; }; @@ -208,12 +215,11 @@ public static function mapRequest(callable $fn) * * @param callable $fn Function that accepts a ResponseInterface and * returns a ResponseInterface. - * @return callable */ - public static function mapResponse(callable $fn) + public static function mapResponse(callable $fn) : callable { - return function (callable $handler) use($fn) { - return function ($request, array $options) use($handler, $fn) { + return static function (callable $handler) use($fn) : callable { + return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($handler, $fn) { return $handler($request, $options)->then($fn); }; }; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php index 020b9d056..80bb0dd90 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php @@ -2,6 +2,7 @@ namespace YoastSEO_Vendor\GuzzleHttp; +use YoastSEO_Vendor\GuzzleHttp\Promise as P; use YoastSEO_Vendor\GuzzleHttp\Promise\EachPromise; use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; use YoastSEO_Vendor\GuzzleHttp\Promise\PromisorInterface; @@ -16,27 +17,28 @@ * When a function is yielded by the iterator, the function is provided the * "request_options" array that should be merged on top of any existing * options, and the function MUST then return a wait-able promise. + * + * @final */ class Pool implements \YoastSEO_Vendor\GuzzleHttp\Promise\PromisorInterface { - /** @var EachPromise */ + /** + * @var EachPromise + */ private $each; /** * @param ClientInterface $client Client used to send the requests. * @param array|\Iterator $requests Requests or functions that return * requests to send concurrently. * @param array $config Associative array of options - * - concurrency: (int) Maximum number of requests to send concurrently - * - options: Array of request options to apply to each request. - * - fulfilled: (callable) Function to invoke when a request completes. - * - rejected: (callable) Function to invoke when a request is rejected. + * - concurrency: (int) Maximum number of requests to send concurrently + * - options: Array of request options to apply to each request. + * - fulfilled: (callable) Function to invoke when a request completes. + * - rejected: (callable) Function to invoke when a request is rejected. */ public function __construct(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client, $requests, array $config = []) { - // Backwards compatibility. - if (isset($config['pool_size'])) { - $config['concurrency'] = $config['pool_size']; - } elseif (!isset($config['concurrency'])) { + if (!isset($config['concurrency'])) { $config['concurrency'] = 25; } if (isset($config['options'])) { @@ -45,15 +47,15 @@ public function __construct(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client, } else { $opts = []; } - $iterable = \YoastSEO_Vendor\GuzzleHttp\Promise\iter_for($requests); - $requests = function () use($iterable, $client, $opts) { + $iterable = \YoastSEO_Vendor\GuzzleHttp\Promise\Create::iterFor($requests); + $requests = static function () use($iterable, $client, $opts) { foreach ($iterable as $key => $rfn) { if ($rfn instanceof \YoastSEO_Vendor\Psr\Http\Message\RequestInterface) { (yield $key => $client->sendAsync($rfn, $opts)); } elseif (\is_callable($rfn)) { (yield $key => $rfn($opts)); } else { - throw new \InvalidArgumentException('Each value yielded by ' . 'the iterator must be a Psr7\\Http\\Message\\RequestInterface ' . 'or a callable that returns a promise that fulfills ' . 'with a Psr7\\Message\\Http\\ResponseInterface object.'); + throw new \InvalidArgumentException('Each value yielded by the iterator must be a Psr7\\Http\\Message\\RequestInterface or a callable that returns a promise that fulfills with a Psr7\\Message\\Http\\ResponseInterface object.'); } } }; @@ -61,10 +63,8 @@ public function __construct(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client, } /** * Get promise - * - * @return PromiseInterface */ - public function promise() + public function promise() : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { return $this->each->promise(); } @@ -79,13 +79,14 @@ public function promise() * @param ClientInterface $client Client used to send the requests * @param array|\Iterator $requests Requests to send concurrently. * @param array $options Passes through the options available in - * {@see GuzzleHttp\Pool::__construct} + * {@see \GuzzleHttp\Pool::__construct} * * @return array Returns an array containing the response or an exception * in the same order that the requests were sent. + * * @throws \InvalidArgumentException if the event format is incorrect. */ - public static function batch(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client, $requests, array $options = []) + public static function batch(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client, $requests, array $options = []) : array { $res = []; self::cmpCallback($options, 'fulfilled', $res); @@ -97,18 +98,16 @@ public static function batch(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client } /** * Execute callback(s) - * - * @return void */ - private static function cmpCallback(array &$options, $name, array &$results) + private static function cmpCallback(array &$options, string $name, array &$results) : void { if (!isset($options[$name])) { - $options[$name] = function ($v, $k) use(&$results) { + $options[$name] = static function ($v, $k) use(&$results) { $results[$k] = $v; }; } else { $currentFn = $options[$name]; - $options[$name] = function ($v, $k) use(&$results, $currentFn) { + $options[$name] = static function ($v, $k) use(&$results, $currentFn) { $currentFn($v, $k); $results[$k] = $v; }; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php index 4d026f698..53072583a 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php @@ -3,30 +3,27 @@ namespace YoastSEO_Vendor\GuzzleHttp; use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; -use YoastSEO_Vendor\GuzzleHttp\Psr7; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; /** * Prepares requests that contain a body, adding the Content-Length, * Content-Type, and Expect headers. + * + * @final */ class PrepareBodyMiddleware { - /** @var callable */ + /** + * @var callable(RequestInterface, array): PromiseInterface + */ private $nextHandler; /** - * @param callable $nextHandler Next handler to invoke. + * @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke. */ public function __construct(callable $nextHandler) { $this->nextHandler = $nextHandler; } - /** - * @param RequestInterface $request - * @param array $options - * - * @return PromiseInterface - */ - public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) + public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { $fn = $this->nextHandler; // Don't do anything if the request has no body. @@ -37,7 +34,7 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req // Add a default content-type if possible. if (!$request->hasHeader('Content-Type')) { if ($uri = $request->getBody()->getMetadata('uri')) { - if ($type = \YoastSEO_Vendor\GuzzleHttp\Psr7\mimetype_from_filename($uri)) { + if (\is_string($uri) && ($type = \YoastSEO_Vendor\GuzzleHttp\Psr7\MimeType::fromFilename($uri))) { $modify['set_headers']['Content-Type'] = $type; } } @@ -53,20 +50,18 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req } // Add the expect header if needed. $this->addExpectHeader($request, $options, $modify); - return $fn(\YoastSEO_Vendor\GuzzleHttp\Psr7\modify_request($request, $modify), $options); + return $fn(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::modifyRequest($request, $modify), $options); } /** * Add expect header - * - * @return void */ - private function addExpectHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, array &$modify) + private function addExpectHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, array &$modify) : void { // Determine if the Expect header should be used if ($request->hasHeader('Expect')) { return; } - $expect = isset($options['expect']) ? $options['expect'] : null; + $expect = $options['expect'] ?? null; // Return if disabled or if you're not using HTTP/1.1 or HTTP/2.0 if ($expect === \false || $request->getProtocolVersion() < 1.1) { return; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RedirectMiddleware.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RedirectMiddleware.php index e419c632c..fa5be3c74 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RedirectMiddleware.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RedirectMiddleware.php @@ -5,7 +5,6 @@ use YoastSEO_Vendor\GuzzleHttp\Exception\BadResponseException; use YoastSEO_Vendor\GuzzleHttp\Exception\TooManyRedirectsException; use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; -use YoastSEO_Vendor\GuzzleHttp\Psr7; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface; use YoastSEO_Vendor\Psr\Http\Message\UriInterface; @@ -14,28 +13,29 @@ * * Apply this middleware like other middleware using * {@see \GuzzleHttp\Middleware::redirect()}. + * + * @final */ class RedirectMiddleware { - const HISTORY_HEADER = 'X-Guzzle-Redirect-History'; - const STATUS_HISTORY_HEADER = 'X-Guzzle-Redirect-Status-History'; + public const HISTORY_HEADER = 'X-Guzzle-Redirect-History'; + public const STATUS_HISTORY_HEADER = 'X-Guzzle-Redirect-Status-History'; + /** + * @var array + */ public static $defaultSettings = ['max' => 5, 'protocols' => ['http', 'https'], 'strict' => \false, 'referer' => \false, 'track_redirects' => \false]; - /** @var callable */ + /** + * @var callable(RequestInterface, array): PromiseInterface + */ private $nextHandler; /** - * @param callable $nextHandler Next handler to invoke. + * @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke. */ public function __construct(callable $nextHandler) { $this->nextHandler = $nextHandler; } - /** - * @param RequestInterface $request - * @param array $options - * - * @return PromiseInterface - */ - public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) + public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { $fn = $this->nextHandler; if (empty($options['allow_redirects'])) { @@ -57,27 +57,22 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req }); } /** - * @param RequestInterface $request - * @param array $options - * @param ResponseInterface $response - * * @return ResponseInterface|PromiseInterface */ public function checkRedirect(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) { - if (\substr($response->getStatusCode(), 0, 1) != '3' || !$response->hasHeader('Location')) { + if (\strpos((string) $response->getStatusCode(), '3') !== 0 || !$response->hasHeader('Location')) { return $response; } - $this->guardMax($request, $options); + $this->guardMax($request, $response, $options); $nextRequest = $this->modifyRequest($request, $options, $response); // If authorization is handled by curl, unset it if URI is cross-origin. if (\YoastSEO_Vendor\GuzzleHttp\Psr7\UriComparator::isCrossOrigin($request->getUri(), $nextRequest->getUri()) && \defined('\\CURLOPT_HTTPAUTH')) { unset($options['curl'][\CURLOPT_HTTPAUTH], $options['curl'][\CURLOPT_USERPWD]); } if (isset($options['allow_redirects']['on_redirect'])) { - \call_user_func($options['allow_redirects']['on_redirect'], $request, $response, $nextRequest->getUri()); + $options['allow_redirects']['on_redirect']($request, $response, $nextRequest->getUri()); } - /** @var PromiseInterface|ResponseInterface $promise */ $promise = $this($nextRequest, $options); // Add headers to be able to track history of redirects. if (!empty($options['allow_redirects']['track_redirects'])) { @@ -87,46 +82,35 @@ public function checkRedirect(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface } /** * Enable tracking on promise. - * - * @return PromiseInterface */ - private function withTracking(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise, $uri, $statusCode) + private function withTracking(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise, string $uri, int $statusCode) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { - return $promise->then(function (\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) use($uri, $statusCode) { + return $promise->then(static function (\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) use($uri, $statusCode) { // Note that we are pushing to the front of the list as this // would be an earlier response than what is currently present // in the history header. $historyHeader = $response->getHeader(self::HISTORY_HEADER); $statusHeader = $response->getHeader(self::STATUS_HISTORY_HEADER); \array_unshift($historyHeader, $uri); - \array_unshift($statusHeader, $statusCode); + \array_unshift($statusHeader, (string) $statusCode); return $response->withHeader(self::HISTORY_HEADER, $historyHeader)->withHeader(self::STATUS_HISTORY_HEADER, $statusHeader); }); } /** * Check for too many redirects. * - * @return void - * * @throws TooManyRedirectsException Too many redirects. */ - private function guardMax(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options) + private function guardMax(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response, array &$options) : void { - $current = isset($options['__redirect_count']) ? $options['__redirect_count'] : 0; + $current = $options['__redirect_count'] ?? 0; $options['__redirect_count'] = $current + 1; $max = $options['allow_redirects']['max']; if ($options['__redirect_count'] > $max) { - throw new \YoastSEO_Vendor\GuzzleHttp\Exception\TooManyRedirectsException("Will not follow more than {$max} redirects", $request); + throw new \YoastSEO_Vendor\GuzzleHttp\Exception\TooManyRedirectsException("Will not follow more than {$max} redirects", $request, $response); } } - /** - * @param RequestInterface $request - * @param array $options - * @param ResponseInterface $response - * - * @return RequestInterface - */ - public function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) + public function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { // Request modifications to apply. $modify = []; @@ -136,7 +120,9 @@ public function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface // would do. $statusCode = $response->getStatusCode(); if ($statusCode == 303 || $statusCode <= 302 && !$options['allow_redirects']['strict']) { - $modify['method'] = 'GET'; + $safeMethods = ['GET', 'HEAD', 'OPTIONS']; + $requestMethod = $request->getMethod(); + $modify['method'] = \in_array($requestMethod, $safeMethods) ? $requestMethod : 'GET'; $modify['body'] = ''; } $uri = self::redirectUri($request, $response, $protocols); @@ -145,7 +131,7 @@ public function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $uri = \YoastSEO_Vendor\GuzzleHttp\Utils::idnUriConvert($uri, $idnOptions); } $modify['uri'] = $uri; - \YoastSEO_Vendor\GuzzleHttp\Psr7\rewind_body($request); + \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::rewindBody($request); // Add the Referer header if it is told to do so and only // add the header if we are not redirecting from https to http. if ($options['allow_redirects']['referer'] && $modify['uri']->getScheme() === $request->getUri()->getScheme()) { @@ -159,18 +145,12 @@ public function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $modify['remove_headers'][] = 'Authorization'; $modify['remove_headers'][] = 'Cookie'; } - return \YoastSEO_Vendor\GuzzleHttp\Psr7\modify_request($request, $modify); + return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::modifyRequest($request, $modify); } /** * Set the appropriate URL on the request based on the location header. - * - * @param RequestInterface $request - * @param ResponseInterface $response - * @param array $protocols - * - * @return UriInterface */ - private static function redirectUri(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response, array $protocols) + private static function redirectUri(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response, array $protocols) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $location = \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::resolve($request->getUri(), new \YoastSEO_Vendor\GuzzleHttp\Psr7\Uri($response->getHeaderLine('Location'))); // Ensure that the redirect URI is allowed based on the protocols. diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php index f5ed9a118..6cdc584e8 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php @@ -7,7 +7,7 @@ * * More documentation for each option can be found at http://guzzlephp.org/. * - * @link http://docs.guzzlephp.org/en/v6/request-options.html + * @see http://docs.guzzlephp.org/en/v6/request-options.html */ final class RequestOptions { @@ -32,7 +32,7 @@ final class RequestOptions * response that was received, and the effective URI. Any return value * from the on_redirect function is ignored. */ - const ALLOW_REDIRECTS = 'allow_redirects'; + public const ALLOW_REDIRECTS = 'allow_redirects'; /** * auth: (array) Pass an array of HTTP authentication parameters to use * with the request. The array must contain the username in index [0], @@ -40,12 +40,12 @@ final class RequestOptions * authentication type in index [2]. Pass null to disable authentication * for a request. */ - const AUTH = 'auth'; + public const AUTH = 'auth'; /** * body: (resource|string|null|int|float|StreamInterface|callable|\Iterator) * Body to send in the request. */ - const BODY = 'body'; + public const BODY = 'body'; /** * cert: (string|array) Set to a string to specify the path to a file * containing a PEM formatted SSL client side certificate. If a password @@ -53,37 +53,48 @@ final class RequestOptions * file in the first array element followed by the certificate password * in the second array element. */ - const CERT = 'cert'; + public const CERT = 'cert'; /** * cookies: (bool|GuzzleHttp\Cookie\CookieJarInterface, default=false) * Specifies whether or not cookies are used in a request or what cookie * jar to use or what cookies to send. This option only works if your * handler has the `cookie` middleware. Valid values are `false` and - * an instance of {@see GuzzleHttp\Cookie\CookieJarInterface}. + * an instance of {@see \GuzzleHttp\Cookie\CookieJarInterface}. */ - const COOKIES = 'cookies'; + public const COOKIES = 'cookies'; /** * connect_timeout: (float, default=0) Float describing the number of * seconds to wait while trying to connect to a server. Use 0 to wait - * indefinitely (the default behavior). + * 300 seconds (the default behavior). */ - const CONNECT_TIMEOUT = 'connect_timeout'; + public const CONNECT_TIMEOUT = 'connect_timeout'; + /** + * crypto_method: (int) A value describing the minimum TLS protocol + * version to use. + * + * This setting must be set to one of the + * ``STREAM_CRYPTO_METHOD_TLS*_CLIENT`` constants. PHP 7.4 or higher is + * required in order to use TLS 1.3, and cURL 7.34.0 or higher is required + * in order to specify a crypto method, with cURL 7.52.0 or higher being + * required to use TLS 1.3. + */ + public const CRYPTO_METHOD = 'crypto_method'; /** * debug: (bool|resource) Set to true or set to a PHP stream returned by * fopen() enable debug output with the HTTP handler used to send a * request. */ - const DEBUG = 'debug'; + public const DEBUG = 'debug'; /** * decode_content: (bool, default=true) Specify whether or not * Content-Encoding responses (gzip, deflate, etc.) are automatically * decoded. */ - const DECODE_CONTENT = 'decode_content'; + public const DECODE_CONTENT = 'decode_content'; /** * delay: (int) The amount of time to delay before sending in milliseconds. */ - const DELAY = 'delay'; + public const DELAY = 'delay'; /** * expect: (bool|integer) Controls the behavior of the * "Expect: 100-Continue" header. @@ -100,39 +111,39 @@ final class RequestOptions * size of the body of a request is greater than 1 MB and a request is * using HTTP/1.1. */ - const EXPECT = 'expect'; + public const EXPECT = 'expect'; /** * form_params: (array) Associative array of form field names to values * where each value is a string or array of strings. Sets the Content-Type * header to application/x-www-form-urlencoded when no Content-Type header * is already present. */ - const FORM_PARAMS = 'form_params'; + public const FORM_PARAMS = 'form_params'; /** * headers: (array) Associative array of HTTP headers. Each value MUST be * a string or array of strings. */ - const HEADERS = 'headers'; + public const HEADERS = 'headers'; /** * http_errors: (bool, default=true) Set to false to disable exceptions * when a non- successful HTTP response is received. By default, * exceptions will be thrown for 4xx and 5xx responses. This option only * works if your handler has the `httpErrors` middleware. */ - const HTTP_ERRORS = 'http_errors'; + public const HTTP_ERRORS = 'http_errors'; /** * idn: (bool|int, default=true) A combination of IDNA_* constants for * idn_to_ascii() PHP's function (see "options" parameter). Set to false to * disable IDN support completely, or to true to use the default * configuration (IDNA_DEFAULT constant). */ - const IDN_CONVERSION = 'idn_conversion'; + public const IDN_CONVERSION = 'idn_conversion'; /** * json: (mixed) Adds JSON data to a request. The provided value is JSON * encoded and a Content-Type header of application/json will be added to * the request if no Content-Type header is already present. */ - const JSON = 'json'; + public const JSON = 'json'; /** * multipart: (array) Array of associative arrays, each containing a * required "name" key mapping to the form field, name, a required @@ -142,13 +153,13 @@ final class RequestOptions * the part. If no "filename" key is present, then no "filename" attribute * will be added to the part. */ - const MULTIPART = 'multipart'; + public const MULTIPART = 'multipart'; /** * on_headers: (callable) A callable that is invoked when the HTTP headers * of the response have been received but the body has not yet begun to * download. */ - const ON_HEADERS = 'on_headers'; + public const ON_HEADERS = 'on_headers'; /** * on_stats: (callable) allows you to get access to transfer statistics of * a request and access the lower level transfer details of the handler @@ -158,7 +169,7 @@ final class RequestOptions * the error encountered. Included in the data is the total amount of time * taken to send the request. */ - const ON_STATS = 'on_stats'; + public const ON_STATS = 'on_stats'; /** * progress: (callable) Defines a function to invoke when transfer * progress is made. The function accepts the following positional @@ -166,45 +177,45 @@ final class RequestOptions * number of bytes downloaded so far, the number of bytes expected to be * uploaded, the number of bytes uploaded so far. */ - const PROGRESS = 'progress'; + public const PROGRESS = 'progress'; /** * proxy: (string|array) Pass a string to specify an HTTP proxy, or an * array to specify different proxies for different protocols (where the * key is the protocol and the value is a proxy string). */ - const PROXY = 'proxy'; + public const PROXY = 'proxy'; /** * query: (array|string) Associative array of query string values to add * to the request. This option uses PHP's http_build_query() to create * the string representation. Pass a string value if you need more * control than what this method provides */ - const QUERY = 'query'; + public const QUERY = 'query'; /** * sink: (resource|string|StreamInterface) Where the data of the * response is written to. Defaults to a PHP temp stream. Providing a * string will write data to a file by the given name. */ - const SINK = 'sink'; + public const SINK = 'sink'; /** * synchronous: (bool) Set to true to inform HTTP handlers that you intend * on waiting on the response. This can be useful for optimizations. Note * that a promise is still returned if you are using one of the async * client methods. */ - const SYNCHRONOUS = 'synchronous'; + public const SYNCHRONOUS = 'synchronous'; /** * ssl_key: (array|string) Specify the path to a file containing a private * SSL key in PEM format. If a password is required, then set to an array * containing the path to the SSL key in the first array element followed * by the password required for the certificate in the second element. */ - const SSL_KEY = 'ssl_key'; + public const SSL_KEY = 'ssl_key'; /** * stream: Set to true to attempt to stream a response rather than * download it all up-front. */ - const STREAM = 'stream'; + public const STREAM = 'stream'; /** * verify: (bool|string, default=true) Describes the SSL certificate * verification behavior of a request. Set to true to enable SSL @@ -213,23 +224,23 @@ final class RequestOptions * is insecure!). Set to a string to provide the path to a CA bundle on * disk to enable verification using a custom certificate. */ - const VERIFY = 'verify'; + public const VERIFY = 'verify'; /** * timeout: (float, default=0) Float describing the timeout of the * request in seconds. Use 0 to wait indefinitely (the default behavior). */ - const TIMEOUT = 'timeout'; + public const TIMEOUT = 'timeout'; /** * read_timeout: (float, default=default_socket_timeout ini setting) Float describing * the body read timeout, for stream requests. */ - const READ_TIMEOUT = 'read_timeout'; + public const READ_TIMEOUT = 'read_timeout'; /** * version: (float) Specifies the HTTP protocol version to attempt to use. */ - const VERSION = 'version'; + public const VERSION = 'version'; /** * force_ip_resolve: (bool) Force client to use only ipv4 or ipv6 protocol */ - const FORCE_IP_RESOLVE = 'force_ip_resolve'; + public const FORCE_IP_RESOLVE = 'force_ip_resolve'; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php index b7abab172..717da9e59 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php @@ -2,32 +2,39 @@ namespace YoastSEO_Vendor\GuzzleHttp; +use YoastSEO_Vendor\GuzzleHttp\Promise as P; use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; -use YoastSEO_Vendor\GuzzleHttp\Promise\RejectedPromise; -use YoastSEO_Vendor\GuzzleHttp\Psr7; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface; /** * Middleware that retries requests based on the boolean result of * invoking the provided "decider" function. + * + * @final */ class RetryMiddleware { - /** @var callable */ + /** + * @var callable(RequestInterface, array): PromiseInterface + */ private $nextHandler; - /** @var callable */ + /** + * @var callable + */ private $decider; - /** @var callable */ + /** + * @var callable(int) + */ private $delay; /** - * @param callable $decider Function that accepts the number of retries, - * a request, [response], and [exception] and - * returns true if the request is to be - * retried. - * @param callable $nextHandler Next handler to invoke. - * @param callable $delay Function that accepts the number of retries - * and [response] and returns the number of - * milliseconds to delay. + * @param callable $decider Function that accepts the number of retries, + * a request, [response], and [exception] and + * returns true if the request is to be + * retried. + * @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke. + * @param (callable(int): int)|null $delay Function that accepts the number of retries + * and returns the number of + * milliseconds to delay. */ public function __construct(callable $decider, callable $nextHandler, callable $delay = null) { @@ -38,21 +45,13 @@ public function __construct(callable $decider, callable $nextHandler, callable $ /** * Default exponential backoff delay function. * - * @param int $retries - * * @return int milliseconds. */ - public static function exponentialDelay($retries) + public static function exponentialDelay(int $retries) : int { - return (int) \pow(2, $retries - 1) * 1000; + return (int) 2 ** ($retries - 1) * 1000; } - /** - * @param RequestInterface $request - * @param array $options - * - * @return PromiseInterface - */ - public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) + public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { if (!isset($options['retries'])) { $options['retries'] = 0; @@ -62,38 +61,31 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req } /** * Execute fulfilled closure - * - * @return mixed */ - private function onFulfilled(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req, array $options) + private function onFulfilled(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : callable { - return function ($value) use($req, $options) { - if (!\call_user_func($this->decider, $options['retries'], $req, $value, null)) { + return function ($value) use($request, $options) { + if (!($this->decider)($options['retries'], $request, $value, null)) { return $value; } - return $this->doRetry($req, $options, $value); + return $this->doRetry($request, $options, $value); }; } /** * Execute rejected closure - * - * @return callable */ - private function onRejected(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req, array $options) + private function onRejected(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req, array $options) : callable { return function ($reason) use($req, $options) { - if (!\call_user_func($this->decider, $options['retries'], $req, null, $reason)) { - return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($reason); + if (!($this->decider)($options['retries'], $req, null, $reason)) { + return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($reason); } return $this->doRetry($req, $options); }; } - /** - * @return self - */ - private function doRetry(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null) + private function doRetry(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { - $options['delay'] = \call_user_func($this->delay, ++$options['retries'], $response); + $options['delay'] = ($this->delay)(++$options['retries'], $response, $request); return $this($request, $options); } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php index feafb69ca..f293e07a7 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php @@ -11,10 +11,25 @@ */ final class TransferStats { + /** + * @var RequestInterface + */ private $request; + /** + * @var ResponseInterface|null + */ private $response; + /** + * @var float|null + */ private $transferTime; + /** + * @var array + */ private $handlerStats; + /** + * @var mixed|null + */ private $handlerErrorData; /** * @param RequestInterface $request Request that was sent. @@ -23,7 +38,7 @@ final class TransferStats * @param mixed $handlerErrorData Handler error data. * @param array $handlerStats Handler specific stats. */ - public function __construct(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, $transferTime = null, $handlerErrorData = null, $handlerStats = []) + public function __construct(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, float $transferTime = null, $handlerErrorData = null, array $handlerStats = []) { $this->request = $request; $this->response = $response; @@ -31,28 +46,21 @@ public function __construct(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $ $this->handlerErrorData = $handlerErrorData; $this->handlerStats = $handlerStats; } - /** - * @return RequestInterface - */ - public function getRequest() + public function getRequest() : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { return $this->request; } /** * Returns the response that was received (if any). - * - * @return ResponseInterface|null */ - public function getResponse() + public function getResponse() : ?\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface { return $this->response; } /** * Returns true if a response was received. - * - * @return bool */ - public function hasResponse() + public function hasResponse() : bool { return $this->response !== null; } @@ -71,10 +79,8 @@ public function getHandlerErrorData() } /** * Get the effective URI the request was sent to. - * - * @return UriInterface */ - public function getEffectiveUri() + public function getEffectiveUri() : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { return $this->request->getUri(); } @@ -83,16 +89,14 @@ public function getEffectiveUri() * * @return float|null Time in seconds. */ - public function getTransferTime() + public function getTransferTime() : ?float { return $this->transferTime; } /** * Gets an array of all of the handler specific transfer data. - * - * @return array */ - public function getHandlerStats() + public function getHandlerStats() : array { return $this->handlerStats; } @@ -103,8 +107,8 @@ public function getHandlerStats() * * @return mixed|null */ - public function getHandlerStat($stat) + public function getHandlerStat(string $stat) { - return isset($this->handlerStats[$stat]) ? $this->handlerStats[$stat] : null; + return $this->handlerStats[$stat] ?? null; } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php deleted file mode 100755 index 4e94678aa..000000000 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php +++ /dev/null @@ -1,191 +0,0 @@ - ['prefix' => '', 'joiner' => ',', 'query' => \false], '+' => ['prefix' => '', 'joiner' => ',', 'query' => \false], '#' => ['prefix' => '#', 'joiner' => ',', 'query' => \false], '.' => ['prefix' => '.', 'joiner' => '.', 'query' => \false], '/' => ['prefix' => '/', 'joiner' => '/', 'query' => \false], ';' => ['prefix' => ';', 'joiner' => ';', 'query' => \true], '?' => ['prefix' => '?', 'joiner' => '&', 'query' => \true], '&' => ['prefix' => '&', 'joiner' => '&', 'query' => \true]]; - /** @var array Delimiters */ - private static $delims = [':', '/', '?', '#', '[', ']', '@', '!', '$', '&', '\'', '(', ')', '*', '+', ',', ';', '=']; - /** @var array Percent encoded delimiters */ - private static $delimsPct = ['%3A', '%2F', '%3F', '%23', '%5B', '%5D', '%40', '%21', '%24', '%26', '%27', '%28', '%29', '%2A', '%2B', '%2C', '%3B', '%3D']; - public function expand($template, array $variables) - { - if (\false === \strpos($template, '{')) { - return $template; - } - $this->template = $template; - $this->variables = $variables; - return \preg_replace_callback('/\\{([^\\}]+)\\}/', [$this, 'expandMatch'], $this->template); - } - /** - * Parse an expression into parts - * - * @param string $expression Expression to parse - * - * @return array Returns an associative array of parts - */ - private function parseExpression($expression) - { - $result = []; - if (isset(self::$operatorHash[$expression[0]])) { - $result['operator'] = $expression[0]; - $expression = \substr($expression, 1); - } else { - $result['operator'] = ''; - } - foreach (\explode(',', $expression) as $value) { - $value = \trim($value); - $varspec = []; - if ($colonPos = \strpos($value, ':')) { - $varspec['value'] = \substr($value, 0, $colonPos); - $varspec['modifier'] = ':'; - $varspec['position'] = (int) \substr($value, $colonPos + 1); - } elseif (\substr($value, -1) === '*') { - $varspec['modifier'] = '*'; - $varspec['value'] = \substr($value, 0, -1); - } else { - $varspec['value'] = (string) $value; - $varspec['modifier'] = ''; - } - $result['values'][] = $varspec; - } - return $result; - } - /** - * Process an expansion - * - * @param array $matches Matches met in the preg_replace_callback - * - * @return string Returns the replacement string - */ - private function expandMatch(array $matches) - { - static $rfc1738to3986 = ['+' => '%20', '%7e' => '~']; - $replacements = []; - $parsed = self::parseExpression($matches[1]); - $prefix = self::$operatorHash[$parsed['operator']]['prefix']; - $joiner = self::$operatorHash[$parsed['operator']]['joiner']; - $useQuery = self::$operatorHash[$parsed['operator']]['query']; - foreach ($parsed['values'] as $value) { - if (!isset($this->variables[$value['value']])) { - continue; - } - $variable = $this->variables[$value['value']]; - $actuallyUseQuery = $useQuery; - $expanded = ''; - if (\is_array($variable)) { - $isAssoc = $this->isAssoc($variable); - $kvp = []; - foreach ($variable as $key => $var) { - if ($isAssoc) { - $key = \rawurlencode($key); - $isNestedArray = \is_array($var); - } else { - $isNestedArray = \false; - } - if (!$isNestedArray) { - $var = \rawurlencode($var); - if ($parsed['operator'] === '+' || $parsed['operator'] === '#') { - $var = $this->decodeReserved($var); - } - } - if ($value['modifier'] === '*') { - if ($isAssoc) { - if ($isNestedArray) { - // Nested arrays must allow for deeply nested - // structures. - $var = \strtr(\http_build_query([$key => $var]), $rfc1738to3986); - } else { - $var = $key . '=' . $var; - } - } elseif ($key > 0 && $actuallyUseQuery) { - $var = $value['value'] . '=' . $var; - } - } - $kvp[$key] = $var; - } - if (empty($variable)) { - $actuallyUseQuery = \false; - } elseif ($value['modifier'] === '*') { - $expanded = \implode($joiner, $kvp); - if ($isAssoc) { - // Don't prepend the value name when using the explode - // modifier with an associative array. - $actuallyUseQuery = \false; - } - } else { - if ($isAssoc) { - // When an associative array is encountered and the - // explode modifier is not set, then the result must be - // a comma separated list of keys followed by their - // respective values. - foreach ($kvp as $k => &$v) { - $v = $k . ',' . $v; - } - } - $expanded = \implode(',', $kvp); - } - } else { - if ($value['modifier'] === ':') { - $variable = \substr($variable, 0, $value['position']); - } - $expanded = \rawurlencode($variable); - if ($parsed['operator'] === '+' || $parsed['operator'] === '#') { - $expanded = $this->decodeReserved($expanded); - } - } - if ($actuallyUseQuery) { - if (!$expanded && $joiner !== '&') { - $expanded = $value['value']; - } else { - $expanded = $value['value'] . '=' . $expanded; - } - } - $replacements[] = $expanded; - } - $ret = \implode($joiner, $replacements); - if ($ret && $prefix) { - return $prefix . $ret; - } - return $ret; - } - /** - * Determines if an array is associative. - * - * This makes the assumption that input arrays are sequences or hashes. - * This assumption is a tradeoff for accuracy in favor of speed, but it - * should work in almost every case where input is supplied for a URI - * template. - * - * @param array $array Array to check - * - * @return bool - */ - private function isAssoc(array $array) - { - return $array && \array_keys($array)[0] !== 0; - } - /** - * Removes percent encoding on reserved characters (used with + and # - * modifiers). - * - * @param string $string String to fix - * - * @return string - */ - private function decodeReserved($string) - { - return \str_replace(self::$delimsPct, self::$delims, $string); - } -} diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php index a4285d094..fa575bbd6 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php @@ -3,37 +3,296 @@ namespace YoastSEO_Vendor\GuzzleHttp; use YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException; +use YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler; +use YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler; +use YoastSEO_Vendor\GuzzleHttp\Handler\Proxy; +use YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler; use YoastSEO_Vendor\Psr\Http\Message\UriInterface; -use YoastSEO_Vendor\Symfony\Polyfill\Intl\Idn\Idn; final class Utils { + /** + * Debug function used to describe the provided value type and class. + * + * @param mixed $input + * + * @return string Returns a string containing the type of the variable and + * if a class is provided, the class name. + */ + public static function describeType($input) : string + { + switch (\gettype($input)) { + case 'object': + return 'object(' . \get_class($input) . ')'; + case 'array': + return 'array(' . \count($input) . ')'; + default: + \ob_start(); + \var_dump($input); + // normalize float vs double + /** @var string $varDumpContent */ + $varDumpContent = \ob_get_clean(); + return \str_replace('double(', 'float(', \rtrim($varDumpContent)); + } + } + /** + * Parses an array of header lines into an associative array of headers. + * + * @param iterable $lines Header lines array of strings in the following + * format: "Name: Value" + */ + public static function headersFromLines(iterable $lines) : array + { + $headers = []; + foreach ($lines as $line) { + $parts = \explode(':', $line, 2); + $headers[\trim($parts[0])][] = isset($parts[1]) ? \trim($parts[1]) : null; + } + return $headers; + } + /** + * Returns a debug stream based on the provided variable. + * + * @param mixed $value Optional value + * + * @return resource + */ + public static function debugResource($value = null) + { + if (\is_resource($value)) { + return $value; + } + if (\defined('STDOUT')) { + return \STDOUT; + } + return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w'); + } + /** + * Chooses and creates a default handler to use based on the environment. + * + * The returned handler is not wrapped by any default middlewares. + * + * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system. + * + * @throws \RuntimeException if no viable Handler is available. + */ + public static function chooseHandler() : callable + { + $handler = null; + if (\defined('CURLOPT_CUSTOMREQUEST')) { + if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) { + $handler = \YoastSEO_Vendor\GuzzleHttp\Handler\Proxy::wrapSync(new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler(), new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler()); + } elseif (\function_exists('curl_exec')) { + $handler = new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler(); + } elseif (\function_exists('curl_multi_exec')) { + $handler = new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler(); + } + } + if (\ini_get('allow_url_fopen')) { + $handler = $handler ? \YoastSEO_Vendor\GuzzleHttp\Handler\Proxy::wrapStreaming($handler, new \YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler()) : new \YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler(); + } elseif (!$handler) { + throw new \RuntimeException('GuzzleHttp requires cURL, the allow_url_fopen ini setting, or a custom HTTP handler.'); + } + return $handler; + } + /** + * Get the default User-Agent string to use with Guzzle. + */ + public static function defaultUserAgent() : string + { + return \sprintf('GuzzleHttp/%d', \YoastSEO_Vendor\GuzzleHttp\ClientInterface::MAJOR_VERSION); + } + /** + * Returns the default cacert bundle for the current system. + * + * First, the openssl.cafile and curl.cainfo php.ini settings are checked. + * If those settings are not configured, then the common locations for + * bundles found on Red Hat, CentOS, Fedora, Ubuntu, Debian, FreeBSD, OS X + * and Windows are checked. If any of these file locations are found on + * disk, they will be utilized. + * + * Note: the result of this function is cached for subsequent calls. + * + * @throws \RuntimeException if no bundle can be found. + * + * @deprecated Utils::defaultCaBundle will be removed in guzzlehttp/guzzle:8.0. This method is not needed in PHP 5.6+. + */ + public static function defaultCaBundle() : string + { + static $cached = null; + static $cafiles = [ + // Red Hat, CentOS, Fedora (provided by the ca-certificates package) + '/etc/pki/tls/certs/ca-bundle.crt', + // Ubuntu, Debian (provided by the ca-certificates package) + '/etc/ssl/certs/ca-certificates.crt', + // FreeBSD (provided by the ca_root_nss package) + '/usr/local/share/certs/ca-root-nss.crt', + // SLES 12 (provided by the ca-certificates package) + '/var/lib/ca-certificates/ca-bundle.pem', + // OS X provided by homebrew (using the default path) + '/usr/local/etc/openssl/cert.pem', + // Google app engine + '/etc/ca-certificates.crt', + // Windows? + 'C:\\windows\\system32\\curl-ca-bundle.crt', + 'C:\\windows\\curl-ca-bundle.crt', + ]; + if ($cached) { + return $cached; + } + if ($ca = \ini_get('openssl.cafile')) { + return $cached = $ca; + } + if ($ca = \ini_get('curl.cainfo')) { + return $cached = $ca; + } + foreach ($cafiles as $filename) { + if (\file_exists($filename)) { + return $cached = $filename; + } + } + throw new \RuntimeException(<<getHost()) { $asciiHost = self::idnToAsci($uri->getHost(), $options, $info); if ($asciiHost === \false) { - $errorBitSet = isset($info['errors']) ? $info['errors'] : 0; - $errorConstants = \array_filter(\array_keys(\get_defined_constants()), function ($name) { + $errorBitSet = $info['errors'] ?? 0; + $errorConstants = \array_filter(\array_keys(\get_defined_constants()), static function (string $name) : bool { return \substr($name, 0, 11) === 'IDNA_ERROR_'; }); $errors = []; @@ -47,36 +306,35 @@ public static function idnUriConvert(\YoastSEO_Vendor\Psr\Http\Message\UriInterf $errorMessage .= ' (errors: ' . \implode(', ', $errors) . ')'; } throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException($errorMessage); - } else { - if ($uri->getHost() !== $asciiHost) { - // Replace URI only if the ASCII version is different - $uri = $uri->withHost($asciiHost); - } + } + if ($uri->getHost() !== $asciiHost) { + // Replace URI only if the ASCII version is different + $uri = $uri->withHost($asciiHost); } } return $uri; } /** - * @param string $domain - * @param int $options - * @param array $info - * - * @return string|false + * @internal */ - private static function idnToAsci($domain, $options, &$info = []) + public static function getenv(string $name) : ?string { - if (\preg_match('%^[ -~]+$%', $domain) === 1) { - return $domain; + if (isset($_SERVER[$name])) { + return (string) $_SERVER[$name]; } - if (\extension_loaded('intl') && \defined('INTL_IDNA_VARIANT_UTS46')) { - return \idn_to_ascii($domain, $options, \INTL_IDNA_VARIANT_UTS46, $info); + if (\PHP_SAPI === 'cli' && ($value = \getenv($name)) !== \false && $value !== null) { + return (string) $value; } - /* - * The Idn class is marked as @internal. Verify that class and method exists. - */ - if (\method_exists(\YoastSEO_Vendor\Symfony\Polyfill\Intl\Idn\Idn::class, 'idn_to_ascii')) { - return \YoastSEO_Vendor\Symfony\Polyfill\Intl\Idn\Idn::idn_to_ascii($domain, $options, \YoastSEO_Vendor\Symfony\Polyfill\Intl\Idn\Idn::INTL_IDNA_VARIANT_UTS46, $info); + return null; + } + /** + * @return string|false + */ + private static function idnToAsci(string $domain, int $options, ?array &$info = []) + { + if (\function_exists('idn_to_ascii') && \defined('INTL_IDNA_VARIANT_UTS46')) { + return \idn_to_ascii($domain, $options, \INTL_IDNA_VARIANT_UTS46, $info); } - throw new \RuntimeException('ext-intl or symfony/polyfill-intl-idn not loaded or too old'); + throw new \Error('ext-idn or symfony/polyfill-intl-idn not loaded or too old'); } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/functions.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/functions.php index 0374ef013..42c83bf99 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/functions.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/functions.php @@ -2,68 +2,32 @@ namespace YoastSEO_Vendor\GuzzleHttp; -use YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler; -use YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler; -use YoastSEO_Vendor\GuzzleHttp\Handler\Proxy; -use YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler; -/** - * Expands a URI template - * - * @param string $template URI template - * @param array $variables Template variables - * - * @return string - */ -function uri_template($template, array $variables) -{ - if (\extension_loaded('uri_template')) { - // @codeCoverageIgnoreStart - return \YoastSEO_Vendor\uri_template($template, $variables); - // @codeCoverageIgnoreEnd - } - static $uriTemplate; - if (!$uriTemplate) { - $uriTemplate = new \YoastSEO_Vendor\GuzzleHttp\UriTemplate(); - } - return $uriTemplate->expand($template, $variables); -} /** * Debug function used to describe the provided value type and class. * - * @param mixed $input + * @param mixed $input Any type of variable to describe the type of. This + * parameter misses a typehint because of that. * * @return string Returns a string containing the type of the variable and * if a class is provided, the class name. + * + * @deprecated describe_type will be removed in guzzlehttp/guzzle:8.0. Use Utils::describeType instead. */ -function describe_type($input) +function describe_type($input) : string { - switch (\gettype($input)) { - case 'object': - return 'object(' . \get_class($input) . ')'; - case 'array': - return 'array(' . \count($input) . ')'; - default: - \ob_start(); - \var_dump($input); - // normalize float vs double - return \str_replace('double(', 'float(', \rtrim(\ob_get_clean())); - } + return \YoastSEO_Vendor\GuzzleHttp\Utils::describeType($input); } /** * Parses an array of header lines into an associative array of headers. * * @param iterable $lines Header lines array of strings in the following - * format: "Name: Value" - * @return array + * format: "Name: Value" + * + * @deprecated headers_from_lines will be removed in guzzlehttp/guzzle:8.0. Use Utils::headersFromLines instead. */ -function headers_from_lines($lines) +function headers_from_lines(iterable $lines) : array { - $headers = []; - foreach ($lines as $line) { - $parts = \explode(':', $line, 2); - $headers[\trim($parts[0])][] = isset($parts[1]) ? \trim($parts[1]) : null; - } - return $headers; + return \YoastSEO_Vendor\GuzzleHttp\Utils::headersFromLines($lines); } /** * Returns a debug stream based on the provided variable. @@ -71,57 +35,36 @@ function headers_from_lines($lines) * @param mixed $value Optional value * * @return resource + * + * @deprecated debug_resource will be removed in guzzlehttp/guzzle:8.0. Use Utils::debugResource instead. */ function debug_resource($value = null) { - if (\is_resource($value)) { - return $value; - } elseif (\defined('STDOUT')) { - return \STDOUT; - } - return \fopen('php://output', 'w'); + return \YoastSEO_Vendor\GuzzleHttp\Utils::debugResource($value); } /** * Chooses and creates a default handler to use based on the environment. * * The returned handler is not wrapped by any default middlewares. * - * @return callable Returns the best handler for the given system. + * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system. + * * @throws \RuntimeException if no viable Handler is available. + * + * @deprecated choose_handler will be removed in guzzlehttp/guzzle:8.0. Use Utils::chooseHandler instead. */ -function choose_handler() +function choose_handler() : callable { - $handler = null; - if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) { - $handler = \YoastSEO_Vendor\GuzzleHttp\Handler\Proxy::wrapSync(new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler(), new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler()); - } elseif (\function_exists('curl_exec')) { - $handler = new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler(); - } elseif (\function_exists('curl_multi_exec')) { - $handler = new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler(); - } - if (\ini_get('allow_url_fopen')) { - $handler = $handler ? \YoastSEO_Vendor\GuzzleHttp\Handler\Proxy::wrapStreaming($handler, new \YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler()) : new \YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler(); - } elseif (!$handler) { - throw new \RuntimeException('GuzzleHttp requires cURL, the ' . 'allow_url_fopen ini setting, or a custom HTTP handler.'); - } - return $handler; + return \YoastSEO_Vendor\GuzzleHttp\Utils::chooseHandler(); } /** - * Get the default User-Agent string to use with Guzzle + * Get the default User-Agent string to use with Guzzle. * - * @return string + * @deprecated default_user_agent will be removed in guzzlehttp/guzzle:8.0. Use Utils::defaultUserAgent instead. */ -function default_user_agent() +function default_user_agent() : string { - static $defaultAgent = ''; - if (!$defaultAgent) { - $defaultAgent = 'GuzzleHttp/' . \YoastSEO_Vendor\GuzzleHttp\Client::VERSION; - if (\extension_loaded('curl') && \function_exists('curl_version')) { - $defaultAgent .= ' curl/' . \curl_version()['version']; - } - $defaultAgent .= ' PHP/' . \PHP_VERSION; - } - return $defaultAgent; + return \YoastSEO_Vendor\GuzzleHttp\Utils::defaultUserAgent(); } /** * Returns the default cacert bundle for the current system. @@ -134,74 +77,23 @@ function default_user_agent() * * Note: the result of this function is cached for subsequent calls. * - * @return string * @throws \RuntimeException if no bundle can be found. + * + * @deprecated default_ca_bundle will be removed in guzzlehttp/guzzle:8.0. This function is not needed in PHP 5.6+. */ -function default_ca_bundle() +function default_ca_bundle() : string { - static $cached = null; - static $cafiles = [ - // Red Hat, CentOS, Fedora (provided by the ca-certificates package) - '/etc/pki/tls/certs/ca-bundle.crt', - // Ubuntu, Debian (provided by the ca-certificates package) - '/etc/ssl/certs/ca-certificates.crt', - // FreeBSD (provided by the ca_root_nss package) - '/usr/local/share/certs/ca-root-nss.crt', - // SLES 12 (provided by the ca-certificates package) - '/var/lib/ca-certificates/ca-bundle.pem', - // OS X provided by homebrew (using the default path) - '/usr/local/etc/openssl/cert.pem', - // Google app engine - '/etc/ca-certificates.crt', - // Windows? - 'C:\\windows\\system32\\curl-ca-bundle.crt', - 'C:\\windows\\curl-ca-bundle.crt', - ]; - if ($cached) { - return $cached; - } - if ($ca = \ini_get('openssl.cafile')) { - return $cached = $ca; - } - if ($ca = \ini_get('curl.cainfo')) { - return $cached = $ca; - } - foreach ($cafiles as $filename) { - if (\file_exists($filename)) { - return $cached = $filename; - } - } - throw new \RuntimeException(<<generator = $generatorFn(); - $this->result = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise(function () { + $this->result = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise(function () : void { while (isset($this->currentPromise)) { $this->currentPromise->wait(); } }); try { $this->nextCoroutine($this->generator->current()); - } catch (\Exception $exception) { - $this->result->reject($exception); } catch (\Throwable $throwable) { $this->result->reject($throwable); } } /** * Create a new coroutine. - * - * @return self */ - public static function of(callable $generatorFn) + public static function of(callable $generatorFn) : self { return new self($generatorFn); } - public function then(callable $onFulfilled = null, callable $onRejected = null) + public function then(callable $onFulfilled = null, callable $onRejected = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { return $this->result->then($onFulfilled, $onRejected); } - public function otherwise(callable $onRejected) + public function otherwise(callable $onRejected) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { return $this->result->otherwise($onRejected); } - public function wait($unwrap = \true) + public function wait(bool $unwrap = \true) { return $this->result->wait($unwrap); } - public function getState() + public function getState() : string { return $this->result->getState(); } - public function resolve($value) + public function resolve($value) : void { $this->result->resolve($value); } - public function reject($reason) + public function reject($reason) : void { $this->result->reject($reason); } - public function cancel() + public function cancel() : void { $this->currentPromise->cancel(); $this->result->cancel(); } - private function nextCoroutine($yielded) + private function nextCoroutine($yielded) : void { $this->currentPromise = \YoastSEO_Vendor\GuzzleHttp\Promise\Create::promiseFor($yielded)->then([$this, '_handleSuccess'], [$this, '_handleFailure']); } /** * @internal */ - public function _handleSuccess($value) + public function _handleSuccess($value) : void { unset($this->currentPromise); try { @@ -126,8 +122,6 @@ public function _handleSuccess($value) } else { $this->result->resolve($value); } - } catch (\Exception $exception) { - $this->result->reject($exception); } catch (\Throwable $throwable) { $this->result->reject($throwable); } @@ -135,15 +129,13 @@ public function _handleSuccess($value) /** * @internal */ - public function _handleFailure($reason) + public function _handleFailure($reason) : void { unset($this->currentPromise); try { $nextYield = $this->generator->throw(\YoastSEO_Vendor\GuzzleHttp\Promise\Create::exceptionFor($reason)); // The throw was caught, so keep iterating on the coroutine $this->nextCoroutine($nextYield); - } catch (\Exception $exception) { - $this->result->reject($exception); } catch (\Throwable $throwable) { $this->result->reject($throwable); } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Create.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Create.php index d784fe247..85726b600 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Create.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Create.php @@ -1,5 +1,6 @@ $onFulfilled, 'rejected' => $onRejected]))->promise(); } @@ -39,10 +38,8 @@ public static function of($iterable, callable $onFulfilled = null, callable $onR * @param int|callable $concurrency * @param callable $onFulfilled * @param callable $onRejected - * - * @return PromiseInterface */ - public static function ofLimit($iterable, $concurrency, callable $onFulfilled = null, callable $onRejected = null) + public static function ofLimit($iterable, $concurrency, callable $onFulfilled = null, callable $onRejected = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { return (new \YoastSEO_Vendor\GuzzleHttp\Promise\EachPromise($iterable, ['fulfilled' => $onFulfilled, 'rejected' => $onRejected, 'concurrency' => $concurrency]))->promise(); } @@ -54,12 +51,10 @@ public static function ofLimit($iterable, $concurrency, callable $onFulfilled = * @param mixed $iterable * @param int|callable $concurrency * @param callable $onFulfilled - * - * @return PromiseInterface */ - public static function ofLimitAll($iterable, $concurrency, callable $onFulfilled = null) + public static function ofLimitAll($iterable, $concurrency, callable $onFulfilled = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { - return each_limit($iterable, $concurrency, $onFulfilled, function ($reason, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $aggregate) { + return self::ofLimit($iterable, $concurrency, $onFulfilled, function ($reason, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $aggregate) : void { $aggregate->reject($reason); }); } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/EachPromise.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/EachPromise.php index 638d55257..aec3dccb0 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/EachPromise.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/EachPromise.php @@ -1,10 +1,13 @@ aggregate) { return $this->aggregate; @@ -68,28 +71,17 @@ public function promise() $this->iterable->rewind(); $this->refillPending(); } catch (\Throwable $e) { - /** - * @psalm-suppress NullReference - * @phpstan-ignore-next-line - */ - $this->aggregate->reject($e); - } catch (\Exception $e) { - /** - * @psalm-suppress NullReference - * @phpstan-ignore-next-line - */ $this->aggregate->reject($e); } /** * @psalm-suppress NullableReturnStatement - * @phpstan-ignore-next-line */ return $this->aggregate; } - private function createPromise() + private function createPromise() : void { $this->mutex = \false; - $this->aggregate = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise(function () { + $this->aggregate = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise(function () : void { if ($this->checkIfFinished()) { return; } @@ -105,14 +97,14 @@ private function createPromise() } }); // Clear the references when the promise is resolved. - $clearFn = function () { + $clearFn = function () : void { $this->iterable = $this->concurrency = $this->pending = null; $this->onFulfilled = $this->onRejected = null; $this->nextPendingIndex = 0; }; $this->aggregate->then($clearFn, $clearFn); } - private function refillPending() + private function refillPending() : void { if (!$this->concurrency) { // Add all pending promises. @@ -136,7 +128,7 @@ private function refillPending() while (--$concurrency && $this->advanceIterator() && $this->addPending()) { } } - private function addPending() + private function addPending() : bool { if (!$this->iterable || !$this->iterable->valid()) { return \false; @@ -146,12 +138,12 @@ private function addPending() // Iterable keys may not be unique, so we use a counter to // guarantee uniqueness $idx = $this->nextPendingIndex++; - $this->pending[$idx] = $promise->then(function ($value) use($idx, $key) { + $this->pending[$idx] = $promise->then(function ($value) use($idx, $key) : void { if ($this->onFulfilled) { \call_user_func($this->onFulfilled, $value, $key, $this->aggregate); } $this->step($idx); - }, function ($reason) use($idx, $key) { + }, function ($reason) use($idx, $key) : void { if ($this->onRejected) { \call_user_func($this->onRejected, $reason, $key, $this->aggregate); } @@ -159,7 +151,7 @@ private function addPending() }); return \true; } - private function advanceIterator() + private function advanceIterator() : bool { // Place a lock on the iterator so that we ensure to not recurse, // preventing fatal generator errors. @@ -175,13 +167,9 @@ private function advanceIterator() $this->aggregate->reject($e); $this->mutex = \false; return \false; - } catch (\Exception $e) { - $this->aggregate->reject($e); - $this->mutex = \false; - return \false; } } - private function step($idx) + private function step(int $idx) : void { // If the promise was already resolved, then ignore this step. if (\YoastSEO_Vendor\GuzzleHttp\Promise\Is::settled($this->aggregate)) { @@ -196,7 +184,7 @@ private function step($idx) $this->refillPending(); } } - private function checkIfFinished() + private function checkIfFinished() : bool { if (!$this->pending && !$this->iterable->valid()) { // Resolve the promise if there's nothing left to do. diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/FulfilledPromise.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/FulfilledPromise.php index 27fedc0dd..373354d1c 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/FulfilledPromise.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/FulfilledPromise.php @@ -1,5 +1,6 @@ value = $value; } - public function then(callable $onFulfilled = null, callable $onRejected = null) + public function then(callable $onFulfilled = null, callable $onRejected = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { // Return itself if there is no onFulfilled function. if (!$onFulfilled) { @@ -27,42 +33,40 @@ public function then(callable $onFulfilled = null, callable $onRejected = null) $queue = \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue(); $p = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise([$queue, 'run']); $value = $this->value; - $queue->add(static function () use($p, $value, $onFulfilled) { + $queue->add(static function () use($p, $value, $onFulfilled) : void { if (\YoastSEO_Vendor\GuzzleHttp\Promise\Is::pending($p)) { try { $p->resolve($onFulfilled($value)); } catch (\Throwable $e) { $p->reject($e); - } catch (\Exception $e) { - $p->reject($e); } } }); return $p; } - public function otherwise(callable $onRejected) + public function otherwise(callable $onRejected) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { return $this->then(null, $onRejected); } - public function wait($unwrap = \true, $defaultDelivery = null) + public function wait(bool $unwrap = \true) { return $unwrap ? $this->value : null; } - public function getState() + public function getState() : string { return self::FULFILLED; } - public function resolve($value) + public function resolve($value) : void { if ($value !== $this->value) { - throw new \LogicException("Cannot resolve a fulfilled promise"); + throw new \LogicException('Cannot resolve a fulfilled promise'); } } - public function reject($reason) + public function reject($reason) : void { - throw new \LogicException("Cannot reject a fulfilled promise"); + throw new \LogicException('Cannot reject a fulfilled promise'); } - public function cancel() + public function cancel() : void { // pass } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Is.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Is.php index b3cb69a2d..db08b194c 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Is.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Is.php @@ -1,42 +1,35 @@ getState() === \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::PENDING; } /** * Returns true if a promise is fulfilled or rejected. - * - * @return bool */ - public static function settled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) + public static function settled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) : bool { return $promise->getState() !== \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::PENDING; } /** * Returns true if a promise is fulfilled. - * - * @return bool */ - public static function fulfilled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) + public static function fulfilled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) : bool { return $promise->getState() === \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::FULFILLED; } /** * Returns true if a promise is rejected. - * - * @return bool */ - public static function rejected(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) + public static function rejected(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) : bool { return $promise->getState() === \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Promise.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Promise.php index 229c59811..44e0ae5cc 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Promise.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Promise.php @@ -1,11 +1,14 @@ waitFn = $waitFn; $this->cancelFn = $cancelFn; } - public function then(callable $onFulfilled = null, callable $onRejected = null) + public function then(callable $onFulfilled = null, callable $onRejected = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { if ($this->state === self::PENDING) { $p = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise(null, [$this, 'cancel']); @@ -43,11 +46,11 @@ public function then(callable $onFulfilled = null, callable $onRejected = null) $rejection = \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($this->result); return $onRejected ? $rejection->then(null, $onRejected) : $rejection; } - public function otherwise(callable $onRejected) + public function otherwise(callable $onRejected) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { return $this->then(null, $onRejected); } - public function wait($unwrap = \true) + public function wait(bool $unwrap = \true) { $this->waitIfPending(); if ($this->result instanceof \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface) { @@ -61,11 +64,11 @@ public function wait($unwrap = \true) throw \YoastSEO_Vendor\GuzzleHttp\Promise\Create::exceptionFor($this->result); } } - public function getState() + public function getState() : string { return $this->state; } - public function cancel() + public function cancel() : void { if ($this->state !== self::PENDING) { return; @@ -78,8 +81,6 @@ public function cancel() $fn(); } catch (\Throwable $e) { $this->reject($e); - } catch (\Exception $e) { - $this->reject($e); } } // Reject the promise only if it wasn't rejected in a then callback. @@ -88,15 +89,15 @@ public function cancel() $this->reject(new \YoastSEO_Vendor\GuzzleHttp\Promise\CancellationException('Promise has been cancelled')); } } - public function resolve($value) + public function resolve($value) : void { $this->settle(self::FULFILLED, $value); } - public function reject($reason) + public function reject($reason) : void { $this->settle(self::REJECTED, $reason); } - private function settle($state, $value) + private function settle(string $state, $value) : void { if ($this->state !== self::PENDING) { // Ignore calls with the same resolution. @@ -123,7 +124,7 @@ private function settle($state, $value) if (!\is_object($value) || !\method_exists($value, 'then')) { $id = $state === self::FULFILLED ? 1 : 2; // It's a success, so resolve the handlers in the queue. - \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue()->add(static function () use($id, $value, $handlers) { + \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue()->add(static function () use($id, $value, $handlers) : void { foreach ($handlers as $handler) { self::callHandler($id, $value, $handler); } @@ -133,11 +134,11 @@ private function settle($state, $value) $value->handlers = \array_merge($value->handlers, $handlers); } else { // Resolve the handlers when the forwarded promise is resolved. - $value->then(static function ($value) use($handlers) { + $value->then(static function ($value) use($handlers) : void { foreach ($handlers as $handler) { self::callHandler(1, $value, $handler); } - }, static function ($reason) use($handlers) { + }, static function ($reason) use($handlers) : void { foreach ($handlers as $handler) { self::callHandler(2, $reason, $handler); } @@ -151,7 +152,7 @@ private function settle($state, $value) * @param mixed $value Value to pass to the callback. * @param array $handler Array of handler data (promise and callbacks). */ - private static function callHandler($index, $value, array $handler) + private static function callHandler(int $index, $value, array $handler) : void { /** @var PromiseInterface $promise */ $promise = $handler[0]; @@ -180,11 +181,9 @@ private static function callHandler($index, $value, array $handler) } } catch (\Throwable $reason) { $promise->reject($reason); - } catch (\Exception $reason) { - $promise->reject($reason); } } - private function waitIfPending() + private function waitIfPending() : void { if ($this->state !== self::PENDING) { return; @@ -202,13 +201,13 @@ private function waitIfPending() $this->reject('Invoking the wait callback did not resolve the promise'); } } - private function invokeWaitFn() + private function invokeWaitFn() : void { try { $wfn = $this->waitFn; $this->waitFn = null; $wfn(\true); - } catch (\Exception $reason) { + } catch (\Throwable $reason) { if ($this->state === self::PENDING) { // The promise has not been resolved yet, so reject the promise // with the exception. @@ -220,7 +219,7 @@ private function invokeWaitFn() } } } - private function invokeWaitList() + private function invokeWaitList() : void { $waitList = $this->waitList; $this->waitList = null; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/PromiseInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/PromiseInterface.php index 568a535b7..35d2c3ff4 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/PromiseInterface.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/PromiseInterface.php @@ -1,5 +1,6 @@ reason = $reason; } - public function then(callable $onFulfilled = null, callable $onRejected = null) + public function then(callable $onFulfilled = null, callable $onRejected = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { // If there's no onRejected callback then just return self. if (!$onRejected) { @@ -27,7 +33,7 @@ public function then(callable $onFulfilled = null, callable $onRejected = null) $queue = \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue(); $reason = $this->reason; $p = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise([$queue, 'run']); - $queue->add(static function () use($p, $reason, $onRejected) { + $queue->add(static function () use($p, $reason, $onRejected) : void { if (\YoastSEO_Vendor\GuzzleHttp\Promise\Is::pending($p)) { try { // Return a resolved promise if onRejected does not throw. @@ -35,40 +41,37 @@ public function then(callable $onFulfilled = null, callable $onRejected = null) } catch (\Throwable $e) { // onRejected threw, so return a rejected promise. $p->reject($e); - } catch (\Exception $e) { - // onRejected threw, so return a rejected promise. - $p->reject($e); } } }); return $p; } - public function otherwise(callable $onRejected) + public function otherwise(callable $onRejected) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { return $this->then(null, $onRejected); } - public function wait($unwrap = \true, $defaultDelivery = null) + public function wait(bool $unwrap = \true) { if ($unwrap) { throw \YoastSEO_Vendor\GuzzleHttp\Promise\Create::exceptionFor($this->reason); } return null; } - public function getState() + public function getState() : string { return self::REJECTED; } - public function resolve($value) + public function resolve($value) : void { - throw new \LogicException("Cannot resolve a rejected promise"); + throw new \LogicException('Cannot resolve a rejected promise'); } - public function reject($reason) + public function reject($reason) : void { if ($reason !== $this->reason) { - throw new \LogicException("Cannot reject a rejected promise"); + throw new \LogicException('Cannot reject a rejected promise'); } } - public function cancel() + public function cancel() : void { // pass } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/RejectionException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/RejectionException.php index 6fb75ae4c..14e1e652f 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/RejectionException.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/RejectionException.php @@ -1,5 +1,6 @@ reason = $reason; $message = 'The promise was rejected'; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueue.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueue.php index 0ea5969b0..781e7c886 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueue.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueue.php @@ -1,5 +1,6 @@ run(); + * + * @final */ class TaskQueue implements \YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterface { private $enableShutdown = \true; private $queue = []; - public function __construct($withShutdown = \true) + public function __construct(bool $withShutdown = \true) { if ($withShutdown) { - \register_shutdown_function(function () { + \register_shutdown_function(function () : void { if ($this->enableShutdown) { // Only run the tasks if an E_ERROR didn't occur. $err = \error_get_last(); @@ -29,15 +32,15 @@ public function __construct($withShutdown = \true) }); } } - public function isEmpty() + public function isEmpty() : bool { return !$this->queue; } - public function add(callable $task) + public function add(callable $task) : void { $this->queue[] = $task; } - public function run() + public function run() : void { while ($task = \array_shift($this->queue)) { /** @var callable $task */ @@ -55,7 +58,7 @@ public function run() * * Note: This shutdown will occur before any destructors are triggered. */ - public function disableShutdown() + public function disableShutdown() : void { $this->enableShutdown = \false; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueueInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueueInterface.php index 9affd5b1e..fb640be21 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueueInterface.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueueInterface.php @@ -1,22 +1,21 @@ * - * @param TaskQueueInterface $assign Optionally specify a new queue instance. - * - * @return TaskQueueInterface + * @param TaskQueueInterface|null $assign Optionally specify a new queue instance. */ - public static function queue(\YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterface $assign = null) + public static function queue(\YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterface $assign = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterface { static $queue; if ($assign) { @@ -36,22 +35,18 @@ public static function queue(\YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterf * returns a promise that is fulfilled or rejected with the result. * * @param callable $task Task function to run. - * - * @return PromiseInterface */ - public static function task(callable $task) + public static function task(callable $task) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { $queue = self::queue(); $promise = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise([$queue, 'run']); - $queue->add(function () use($task, $promise) { + $queue->add(function () use($task, $promise) : void { try { if (\YoastSEO_Vendor\GuzzleHttp\Promise\Is::pending($promise)) { $promise->resolve($task()); } } catch (\Throwable $e) { $promise->reject($e); - } catch (\Exception $e) { - $promise->reject($e); } }); return $promise; @@ -67,10 +62,8 @@ public static function task(callable $task) * key mapping to the rejection reason of the promise. * * @param PromiseInterface $promise Promise or value. - * - * @return array */ - public static function inspect(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) + public static function inspect(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) : array { try { return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::FULFILLED, 'value' => $promise->wait()]; @@ -78,8 +71,6 @@ public static function inspect(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterf return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $e->getReason()]; } catch (\Throwable $e) { return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $e]; - } catch (\Exception $e) { - return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $e]; } } /** @@ -91,14 +82,12 @@ public static function inspect(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterf * @see inspect for the inspection state array format. * * @param PromiseInterface[] $promises Traversable of promises to wait upon. - * - * @return array */ - public static function inspectAll($promises) + public static function inspectAll($promises) : array { $results = []; foreach ($promises as $key => $promise) { - $results[$key] = inspect($promise); + $results[$key] = self::inspect($promise); } return $results; } @@ -111,12 +100,9 @@ public static function inspectAll($promises) * * @param iterable $promises Iterable of PromiseInterface objects to wait on. * - * @return array - * - * @throws \Exception on error - * @throws \Throwable on error in PHP >=7 + * @throws \Throwable on error */ - public static function unwrap($promises) + public static function unwrap($promises) : array { $results = []; foreach ($promises as $key => $promise) { @@ -134,15 +120,13 @@ public static function unwrap($promises) * * @param mixed $promises Promises or values. * @param bool $recursive If true, resolves new promises that might have been added to the stack during its own resolution. - * - * @return PromiseInterface */ - public static function all($promises, $recursive = \false) + public static function all($promises, bool $recursive = \false) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { $results = []; - $promise = \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx) use(&$results) { + $promise = \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx) use(&$results) : void { $results[$idx] = $value; - }, function ($reason, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\Promise $aggregate) { + }, function ($reason, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\Promise $aggregate) : void { $aggregate->reject($reason); })->then(function () use(&$results) { \ksort($results); @@ -173,14 +157,12 @@ public static function all($promises, $recursive = \false) * * @param int $count Total number of promises. * @param mixed $promises Promises or values. - * - * @return PromiseInterface */ - public static function some($count, $promises) + public static function some(int $count, $promises) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { $results = []; $rejections = []; - return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $p) use(&$results, $count) { + return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $p) use(&$results, $count) : void { if (\YoastSEO_Vendor\GuzzleHttp\Promise\Is::settled($p)) { return; } @@ -188,7 +170,7 @@ public static function some($count, $promises) if (\count($results) >= $count) { $p->resolve(null); } - }, function ($reason) use(&$rejections) { + }, function ($reason) use(&$rejections) : void { $rejections[] = $reason; })->then(function () use(&$results, &$rejections, $count) { if (\count($results) !== $count) { @@ -203,10 +185,8 @@ public static function some($count, $promises) * fulfillment value is not an array of 1 but the value directly. * * @param mixed $promises Promises or values. - * - * @return PromiseInterface */ - public static function any($promises) + public static function any($promises) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { return self::some(1, $promises)->then(function ($values) { return $values[0]; @@ -221,15 +201,13 @@ public static function any($promises) * @see inspect for the inspection state array format. * * @param mixed $promises Promises or values. - * - * @return PromiseInterface */ - public static function settle($promises) + public static function settle($promises) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface { $results = []; - return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx) use(&$results) { + return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx) use(&$results) : void { $results[$idx] = ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::FULFILLED, 'value' => $value]; - }, function ($reason, $idx) use(&$results) { + }, function ($reason, $idx) use(&$results) : void { $results[$idx] = ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $reason]; })->then(function () use(&$results) { \ksort($results); diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions.php deleted file mode 100755 index 43a72608b..000000000 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions.php +++ /dev/null @@ -1,334 +0,0 @@ - - * while ($eventLoop->isRunning()) { - * GuzzleHttp\Promise\queue()->run(); - * } - * - * - * @param TaskQueueInterface $assign Optionally specify a new queue instance. - * - * @return TaskQueueInterface - * - * @deprecated queue will be removed in guzzlehttp/promises:2.0. Use Utils::queue instead. - */ -function queue(\YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterface $assign = null) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue($assign); -} -/** - * Adds a function to run in the task queue when it is next `run()` and returns - * a promise that is fulfilled or rejected with the result. - * - * @param callable $task Task function to run. - * - * @return PromiseInterface - * - * @deprecated task will be removed in guzzlehttp/promises:2.0. Use Utils::task instead. - */ -function task(callable $task) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::task($task); -} -/** - * Creates a promise for a value if the value is not a promise. - * - * @param mixed $value Promise or value. - * - * @return PromiseInterface - * - * @deprecated promise_for will be removed in guzzlehttp/promises:2.0. Use Create::promiseFor instead. - */ -function promise_for($value) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::promiseFor($value); -} -/** - * Creates a rejected promise for a reason if the reason is not a promise. If - * the provided reason is a promise, then it is returned as-is. - * - * @param mixed $reason Promise or reason. - * - * @return PromiseInterface - * - * @deprecated rejection_for will be removed in guzzlehttp/promises:2.0. Use Create::rejectionFor instead. - */ -function rejection_for($reason) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($reason); -} -/** - * Create an exception for a rejected promise value. - * - * @param mixed $reason - * - * @return \Exception|\Throwable - * - * @deprecated exception_for will be removed in guzzlehttp/promises:2.0. Use Create::exceptionFor instead. - */ -function exception_for($reason) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::exceptionFor($reason); -} -/** - * Returns an iterator for the given value. - * - * @param mixed $value - * - * @return \Iterator - * - * @deprecated iter_for will be removed in guzzlehttp/promises:2.0. Use Create::iterFor instead. - */ -function iter_for($value) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::iterFor($value); -} -/** - * Synchronously waits on a promise to resolve and returns an inspection state - * array. - * - * Returns a state associative array containing a "state" key mapping to a - * valid promise state. If the state of the promise is "fulfilled", the array - * will contain a "value" key mapping to the fulfilled value of the promise. If - * the promise is rejected, the array will contain a "reason" key mapping to - * the rejection reason of the promise. - * - * @param PromiseInterface $promise Promise or value. - * - * @return array - * - * @deprecated inspect will be removed in guzzlehttp/promises:2.0. Use Utils::inspect instead. - */ -function inspect(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::inspect($promise); -} -/** - * Waits on all of the provided promises, but does not unwrap rejected promises - * as thrown exception. - * - * Returns an array of inspection state arrays. - * - * @see inspect for the inspection state array format. - * - * @param PromiseInterface[] $promises Traversable of promises to wait upon. - * - * @return array - * - * @deprecated inspect will be removed in guzzlehttp/promises:2.0. Use Utils::inspectAll instead. - */ -function inspect_all($promises) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::inspectAll($promises); -} -/** - * Waits on all of the provided promises and returns the fulfilled values. - * - * Returns an array that contains the value of each promise (in the same order - * the promises were provided). An exception is thrown if any of the promises - * are rejected. - * - * @param iterable $promises Iterable of PromiseInterface objects to wait on. - * - * @return array - * - * @throws \Exception on error - * @throws \Throwable on error in PHP >=7 - * - * @deprecated unwrap will be removed in guzzlehttp/promises:2.0. Use Utils::unwrap instead. - */ -function unwrap($promises) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::unwrap($promises); -} -/** - * Given an array of promises, return a promise that is fulfilled when all the - * items in the array are fulfilled. - * - * The promise's fulfillment value is an array with fulfillment values at - * respective positions to the original array. If any promise in the array - * rejects, the returned promise is rejected with the rejection reason. - * - * @param mixed $promises Promises or values. - * @param bool $recursive If true, resolves new promises that might have been added to the stack during its own resolution. - * - * @return PromiseInterface - * - * @deprecated all will be removed in guzzlehttp/promises:2.0. Use Utils::all instead. - */ -function all($promises, $recursive = \false) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::all($promises, $recursive); -} -/** - * Initiate a competitive race between multiple promises or values (values will - * become immediately fulfilled promises). - * - * When count amount of promises have been fulfilled, the returned promise is - * fulfilled with an array that contains the fulfillment values of the winners - * in order of resolution. - * - * This promise is rejected with a {@see AggregateException} if the number of - * fulfilled promises is less than the desired $count. - * - * @param int $count Total number of promises. - * @param mixed $promises Promises or values. - * - * @return PromiseInterface - * - * @deprecated some will be removed in guzzlehttp/promises:2.0. Use Utils::some instead. - */ -function some($count, $promises) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::some($count, $promises); -} -/** - * Like some(), with 1 as count. However, if the promise fulfills, the - * fulfillment value is not an array of 1 but the value directly. - * - * @param mixed $promises Promises or values. - * - * @return PromiseInterface - * - * @deprecated any will be removed in guzzlehttp/promises:2.0. Use Utils::any instead. - */ -function any($promises) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::any($promises); -} -/** - * Returns a promise that is fulfilled when all of the provided promises have - * been fulfilled or rejected. - * - * The returned promise is fulfilled with an array of inspection state arrays. - * - * @see inspect for the inspection state array format. - * - * @param mixed $promises Promises or values. - * - * @return PromiseInterface - * - * @deprecated settle will be removed in guzzlehttp/promises:2.0. Use Utils::settle instead. - */ -function settle($promises) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::settle($promises); -} -/** - * Given an iterator that yields promises or values, returns a promise that is - * fulfilled with a null value when the iterator has been consumed or the - * aggregate promise has been fulfilled or rejected. - * - * $onFulfilled is a function that accepts the fulfilled value, iterator index, - * and the aggregate promise. The callback can invoke any necessary side - * effects and choose to resolve or reject the aggregate if needed. - * - * $onRejected is a function that accepts the rejection reason, iterator index, - * and the aggregate promise. The callback can invoke any necessary side - * effects and choose to resolve or reject the aggregate if needed. - * - * @param mixed $iterable Iterator or array to iterate over. - * @param callable $onFulfilled - * @param callable $onRejected - * - * @return PromiseInterface - * - * @deprecated each will be removed in guzzlehttp/promises:2.0. Use Each::of instead. - */ -function each($iterable, callable $onFulfilled = null, callable $onRejected = null) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($iterable, $onFulfilled, $onRejected); -} -/** - * Like each, but only allows a certain number of outstanding promises at any - * given time. - * - * $concurrency may be an integer or a function that accepts the number of - * pending promises and returns a numeric concurrency limit value to allow for - * dynamic a concurrency size. - * - * @param mixed $iterable - * @param int|callable $concurrency - * @param callable $onFulfilled - * @param callable $onRejected - * - * @return PromiseInterface - * - * @deprecated each_limit will be removed in guzzlehttp/promises:2.0. Use Each::ofLimit instead. - */ -function each_limit($iterable, $concurrency, callable $onFulfilled = null, callable $onRejected = null) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::ofLimit($iterable, $concurrency, $onFulfilled, $onRejected); -} -/** - * Like each_limit, but ensures that no promise in the given $iterable argument - * is rejected. If any promise is rejected, then the aggregate promise is - * rejected with the encountered rejection. - * - * @param mixed $iterable - * @param int|callable $concurrency - * @param callable $onFulfilled - * - * @return PromiseInterface - * - * @deprecated each_limit_all will be removed in guzzlehttp/promises:2.0. Use Each::ofLimitAll instead. - */ -function each_limit_all($iterable, $concurrency, callable $onFulfilled = null) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::ofLimitAll($iterable, $concurrency, $onFulfilled); -} -/** - * Returns true if a promise is fulfilled. - * - * @return bool - * - * @deprecated is_fulfilled will be removed in guzzlehttp/promises:2.0. Use Is::fulfilled instead. - */ -function is_fulfilled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Is::fulfilled($promise); -} -/** - * Returns true if a promise is rejected. - * - * @return bool - * - * @deprecated is_rejected will be removed in guzzlehttp/promises:2.0. Use Is::rejected instead. - */ -function is_rejected(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Is::rejected($promise); -} -/** - * Returns true if a promise is fulfilled or rejected. - * - * @return bool - * - * @deprecated is_settled will be removed in guzzlehttp/promises:2.0. Use Is::settled instead. - */ -function is_settled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Is::settled($promise); -} -/** - * Create a new coroutine. - * - * @see Coroutine - * - * @return PromiseInterface - * - * @deprecated coroutine will be removed in guzzlehttp/promises:2.0. Use Coroutine::of instead. - */ -function coroutine(callable $generatorFn) -{ - return \YoastSEO_Vendor\GuzzleHttp\Promise\Coroutine::of($generatorFn); -} diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions_include.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions_include.php deleted file mode 100755 index b0a22d15d..000000000 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions_include.php +++ /dev/null @@ -1,8 +0,0 @@ -addStream($stream); } } - public function __toString() + public function __toString() : string { try { $this->rewind(); return $this->getContents(); - } catch (\Exception $e) { + } catch (\Throwable $e) { + if (\PHP_VERSION_ID >= 70400) { + throw $e; + } + \trigger_error(\sprintf('%s::__toString exception: %s', self::class, (string) $e), \E_USER_ERROR); return ''; } } @@ -43,7 +49,7 @@ public function __toString() * * @throws \InvalidArgumentException if the stream is not readable */ - public function addStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream) + public function addStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream) : void { if (!$stream->isReadable()) { throw new \InvalidArgumentException('Each stream must be readable'); @@ -54,16 +60,14 @@ public function addStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $str } $this->streams[] = $stream; } - public function getContents() + public function getContents() : string { return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToString($this); } /** * Closes each attached stream. - * - * {@inheritdoc} */ - public function close() + public function close() : void { $this->pos = $this->current = 0; $this->seekable = \true; @@ -76,8 +80,6 @@ public function close() * Detaches each attached stream. * * Returns null as it's not clear which underlying stream resource to return. - * - * {@inheritdoc} */ public function detach() { @@ -89,7 +91,7 @@ public function detach() $this->streams = []; return null; } - public function tell() + public function tell() : int { return $this->pos; } @@ -98,10 +100,8 @@ public function tell() * * If any of the streams do not return a valid number, then the size of the * append stream cannot be determined and null is returned. - * - * {@inheritdoc} */ - public function getSize() + public function getSize() : ?int { $size = 0; foreach ($this->streams as $stream) { @@ -113,20 +113,18 @@ public function getSize() } return $size; } - public function eof() + public function eof() : bool { return !$this->streams || $this->current >= \count($this->streams) - 1 && $this->streams[$this->current]->eof(); } - public function rewind() + public function rewind() : void { $this->seek(0); } /** * Attempts to seek to the given position. Only supports SEEK_SET. - * - * {@inheritdoc} */ - public function seek($offset, $whence = \SEEK_SET) + public function seek($offset, $whence = \SEEK_SET) : void { if (!$this->seekable) { throw new \RuntimeException('This AppendStream is not seekable'); @@ -152,10 +150,8 @@ public function seek($offset, $whence = \SEEK_SET) } /** * Reads from all of the appended streams until the length is met or EOF. - * - * {@inheritdoc} */ - public function read($length) + public function read($length) : string { $buffer = ''; $total = \count($this->streams) - 1; @@ -168,11 +164,10 @@ public function read($length) if ($this->current === $total) { break; } - $this->current++; + ++$this->current; } $result = $this->streams[$this->current]->read($remaining); - // Using a loose comparison here to match on '', false, and null - if ($result == null) { + if ($result === '') { $progressToNext = \true; continue; } @@ -182,22 +177,25 @@ public function read($length) $this->pos += \strlen($buffer); return $buffer; } - public function isReadable() + public function isReadable() : bool { return \true; } - public function isWritable() + public function isWritable() : bool { return \false; } - public function isSeekable() + public function isSeekable() : bool { return $this->seekable; } - public function write($string) + public function write($string) : int { throw new \RuntimeException('Cannot write to an AppendStream'); } + /** + * @return mixed + */ public function getMetadata($key = null) { return $key ? null : []; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php index cce160195..1aebd6ffa 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php @@ -1,5 +1,6 @@ hwm = $hwm; } - public function __toString() + public function __toString() : string { return $this->getContents(); } - public function getContents() + public function getContents() : string { $buffer = $this->buffer; $this->buffer = ''; return $buffer; } - public function close() + public function close() : void { $this->buffer = ''; } @@ -47,42 +48,42 @@ public function detach() $this->close(); return null; } - public function getSize() + public function getSize() : ?int { return \strlen($this->buffer); } - public function isReadable() + public function isReadable() : bool { return \true; } - public function isWritable() + public function isWritable() : bool { return \true; } - public function isSeekable() + public function isSeekable() : bool { return \false; } - public function rewind() + public function rewind() : void { $this->seek(0); } - public function seek($offset, $whence = \SEEK_SET) + public function seek($offset, $whence = \SEEK_SET) : void { throw new \RuntimeException('Cannot seek a BufferStream'); } - public function eof() + public function eof() : bool { return \strlen($this->buffer) === 0; } - public function tell() + public function tell() : int { throw new \RuntimeException('Cannot determine the position of a BufferStream'); } /** * Reads data from the buffer. */ - public function read($length) + public function read($length) : string { $currentLength = \strlen($this->buffer); if ($length >= $currentLength) { @@ -99,18 +100,20 @@ public function read($length) /** * Writes data to the buffer. */ - public function write($string) + public function write($string) : int { $this->buffer .= $string; - // TODO: What should happen here? if (\strlen($this->buffer) >= $this->hwm) { - return \false; + return 0; } return \strlen($string); } + /** + * @return mixed + */ public function getMetadata($key = null) { - if ($key == 'hwm') { + if ($key === 'hwm') { return $this->hwm; } return $key ? null : []; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php index 39ed9d453..b22bc8abb 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php @@ -1,21 +1,24 @@ remoteStream = $stream; $this->stream = $target ?: new \YoastSEO_Vendor\GuzzleHttp\Psr7\Stream(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen('php://temp', 'r+')); } - public function getSize() + public function getSize() : ?int { $remoteSize = $this->remoteStream->getSize(); if (null === $remoteSize) { @@ -35,17 +38,17 @@ public function getSize() } return \max($this->stream->getSize(), $remoteSize); } - public function rewind() + public function rewind() : void { $this->seek(0); } - public function seek($offset, $whence = \SEEK_SET) + public function seek($offset, $whence = \SEEK_SET) : void { - if ($whence == \SEEK_SET) { + if ($whence === \SEEK_SET) { $byte = $offset; - } elseif ($whence == \SEEK_CUR) { + } elseif ($whence === \SEEK_CUR) { $byte = $offset + $this->tell(); - } elseif ($whence == \SEEK_END) { + } elseif ($whence === \SEEK_END) { $size = $this->remoteStream->getSize(); if ($size === null) { $size = $this->cacheEntireStream(); @@ -67,7 +70,7 @@ public function seek($offset, $whence = \SEEK_SET) $this->stream->seek($byte); } } - public function read($length) + public function read($length) : string { // Perform a regular read on any previously read data from the buffer $data = $this->stream->read($length); @@ -89,7 +92,7 @@ public function read($length) } return $data; } - public function write($string) + public function write($string) : int { // When appending to the end of the currently read stream, you'll want // to skip bytes from being read from the remote stream to emulate @@ -101,18 +104,19 @@ public function write($string) } return $this->stream->write($string); } - public function eof() + public function eof() : bool { return $this->stream->eof() && $this->remoteStream->eof(); } /** * Close both the remote stream and buffer stream */ - public function close() + public function close() : void { - $this->remoteStream->close() && $this->stream->close(); + $this->remoteStream->close(); + $this->stream->close(); } - private function cacheEntireStream() + private function cacheEntireStream() : int { $target = new \YoastSEO_Vendor\GuzzleHttp\Psr7\FnStream(['write' => 'strlen']); \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToStream($this, $target); diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php index 41f7940e2..d3d3968c3 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php @@ -1,28 +1,30 @@ stream = $stream; $this->maxLength = $maxLength; } - public function write($string) + public function write($string) : int { $diff = $this->maxLength - $this->stream->getSize(); // Begin returning 0 when the underlying stream is too large. diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php new file mode 100755 index 000000000..1cebad95e --- /dev/null +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php @@ -0,0 +1,12 @@ + */ private $methods; - /** @var array Methods that must be implemented in the given array */ - private static $slots = ['__toString', 'close', 'detach', 'rewind', 'getSize', 'tell', 'eof', 'isSeekable', 'seek', 'isWritable', 'write', 'isReadable', 'read', 'getContents', 'getMetadata']; /** - * @param array $methods Hash of method name to a callable. + * @param array $methods Hash of method name to a callable. */ public function __construct(array $methods) { @@ -33,7 +32,7 @@ public function __construct(array $methods) * * @throws \BadMethodCallException */ - public function __get($name) + public function __get(string $name) : void { throw new \BadMethodCallException(\str_replace('_fn_', '', $name) . '() is not implemented in the FnStream'); } @@ -51,7 +50,7 @@ public function __destruct() * * @throws \LogicException */ - public function __wakeup() + public function __wakeup() : void { throw new \LogicException('FnStream should never be unserialized'); } @@ -59,8 +58,8 @@ public function __wakeup() * Adds custom functionality to an underlying stream by intercepting * specific method calls. * - * @param StreamInterface $stream Stream to decorate - * @param array $methods Hash of method name to a closure + * @param StreamInterface $stream Stream to decorate + * @param array $methods Hash of method name to a closure * * @return FnStream */ @@ -68,67 +67,80 @@ public static function decorate(\YoastSEO_Vendor\Psr\Http\Message\StreamInterfac { // If any of the required methods were not provided, then simply // proxy to the decorated stream. - foreach (\array_diff(self::$slots, \array_keys($methods)) as $diff) { - $methods[$diff] = [$stream, $diff]; + foreach (\array_diff(self::SLOTS, \array_keys($methods)) as $diff) { + /** @var callable $callable */ + $callable = [$stream, $diff]; + $methods[$diff] = $callable; } return new self($methods); } - public function __toString() + public function __toString() : string { - return \call_user_func($this->_fn___toString); + try { + return \call_user_func($this->_fn___toString); + } catch (\Throwable $e) { + if (\PHP_VERSION_ID >= 70400) { + throw $e; + } + \trigger_error(\sprintf('%s::__toString exception: %s', self::class, (string) $e), \E_USER_ERROR); + return ''; + } } - public function close() + public function close() : void { - return \call_user_func($this->_fn_close); + \call_user_func($this->_fn_close); } public function detach() { return \call_user_func($this->_fn_detach); } - public function getSize() + public function getSize() : ?int { return \call_user_func($this->_fn_getSize); } - public function tell() + public function tell() : int { return \call_user_func($this->_fn_tell); } - public function eof() + public function eof() : bool { return \call_user_func($this->_fn_eof); } - public function isSeekable() + public function isSeekable() : bool { return \call_user_func($this->_fn_isSeekable); } - public function rewind() + public function rewind() : void { \call_user_func($this->_fn_rewind); } - public function seek($offset, $whence = \SEEK_SET) + public function seek($offset, $whence = \SEEK_SET) : void { \call_user_func($this->_fn_seek, $offset, $whence); } - public function isWritable() + public function isWritable() : bool { return \call_user_func($this->_fn_isWritable); } - public function write($string) + public function write($string) : int { return \call_user_func($this->_fn_write, $string); } - public function isReadable() + public function isReadable() : bool { return \call_user_func($this->_fn_isReadable); } - public function read($length) + public function read($length) : string { return \call_user_func($this->_fn_read, $length); } - public function getContents() + public function getContents() : string { return \call_user_func($this->_fn_getContents); } + /** + * @return mixed + */ public function getMetadata($key = null) { return \call_user_func($this->_fn_getMetadata, $key); diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Header.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Header.php index 3f83c1cc3..a5e26f825 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Header.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Header.php @@ -1,5 +1,6 @@ ]+>|[^=]+/', $kvp, $matches)) { - $m = $matches[0]; - if (isset($m[1])) { - $part[\trim($m[0], $trimmed)] = \trim($m[1], $trimmed); - } else { - $part[] = \trim($m[0], $trimmed); + foreach ((array) $header as $value) { + foreach (self::splitList($value) as $val) { + $part = []; + foreach (\preg_split('/;(?=([^"]*"[^"]*")*[^"]*$)/', $val) as $kvp) { + if (\preg_match_all('/<[^>]+>|[^=]+/', $kvp, $matches)) { + $m = $matches[0]; + if (isset($m[1])) { + $part[\trim($m[0], $trimmed)] = \trim($m[1], $trimmed); + } else { + $part[] = \trim($m[0], $trimmed); + } } } - } - if ($part) { - $params[] = $part; + if ($part) { + $params[] = $part; + } } } return $params; @@ -42,23 +43,73 @@ public static function parse($header) * * @param string|array $header Header to normalize. * - * @return array Returns the normalized header field values. + * @deprecated Use self::splitList() instead. */ - public static function normalize($header) + public static function normalize($header) : array { - if (!\is_array($header)) { - return \array_map('trim', \explode(',', $header)); + $result = []; + foreach ((array) $header as $value) { + foreach (self::splitList($value) as $parsed) { + $result[] = $parsed; + } + } + return $result; + } + /** + * Splits a HTTP header defined to contain a comma-separated list into + * each individual value. Empty values will be removed. + * + * Example headers include 'accept', 'cache-control' and 'if-none-match'. + * + * This method must not be used to parse headers that are not defined as + * a list, such as 'user-agent' or 'set-cookie'. + * + * @param string|string[] $values Header value as returned by MessageInterface::getHeader() + * + * @return string[] + */ + public static function splitList($values) : array + { + if (!\is_array($values)) { + $values = [$values]; } $result = []; - foreach ($header as $value) { - foreach ((array) $value as $v) { - if (\strpos($v, ',') === \false) { - $result[] = $v; + foreach ($values as $value) { + if (!\is_string($value)) { + throw new \TypeError('$header must either be a string or an array containing strings.'); + } + $v = ''; + $isQuoted = \false; + $isEscaped = \false; + for ($i = 0, $max = \strlen($value); $i < $max; ++$i) { + if ($isEscaped) { + $v .= $value[$i]; + $isEscaped = \false; continue; } - foreach (\preg_split('/,(?=([^"]*"[^"]*")*[^"]*$)/', $v) as $vv) { - $result[] = \trim($vv); + if (!$isQuoted && $value[$i] === ',') { + $v = \trim($v); + if ($v !== '') { + $result[] = $v; + } + $v = ''; + continue; } + if ($isQuoted && $value[$i] === '\\') { + $isEscaped = \true; + $v .= $value[$i]; + continue; + } + if ($value[$i] === '"') { + $isQuoted = !$isQuoted; + $v .= $value[$i]; + continue; + } + $v .= $value[$i]; + } + $v = \trim($v); + if ($v !== '') { + $result[] = $v; } } return $result; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php new file mode 100755 index 000000000..24b5a0e5c --- /dev/null +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php @@ -0,0 +1,76 @@ +getSize(); + } + return new \YoastSEO_Vendor\GuzzleHttp\Psr7\UploadedFile($stream, $size, $error, $clientFilename, $clientMediaType); + } + public function createStream(string $content = '') : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface + { + return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($content); + } + public function createStreamFromFile(string $file, string $mode = 'r') : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface + { + try { + $resource = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen($file, $mode); + } catch (\RuntimeException $e) { + if ('' === $mode || \false === \in_array($mode[0], ['r', 'w', 'a', 'x', 'c'], \true)) { + throw new \InvalidArgumentException(\sprintf('Invalid file opening mode "%s"', $mode), 0, $e); + } + throw $e; + } + return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($resource); + } + public function createStreamFromResource($resource) : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface + { + return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($resource); + } + public function createServerRequest(string $method, $uri, array $serverParams = []) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface + { + if (empty($method)) { + if (!empty($serverParams['REQUEST_METHOD'])) { + $method = $serverParams['REQUEST_METHOD']; + } else { + throw new \InvalidArgumentException('Cannot determine HTTP method'); + } + } + return new \YoastSEO_Vendor\GuzzleHttp\Psr7\ServerRequest($method, $uri, [], null, '1.1', $serverParams); + } + public function createResponse(int $code = 200, string $reasonPhrase = '') : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface + { + return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response($code, [], null, '1.1', $reasonPhrase); + } + public function createRequest(string $method, $uri) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface + { + return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Request($method, $uri); + } + public function createUri(string $uri = '') : \YoastSEO_Vendor\Psr\Http\Message\UriInterface + { + return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Uri($uri); + } +} diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php index e3f6d487f..9bbd432af 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php @@ -1,51 +1,33 @@ read(10); - $filenameHeaderLength = $this->getLengthOfPossibleFilenameHeader($stream, $header); - // Skip the header, that is 10 + length of filename + 1 (nil) bytes - $stream = new \YoastSEO_Vendor\GuzzleHttp\Psr7\LimitStream($stream, -1, 10 + $filenameHeaderLength); $resource = \YoastSEO_Vendor\GuzzleHttp\Psr7\StreamWrapper::getResource($stream); - \stream_filter_append($resource, 'zlib.inflate', \STREAM_FILTER_READ); + // Specify window=15+32, so zlib will use header detection to both gzip (with header) and zlib data + // See http://www.zlib.net/manual.html#Advanced definition of inflateInit2 + // "Add 32 to windowBits to enable zlib and gzip decoding with automatic header detection" + // Default window size is 15. + \stream_filter_append($resource, 'zlib.inflate', \STREAM_FILTER_READ, ['window' => 15 + 32]); $this->stream = $stream->isSeekable() ? new \YoastSEO_Vendor\GuzzleHttp\Psr7\Stream($resource) : new \YoastSEO_Vendor\GuzzleHttp\Psr7\NoSeekStream(new \YoastSEO_Vendor\GuzzleHttp\Psr7\Stream($resource)); } - /** - * @param StreamInterface $stream - * @param $header - * - * @return int - */ - private function getLengthOfPossibleFilenameHeader(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, $header) - { - $filename_header_length = 0; - if (\substr(\bin2hex($header), 6, 2) === '08') { - // we have a filename, read until nil - $filename_header_length = 1; - while ($stream->read(1) !== \chr(0)) { - $filename_header_length++; - } - } - return $filename_header_length; - } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php index 74fe70937..02de7622c 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php @@ -1,36 +1,40 @@ filename = $filename; $this->mode = $mode; + // unsetting the property forces the first access to go through + // __get(). + unset($this->stream); } /** * Creates the underlying stream lazily when required. - * - * @return StreamInterface */ - protected function createStream() + protected function createStream() : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface { return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen($this->filename, $this->mode)); } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php index 495b3ffbc..536efe4a0 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php @@ -1,20 +1,21 @@ stream = $stream; $this->setLimit($limit); $this->setOffset($offset); } - public function eof() + public function eof() : bool { // Always return true if the underlying stream is EOF if ($this->stream->eof()) { return \true; } // No limit and the underlying stream is not at EOF - if ($this->limit == -1) { + if ($this->limit === -1) { return \false; } return $this->stream->tell() >= $this->offset + $this->limit; } /** * Returns the size of the limited subset of data - * {@inheritdoc} */ - public function getSize() + public function getSize() : ?int { if (null === ($length = $this->stream->getSize())) { return null; - } elseif ($this->limit == -1) { + } elseif ($this->limit === -1) { return $length - $this->offset; } else { return \min($this->limit, $length - $this->offset); @@ -56,9 +56,8 @@ public function getSize() } /** * Allow for a bounded seek on the read limited stream - * {@inheritdoc} */ - public function seek($offset, $whence = \SEEK_SET) + public function seek($offset, $whence = \SEEK_SET) : void { if ($whence !== \SEEK_SET || $offset < 0) { throw new \RuntimeException(\sprintf('Cannot seek to offset %s with whence %s', $offset, $whence)); @@ -73,9 +72,8 @@ public function seek($offset, $whence = \SEEK_SET) } /** * Give a relative tell() - * {@inheritdoc} */ - public function tell() + public function tell() : int { return $this->stream->tell() - $this->offset; } @@ -86,7 +84,7 @@ public function tell() * * @throws \RuntimeException if the stream cannot be seeked. */ - public function setOffset($offset) + public function setOffset(int $offset) : void { $current = $this->stream->tell(); if ($current !== $offset) { @@ -108,13 +106,13 @@ public function setOffset($offset) * @param int $limit Number of bytes to allow to be read from the stream. * Use -1 for no limit. */ - public function setLimit($limit) + public function setLimit(int $limit) : void { $this->limit = $limit; } - public function read($length) + public function read($length) : string { - if ($this->limit == -1) { + if ($this->limit === -1) { return $this->stream->read($length); } // Check if the current position is less than the total allowed diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Message.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Message.php index ad5b74527..e727731fb 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Message.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Message.php @@ -1,5 +1,6 @@ getMethod() . ' ' . $message->getRequestTarget()) . ' HTTP/' . $message->getProtocolVersion(); @@ -27,7 +26,7 @@ public static function toString(\YoastSEO_Vendor\Psr\Http\Message\MessageInterfa throw new \InvalidArgumentException('Unknown message type'); } foreach ($message->getHeaders() as $name => $values) { - if (\strtolower($name) === 'set-cookie') { + if (\is_string($name) && \strtolower($name) === 'set-cookie') { foreach ($values as $value) { $msg .= "\r\n{$name}: " . $value; } @@ -44,10 +43,8 @@ public static function toString(\YoastSEO_Vendor\Psr\Http\Message\MessageInterfa * * @param MessageInterface $message The message to get the body summary * @param int $truncateAt The maximum allowed size of the summary - * - * @return string|null */ - public static function bodySummary(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message, $truncateAt = 120) + public static function bodySummary(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message, int $truncateAt = 120) : ?string { $body = $message->getBody(); if (!$body->isSeekable() || !$body->isReadable()) { @@ -57,6 +54,7 @@ public static function bodySummary(\YoastSEO_Vendor\Psr\Http\Message\MessageInte if ($size === 0) { return null; } + $body->rewind(); $summary = $body->read($truncateAt); $body->rewind(); if ($size > $truncateAt) { @@ -64,7 +62,7 @@ public static function bodySummary(\YoastSEO_Vendor\Psr\Http\Message\MessageInte } // Matches any printable character, including unicode characters: // letters, marks, numbers, punctuation, spacing, and separators. - if (\preg_match('/[^\\pL\\pM\\pN\\pP\\pS\\pZ\\n\\r\\t]/u', $summary)) { + if (\preg_match('/[^\\pL\\pM\\pN\\pP\\pS\\pZ\\n\\r\\t]/u', $summary) !== 0) { return null; } return $summary; @@ -79,7 +77,7 @@ public static function bodySummary(\YoastSEO_Vendor\Psr\Http\Message\MessageInte * * @throws \RuntimeException */ - public static function rewindBody(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message) + public static function rewindBody(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message) : void { $body = $message->getBody(); if ($body->tell()) { @@ -94,10 +92,8 @@ public static function rewindBody(\YoastSEO_Vendor\Psr\Http\Message\MessageInter * array values, and a "body" key containing the body of the message. * * @param string $message HTTP request or response to parse. - * - * @return array */ - public static function parseMessage($message) + public static function parseMessage(string $message) : array { if (!$message) { throw new \InvalidArgumentException('Invalid message'); @@ -107,14 +103,14 @@ public static function parseMessage($message) if ($messageParts === \false || \count($messageParts) !== 2) { throw new \InvalidArgumentException('Invalid message: Missing header delimiter'); } - list($rawHeaders, $body) = $messageParts; + [$rawHeaders, $body] = $messageParts; $rawHeaders .= "\r\n"; // Put back the delimiter we split previously $headerParts = \preg_split("/\r?\n/", $rawHeaders, 2); if ($headerParts === \false || \count($headerParts) !== 2) { throw new \InvalidArgumentException('Invalid message: Missing status line'); } - list($startLine, $rawHeaders) = $headerParts; + [$startLine, $rawHeaders] = $headerParts; if (\preg_match("/(?:^HTTP\\/|^[A-Z]+ \\S+ HTTP\\/)(\\d+(?:\\.\\d+)?)/i", $startLine, $matches) && $matches[1] === '1.0') { // Header folding is deprecated for HTTP/1.1, but allowed in HTTP/1.0 $rawHeaders = \preg_replace(\YoastSEO_Vendor\GuzzleHttp\Psr7\Rfc7230::HEADER_FOLD_REGEX, ' ', $rawHeaders); @@ -140,12 +136,12 @@ public static function parseMessage($message) * * @param string $path Path from the start-line * @param array $headers Array of headers (each value an array). - * - * @return string */ - public static function parseRequestUri($path, array $headers) + public static function parseRequestUri(string $path, array $headers) : string { $hostKey = \array_filter(\array_keys($headers), function ($k) { + // Numeric array keys are converted to int by PHP. + $k = (string) $k; return \strtolower($k) === 'host'; }); // If no host is found, then a full URI cannot be constructed. @@ -160,10 +156,8 @@ public static function parseRequestUri($path, array $headers) * Parses a request message string into a request object. * * @param string $message Request message string. - * - * @return Request */ - public static function parseRequest($message) + public static function parseRequest(string $message) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { $data = self::parseMessage($message); $matches = []; @@ -179,10 +173,8 @@ public static function parseRequest($message) * Parses a response message string into a response object. * * @param string $message Response message string. - * - * @return Response */ - public static function parseResponse($message) + public static function parseResponse(string $message) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface { $data = self::parseMessage($message); // According to https://tools.ietf.org/html/rfc7230#section-3.1.2 the space @@ -192,6 +184,6 @@ public static function parseResponse($message) throw new \InvalidArgumentException('Invalid response string: ' . $data['start-line']); } $parts = \explode(' ', $data['start-line'], 3); - return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response((int) $parts[1], $data['headers'], $data['body'], \explode('/', $parts[0])[1], isset($parts[2]) ? $parts[2] : null); + return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response((int) $parts[1], $data['headers'], $data['body'], \explode('/', $parts[0])[1], $parts[2] ?? null); } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MessageTrait.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MessageTrait.php index 4cb00ed6b..2bfcd5343 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MessageTrait.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MessageTrait.php @@ -1,26 +1,28 @@ array of values */ + /** @var string[][] Map of all registered headers, as original name => array of values */ private $headers = []; - /** @var array Map of lowercase header name => original name at registration */ + /** @var string[] Map of lowercase header name => original name at registration */ private $headerNames = []; /** @var string */ private $protocol = '1.1'; /** @var StreamInterface|null */ private $stream; - public function getProtocolVersion() + public function getProtocolVersion() : string { return $this->protocol; } - public function withProtocolVersion($version) + public function withProtocolVersion($version) : \YoastSEO_Vendor\Psr\Http\Message\MessageInterface { if ($this->protocol === $version) { return $this; @@ -29,15 +31,15 @@ public function withProtocolVersion($version) $new->protocol = $version; return $new; } - public function getHeaders() + public function getHeaders() : array { return $this->headers; } - public function hasHeader($header) + public function hasHeader($header) : bool { return isset($this->headerNames[\strtolower($header)]); } - public function getHeader($header) + public function getHeader($header) : array { $header = \strtolower($header); if (!isset($this->headerNames[$header])) { @@ -46,11 +48,11 @@ public function getHeader($header) $header = $this->headerNames[$header]; return $this->headers[$header]; } - public function getHeaderLine($header) + public function getHeaderLine($header) : string { return \implode(', ', $this->getHeader($header)); } - public function withHeader($header, $value) + public function withHeader($header, $value) : \YoastSEO_Vendor\Psr\Http\Message\MessageInterface { $this->assertHeader($header); $value = $this->normalizeHeaderValue($value); @@ -63,7 +65,7 @@ public function withHeader($header, $value) $new->headers[$header] = $value; return $new; } - public function withAddedHeader($header, $value) + public function withAddedHeader($header, $value) : \YoastSEO_Vendor\Psr\Http\Message\MessageInterface { $this->assertHeader($header); $value = $this->normalizeHeaderValue($value); @@ -78,7 +80,7 @@ public function withAddedHeader($header, $value) } return $new; } - public function withoutHeader($header) + public function withoutHeader($header) : \YoastSEO_Vendor\Psr\Http\Message\MessageInterface { $normalized = \strtolower($header); if (!isset($this->headerNames[$normalized])) { @@ -89,14 +91,14 @@ public function withoutHeader($header) unset($new->headers[$header], $new->headerNames[$normalized]); return $new; } - public function getBody() + public function getBody() : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface { if (!$this->stream) { $this->stream = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor(''); } return $this->stream; } - public function withBody(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $body) + public function withBody(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $body) : \YoastSEO_Vendor\Psr\Http\Message\MessageInterface { if ($body === $this->stream) { return $this; @@ -105,15 +107,15 @@ public function withBody(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $body $new->stream = $body; return $new; } - private function setHeaders(array $headers) + /** + * @param array $headers + */ + private function setHeaders(array $headers) : void { $this->headerNames = $this->headers = []; foreach ($headers as $header => $value) { - if (\is_int($header)) { - // Numeric array keys are converted to int by PHP but having a header name '123' is not forbidden by the spec - // and also allowed in withHeader(). So we need to cast it to string again for the following assertion to pass. - $header = (string) $header; - } + // Numeric array keys are converted to int by PHP. + $header = (string) $header; $this->assertHeader($header); $value = $this->normalizeHeaderValue($value); $normalized = \strtolower($header); @@ -131,7 +133,7 @@ private function setHeaders(array $headers) * * @return string[] */ - private function normalizeHeaderValue($value) + private function normalizeHeaderValue($value) : array { if (!\is_array($value)) { return $this->trimAndValidateHeaderValues([$value]); @@ -155,7 +157,7 @@ private function normalizeHeaderValue($value) * * @see https://tools.ietf.org/html/rfc7230#section-3.2.4 */ - private function trimAndValidateHeaderValues(array $values) + private function trimAndValidateHeaderValues(array $values) : array { return \array_map(function ($value) { if (!\is_scalar($value) && null !== $value) { @@ -170,26 +172,17 @@ private function trimAndValidateHeaderValues(array $values) * @see https://tools.ietf.org/html/rfc7230#section-3.2 * * @param mixed $header - * - * @return void */ - private function assertHeader($header) + private function assertHeader($header) : void { if (!\is_string($header)) { throw new \InvalidArgumentException(\sprintf('Header name must be a string but %s provided.', \is_object($header) ? \get_class($header) : \gettype($header))); } - if ($header === '') { - throw new \InvalidArgumentException('Header name can not be empty.'); - } if (!\preg_match('/^[a-zA-Z0-9\'`#$%&*+.^_|~!-]+$/D', $header)) { throw new \InvalidArgumentException(\sprintf('"%s" is not valid header name.', $header)); } } /** - * @param string $value - * - * @return void - * * @see https://tools.ietf.org/html/rfc7230#section-3.2 * * field-value = *( field-content / obs-fold ) @@ -199,7 +192,7 @@ private function assertHeader($header) * obs-text = %x80-FF * obs-fold = CRLF 1*( SP / HTAB ) */ - private function assertValue($value) + private function assertValue(string $value) : void { // The regular expression intentionally does not support the obs-fold production, because as // per RFC 7230#3.2.4: diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MimeType.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MimeType.php index e1001fb74..6306ab282 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MimeType.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MimeType.php @@ -1,33 +1,27 @@ 'application/vnd.1000minds.decision-model+xml', '3dml' => 'text/vnd.in3d.3dml', '3ds' => 'image/x-3ds', '3g2' => 'video/3gpp2', '3gp' => 'video/3gp', '3gpp' => 'video/3gpp', '3mf' => 'model/3mf', '7z' => 'application/x-7z-compressed', '7zip' => 'application/x-7z-compressed', '123' => 'application/vnd.lotus-1-2-3', 'aab' => 'application/x-authorware-bin', 'aac' => 'audio/aac', 'aam' => 'application/x-authorware-map', 'aas' => 'application/x-authorware-seg', 'abw' => 'application/x-abiword', 'ac' => 'application/vnd.nokia.n-gage.ac+xml', 'ac3' => 'audio/ac3', 'acc' => 'application/vnd.americandynamics.acc', 'ace' => 'application/x-ace-compressed', 'acu' => 'application/vnd.acucobol', 'acutc' => 'application/vnd.acucorp', 'adp' => 'audio/adpcm', 'adts' => 'audio/aac', 'aep' => 'application/vnd.audiograph', 'afm' => 'application/x-font-type1', 'afp' => 'application/vnd.ibm.modcap', 'age' => 'application/vnd.age', 'ahead' => 'application/vnd.ahead.space', 'ai' => 'application/pdf', 'aif' => 'audio/x-aiff', 'aifc' => 'audio/x-aiff', 'aiff' => 'audio/x-aiff', 'air' => 'application/vnd.adobe.air-application-installer-package+zip', 'ait' => 'application/vnd.dvb.ait', 'ami' => 'application/vnd.amiga.ami', 'aml' => 'application/automationml-aml+xml', 'amlx' => 'application/automationml-amlx+zip', 'amr' => 'audio/amr', 'apk' => 'application/vnd.android.package-archive', 'apng' => 'image/apng', 'appcache' => 'text/cache-manifest', 'appinstaller' => 'application/appinstaller', 'application' => 'application/x-ms-application', 'appx' => 'application/appx', 'appxbundle' => 'application/appxbundle', 'apr' => 'application/vnd.lotus-approach', 'arc' => 'application/x-freearc', 'arj' => 'application/x-arj', 'asc' => 'application/pgp-signature', 'asf' => 'video/x-ms-asf', 'asm' => 'text/x-asm', 'aso' => 'application/vnd.accpac.simply.aso', 'asx' => 'video/x-ms-asf', 'atc' => 'application/vnd.acucorp', 'atom' => 'application/atom+xml', 'atomcat' => 'application/atomcat+xml', 'atomdeleted' => 'application/atomdeleted+xml', 'atomsvc' => 'application/atomsvc+xml', 'atx' => 'application/vnd.antix.game-component', 'au' => 'audio/x-au', 'avci' => 'image/avci', 'avcs' => 'image/avcs', 'avi' => 'video/x-msvideo', 'avif' => 'image/avif', 'aw' => 'application/applixware', 'azf' => 'application/vnd.airzip.filesecure.azf', 'azs' => 'application/vnd.airzip.filesecure.azs', 'azv' => 'image/vnd.airzip.accelerator.azv', 'azw' => 'application/vnd.amazon.ebook', 'b16' => 'image/vnd.pco.b16', 'bat' => 'application/x-msdownload', 'bcpio' => 'application/x-bcpio', 'bdf' => 'application/x-font-bdf', 'bdm' => 'application/vnd.syncml.dm+wbxml', 'bdoc' => 'application/x-bdoc', 'bed' => 'application/vnd.realvnc.bed', 'bh2' => 'application/vnd.fujitsu.oasysprs', 'bin' => 'application/octet-stream', 'blb' => 'application/x-blorb', 'blorb' => 'application/x-blorb', 'bmi' => 'application/vnd.bmi', 'bmml' => 'application/vnd.balsamiq.bmml+xml', 'bmp' => 'image/bmp', 'book' => 'application/vnd.framemaker', 'box' => 'application/vnd.previewsystems.box', 'boz' => 'application/x-bzip2', 'bpk' => 'application/octet-stream', 'bpmn' => 'application/octet-stream', 'bsp' => 'model/vnd.valve.source.compiled-map', 'btf' => 'image/prs.btif', 'btif' => 'image/prs.btif', 'buffer' => 'application/octet-stream', 'bz' => 'application/x-bzip', 'bz2' => 'application/x-bzip2', 'c' => 'text/x-c', 'c4d' => 'application/vnd.clonk.c4group', 'c4f' => 'application/vnd.clonk.c4group', 'c4g' => 'application/vnd.clonk.c4group', 'c4p' => 'application/vnd.clonk.c4group', 'c4u' => 'application/vnd.clonk.c4group', 'c11amc' => 'application/vnd.cluetrust.cartomobile-config', 'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', 'cab' => 'application/vnd.ms-cab-compressed', 'caf' => 'audio/x-caf', 'cap' => 'application/vnd.tcpdump.pcap', 'car' => 'application/vnd.curl.car', 'cat' => 'application/vnd.ms-pki.seccat', 'cb7' => 'application/x-cbr', 'cba' => 'application/x-cbr', 'cbr' => 'application/x-cbr', 'cbt' => 'application/x-cbr', 'cbz' => 'application/x-cbr', 'cc' => 'text/x-c', 'cco' => 'application/x-cocoa', 'cct' => 'application/x-director', 'ccxml' => 'application/ccxml+xml', 'cdbcmsg' => 'application/vnd.contact.cmsg', 'cdf' => 'application/x-netcdf', 'cdfx' => 'application/cdfx+xml', 'cdkey' => 'application/vnd.mediastation.cdkey', 'cdmia' => 'application/cdmi-capability', 'cdmic' => 'application/cdmi-container', 'cdmid' => 'application/cdmi-domain', 'cdmio' => 'application/cdmi-object', 'cdmiq' => 'application/cdmi-queue', 'cdr' => 'application/cdr', 'cdx' => 'chemical/x-cdx', 'cdxml' => 'application/vnd.chemdraw+xml', 'cdy' => 'application/vnd.cinderella', 'cer' => 'application/pkix-cert', 'cfs' => 'application/x-cfs-compressed', 'cgm' => 'image/cgm', 'chat' => 'application/x-chat', 'chm' => 'application/vnd.ms-htmlhelp', 'chrt' => 'application/vnd.kde.kchart', 'cif' => 'chemical/x-cif', 'cii' => 'application/vnd.anser-web-certificate-issue-initiation', 'cil' => 'application/vnd.ms-artgalry', 'cjs' => 'application/node', 'cla' => 'application/vnd.claymore', 'class' => 'application/octet-stream', 'cld' => 'model/vnd.cld', 'clkk' => 'application/vnd.crick.clicker.keyboard', 'clkp' => 'application/vnd.crick.clicker.palette', 'clkt' => 'application/vnd.crick.clicker.template', 'clkw' => 'application/vnd.crick.clicker.wordbank', 'clkx' => 'application/vnd.crick.clicker', 'clp' => 'application/x-msclip', 'cmc' => 'application/vnd.cosmocaller', 'cmdf' => 'chemical/x-cmdf', 'cml' => 'chemical/x-cml', 'cmp' => 'application/vnd.yellowriver-custom-menu', 'cmx' => 'image/x-cmx', 'cod' => 'application/vnd.rim.cod', 'coffee' => 'text/coffeescript', 'com' => 'application/x-msdownload', 'conf' => 'text/plain', 'cpio' => 'application/x-cpio', 'cpl' => 'application/cpl+xml', 'cpp' => 'text/x-c', 'cpt' => 'application/mac-compactpro', 'crd' => 'application/x-mscardfile', 'crl' => 'application/pkix-crl', 'crt' => 'application/x-x509-ca-cert', 'crx' => 'application/x-chrome-extension', 'cryptonote' => 'application/vnd.rig.cryptonote', 'csh' => 'application/x-csh', 'csl' => 'application/vnd.citationstyles.style+xml', 'csml' => 'chemical/x-csml', 'csp' => 'application/vnd.commonspace', 'csr' => 'application/octet-stream', 'css' => 'text/css', 'cst' => 'application/x-director', 'csv' => 'text/csv', 'cu' => 'application/cu-seeme', 'curl' => 'text/vnd.curl', 'cwl' => 'application/cwl', 'cww' => 'application/prs.cww', 'cxt' => 'application/x-director', 'cxx' => 'text/x-c', 'dae' => 'model/vnd.collada+xml', 'daf' => 'application/vnd.mobius.daf', 'dart' => 'application/vnd.dart', 'dataless' => 'application/vnd.fdsn.seed', 'davmount' => 'application/davmount+xml', 'dbf' => 'application/vnd.dbf', 'dbk' => 'application/docbook+xml', 'dcr' => 'application/x-director', 'dcurl' => 'text/vnd.curl.dcurl', 'dd2' => 'application/vnd.oma.dd2+xml', 'ddd' => 'application/vnd.fujixerox.ddd', 'ddf' => 'application/vnd.syncml.dmddf+xml', 'dds' => 'image/vnd.ms-dds', 'deb' => 'application/x-debian-package', 'def' => 'text/plain', 'deploy' => 'application/octet-stream', 'der' => 'application/x-x509-ca-cert', 'dfac' => 'application/vnd.dreamfactory', 'dgc' => 'application/x-dgc-compressed', 'dib' => 'image/bmp', 'dic' => 'text/x-c', 'dir' => 'application/x-director', 'dis' => 'application/vnd.mobius.dis', 'disposition-notification' => 'message/disposition-notification', 'dist' => 'application/octet-stream', 'distz' => 'application/octet-stream', 'djv' => 'image/vnd.djvu', 'djvu' => 'image/vnd.djvu', 'dll' => 'application/octet-stream', 'dmg' => 'application/x-apple-diskimage', 'dmn' => 'application/octet-stream', 'dmp' => 'application/vnd.tcpdump.pcap', 'dms' => 'application/octet-stream', 'dna' => 'application/vnd.dna', 'doc' => 'application/msword', 'docm' => 'application/vnd.ms-word.template.macroEnabled.12', 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'dot' => 'application/msword', 'dotm' => 'application/vnd.ms-word.template.macroEnabled.12', 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'dp' => 'application/vnd.osgi.dp', 'dpg' => 'application/vnd.dpgraph', 'dpx' => 'image/dpx', 'dra' => 'audio/vnd.dra', 'drle' => 'image/dicom-rle', 'dsc' => 'text/prs.lines.tag', 'dssc' => 'application/dssc+der', 'dtb' => 'application/x-dtbook+xml', 'dtd' => 'application/xml-dtd', 'dts' => 'audio/vnd.dts', 'dtshd' => 'audio/vnd.dts.hd', 'dump' => 'application/octet-stream', 'dvb' => 'video/vnd.dvb.file', 'dvi' => 'application/x-dvi', 'dwd' => 'application/atsc-dwd+xml', 'dwf' => 'model/vnd.dwf', 'dwg' => 'image/vnd.dwg', 'dxf' => 'image/vnd.dxf', 'dxp' => 'application/vnd.spotfire.dxp', 'dxr' => 'application/x-director', 'ear' => 'application/java-archive', 'ecelp4800' => 'audio/vnd.nuera.ecelp4800', 'ecelp7470' => 'audio/vnd.nuera.ecelp7470', 'ecelp9600' => 'audio/vnd.nuera.ecelp9600', 'ecma' => 'application/ecmascript', 'edm' => 'application/vnd.novadigm.edm', 'edx' => 'application/vnd.novadigm.edx', 'efif' => 'application/vnd.picsel', 'ei6' => 'application/vnd.pg.osasli', 'elc' => 'application/octet-stream', 'emf' => 'image/emf', 'eml' => 'message/rfc822', 'emma' => 'application/emma+xml', 'emotionml' => 'application/emotionml+xml', 'emz' => 'application/x-msmetafile', 'eol' => 'audio/vnd.digital-winds', 'eot' => 'application/vnd.ms-fontobject', 'eps' => 'application/postscript', 'epub' => 'application/epub+zip', 'es3' => 'application/vnd.eszigno3+xml', 'esa' => 'application/vnd.osgi.subsystem', 'esf' => 'application/vnd.epson.esf', 'et3' => 'application/vnd.eszigno3+xml', 'etx' => 'text/x-setext', 'eva' => 'application/x-eva', 'evy' => 'application/x-envoy', 'exe' => 'application/octet-stream', 'exi' => 'application/exi', 'exp' => 'application/express', 'exr' => 'image/aces', 'ext' => 'application/vnd.novadigm.ext', 'ez' => 'application/andrew-inset', 'ez2' => 'application/vnd.ezpix-album', 'ez3' => 'application/vnd.ezpix-package', 'f' => 'text/x-fortran', 'f4v' => 'video/mp4', 'f77' => 'text/x-fortran', 'f90' => 'text/x-fortran', 'fbs' => 'image/vnd.fastbidsheet', 'fcdt' => 'application/vnd.adobe.formscentral.fcdt', 'fcs' => 'application/vnd.isac.fcs', 'fdf' => 'application/vnd.fdf', 'fdt' => 'application/fdt+xml', 'fe_launch' => 'application/vnd.denovo.fcselayout-link', 'fg5' => 'application/vnd.fujitsu.oasysgp', 'fgd' => 'application/x-director', 'fh' => 'image/x-freehand', 'fh4' => 'image/x-freehand', 'fh5' => 'image/x-freehand', 'fh7' => 'image/x-freehand', 'fhc' => 'image/x-freehand', 'fig' => 'application/x-xfig', 'fits' => 'image/fits', 'flac' => 'audio/x-flac', 'fli' => 'video/x-fli', 'flo' => 'application/vnd.micrografx.flo', 'flv' => 'video/x-flv', 'flw' => 'application/vnd.kde.kivio', 'flx' => 'text/vnd.fmi.flexstor', 'fly' => 'text/vnd.fly', 'fm' => 'application/vnd.framemaker', 'fnc' => 'application/vnd.frogans.fnc', 'fo' => 'application/vnd.software602.filler.form+xml', 'for' => 'text/x-fortran', 'fpx' => 'image/vnd.fpx', 'frame' => 'application/vnd.framemaker', 'fsc' => 'application/vnd.fsc.weblaunch', 'fst' => 'image/vnd.fst', 'ftc' => 'application/vnd.fluxtime.clip', 'fti' => 'application/vnd.anser-web-funds-transfer-initiation', 'fvt' => 'video/vnd.fvt', 'fxp' => 'application/vnd.adobe.fxp', 'fxpl' => 'application/vnd.adobe.fxp', 'fzs' => 'application/vnd.fuzzysheet', 'g2w' => 'application/vnd.geoplan', 'g3' => 'image/g3fax', 'g3w' => 'application/vnd.geospace', 'gac' => 'application/vnd.groove-account', 'gam' => 'application/x-tads', 'gbr' => 'application/rpki-ghostbusters', 'gca' => 'application/x-gca-compressed', 'gdl' => 'model/vnd.gdl', 'gdoc' => 'application/vnd.google-apps.document', 'ged' => 'text/vnd.familysearch.gedcom', 'geo' => 'application/vnd.dynageo', 'geojson' => 'application/geo+json', 'gex' => 'application/vnd.geometry-explorer', 'ggb' => 'application/vnd.geogebra.file', 'ggt' => 'application/vnd.geogebra.tool', 'ghf' => 'application/vnd.groove-help', 'gif' => 'image/gif', 'gim' => 'application/vnd.groove-identity-message', 'glb' => 'model/gltf-binary', 'gltf' => 'model/gltf+json', 'gml' => 'application/gml+xml', 'gmx' => 'application/vnd.gmx', 'gnumeric' => 'application/x-gnumeric', 'gpg' => 'application/gpg-keys', 'gph' => 'application/vnd.flographit', 'gpx' => 'application/gpx+xml', 'gqf' => 'application/vnd.grafeq', 'gqs' => 'application/vnd.grafeq', 'gram' => 'application/srgs', 'gramps' => 'application/x-gramps-xml', 'gre' => 'application/vnd.geometry-explorer', 'grv' => 'application/vnd.groove-injector', 'grxml' => 'application/srgs+xml', 'gsf' => 'application/x-font-ghostscript', 'gsheet' => 'application/vnd.google-apps.spreadsheet', 'gslides' => 'application/vnd.google-apps.presentation', 'gtar' => 'application/x-gtar', 'gtm' => 'application/vnd.groove-tool-message', 'gtw' => 'model/vnd.gtw', 'gv' => 'text/vnd.graphviz', 'gxf' => 'application/gxf', 'gxt' => 'application/vnd.geonext', 'gz' => 'application/gzip', 'gzip' => 'application/gzip', 'h' => 'text/x-c', 'h261' => 'video/h261', 'h263' => 'video/h263', 'h264' => 'video/h264', 'hal' => 'application/vnd.hal+xml', 'hbci' => 'application/vnd.hbci', 'hbs' => 'text/x-handlebars-template', 'hdd' => 'application/x-virtualbox-hdd', 'hdf' => 'application/x-hdf', 'heic' => 'image/heic', 'heics' => 'image/heic-sequence', 'heif' => 'image/heif', 'heifs' => 'image/heif-sequence', 'hej2' => 'image/hej2k', 'held' => 'application/atsc-held+xml', 'hh' => 'text/x-c', 'hjson' => 'application/hjson', 'hlp' => 'application/winhlp', 'hpgl' => 'application/vnd.hp-hpgl', 'hpid' => 'application/vnd.hp-hpid', 'hps' => 'application/vnd.hp-hps', 'hqx' => 'application/mac-binhex40', 'hsj2' => 'image/hsj2', 'htc' => 'text/x-component', 'htke' => 'application/vnd.kenameaapp', 'htm' => 'text/html', 'html' => 'text/html', 'hvd' => 'application/vnd.yamaha.hv-dic', 'hvp' => 'application/vnd.yamaha.hv-voice', 'hvs' => 'application/vnd.yamaha.hv-script', 'i2g' => 'application/vnd.intergeo', 'icc' => 'application/vnd.iccprofile', 'ice' => 'x-conference/x-cooltalk', 'icm' => 'application/vnd.iccprofile', 'ico' => 'image/x-icon', 'ics' => 'text/calendar', 'ief' => 'image/ief', 'ifb' => 'text/calendar', 'ifm' => 'application/vnd.shana.informed.formdata', 'iges' => 'model/iges', 'igl' => 'application/vnd.igloader', 'igm' => 'application/vnd.insors.igm', 'igs' => 'model/iges', 'igx' => 'application/vnd.micrografx.igx', 'iif' => 'application/vnd.shana.informed.interchange', 'img' => 'application/octet-stream', 'imp' => 'application/vnd.accpac.simply.imp', 'ims' => 'application/vnd.ms-ims', 'in' => 'text/plain', 'ini' => 'text/plain', 'ink' => 'application/inkml+xml', 'inkml' => 'application/inkml+xml', 'install' => 'application/x-install-instructions', 'iota' => 'application/vnd.astraea-software.iota', 'ipfix' => 'application/ipfix', 'ipk' => 'application/vnd.shana.informed.package', 'irm' => 'application/vnd.ibm.rights-management', 'irp' => 'application/vnd.irepository.package+xml', 'iso' => 'application/x-iso9660-image', 'itp' => 'application/vnd.shana.informed.formtemplate', 'its' => 'application/its+xml', 'ivp' => 'application/vnd.immervision-ivp', 'ivu' => 'application/vnd.immervision-ivu', 'jad' => 'text/vnd.sun.j2me.app-descriptor', 'jade' => 'text/jade', 'jam' => 'application/vnd.jam', 'jar' => 'application/java-archive', 'jardiff' => 'application/x-java-archive-diff', 'java' => 'text/x-java-source', 'jhc' => 'image/jphc', 'jisp' => 'application/vnd.jisp', 'jls' => 'image/jls', 'jlt' => 'application/vnd.hp-jlyt', 'jng' => 'image/x-jng', 'jnlp' => 'application/x-java-jnlp-file', 'joda' => 'application/vnd.joost.joda-archive', 'jp2' => 'image/jp2', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpf' => 'image/jpx', 'jpg' => 'image/jpeg', 'jpg2' => 'image/jp2', 'jpgm' => 'video/jpm', 'jpgv' => 'video/jpeg', 'jph' => 'image/jph', 'jpm' => 'video/jpm', 'jpx' => 'image/jpx', 'js' => 'application/javascript', 'json' => 'application/json', 'json5' => 'application/json5', 'jsonld' => 'application/ld+json', 'jsonml' => 'application/jsonml+json', 'jsx' => 'text/jsx', 'jt' => 'model/jt', 'jxr' => 'image/jxr', 'jxra' => 'image/jxra', 'jxrs' => 'image/jxrs', 'jxs' => 'image/jxs', 'jxsc' => 'image/jxsc', 'jxsi' => 'image/jxsi', 'jxss' => 'image/jxss', 'kar' => 'audio/midi', 'karbon' => 'application/vnd.kde.karbon', 'kdb' => 'application/octet-stream', 'kdbx' => 'application/x-keepass2', 'key' => 'application/x-iwork-keynote-sffkey', 'kfo' => 'application/vnd.kde.kformula', 'kia' => 'application/vnd.kidspiration', 'kml' => 'application/vnd.google-earth.kml+xml', 'kmz' => 'application/vnd.google-earth.kmz', 'kne' => 'application/vnd.kinar', 'knp' => 'application/vnd.kinar', 'kon' => 'application/vnd.kde.kontour', 'kpr' => 'application/vnd.kde.kpresenter', 'kpt' => 'application/vnd.kde.kpresenter', 'kpxx' => 'application/vnd.ds-keypoint', 'ksp' => 'application/vnd.kde.kspread', 'ktr' => 'application/vnd.kahootz', 'ktx' => 'image/ktx', 'ktx2' => 'image/ktx2', 'ktz' => 'application/vnd.kahootz', 'kwd' => 'application/vnd.kde.kword', 'kwt' => 'application/vnd.kde.kword', 'lasxml' => 'application/vnd.las.las+xml', 'latex' => 'application/x-latex', 'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', 'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', 'les' => 'application/vnd.hhe.lesson-player', 'less' => 'text/less', 'lgr' => 'application/lgr+xml', 'lha' => 'application/octet-stream', 'link66' => 'application/vnd.route66.link66+xml', 'list' => 'text/plain', 'list3820' => 'application/vnd.ibm.modcap', 'listafp' => 'application/vnd.ibm.modcap', 'litcoffee' => 'text/coffeescript', 'lnk' => 'application/x-ms-shortcut', 'log' => 'text/plain', 'lostxml' => 'application/lost+xml', 'lrf' => 'application/octet-stream', 'lrm' => 'application/vnd.ms-lrm', 'ltf' => 'application/vnd.frogans.ltf', 'lua' => 'text/x-lua', 'luac' => 'application/x-lua-bytecode', 'lvp' => 'audio/vnd.lucent.voice', 'lwp' => 'application/vnd.lotus-wordpro', 'lzh' => 'application/octet-stream', 'm1v' => 'video/mpeg', 'm2a' => 'audio/mpeg', 'm2v' => 'video/mpeg', 'm3a' => 'audio/mpeg', 'm3u' => 'text/plain', 'm3u8' => 'application/vnd.apple.mpegurl', 'm4a' => 'audio/x-m4a', 'm4p' => 'application/mp4', 'm4s' => 'video/iso.segment', 'm4u' => 'application/vnd.mpegurl', 'm4v' => 'video/x-m4v', 'm13' => 'application/x-msmediaview', 'm14' => 'application/x-msmediaview', 'm21' => 'application/mp21', 'ma' => 'application/mathematica', 'mads' => 'application/mads+xml', 'maei' => 'application/mmt-aei+xml', 'mag' => 'application/vnd.ecowin.chart', 'maker' => 'application/vnd.framemaker', 'man' => 'text/troff', 'manifest' => 'text/cache-manifest', 'map' => 'application/json', 'mar' => 'application/octet-stream', 'markdown' => 'text/markdown', 'mathml' => 'application/mathml+xml', 'mb' => 'application/mathematica', 'mbk' => 'application/vnd.mobius.mbk', 'mbox' => 'application/mbox', 'mc1' => 'application/vnd.medcalcdata', 'mcd' => 'application/vnd.mcd', 'mcurl' => 'text/vnd.curl.mcurl', 'md' => 'text/markdown', 'mdb' => 'application/x-msaccess', 'mdi' => 'image/vnd.ms-modi', 'mdx' => 'text/mdx', 'me' => 'text/troff', 'mesh' => 'model/mesh', 'meta4' => 'application/metalink4+xml', 'metalink' => 'application/metalink+xml', 'mets' => 'application/mets+xml', 'mfm' => 'application/vnd.mfmp', 'mft' => 'application/rpki-manifest', 'mgp' => 'application/vnd.osgeo.mapguide.package', 'mgz' => 'application/vnd.proteus.magazine', 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mie' => 'application/x-mie', 'mif' => 'application/vnd.mif', 'mime' => 'message/rfc822', 'mj2' => 'video/mj2', 'mjp2' => 'video/mj2', 'mjs' => 'text/javascript', 'mk3d' => 'video/x-matroska', 'mka' => 'audio/x-matroska', 'mkd' => 'text/x-markdown', 'mks' => 'video/x-matroska', 'mkv' => 'video/x-matroska', 'mlp' => 'application/vnd.dolby.mlp', 'mmd' => 'application/vnd.chipnuts.karaoke-mmd', 'mmf' => 'application/vnd.smaf', 'mml' => 'text/mathml', 'mmr' => 'image/vnd.fujixerox.edmics-mmr', 'mng' => 'video/x-mng', 'mny' => 'application/x-msmoney', 'mobi' => 'application/x-mobipocket-ebook', 'mods' => 'application/mods+xml', 'mov' => 'video/quicktime', 'movie' => 'video/x-sgi-movie', 'mp2' => 'audio/mpeg', 'mp2a' => 'audio/mpeg', 'mp3' => 'audio/mpeg', 'mp4' => 'video/mp4', 'mp4a' => 'audio/mp4', 'mp4s' => 'application/mp4', 'mp4v' => 'video/mp4', 'mp21' => 'application/mp21', 'mpc' => 'application/vnd.mophun.certificate', 'mpd' => 'application/dash+xml', 'mpe' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'mpf' => 'application/media-policy-dataset+xml', 'mpg' => 'video/mpeg', 'mpg4' => 'video/mp4', 'mpga' => 'audio/mpeg', 'mpkg' => 'application/vnd.apple.installer+xml', 'mpm' => 'application/vnd.blueice.multipass', 'mpn' => 'application/vnd.mophun.application', 'mpp' => 'application/vnd.ms-project', 'mpt' => 'application/vnd.ms-project', 'mpy' => 'application/vnd.ibm.minipay', 'mqy' => 'application/vnd.mobius.mqy', 'mrc' => 'application/marc', 'mrcx' => 'application/marcxml+xml', 'ms' => 'text/troff', 'mscml' => 'application/mediaservercontrol+xml', 'mseed' => 'application/vnd.fdsn.mseed', 'mseq' => 'application/vnd.mseq', 'msf' => 'application/vnd.epson.msf', 'msg' => 'application/vnd.ms-outlook', 'msh' => 'model/mesh', 'msi' => 'application/x-msdownload', 'msix' => 'application/msix', 'msixbundle' => 'application/msixbundle', 'msl' => 'application/vnd.mobius.msl', 'msm' => 'application/octet-stream', 'msp' => 'application/octet-stream', 'msty' => 'application/vnd.muvee.style', 'mtl' => 'model/mtl', 'mts' => 'model/vnd.mts', 'mus' => 'application/vnd.musician', 'musd' => 'application/mmt-usd+xml', 'musicxml' => 'application/vnd.recordare.musicxml+xml', 'mvb' => 'application/x-msmediaview', 'mvt' => 'application/vnd.mapbox-vector-tile', 'mwf' => 'application/vnd.mfer', 'mxf' => 'application/mxf', 'mxl' => 'application/vnd.recordare.musicxml', 'mxmf' => 'audio/mobile-xmf', 'mxml' => 'application/xv+xml', 'mxs' => 'application/vnd.triscape.mxs', 'mxu' => 'video/vnd.mpegurl', 'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', 'n3' => 'text/n3', 'nb' => 'application/mathematica', 'nbp' => 'application/vnd.wolfram.player', 'nc' => 'application/x-netcdf', 'ncx' => 'application/x-dtbncx+xml', 'nfo' => 'text/x-nfo', 'ngdat' => 'application/vnd.nokia.n-gage.data', 'nitf' => 'application/vnd.nitf', 'nlu' => 'application/vnd.neurolanguage.nlu', 'nml' => 'application/vnd.enliven', 'nnd' => 'application/vnd.noblenet-directory', 'nns' => 'application/vnd.noblenet-sealer', 'nnw' => 'application/vnd.noblenet-web', 'npx' => 'image/vnd.net-fpx', 'nq' => 'application/n-quads', 'nsc' => 'application/x-conference', 'nsf' => 'application/vnd.lotus-notes', 'nt' => 'application/n-triples', 'ntf' => 'application/vnd.nitf', 'numbers' => 'application/x-iwork-numbers-sffnumbers', 'nzb' => 'application/x-nzb', 'oa2' => 'application/vnd.fujitsu.oasys2', 'oa3' => 'application/vnd.fujitsu.oasys3', 'oas' => 'application/vnd.fujitsu.oasys', 'obd' => 'application/x-msbinder', 'obgx' => 'application/vnd.openblox.game+xml', 'obj' => 'model/obj', 'oda' => 'application/oda', 'odb' => 'application/vnd.oasis.opendocument.database', 'odc' => 'application/vnd.oasis.opendocument.chart', 'odf' => 'application/vnd.oasis.opendocument.formula', 'odft' => 'application/vnd.oasis.opendocument.formula-template', 'odg' => 'application/vnd.oasis.opendocument.graphics', 'odi' => 'application/vnd.oasis.opendocument.image', 'odm' => 'application/vnd.oasis.opendocument.text-master', 'odp' => 'application/vnd.oasis.opendocument.presentation', 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', 'odt' => 'application/vnd.oasis.opendocument.text', 'oga' => 'audio/ogg', 'ogex' => 'model/vnd.opengex', 'ogg' => 'audio/ogg', 'ogv' => 'video/ogg', 'ogx' => 'application/ogg', 'omdoc' => 'application/omdoc+xml', 'onepkg' => 'application/onenote', 'onetmp' => 'application/onenote', 'onetoc' => 'application/onenote', 'onetoc2' => 'application/onenote', 'opf' => 'application/oebps-package+xml', 'opml' => 'text/x-opml', 'oprc' => 'application/vnd.palm', 'opus' => 'audio/ogg', 'org' => 'text/x-org', 'osf' => 'application/vnd.yamaha.openscoreformat', 'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', 'osm' => 'application/vnd.openstreetmap.data+xml', 'otc' => 'application/vnd.oasis.opendocument.chart-template', 'otf' => 'font/otf', 'otg' => 'application/vnd.oasis.opendocument.graphics-template', 'oth' => 'application/vnd.oasis.opendocument.text-web', 'oti' => 'application/vnd.oasis.opendocument.image-template', 'otp' => 'application/vnd.oasis.opendocument.presentation-template', 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', 'ott' => 'application/vnd.oasis.opendocument.text-template', 'ova' => 'application/x-virtualbox-ova', 'ovf' => 'application/x-virtualbox-ovf', 'owl' => 'application/rdf+xml', 'oxps' => 'application/oxps', 'oxt' => 'application/vnd.openofficeorg.extension', 'p' => 'text/x-pascal', 'p7a' => 'application/x-pkcs7-signature', 'p7b' => 'application/x-pkcs7-certificates', 'p7c' => 'application/pkcs7-mime', 'p7m' => 'application/pkcs7-mime', 'p7r' => 'application/x-pkcs7-certreqresp', 'p7s' => 'application/pkcs7-signature', 'p8' => 'application/pkcs8', 'p10' => 'application/x-pkcs10', 'p12' => 'application/x-pkcs12', 'pac' => 'application/x-ns-proxy-autoconfig', 'pages' => 'application/x-iwork-pages-sffpages', 'pas' => 'text/x-pascal', 'paw' => 'application/vnd.pawaafile', 'pbd' => 'application/vnd.powerbuilder6', 'pbm' => 'image/x-portable-bitmap', 'pcap' => 'application/vnd.tcpdump.pcap', 'pcf' => 'application/x-font-pcf', 'pcl' => 'application/vnd.hp-pcl', 'pclxl' => 'application/vnd.hp-pclxl', 'pct' => 'image/x-pict', 'pcurl' => 'application/vnd.curl.pcurl', 'pcx' => 'image/x-pcx', 'pdb' => 'application/x-pilot', 'pde' => 'text/x-processing', 'pdf' => 'application/pdf', 'pem' => 'application/x-x509-user-cert', 'pfa' => 'application/x-font-type1', 'pfb' => 'application/x-font-type1', 'pfm' => 'application/x-font-type1', 'pfr' => 'application/font-tdpfr', 'pfx' => 'application/x-pkcs12', 'pgm' => 'image/x-portable-graymap', 'pgn' => 'application/x-chess-pgn', 'pgp' => 'application/pgp', 'phar' => 'application/octet-stream', 'php' => 'application/x-httpd-php', 'php3' => 'application/x-httpd-php', 'php4' => 'application/x-httpd-php', 'phps' => 'application/x-httpd-php-source', 'phtml' => 'application/x-httpd-php', 'pic' => 'image/x-pict', 'pkg' => 'application/octet-stream', 'pki' => 'application/pkixcmp', 'pkipath' => 'application/pkix-pkipath', 'pkpass' => 'application/vnd.apple.pkpass', 'pl' => 'application/x-perl', 'plb' => 'application/vnd.3gpp.pic-bw-large', 'plc' => 'application/vnd.mobius.plc', 'plf' => 'application/vnd.pocketlearn', 'pls' => 'application/pls+xml', 'pm' => 'application/x-perl', 'pml' => 'application/vnd.ctc-posml', 'png' => 'image/png', 'pnm' => 'image/x-portable-anymap', 'portpkg' => 'application/vnd.macports.portpkg', 'pot' => 'application/vnd.ms-powerpoint', 'potm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', 'ppa' => 'application/vnd.ms-powerpoint', 'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12', 'ppd' => 'application/vnd.cups-ppd', 'ppm' => 'image/x-portable-pixmap', 'pps' => 'application/vnd.ms-powerpoint', 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12', 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'ppt' => 'application/powerpoint', 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'pqa' => 'application/vnd.palm', 'prc' => 'model/prc', 'pre' => 'application/vnd.lotus-freelance', 'prf' => 'application/pics-rules', 'provx' => 'application/provenance+xml', 'ps' => 'application/postscript', 'psb' => 'application/vnd.3gpp.pic-bw-small', 'psd' => 'application/x-photoshop', 'psf' => 'application/x-font-linux-psf', 'pskcxml' => 'application/pskc+xml', 'pti' => 'image/prs.pti', 'ptid' => 'application/vnd.pvi.ptid1', 'pub' => 'application/x-mspublisher', 'pvb' => 'application/vnd.3gpp.pic-bw-var', 'pwn' => 'application/vnd.3m.post-it-notes', 'pya' => 'audio/vnd.ms-playready.media.pya', 'pyo' => 'model/vnd.pytha.pyox', 'pyox' => 'model/vnd.pytha.pyox', 'pyv' => 'video/vnd.ms-playready.media.pyv', 'qam' => 'application/vnd.epson.quickanime', 'qbo' => 'application/vnd.intu.qbo', 'qfx' => 'application/vnd.intu.qfx', 'qps' => 'application/vnd.publishare-delta-tree', 'qt' => 'video/quicktime', 'qwd' => 'application/vnd.quark.quarkxpress', 'qwt' => 'application/vnd.quark.quarkxpress', 'qxb' => 'application/vnd.quark.quarkxpress', 'qxd' => 'application/vnd.quark.quarkxpress', 'qxl' => 'application/vnd.quark.quarkxpress', 'qxt' => 'application/vnd.quark.quarkxpress', 'ra' => 'audio/x-realaudio', 'ram' => 'audio/x-pn-realaudio', 'raml' => 'application/raml+yaml', 'rapd' => 'application/route-apd+xml', 'rar' => 'application/x-rar', 'ras' => 'image/x-cmu-raster', 'rcprofile' => 'application/vnd.ipunplugged.rcprofile', 'rdf' => 'application/rdf+xml', 'rdz' => 'application/vnd.data-vision.rdz', 'relo' => 'application/p2p-overlay+xml', 'rep' => 'application/vnd.businessobjects', 'res' => 'application/x-dtbresource+xml', 'rgb' => 'image/x-rgb', 'rif' => 'application/reginfo+xml', 'rip' => 'audio/vnd.rip', 'ris' => 'application/x-research-info-systems', 'rl' => 'application/resource-lists+xml', 'rlc' => 'image/vnd.fujixerox.edmics-rlc', 'rld' => 'application/resource-lists-diff+xml', 'rm' => 'audio/x-pn-realaudio', 'rmi' => 'audio/midi', 'rmp' => 'audio/x-pn-realaudio-plugin', 'rms' => 'application/vnd.jcp.javame.midlet-rms', 'rmvb' => 'application/vnd.rn-realmedia-vbr', 'rnc' => 'application/relax-ng-compact-syntax', 'rng' => 'application/xml', 'roa' => 'application/rpki-roa', 'roff' => 'text/troff', 'rp9' => 'application/vnd.cloanto.rp9', 'rpm' => 'audio/x-pn-realaudio-plugin', 'rpss' => 'application/vnd.nokia.radio-presets', 'rpst' => 'application/vnd.nokia.radio-preset', 'rq' => 'application/sparql-query', 'rs' => 'application/rls-services+xml', 'rsa' => 'application/x-pkcs7', 'rsat' => 'application/atsc-rsat+xml', 'rsd' => 'application/rsd+xml', 'rsheet' => 'application/urc-ressheet+xml', 'rss' => 'application/rss+xml', 'rtf' => 'text/rtf', 'rtx' => 'text/richtext', 'run' => 'application/x-makeself', 'rusd' => 'application/route-usd+xml', 'rv' => 'video/vnd.rn-realvideo', 's' => 'text/x-asm', 's3m' => 'audio/s3m', 'saf' => 'application/vnd.yamaha.smaf-audio', 'sass' => 'text/x-sass', 'sbml' => 'application/sbml+xml', 'sc' => 'application/vnd.ibm.secure-container', 'scd' => 'application/x-msschedule', 'scm' => 'application/vnd.lotus-screencam', 'scq' => 'application/scvp-cv-request', 'scs' => 'application/scvp-cv-response', 'scss' => 'text/x-scss', 'scurl' => 'text/vnd.curl.scurl', 'sda' => 'application/vnd.stardivision.draw', 'sdc' => 'application/vnd.stardivision.calc', 'sdd' => 'application/vnd.stardivision.impress', 'sdkd' => 'application/vnd.solent.sdkm+xml', 'sdkm' => 'application/vnd.solent.sdkm+xml', 'sdp' => 'application/sdp', 'sdw' => 'application/vnd.stardivision.writer', 'sea' => 'application/octet-stream', 'see' => 'application/vnd.seemail', 'seed' => 'application/vnd.fdsn.seed', 'sema' => 'application/vnd.sema', 'semd' => 'application/vnd.semd', 'semf' => 'application/vnd.semf', 'senmlx' => 'application/senml+xml', 'sensmlx' => 'application/sensml+xml', 'ser' => 'application/java-serialized-object', 'setpay' => 'application/set-payment-initiation', 'setreg' => 'application/set-registration-initiation', 'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', 'sfs' => 'application/vnd.spotfire.sfs', 'sfv' => 'text/x-sfv', 'sgi' => 'image/sgi', 'sgl' => 'application/vnd.stardivision.writer-global', 'sgm' => 'text/sgml', 'sgml' => 'text/sgml', 'sh' => 'application/x-sh', 'shar' => 'application/x-shar', 'shex' => 'text/shex', 'shf' => 'application/shf+xml', 'shtml' => 'text/html', 'sid' => 'image/x-mrsid-image', 'sieve' => 'application/sieve', 'sig' => 'application/pgp-signature', 'sil' => 'audio/silk', 'silo' => 'model/mesh', 'sis' => 'application/vnd.symbian.install', 'sisx' => 'application/vnd.symbian.install', 'sit' => 'application/x-stuffit', 'sitx' => 'application/x-stuffitx', 'siv' => 'application/sieve', 'skd' => 'application/vnd.koan', 'skm' => 'application/vnd.koan', 'skp' => 'application/vnd.koan', 'skt' => 'application/vnd.koan', 'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', 'slim' => 'text/slim', 'slm' => 'text/slim', 'sls' => 'application/route-s-tsid+xml', 'slt' => 'application/vnd.epson.salt', 'sm' => 'application/vnd.stepmania.stepchart', 'smf' => 'application/vnd.stardivision.math', 'smi' => 'application/smil', 'smil' => 'application/smil', 'smv' => 'video/x-smv', 'smzip' => 'application/vnd.stepmania.package', 'snd' => 'audio/basic', 'snf' => 'application/x-font-snf', 'so' => 'application/octet-stream', 'spc' => 'application/x-pkcs7-certificates', 'spdx' => 'text/spdx', 'spf' => 'application/vnd.yamaha.smaf-phrase', 'spl' => 'application/x-futuresplash', 'spot' => 'text/vnd.in3d.spot', 'spp' => 'application/scvp-vp-response', 'spq' => 'application/scvp-vp-request', 'spx' => 'audio/ogg', 'sql' => 'application/x-sql', 'src' => 'application/x-wais-source', 'srt' => 'application/x-subrip', 'sru' => 'application/sru+xml', 'srx' => 'application/sparql-results+xml', 'ssdl' => 'application/ssdl+xml', 'sse' => 'application/vnd.kodak-descriptor', 'ssf' => 'application/vnd.epson.ssf', 'ssml' => 'application/ssml+xml', 'sst' => 'application/octet-stream', 'st' => 'application/vnd.sailingtracker.track', 'stc' => 'application/vnd.sun.xml.calc.template', 'std' => 'application/vnd.sun.xml.draw.template', 'step' => 'application/STEP', 'stf' => 'application/vnd.wt.stf', 'sti' => 'application/vnd.sun.xml.impress.template', 'stk' => 'application/hyperstudio', 'stl' => 'model/stl', 'stp' => 'application/STEP', 'stpx' => 'model/step+xml', 'stpxz' => 'model/step-xml+zip', 'stpz' => 'model/step+zip', 'str' => 'application/vnd.pg.format', 'stw' => 'application/vnd.sun.xml.writer.template', 'styl' => 'text/stylus', 'stylus' => 'text/stylus', 'sub' => 'text/vnd.dvb.subtitle', 'sus' => 'application/vnd.sus-calendar', 'susp' => 'application/vnd.sus-calendar', 'sv4cpio' => 'application/x-sv4cpio', 'sv4crc' => 'application/x-sv4crc', 'svc' => 'application/vnd.dvb.service', 'svd' => 'application/vnd.svd', 'svg' => 'image/svg+xml', 'svgz' => 'image/svg+xml', 'swa' => 'application/x-director', 'swf' => 'application/x-shockwave-flash', 'swi' => 'application/vnd.aristanetworks.swi', 'swidtag' => 'application/swid+xml', 'sxc' => 'application/vnd.sun.xml.calc', 'sxd' => 'application/vnd.sun.xml.draw', 'sxg' => 'application/vnd.sun.xml.writer.global', 'sxi' => 'application/vnd.sun.xml.impress', 'sxm' => 'application/vnd.sun.xml.math', 'sxw' => 'application/vnd.sun.xml.writer', 't' => 'text/troff', 't3' => 'application/x-t3vm-image', 't38' => 'image/t38', 'taglet' => 'application/vnd.mynfc', 'tao' => 'application/vnd.tao.intent-module-archive', 'tap' => 'image/vnd.tencent.tap', 'tar' => 'application/x-tar', 'tcap' => 'application/vnd.3gpp2.tcap', 'tcl' => 'application/x-tcl', 'td' => 'application/urc-targetdesc+xml', 'teacher' => 'application/vnd.smart.teacher', 'tei' => 'application/tei+xml', 'teicorpus' => 'application/tei+xml', 'tex' => 'application/x-tex', 'texi' => 'application/x-texinfo', 'texinfo' => 'application/x-texinfo', 'text' => 'text/plain', 'tfi' => 'application/thraud+xml', 'tfm' => 'application/x-tex-tfm', 'tfx' => 'image/tiff-fx', 'tga' => 'image/x-tga', 'tgz' => 'application/x-tar', 'thmx' => 'application/vnd.ms-officetheme', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'tk' => 'application/x-tcl', 'tmo' => 'application/vnd.tmobile-livetv', 'toml' => 'application/toml', 'torrent' => 'application/x-bittorrent', 'tpl' => 'application/vnd.groove-tool-template', 'tpt' => 'application/vnd.trid.tpt', 'tr' => 'text/troff', 'tra' => 'application/vnd.trueapp', 'trig' => 'application/trig', 'trm' => 'application/x-msterminal', 'ts' => 'video/mp2t', 'tsd' => 'application/timestamped-data', 'tsv' => 'text/tab-separated-values', 'ttc' => 'font/collection', 'ttf' => 'font/ttf', 'ttl' => 'text/turtle', 'ttml' => 'application/ttml+xml', 'twd' => 'application/vnd.simtech-mindmapper', 'twds' => 'application/vnd.simtech-mindmapper', 'txd' => 'application/vnd.genomatix.tuxedo', 'txf' => 'application/vnd.mobius.txf', 'txt' => 'text/plain', 'u3d' => 'model/u3d', 'u8dsn' => 'message/global-delivery-status', 'u8hdr' => 'message/global-headers', 'u8mdn' => 'message/global-disposition-notification', 'u8msg' => 'message/global', 'u32' => 'application/x-authorware-bin', 'ubj' => 'application/ubjson', 'udeb' => 'application/x-debian-package', 'ufd' => 'application/vnd.ufdl', 'ufdl' => 'application/vnd.ufdl', 'ulx' => 'application/x-glulx', 'umj' => 'application/vnd.umajin', 'unityweb' => 'application/vnd.unity', 'uo' => 'application/vnd.uoml+xml', 'uoml' => 'application/vnd.uoml+xml', 'uri' => 'text/uri-list', 'uris' => 'text/uri-list', 'urls' => 'text/uri-list', 'usda' => 'model/vnd.usda', 'usdz' => 'model/vnd.usdz+zip', 'ustar' => 'application/x-ustar', 'utz' => 'application/vnd.uiq.theme', 'uu' => 'text/x-uuencode', 'uva' => 'audio/vnd.dece.audio', 'uvd' => 'application/vnd.dece.data', 'uvf' => 'application/vnd.dece.data', 'uvg' => 'image/vnd.dece.graphic', 'uvh' => 'video/vnd.dece.hd', 'uvi' => 'image/vnd.dece.graphic', 'uvm' => 'video/vnd.dece.mobile', 'uvp' => 'video/vnd.dece.pd', 'uvs' => 'video/vnd.dece.sd', 'uvt' => 'application/vnd.dece.ttml+xml', 'uvu' => 'video/vnd.uvvu.mp4', 'uvv' => 'video/vnd.dece.video', 'uvva' => 'audio/vnd.dece.audio', 'uvvd' => 'application/vnd.dece.data', 'uvvf' => 'application/vnd.dece.data', 'uvvg' => 'image/vnd.dece.graphic', 'uvvh' => 'video/vnd.dece.hd', 'uvvi' => 'image/vnd.dece.graphic', 'uvvm' => 'video/vnd.dece.mobile', 'uvvp' => 'video/vnd.dece.pd', 'uvvs' => 'video/vnd.dece.sd', 'uvvt' => 'application/vnd.dece.ttml+xml', 'uvvu' => 'video/vnd.uvvu.mp4', 'uvvv' => 'video/vnd.dece.video', 'uvvx' => 'application/vnd.dece.unspecified', 'uvvz' => 'application/vnd.dece.zip', 'uvx' => 'application/vnd.dece.unspecified', 'uvz' => 'application/vnd.dece.zip', 'vbox' => 'application/x-virtualbox-vbox', 'vbox-extpack' => 'application/x-virtualbox-vbox-extpack', 'vcard' => 'text/vcard', 'vcd' => 'application/x-cdlink', 'vcf' => 'text/x-vcard', 'vcg' => 'application/vnd.groove-vcard', 'vcs' => 'text/x-vcalendar', 'vcx' => 'application/vnd.vcx', 'vdi' => 'application/x-virtualbox-vdi', 'vds' => 'model/vnd.sap.vds', 'vhd' => 'application/x-virtualbox-vhd', 'vis' => 'application/vnd.visionary', 'viv' => 'video/vnd.vivo', 'vlc' => 'application/videolan', 'vmdk' => 'application/x-virtualbox-vmdk', 'vob' => 'video/x-ms-vob', 'vor' => 'application/vnd.stardivision.writer', 'vox' => 'application/x-authorware-bin', 'vrml' => 'model/vrml', 'vsd' => 'application/vnd.visio', 'vsf' => 'application/vnd.vsf', 'vss' => 'application/vnd.visio', 'vst' => 'application/vnd.visio', 'vsw' => 'application/vnd.visio', 'vtf' => 'image/vnd.valve.source.texture', 'vtt' => 'text/vtt', 'vtu' => 'model/vnd.vtu', 'vxml' => 'application/voicexml+xml', 'w3d' => 'application/x-director', 'wad' => 'application/x-doom', 'wadl' => 'application/vnd.sun.wadl+xml', 'war' => 'application/java-archive', 'wasm' => 'application/wasm', 'wav' => 'audio/x-wav', 'wax' => 'audio/x-ms-wax', 'wbmp' => 'image/vnd.wap.wbmp', 'wbs' => 'application/vnd.criticaltools.wbs+xml', 'wbxml' => 'application/wbxml', 'wcm' => 'application/vnd.ms-works', 'wdb' => 'application/vnd.ms-works', 'wdp' => 'image/vnd.ms-photo', 'weba' => 'audio/webm', 'webapp' => 'application/x-web-app-manifest+json', 'webm' => 'video/webm', 'webmanifest' => 'application/manifest+json', 'webp' => 'image/webp', 'wg' => 'application/vnd.pmi.widget', 'wgsl' => 'text/wgsl', 'wgt' => 'application/widget', 'wif' => 'application/watcherinfo+xml', 'wks' => 'application/vnd.ms-works', 'wm' => 'video/x-ms-wm', 'wma' => 'audio/x-ms-wma', 'wmd' => 'application/x-ms-wmd', 'wmf' => 'image/wmf', 'wml' => 'text/vnd.wap.wml', 'wmlc' => 'application/wmlc', 'wmls' => 'text/vnd.wap.wmlscript', 'wmlsc' => 'application/vnd.wap.wmlscriptc', 'wmv' => 'video/x-ms-wmv', 'wmx' => 'video/x-ms-wmx', 'wmz' => 'application/x-msmetafile', 'woff' => 'font/woff', 'woff2' => 'font/woff2', 'word' => 'application/msword', 'wpd' => 'application/vnd.wordperfect', 'wpl' => 'application/vnd.ms-wpl', 'wps' => 'application/vnd.ms-works', 'wqd' => 'application/vnd.wqd', 'wri' => 'application/x-mswrite', 'wrl' => 'model/vrml', 'wsc' => 'message/vnd.wfa.wsc', 'wsdl' => 'application/wsdl+xml', 'wspolicy' => 'application/wspolicy+xml', 'wtb' => 'application/vnd.webturbo', 'wvx' => 'video/x-ms-wvx', 'x3d' => 'model/x3d+xml', 'x3db' => 'model/x3d+fastinfoset', 'x3dbz' => 'model/x3d+binary', 'x3dv' => 'model/x3d-vrml', 'x3dvz' => 'model/x3d+vrml', 'x3dz' => 'model/x3d+xml', 'x32' => 'application/x-authorware-bin', 'x_b' => 'model/vnd.parasolid.transmit.binary', 'x_t' => 'model/vnd.parasolid.transmit.text', 'xaml' => 'application/xaml+xml', 'xap' => 'application/x-silverlight-app', 'xar' => 'application/vnd.xara', 'xav' => 'application/xcap-att+xml', 'xbap' => 'application/x-ms-xbap', 'xbd' => 'application/vnd.fujixerox.docuworks.binder', 'xbm' => 'image/x-xbitmap', 'xca' => 'application/xcap-caps+xml', 'xcs' => 'application/calendar+xml', 'xdf' => 'application/xcap-diff+xml', 'xdm' => 'application/vnd.syncml.dm+xml', 'xdp' => 'application/vnd.adobe.xdp+xml', 'xdssc' => 'application/dssc+xml', 'xdw' => 'application/vnd.fujixerox.docuworks', 'xel' => 'application/xcap-el+xml', 'xenc' => 'application/xenc+xml', 'xer' => 'application/patch-ops-error+xml', 'xfdf' => 'application/xfdf', 'xfdl' => 'application/vnd.xfdl', 'xht' => 'application/xhtml+xml', 'xhtm' => 'application/vnd.pwg-xhtml-print+xml', 'xhtml' => 'application/xhtml+xml', 'xhvml' => 'application/xv+xml', 'xif' => 'image/vnd.xiff', 'xl' => 'application/excel', 'xla' => 'application/vnd.ms-excel', 'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12', 'xlc' => 'application/vnd.ms-excel', 'xlf' => 'application/xliff+xml', 'xlm' => 'application/vnd.ms-excel', 'xls' => 'application/vnd.ms-excel', 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12', 'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12', 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlt' => 'application/vnd.ms-excel', 'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12', 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'xlw' => 'application/vnd.ms-excel', 'xm' => 'audio/xm', 'xml' => 'application/xml', 'xns' => 'application/xcap-ns+xml', 'xo' => 'application/vnd.olpc-sugar', 'xop' => 'application/xop+xml', 'xpi' => 'application/x-xpinstall', 'xpl' => 'application/xproc+xml', 'xpm' => 'image/x-xpixmap', 'xpr' => 'application/vnd.is-xpr', 'xps' => 'application/vnd.ms-xpsdocument', 'xpw' => 'application/vnd.intercon.formnet', 'xpx' => 'application/vnd.intercon.formnet', 'xsd' => 'application/xml', 'xsf' => 'application/prs.xsf+xml', 'xsl' => 'application/xml', 'xslt' => 'application/xslt+xml', 'xsm' => 'application/vnd.syncml+xml', 'xspf' => 'application/xspf+xml', 'xul' => 'application/vnd.mozilla.xul+xml', 'xvm' => 'application/xv+xml', 'xvml' => 'application/xv+xml', 'xwd' => 'image/x-xwindowdump', 'xyz' => 'chemical/x-xyz', 'xz' => 'application/x-xz', 'yaml' => 'text/yaml', 'yang' => 'application/yang', 'yin' => 'application/yin+xml', 'yml' => 'text/yaml', 'ymp' => 'text/x-suse-ymp', 'z' => 'application/x-compress', 'z1' => 'application/x-zmachine', 'z2' => 'application/x-zmachine', 'z3' => 'application/x-zmachine', 'z4' => 'application/x-zmachine', 'z5' => 'application/x-zmachine', 'z6' => 'application/x-zmachine', 'z7' => 'application/x-zmachine', 'z8' => 'application/x-zmachine', 'zaz' => 'application/vnd.zzazz.deck+xml', 'zip' => 'application/zip', 'zir' => 'application/vnd.zul', 'zirz' => 'application/vnd.zul', 'zmm' => 'application/vnd.handheld-entertainment+xml', 'zsh' => 'text/x-scriptzsh']; /** * Determines the mimetype of a file by looking at its extension. * - * @param string $filename - * - * @return string|null + * @see https://raw.githubusercontent.com/jshttp/mime-db/master/db.json */ - public static function fromFilename($filename) + public static function fromFilename(string $filename) : ?string { return self::fromExtension(\pathinfo($filename, \PATHINFO_EXTENSION)); } /** * Maps a file extensions to a mimetype. * - * @param string $extension string The file extension. - * - * @return string|null - * - * @link http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/conf/mime.types + * @see https://raw.githubusercontent.com/jshttp/mime-db/master/db.json */ - public static function fromExtension($extension) + public static function fromExtension(string $extension) : ?string { - static $mimetypes = ['3gp' => 'video/3gpp', '7z' => 'application/x-7z-compressed', 'aac' => 'audio/x-aac', 'ai' => 'application/postscript', 'aif' => 'audio/x-aiff', 'asc' => 'text/plain', 'asf' => 'video/x-ms-asf', 'atom' => 'application/atom+xml', 'avi' => 'video/x-msvideo', 'bmp' => 'image/bmp', 'bz2' => 'application/x-bzip2', 'cer' => 'application/pkix-cert', 'crl' => 'application/pkix-crl', 'crt' => 'application/x-x509-ca-cert', 'css' => 'text/css', 'csv' => 'text/csv', 'cu' => 'application/cu-seeme', 'deb' => 'application/x-debian-package', 'doc' => 'application/msword', 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'dvi' => 'application/x-dvi', 'eot' => 'application/vnd.ms-fontobject', 'eps' => 'application/postscript', 'epub' => 'application/epub+zip', 'etx' => 'text/x-setext', 'flac' => 'audio/flac', 'flv' => 'video/x-flv', 'gif' => 'image/gif', 'gz' => 'application/gzip', 'htm' => 'text/html', 'html' => 'text/html', 'ico' => 'image/x-icon', 'ics' => 'text/calendar', 'ini' => 'text/plain', 'iso' => 'application/x-iso9660-image', 'jar' => 'application/java-archive', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'js' => 'text/javascript', 'json' => 'application/json', 'latex' => 'application/x-latex', 'log' => 'text/plain', 'm4a' => 'audio/mp4', 'm4v' => 'video/mp4', 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mov' => 'video/quicktime', 'mkv' => 'video/x-matroska', 'mp3' => 'audio/mpeg', 'mp4' => 'video/mp4', 'mp4a' => 'audio/mp4', 'mp4v' => 'video/mp4', 'mpe' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'mpg' => 'video/mpeg', 'mpg4' => 'video/mp4', 'oga' => 'audio/ogg', 'ogg' => 'audio/ogg', 'ogv' => 'video/ogg', 'ogx' => 'application/ogg', 'pbm' => 'image/x-portable-bitmap', 'pdf' => 'application/pdf', 'pgm' => 'image/x-portable-graymap', 'png' => 'image/png', 'pnm' => 'image/x-portable-anymap', 'ppm' => 'image/x-portable-pixmap', 'ppt' => 'application/vnd.ms-powerpoint', 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'ps' => 'application/postscript', 'qt' => 'video/quicktime', 'rar' => 'application/x-rar-compressed', 'ras' => 'image/x-cmu-raster', 'rss' => 'application/rss+xml', 'rtf' => 'application/rtf', 'sgm' => 'text/sgml', 'sgml' => 'text/sgml', 'svg' => 'image/svg+xml', 'swf' => 'application/x-shockwave-flash', 'tar' => 'application/x-tar', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'torrent' => 'application/x-bittorrent', 'ttf' => 'application/x-font-ttf', 'txt' => 'text/plain', 'wav' => 'audio/x-wav', 'webm' => 'video/webm', 'webp' => 'image/webp', 'wma' => 'audio/x-ms-wma', 'wmv' => 'video/x-ms-wmv', 'woff' => 'application/x-font-woff', 'wsdl' => 'application/wsdl+xml', 'xbm' => 'image/x-xbitmap', 'xls' => 'application/vnd.ms-excel', 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xml' => 'application/xml', 'xpm' => 'image/x-xpixmap', 'xwd' => 'image/x-xwindowdump', 'yaml' => 'text/yaml', 'yml' => 'text/yaml', 'zip' => 'application/zip']; - $extension = \strtolower($extension); - return isset($mimetypes[$extension]) ? $mimetypes[$extension] : null; + return self::MIME_TYPES[\strtolower($extension)] ?? null; } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MultipartStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MultipartStream.php index b04fcb5f7..6343552a8 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MultipartStream.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MultipartStream.php @@ -1,18 +1,20 @@ boundary = $boundary ?: \sha1(\uniqid('', \true)); + $this->boundary = $boundary ?: \bin2hex(\random_bytes(20)); $this->stream = $this->createStream($elements); } - /** - * Get the boundary - * - * @return string - */ - public function getBoundary() + public function getBoundary() : string { return $this->boundary; } - public function isWritable() + public function isWritable() : bool { return \false; } /** * Get the headers needed before transferring the content of a POST file + * + * @param array $headers */ - private function getHeaders(array $headers) + private function getHeaders(array $headers) : string { $str = ''; foreach ($headers as $key => $value) { @@ -57,17 +56,20 @@ private function getHeaders(array $headers) /** * Create the aggregate stream that will be used to upload the POST data */ - protected function createStream(array $elements) + protected function createStream(array $elements = []) : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface { $stream = new \YoastSEO_Vendor\GuzzleHttp\Psr7\AppendStream(); foreach ($elements as $element) { + if (!\is_array($element)) { + throw new \UnexpectedValueException('An array is expected'); + } $this->addElement($stream, $element); } // Add the trailing boundary with CRLF $stream->addStream(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor("--{$this->boundary}--\r\n")); return $stream; } - private function addElement(\YoastSEO_Vendor\GuzzleHttp\Psr7\AppendStream $stream, array $element) + private function addElement(\YoastSEO_Vendor\GuzzleHttp\Psr7\AppendStream $stream, array $element) : void { foreach (['contents', 'name'] as $key) { if (!\array_key_exists($key, $element)) { @@ -77,19 +79,16 @@ private function addElement(\YoastSEO_Vendor\GuzzleHttp\Psr7\AppendStream $strea $element['contents'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($element['contents']); if (empty($element['filename'])) { $uri = $element['contents']->getMetadata('uri'); - if (\substr($uri, 0, 6) !== 'php://') { + if ($uri && \is_string($uri) && \substr($uri, 0, 6) !== 'php://' && \substr($uri, 0, 7) !== 'data://') { $element['filename'] = $uri; } } - list($body, $headers) = $this->createElement($element['name'], $element['contents'], isset($element['filename']) ? $element['filename'] : null, isset($element['headers']) ? $element['headers'] : []); + [$body, $headers] = $this->createElement($element['name'], $element['contents'], $element['filename'] ?? null, $element['headers'] ?? []); $stream->addStream(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($this->getHeaders($headers))); $stream->addStream($body); $stream->addStream(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor("\r\n")); } - /** - * @return array - */ - private function createElement($name, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, $filename, array $headers) + private function createElement(string $name, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, ?string $filename, array $headers) : array { // Set a default content-disposition header if one was no provided $disposition = $this->getHeader($headers, 'content-disposition'); @@ -106,13 +105,11 @@ private function createElement($name, \YoastSEO_Vendor\Psr\Http\Message\StreamIn // Set a default Content-Type if one was not supplied $type = $this->getHeader($headers, 'content-type'); if (!$type && ($filename === '0' || $filename)) { - if ($type = \YoastSEO_Vendor\GuzzleHttp\Psr7\MimeType::fromFilename($filename)) { - $headers['Content-Type'] = $type; - } + $headers['Content-Type'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\MimeType::fromFilename($filename) ?? 'application/octet-stream'; } return [$stream, $headers]; } - private function getHeader(array $headers, $key) + private function getHeader(array $headers, string $key) { $lowercaseHeader = \strtolower($key); foreach ($headers as $k => $v) { diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/NoSeekStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/NoSeekStream.php index 72df97554..b4cc8ff15 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/NoSeekStream.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/NoSeekStream.php @@ -1,21 +1,22 @@ source = $source; - $this->size = isset($options['size']) ? $options['size'] : null; - $this->metadata = isset($options['metadata']) ? $options['metadata'] : []; + $this->size = $options['size'] ?? null; + $this->metadata = $options['metadata'] ?? []; $this->buffer = new \YoastSEO_Vendor\GuzzleHttp\Psr7\BufferStream(); } - public function __toString() + public function __toString() : string { try { return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToString($this); - } catch (\Exception $e) { + } catch (\Throwable $e) { + if (\PHP_VERSION_ID >= 70400) { + throw $e; + } + \trigger_error(\sprintf('%s::__toString exception: %s', self::class, (string) $e), \E_USER_ERROR); return ''; } } - public function close() + public function close() : void { $this->detach(); } public function detach() { - $this->tellPos = \false; + $this->tellPos = 0; $this->source = null; return null; } - public function getSize() + public function getSize() : ?int { return $this->size; } - public function tell() + public function tell() : int { return $this->tellPos; } - public function eof() + public function eof() : bool { - return !$this->source; + return $this->source === null; } - public function isSeekable() + public function isSeekable() : bool { return \false; } - public function rewind() + public function rewind() : void { $this->seek(0); } - public function seek($offset, $whence = \SEEK_SET) + public function seek($offset, $whence = \SEEK_SET) : void { throw new \RuntimeException('Cannot seek a PumpStream'); } - public function isWritable() + public function isWritable() : bool { return \false; } - public function write($string) + public function write($string) : int { throw new \RuntimeException('Cannot write to a PumpStream'); } - public function isReadable() + public function isReadable() : bool { return \true; } - public function read($length) + public function read($length) : string { $data = $this->buffer->read($length); $readLen = \strlen($data); @@ -111,7 +114,7 @@ public function read($length) } return $data; } - public function getContents() + public function getContents() : string { $result = ''; while (!$this->eof()) { @@ -119,14 +122,17 @@ public function getContents() } return $result; } + /** + * @return mixed + */ public function getMetadata($key = null) { if (!$key) { return $this->metadata; } - return isset($this->metadata[$key]) ? $this->metadata[$key] : null; + return $this->metadata[$key] ?? null; } - private function pump($length) + private function pump(int $length) : void { if ($this->source) { do { diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Query.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Query.php index 9ec549677..fe7e62f75 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Query.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Query.php @@ -1,5 +1,6 @@ $v) { - $k = $encoder($k); + $k = $encoder((string) $k); if (!\is_array($v)) { $qs .= $k; + $v = \is_bool($v) ? (int) $v : $v; if ($v !== null) { - $qs .= '=' . $encoder($v); + $qs .= '=' . $encoder((string) $v); } $qs .= '&'; } else { foreach ($v as $vv) { $qs .= $k; + $vv = \is_bool($vv) ? (int) $vv : $vv; if ($vv !== null) { - $qs .= '=' . $encoder($vv); + $qs .= '=' . $encoder((string) $vv); } $qs .= '&'; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Request.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Request.php index 41ba88cb3..3b78f4ffb 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Request.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Request.php @@ -1,5 +1,6 @@ $headers Request headers * @param string|resource|StreamInterface|null $body Request body * @param string $version Protocol version */ - public function __construct($method, $uri, array $headers = [], $body = null, $version = '1.1') + public function __construct(string $method, $uri, array $headers = [], $body = null, string $version = '1.1') { $this->assertMethod($method); if (!$uri instanceof \YoastSEO_Vendor\Psr\Http\Message\UriInterface) { @@ -42,13 +43,13 @@ public function __construct($method, $uri, array $headers = [], $body = null, $v $this->stream = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($body); } } - public function getRequestTarget() + public function getRequestTarget() : string { if ($this->requestTarget !== null) { return $this->requestTarget; } $target = $this->uri->getPath(); - if ($target == '') { + if ($target === '') { $target = '/'; } if ($this->uri->getQuery() != '') { @@ -56,7 +57,7 @@ public function getRequestTarget() } return $target; } - public function withRequestTarget($requestTarget) + public function withRequestTarget($requestTarget) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { if (\preg_match('#\\s#', $requestTarget)) { throw new \InvalidArgumentException('Invalid request target provided; cannot contain whitespace'); @@ -65,22 +66,22 @@ public function withRequestTarget($requestTarget) $new->requestTarget = $requestTarget; return $new; } - public function getMethod() + public function getMethod() : string { return $this->method; } - public function withMethod($method) + public function withMethod($method) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { $this->assertMethod($method); $new = clone $this; $new->method = \strtoupper($method); return $new; } - public function getUri() + public function getUri() : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { return $this->uri; } - public function withUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, $preserveHost = \false) + public function withUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, $preserveHost = \false) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { if ($uri === $this->uri) { return $this; @@ -92,7 +93,7 @@ public function withUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, $pr } return $new; } - private function updateHostFromUri() + private function updateHostFromUri() : void { $host = $this->uri->getHost(); if ($host == '') { @@ -111,7 +112,10 @@ private function updateHostFromUri() // See: http://tools.ietf.org/html/rfc7230#section-5.4 $this->headers = [$header => [$host]] + $this->headers; } - private function assertMethod($method) + /** + * @param mixed $method + */ + private function assertMethod($method) : void { if (!\is_string($method) || $method === '') { throw new \InvalidArgumentException('Method must be a non-empty string.'); diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Response.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Response.php index 269bf8d06..b57f77446 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Response.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Response.php @@ -1,5 +1,6 @@ 'Continue', 101 => 'Switching Protocols', 102 => 'Processing', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 207 => 'Multi-status', 208 => 'Already Reported', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 306 => 'Switch Proxy', 307 => 'Temporary Redirect', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Time-out', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Large', 415 => 'Unsupported Media Type', 416 => 'Requested range not satisfiable', 417 => 'Expectation Failed', 418 => 'I\'m a teapot', 422 => 'Unprocessable Entity', 423 => 'Locked', 424 => 'Failed Dependency', 425 => 'Unordered Collection', 426 => 'Upgrade Required', 428 => 'Precondition Required', 429 => 'Too Many Requests', 431 => 'Request Header Fields Too Large', 451 => 'Unavailable For Legal Reasons', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Time-out', 505 => 'HTTP Version not supported', 506 => 'Variant Also Negotiates', 507 => 'Insufficient Storage', 508 => 'Loop Detected', 511 => 'Network Authentication Required']; + /** Map of standard HTTP status code/reason phrases */ + private const PHRASES = [100 => 'Continue', 101 => 'Switching Protocols', 102 => 'Processing', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 207 => 'Multi-status', 208 => 'Already Reported', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 306 => 'Switch Proxy', 307 => 'Temporary Redirect', 308 => 'Permanent Redirect', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Time-out', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Large', 415 => 'Unsupported Media Type', 416 => 'Requested range not satisfiable', 417 => 'Expectation Failed', 418 => 'I\'m a teapot', 422 => 'Unprocessable Entity', 423 => 'Locked', 424 => 'Failed Dependency', 425 => 'Unordered Collection', 426 => 'Upgrade Required', 428 => 'Precondition Required', 429 => 'Too Many Requests', 431 => 'Request Header Fields Too Large', 451 => 'Unavailable For Legal Reasons', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Time-out', 505 => 'HTTP Version not supported', 506 => 'Variant Also Negotiates', 507 => 'Insufficient Storage', 508 => 'Loop Detected', 510 => 'Not Extended', 511 => 'Network Authentication Required']; /** @var string */ - private $reasonPhrase = ''; + private $reasonPhrase; /** @var int */ - private $statusCode = 200; + private $statusCode; /** * @param int $status Status code - * @param array $headers Response headers + * @param array $headers Response headers * @param string|resource|StreamInterface|null $body Response body * @param string $version Protocol version * @param string|null $reason Reason phrase (when empty a default will be used based on the status code) */ - public function __construct($status = 200, array $headers = [], $body = null, $version = '1.1', $reason = null) + public function __construct(int $status = 200, array $headers = [], $body = null, string $version = '1.1', string $reason = null) { - $this->assertStatusCodeIsInteger($status); - $status = (int) $status; $this->assertStatusCodeRange($status); $this->statusCode = $status; if ($body !== '' && $body !== null) { $this->stream = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($body); } $this->setHeaders($headers); - if ($reason == '' && isset(self::$phrases[$this->statusCode])) { - $this->reasonPhrase = self::$phrases[$this->statusCode]; + if ($reason == '' && isset(self::PHRASES[$this->statusCode])) { + $this->reasonPhrase = self::PHRASES[$this->statusCode]; } else { $this->reasonPhrase = (string) $reason; } $this->protocol = $version; } - public function getStatusCode() + public function getStatusCode() : int { return $this->statusCode; } - public function getReasonPhrase() + public function getReasonPhrase() : string { return $this->reasonPhrase; } - public function withStatus($code, $reasonPhrase = '') + public function withStatus($code, $reasonPhrase = '') : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface { $this->assertStatusCodeIsInteger($code); $code = (int) $code; $this->assertStatusCodeRange($code); $new = clone $this; $new->statusCode = $code; - if ($reasonPhrase == '' && isset(self::$phrases[$new->statusCode])) { - $reasonPhrase = self::$phrases[$new->statusCode]; + if ($reasonPhrase == '' && isset(self::PHRASES[$new->statusCode])) { + $reasonPhrase = self::PHRASES[$new->statusCode]; } $new->reasonPhrase = (string) $reasonPhrase; return $new; } - private function assertStatusCodeIsInteger($statusCode) + /** + * @param mixed $statusCode + */ + private function assertStatusCodeIsInteger($statusCode) : void { if (\filter_var($statusCode, \FILTER_VALIDATE_INT) === \false) { throw new \InvalidArgumentException('Status code must be an integer value.'); } } - private function assertStatusCodeRange($statusCode) + private function assertStatusCodeRange(int $statusCode) : void { if ($statusCode < 100 || $statusCode >= 600) { throw new \InvalidArgumentException('Status code must be an integer value between 1xx and 5xx.'); diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Rfc7230.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Rfc7230.php index 3a0b4662c..8bce7850d 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Rfc7230.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Rfc7230.php @@ -1,19 +1,22 @@ @,;:\\\"/[\\]?={}\x01- ]++):[ \t]*+((?:[ \t]*+[!-~\x80-\xff]++)*+)[ \t]*+\r?\n)m"; - const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)"; + public const HEADER_REGEX = "(^([^()<>@,;:\\\"/[\\]?={}\x01- ]++):[ \t]*+((?:[ \t]*+[!-~\x80-\xff]++)*+)[ \t]*+\r?\n)m"; + public const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)"; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/ServerRequest.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/ServerRequest.php index 815ef5bb4..52c73f4ae 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/ServerRequest.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/ServerRequest.php @@ -1,5 +1,6 @@ $headers Request headers * @param string|resource|StreamInterface|null $body Request body * @param string $version Protocol version * @param array $serverParams Typically the $_SERVER superglobal */ - public function __construct($method, $uri, array $headers = [], $body = null, $version = '1.1', array $serverParams = []) + public function __construct(string $method, $uri, array $headers = [], $body = null, string $version = '1.1', array $serverParams = []) { $this->serverParams = $serverParams; parent::__construct($method, $uri, $headers, $body, $version); @@ -63,13 +64,11 @@ public function __construct($method, $uri, array $headers = [], $body = null, $v /** * Return an UploadedFile instance array. * - * @param array $files A array which respect $_FILES structure - * - * @return array + * @param array $files An array which respect $_FILES structure * * @throws InvalidArgumentException for unrecognized values */ - public static function normalizeFiles(array $files) + public static function normalizeFiles(array $files) : array { $normalized = []; foreach ($files as $key => $value) { @@ -94,7 +93,7 @@ public static function normalizeFiles(array $files) * * @param array $value $_FILES struct * - * @return array|UploadedFileInterface + * @return UploadedFileInterface|UploadedFileInterface[] */ private static function createUploadedFileFromSpec(array $value) { @@ -109,15 +108,13 @@ private static function createUploadedFileFromSpec(array $value) * Loops through all nested files and returns a normalized array of * UploadedFileInterface instances. * - * @param array $files - * * @return UploadedFileInterface[] */ - private static function normalizeNestedFileSpec(array $files = []) + private static function normalizeNestedFileSpec(array $files = []) : array { $normalizedFiles = []; foreach (\array_keys($files['tmp_name']) as $key) { - $spec = ['tmp_name' => $files['tmp_name'][$key], 'size' => $files['size'][$key], 'error' => $files['error'][$key], 'name' => $files['name'][$key], 'type' => $files['type'][$key]]; + $spec = ['tmp_name' => $files['tmp_name'][$key], 'size' => $files['size'][$key] ?? null, 'error' => $files['error'][$key] ?? null, 'name' => $files['name'][$key] ?? null, 'type' => $files['type'][$key] ?? null]; $normalizedFiles[$key] = self::createUploadedFileFromSpec($spec); } return $normalizedFiles; @@ -129,12 +126,10 @@ private static function normalizeNestedFileSpec(array $files = []) * $_COOKIE * $_FILES * $_SERVER - * - * @return ServerRequestInterface */ - public static function fromGlobals() + public static function fromGlobals() : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface { - $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET'; + $method = $_SERVER['REQUEST_METHOD'] ?? 'GET'; $headers = \getallheaders(); $uri = self::getUriFromGlobals(); $body = new \YoastSEO_Vendor\GuzzleHttp\Psr7\CachingStream(new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream('php://input', 'r+')); @@ -142,29 +137,27 @@ public static function fromGlobals() $serverRequest = new \YoastSEO_Vendor\GuzzleHttp\Psr7\ServerRequest($method, $uri, $headers, $body, $protocol, $_SERVER); return $serverRequest->withCookieParams($_COOKIE)->withQueryParams($_GET)->withParsedBody($_POST)->withUploadedFiles(self::normalizeFiles($_FILES)); } - private static function extractHostAndPortFromAuthority($authority) + private static function extractHostAndPortFromAuthority(string $authority) : array { $uri = 'http://' . $authority; $parts = \parse_url($uri); if (\false === $parts) { return [null, null]; } - $host = isset($parts['host']) ? $parts['host'] : null; - $port = isset($parts['port']) ? $parts['port'] : null; + $host = $parts['host'] ?? null; + $port = $parts['port'] ?? null; return [$host, $port]; } /** * Get a Uri populated with values from $_SERVER. - * - * @return UriInterface */ - public static function getUriFromGlobals() + public static function getUriFromGlobals() : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $uri = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Uri(''); $uri = $uri->withScheme(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http'); $hasPort = \false; if (isset($_SERVER['HTTP_HOST'])) { - list($host, $port) = self::extractHostAndPortFromAuthority($_SERVER['HTTP_HOST']); + [$host, $port] = self::extractHostAndPortFromAuthority($_SERVER['HTTP_HOST']); if ($host !== null) { $uri = $uri->withHost($host); } @@ -194,86 +187,59 @@ public static function getUriFromGlobals() } return $uri; } - /** - * {@inheritdoc} - */ - public function getServerParams() + public function getServerParams() : array { return $this->serverParams; } - /** - * {@inheritdoc} - */ - public function getUploadedFiles() + public function getUploadedFiles() : array { return $this->uploadedFiles; } - /** - * {@inheritdoc} - */ - public function withUploadedFiles(array $uploadedFiles) + public function withUploadedFiles(array $uploadedFiles) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface { $new = clone $this; $new->uploadedFiles = $uploadedFiles; return $new; } - /** - * {@inheritdoc} - */ - public function getCookieParams() + public function getCookieParams() : array { return $this->cookieParams; } - /** - * {@inheritdoc} - */ - public function withCookieParams(array $cookies) + public function withCookieParams(array $cookies) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface { $new = clone $this; $new->cookieParams = $cookies; return $new; } - /** - * {@inheritdoc} - */ - public function getQueryParams() + public function getQueryParams() : array { return $this->queryParams; } - /** - * {@inheritdoc} - */ - public function withQueryParams(array $query) + public function withQueryParams(array $query) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface { $new = clone $this; $new->queryParams = $query; return $new; } /** - * {@inheritdoc} + * @return array|object|null */ public function getParsedBody() { return $this->parsedBody; } - /** - * {@inheritdoc} - */ - public function withParsedBody($data) + public function withParsedBody($data) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface { $new = clone $this; $new->parsedBody = $data; return $new; } - /** - * {@inheritdoc} - */ - public function getAttributes() + public function getAttributes() : array { return $this->attributes; } /** - * {@inheritdoc} + * @return mixed */ public function getAttribute($attribute, $default = null) { @@ -282,19 +248,13 @@ public function getAttribute($attribute, $default = null) } return $this->attributes[$attribute]; } - /** - * {@inheritdoc} - */ - public function withAttribute($attribute, $value) + public function withAttribute($attribute, $value) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface { $new = clone $this; $new->attributes[$attribute] = $value; return $new; } - /** - * {@inheritdoc} - */ - public function withoutAttribute($attribute) + public function withoutAttribute($attribute) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface { if (\false === \array_key_exists($attribute, $this->attributes)) { return $this; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Stream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Stream.php index fbd96df9b..f6188bf9d 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Stream.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Stream.php @@ -1,31 +1,33 @@ size = $options['size']; } - $this->customMetadata = isset($options['metadata']) ? $options['metadata'] : []; + $this->customMetadata = $options['metadata'] ?? []; $this->stream = $stream; $meta = \stream_get_meta_data($this->stream); $this->seekable = $meta['seekable']; @@ -64,29 +66,32 @@ public function __destruct() { $this->close(); } - public function __toString() + public function __toString() : string { try { if ($this->isSeekable()) { $this->seek(0); } return $this->getContents(); - } catch (\Exception $e) { + } catch (\Throwable $e) { + if (\PHP_VERSION_ID >= 70400) { + throw $e; + } + \trigger_error(\sprintf('%s::__toString exception: %s', self::class, (string) $e), \E_USER_ERROR); return ''; } } - public function getContents() + public function getContents() : string { if (!isset($this->stream)) { throw new \RuntimeException('Stream is detached'); } - $contents = \stream_get_contents($this->stream); - if ($contents === \false) { - throw new \RuntimeException('Unable to read stream contents'); + if (!$this->readable) { + throw new \RuntimeException('Cannot read from non-readable stream'); } - return $contents; + return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryGetContents($this->stream); } - public function close() + public function close() : void { if (isset($this->stream)) { if (\is_resource($this->stream)) { @@ -106,7 +111,7 @@ public function detach() $this->readable = $this->writable = $this->seekable = \false; return $result; } - public function getSize() + public function getSize() : ?int { if ($this->size !== null) { return $this->size; @@ -119,32 +124,32 @@ public function getSize() \clearstatcache(\true, $this->uri); } $stats = \fstat($this->stream); - if (isset($stats['size'])) { + if (\is_array($stats) && isset($stats['size'])) { $this->size = $stats['size']; return $this->size; } return null; } - public function isReadable() + public function isReadable() : bool { return $this->readable; } - public function isWritable() + public function isWritable() : bool { return $this->writable; } - public function isSeekable() + public function isSeekable() : bool { return $this->seekable; } - public function eof() + public function eof() : bool { if (!isset($this->stream)) { throw new \RuntimeException('Stream is detached'); } return \feof($this->stream); } - public function tell() + public function tell() : int { if (!isset($this->stream)) { throw new \RuntimeException('Stream is detached'); @@ -155,11 +160,11 @@ public function tell() } return $result; } - public function rewind() + public function rewind() : void { $this->seek(0); } - public function seek($offset, $whence = \SEEK_SET) + public function seek($offset, $whence = \SEEK_SET) : void { $whence = (int) $whence; if (!isset($this->stream)) { @@ -172,7 +177,7 @@ public function seek($offset, $whence = \SEEK_SET) throw new \RuntimeException('Unable to seek to stream position ' . $offset . ' with whence ' . \var_export($whence, \true)); } } - public function read($length) + public function read($length) : string { if (!isset($this->stream)) { throw new \RuntimeException('Stream is detached'); @@ -186,13 +191,17 @@ public function read($length) if (0 === $length) { return ''; } - $string = \fread($this->stream, $length); + try { + $string = \fread($this->stream, $length); + } catch (\Exception $e) { + throw new \RuntimeException('Unable to read from stream', 0, $e); + } if (\false === $string) { throw new \RuntimeException('Unable to read from stream'); } return $string; } - public function write($string) + public function write($string) : int { if (!isset($this->stream)) { throw new \RuntimeException('Stream is detached'); @@ -208,6 +217,9 @@ public function write($string) } return $result; } + /** + * @return mixed + */ public function getMetadata($key = null) { if (!isset($this->stream)) { @@ -218,6 +230,6 @@ public function getMetadata($key = null) return $this->customMetadata[$key]; } $meta = \stream_get_meta_data($this->stream); - return isset($meta[$key]) ? $meta[$key] : null; + return $meta[$key] ?? null; } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamDecoratorTrait.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamDecoratorTrait.php index 5dfa7c7e8..c87404e5c 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamDecoratorTrait.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamDecoratorTrait.php @@ -1,12 +1,13 @@ stream = $this->createStream(); return $this->stream; } throw new \UnexpectedValueException("{$name} not found on class"); } - public function __toString() + public function __toString() : string { try { if ($this->isSeekable()) { $this->seek(0); } return $this->getContents(); - } catch (\Exception $e) { - // Really, PHP? https://bugs.php.net/bug.php?id=53648 - \trigger_error('StreamDecorator::__toString exception: ' . (string) $e, \E_USER_ERROR); + } catch (\Throwable $e) { + if (\PHP_VERSION_ID >= 70400) { + throw $e; + } + \trigger_error(\sprintf('%s::__toString exception: %s', self::class, (string) $e), \E_USER_ERROR); return ''; } } - public function getContents() + public function getContents() : string { return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToString($this); } /** * Allow decorators to implement custom methods * - * @param string $method Missing method name - * @param array $args Method arguments - * * @return mixed */ - public function __call($method, array $args) + public function __call(string $method, array $args) { - $result = \call_user_func_array([$this->stream, $method], $args); + /** @var callable $callable */ + $callable = [$this->stream, $method]; + $result = \call_user_func_array($callable, $args); // Always return the wrapped object if the result is a return $this return $result === $this->stream ? $this : $result; } - public function close() + public function close() : void { $this->stream->close(); } + /** + * @return mixed + */ public function getMetadata($key = null) { return $this->stream->getMetadata($key); @@ -76,54 +79,52 @@ public function detach() { return $this->stream->detach(); } - public function getSize() + public function getSize() : ?int { return $this->stream->getSize(); } - public function eof() + public function eof() : bool { return $this->stream->eof(); } - public function tell() + public function tell() : int { return $this->stream->tell(); } - public function isReadable() + public function isReadable() : bool { return $this->stream->isReadable(); } - public function isWritable() + public function isWritable() : bool { return $this->stream->isWritable(); } - public function isSeekable() + public function isSeekable() : bool { return $this->stream->isSeekable(); } - public function rewind() + public function rewind() : void { $this->seek(0); } - public function seek($offset, $whence = \SEEK_SET) + public function seek($offset, $whence = \SEEK_SET) : void { $this->stream->seek($offset, $whence); } - public function read($length) + public function read($length) : string { return $this->stream->read($length); } - public function write($string) + public function write($string) : int { return $this->stream->write($string); } /** * Implement in subclasses to dynamically create streams when requested. * - * @return StreamInterface - * * @throws \BadMethodCallException */ - protected function createStream() + protected function createStream() : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface { throw new \BadMethodCallException('Not implemented'); } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamWrapper.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamWrapper.php index c71ea0ddb..f15f6196e 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamWrapper.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamWrapper.php @@ -1,14 +1,15 @@ context); if (!isset($options['guzzle']['stream'])) { @@ -67,38 +66,48 @@ public function stream_open($path, $mode, $options, &$opened_path) $this->stream = $options['guzzle']['stream']; return \true; } - public function stream_read($count) + public function stream_read(int $count) : string { return $this->stream->read($count); } - public function stream_write($data) + public function stream_write(string $data) : int { - return (int) $this->stream->write($data); + return $this->stream->write($data); } - public function stream_tell() + public function stream_tell() : int { return $this->stream->tell(); } - public function stream_eof() + public function stream_eof() : bool { return $this->stream->eof(); } - public function stream_seek($offset, $whence) + public function stream_seek(int $offset, int $whence) : bool { $this->stream->seek($offset, $whence); return \true; } - public function stream_cast($cast_as) + /** + * @return resource|false + */ + public function stream_cast(int $cast_as) { $stream = clone $this->stream; - return $stream->detach(); + $resource = $stream->detach(); + return $resource ?? \false; } - public function stream_stat() + /** + * @return array + */ + public function stream_stat() : array { static $modeMap = ['r' => 33060, 'rb' => 33060, 'r+' => 33206, 'w' => 33188, 'wb' => 33188]; return ['dev' => 0, 'ino' => 0, 'mode' => $modeMap[$this->mode], 'nlink' => 0, 'uid' => 0, 'gid' => 0, 'rdev' => 0, 'size' => $this->stream->getSize() ?: 0, 'atime' => 0, 'mtime' => 0, 'ctime' => 0, 'blksize' => 0, 'blocks' => 0]; } - public function url_stat($path, $flags) + /** + * @return array + */ + public function url_stat(string $path, int $flags) : array { return ['dev' => 0, 'ino' => 0, 'mode' => 0, 'nlink' => 0, 'uid' => 0, 'gid' => 0, 'rdev' => 0, 'size' => 0, 'atime' => 0, 'mtime' => 0, 'ctime' => 0, 'blksize' => 0, 'blocks' => 0]; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UploadedFile.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UploadedFile.php index 88916374e..9da24a7f8 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UploadedFile.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UploadedFile.php @@ -1,5 +1,6 @@ setError($errorStatus); - $this->setSize($size); - $this->setClientFilename($clientFilename); - $this->setClientMediaType($clientMediaType); + $this->size = $size; + $this->clientFilename = $clientFilename; + $this->clientMediaType = $clientMediaType; if ($this->isOk()) { $this->setStreamOrFile($streamOrFile); } @@ -60,11 +54,11 @@ public function __construct($streamOrFile, $size, $errorStatus, $clientFilename /** * Depending on the value set file or stream variable * - * @param mixed $streamOrFile + * @param StreamInterface|string|resource $streamOrFile * * @throws InvalidArgumentException */ - private function setStreamOrFile($streamOrFile) + private function setStreamOrFile($streamOrFile) : void { if (\is_string($streamOrFile)) { $this->file = $streamOrFile; @@ -77,94 +71,34 @@ private function setStreamOrFile($streamOrFile) } } /** - * @param int $error - * * @throws InvalidArgumentException */ - private function setError($error) + private function setError(int $error) : void { - if (\false === \is_int($error)) { - throw new \InvalidArgumentException('Upload file error status must be an integer'); - } - if (\false === \in_array($error, \YoastSEO_Vendor\GuzzleHttp\Psr7\UploadedFile::$errors)) { + if (\false === \in_array($error, \YoastSEO_Vendor\GuzzleHttp\Psr7\UploadedFile::ERRORS, \true)) { throw new \InvalidArgumentException('Invalid error status for UploadedFile'); } $this->error = $error; } - /** - * @param int $size - * - * @throws InvalidArgumentException - */ - private function setSize($size) - { - if (\false === \is_int($size)) { - throw new \InvalidArgumentException('Upload file size must be an integer'); - } - $this->size = $size; - } - /** - * @param mixed $param - * - * @return bool - */ - private function isStringOrNull($param) - { - return \in_array(\gettype($param), ['string', 'NULL']); - } - /** - * @param mixed $param - * - * @return bool - */ - private function isStringNotEmpty($param) + private function isStringNotEmpty($param) : bool { return \is_string($param) && \false === empty($param); } - /** - * @param string|null $clientFilename - * - * @throws InvalidArgumentException - */ - private function setClientFilename($clientFilename) - { - if (\false === $this->isStringOrNull($clientFilename)) { - throw new \InvalidArgumentException('Upload file client filename must be a string or null'); - } - $this->clientFilename = $clientFilename; - } - /** - * @param string|null $clientMediaType - * - * @throws InvalidArgumentException - */ - private function setClientMediaType($clientMediaType) - { - if (\false === $this->isStringOrNull($clientMediaType)) { - throw new \InvalidArgumentException('Upload file client media type must be a string or null'); - } - $this->clientMediaType = $clientMediaType; - } /** * Return true if there is no upload error - * - * @return bool */ - private function isOk() + private function isOk() : bool { return $this->error === \UPLOAD_ERR_OK; } - /** - * @return bool - */ - public function isMoved() + public function isMoved() : bool { return $this->moved; } /** * @throws RuntimeException if is moved or not ok */ - private function validateActive() + private function validateActive() : void { if (\false === $this->isOk()) { throw new \RuntimeException('Cannot retrieve stream due to upload error'); @@ -173,40 +107,24 @@ private function validateActive() throw new \RuntimeException('Cannot retrieve stream after it has already been moved'); } } - /** - * {@inheritdoc} - * - * @throws RuntimeException if the upload was not successful. - */ - public function getStream() + public function getStream() : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface { $this->validateActive(); if ($this->stream instanceof \YoastSEO_Vendor\Psr\Http\Message\StreamInterface) { return $this->stream; } - return new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($this->file, 'r+'); + /** @var string $file */ + $file = $this->file; + return new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($file, 'r+'); } - /** - * {@inheritdoc} - * - * @see http://php.net/is_uploaded_file - * @see http://php.net/move_uploaded_file - * - * @param string $targetPath Path to which to move the uploaded file. - * - * @throws RuntimeException if the upload was not successful. - * @throws InvalidArgumentException if the $path specified is invalid. - * @throws RuntimeException on any error during the move operation, or on - * the second or subsequent call to the method. - */ - public function moveTo($targetPath) + public function moveTo($targetPath) : void { $this->validateActive(); if (\false === $this->isStringNotEmpty($targetPath)) { throw new \InvalidArgumentException('Invalid path provided for move operation; must be a non-empty string'); } if ($this->file) { - $this->moved = \php_sapi_name() == 'cli' ? \rename($this->file, $targetPath) : \move_uploaded_file($this->file, $targetPath); + $this->moved = \PHP_SAPI === 'cli' ? \rename($this->file, $targetPath) : \move_uploaded_file($this->file, $targetPath); } else { \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToStream($this->getStream(), new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($targetPath, 'w')); $this->moved = \true; @@ -215,40 +133,19 @@ public function moveTo($targetPath) throw new \RuntimeException(\sprintf('Uploaded file could not be moved to %s', $targetPath)); } } - /** - * {@inheritdoc} - * - * @return int|null The file size in bytes or null if unknown. - */ - public function getSize() + public function getSize() : ?int { return $this->size; } - /** - * {@inheritdoc} - * - * @see http://php.net/manual/en/features.file-upload.errors.php - * - * @return int One of PHP's UPLOAD_ERR_XXX constants. - */ - public function getError() + public function getError() : int { return $this->error; } - /** - * {@inheritdoc} - * - * @return string|null The filename sent by the client or null if none - * was provided. - */ - public function getClientFilename() + public function getClientFilename() : ?string { return $this->clientFilename; } - /** - * {@inheritdoc} - */ - public function getClientMediaType() + public function getClientMediaType() : ?string { return $this->clientMediaType; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Uri.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Uri.php index d9f2b5076..2b39722d0 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Uri.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Uri.php @@ -1,7 +1,9 @@ 80, 'https' => 443, 'ftp' => 21, 'gopher' => 70, 'nntp' => 119, 'news' => 119, 'telnet' => 23, 'tn3270' => 23, 'imap' => 143, 'pop' => 110, 'ldap' => 389]; - private static $charUnreserved = 'a-zA-Z0-9_\\-\\.~'; - private static $charSubDelims = '!\\$&\'\\(\\)\\*\\+,;='; - private static $replaceQuery = ['=' => '%3D', '&' => '%26']; + private const HTTP_DEFAULT_HOST = 'localhost'; + private const DEFAULT_PORTS = ['http' => 80, 'https' => 443, 'ftp' => 21, 'gopher' => 70, 'nntp' => 119, 'news' => 119, 'telnet' => 23, 'tn3270' => 23, 'imap' => 143, 'pop' => 110, 'ldap' => 389]; + /** + * Unreserved characters for use in a regex. + * + * @see https://tools.ietf.org/html/rfc3986#section-2.3 + */ + private const CHAR_UNRESERVED = 'a-zA-Z0-9_\\-\\.~'; + /** + * Sub-delims for use in a regex. + * + * @see https://tools.ietf.org/html/rfc3986#section-2.2 + */ + private const CHAR_SUB_DELIMS = '!\\$&\'\\(\\)\\*\\+,;='; + private const QUERY_SEPARATORS_REPLACEMENT = ['=' => '%3D', '&' => '%26']; /** @var string Uri scheme. */ private $scheme = ''; /** @var string Uri user info. */ @@ -37,16 +49,14 @@ class Uri implements \YoastSEO_Vendor\Psr\Http\Message\UriInterface private $query = ''; /** @var string Uri fragment. */ private $fragment = ''; - /** - * @param string $uri URI to parse - */ - public function __construct($uri = '') + /** @var string|null String representation */ + private $composedComponents; + public function __construct(string $uri = '') { - // weak type check to also accept null until we can add scalar type hints - if ($uri != '') { + if ($uri !== '') { $parts = self::parse($uri); if ($parts === \false) { - throw new \InvalidArgumentException("Unable to parse URI: {$uri}"); + throw new \YoastSEO_Vendor\GuzzleHttp\Psr7\Exception\MalformedUriException("Unable to parse URI: {$uri}"); } $this->applyParts($parts); } @@ -64,18 +74,18 @@ public function __construct($uri = '') * @see https://www.php.net/manual/en/function.parse-url.php#114817 * @see https://curl.haxx.se/libcurl/c/CURLOPT_URL.html#ENCODING * - * @param string $url - * * @return array|false */ - private static function parse($url) + private static function parse(string $url) { // If IPv6 $prefix = ''; if (\preg_match('%^(.*://\\[[0-9:a-f]+\\])(.*?)$%', $url, $matches)) { + /** @var array{0:string, 1:string, 2:string} $matches */ $prefix = $matches[1]; $url = $matches[2]; } + /** @var string */ $encodedUrl = \preg_replace_callback('%[^:/@?&=#]+%usD', static function ($matches) { return \urlencode($matches[0]); }, $url); @@ -85,9 +95,12 @@ private static function parse($url) } return \array_map('urldecode', $result); } - public function __toString() + public function __toString() : string { - return self::composeComponents($this->scheme, $this->getAuthority(), $this->path, $this->query, $this->fragment); + if ($this->composedComponents === null) { + $this->composedComponents = self::composeComponents($this->scheme, $this->getAuthority(), $this->path, $this->query, $this->fragment); + } + return $this->composedComponents; } /** * Composes a URI reference string from its various components. @@ -105,17 +118,9 @@ public function __toString() * `file:///` is the more common syntax for the file scheme anyway (Chrome for example redirects to * that format). * - * @param string $scheme - * @param string $authority - * @param string $path - * @param string $query - * @param string $fragment - * - * @return string - * - * @link https://tools.ietf.org/html/rfc3986#section-5.3 + * @see https://tools.ietf.org/html/rfc3986#section-5.3 */ - public static function composeComponents($scheme, $authority, $path, $query, $fragment) + public static function composeComponents(?string $scheme, ?string $authority, string $path, ?string $query, ?string $fragment) : string { $uri = ''; // weak type checks to also accept null until we can add scalar type hints @@ -125,6 +130,9 @@ public static function composeComponents($scheme, $authority, $path, $query, $fr if ($authority != '' || $scheme === 'file') { $uri .= '//' . $authority; } + if ($authority != '' && $path != '' && $path[0] != '/') { + $path = '/' . $path; + } $uri .= $path; if ($query != '') { $uri .= '?' . $query; @@ -139,14 +147,10 @@ public static function composeComponents($scheme, $authority, $path, $query, $fr * * `Psr\Http\Message\UriInterface::getPort` may return null or the standard port. This method can be used * independently of the implementation. - * - * @param UriInterface $uri - * - * @return bool */ - public static function isDefaultPort(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) + public static function isDefaultPort(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : bool { - return $uri->getPort() === null || isset(self::$defaultPorts[$uri->getScheme()]) && $uri->getPort() === self::$defaultPorts[$uri->getScheme()]; + return $uri->getPort() === null || isset(self::DEFAULT_PORTS[$uri->getScheme()]) && $uri->getPort() === self::DEFAULT_PORTS[$uri->getScheme()]; } /** * Whether the URI is absolute, i.e. it has a scheme. @@ -158,16 +162,12 @@ public static function isDefaultPort(\YoastSEO_Vendor\Psr\Http\Message\UriInterf * - absolute-path references, e.g. '/path' * - relative-path references, e.g. 'subpath' * - * @param UriInterface $uri - * - * @return bool - * * @see Uri::isNetworkPathReference * @see Uri::isAbsolutePathReference * @see Uri::isRelativePathReference - * @link https://tools.ietf.org/html/rfc3986#section-4 + * @see https://tools.ietf.org/html/rfc3986#section-4 */ - public static function isAbsolute(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) + public static function isAbsolute(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : bool { return $uri->getScheme() !== ''; } @@ -176,13 +176,9 @@ public static function isAbsolute(\YoastSEO_Vendor\Psr\Http\Message\UriInterface * * A relative reference that begins with two slash characters is termed an network-path reference. * - * @param UriInterface $uri - * - * @return bool - * - * @link https://tools.ietf.org/html/rfc3986#section-4.2 + * @see https://tools.ietf.org/html/rfc3986#section-4.2 */ - public static function isNetworkPathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) + public static function isNetworkPathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : bool { return $uri->getScheme() === '' && $uri->getAuthority() !== ''; } @@ -191,13 +187,9 @@ public static function isNetworkPathReference(\YoastSEO_Vendor\Psr\Http\Message\ * * A relative reference that begins with a single slash character is termed an absolute-path reference. * - * @param UriInterface $uri - * - * @return bool - * - * @link https://tools.ietf.org/html/rfc3986#section-4.2 + * @see https://tools.ietf.org/html/rfc3986#section-4.2 */ - public static function isAbsolutePathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) + public static function isAbsolutePathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : bool { return $uri->getScheme() === '' && $uri->getAuthority() === '' && isset($uri->getPath()[0]) && $uri->getPath()[0] === '/'; } @@ -206,13 +198,9 @@ public static function isAbsolutePathReference(\YoastSEO_Vendor\Psr\Http\Message * * A relative reference that does not begin with a slash character is termed a relative-path reference. * - * @param UriInterface $uri - * - * @return bool - * - * @link https://tools.ietf.org/html/rfc3986#section-4.2 + * @see https://tools.ietf.org/html/rfc3986#section-4.2 */ - public static function isRelativePathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) + public static function isRelativePathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : bool { return $uri->getScheme() === '' && $uri->getAuthority() === '' && (!isset($uri->getPath()[0]) || $uri->getPath()[0] !== '/'); } @@ -226,11 +214,9 @@ public static function isRelativePathReference(\YoastSEO_Vendor\Psr\Http\Message * @param UriInterface $uri The URI to check * @param UriInterface|null $base An optional base URI to compare against * - * @return bool - * - * @link https://tools.ietf.org/html/rfc3986#section-4.4 + * @see https://tools.ietf.org/html/rfc3986#section-4.4 */ - public static function isSameDocumentReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, \YoastSEO_Vendor\Psr\Http\Message\UriInterface $base = null) + public static function isSameDocumentReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, \YoastSEO_Vendor\Psr\Http\Message\UriInterface $base = null) : bool { if ($base !== null) { $uri = \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::resolve($base, $uri); @@ -238,38 +224,6 @@ public static function isSameDocumentReference(\YoastSEO_Vendor\Psr\Http\Message } return $uri->getScheme() === '' && $uri->getAuthority() === '' && $uri->getPath() === '' && $uri->getQuery() === ''; } - /** - * Removes dot segments from a path and returns the new path. - * - * @param string $path - * - * @return string - * - * @deprecated since version 1.4. Use UriResolver::removeDotSegments instead. - * @see UriResolver::removeDotSegments - */ - public static function removeDotSegments($path) - { - return \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::removeDotSegments($path); - } - /** - * Converts the relative URI into a new URI that is resolved against the base URI. - * - * @param UriInterface $base Base URI - * @param string|UriInterface $rel Relative URI - * - * @return UriInterface - * - * @deprecated since version 1.4. Use UriResolver::resolve instead. - * @see UriResolver::resolve - */ - public static function resolve(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $base, $rel) - { - if (!$rel instanceof \YoastSEO_Vendor\Psr\Http\Message\UriInterface) { - $rel = new self($rel); - } - return \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::resolve($base, $rel); - } /** * Creates a new URI with a specific query string value removed. * @@ -278,10 +232,8 @@ public static function resolve(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $b * * @param UriInterface $uri URI to use as a base. * @param string $key Query string key to remove. - * - * @return UriInterface */ - public static function withoutQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, $key) + public static function withoutQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, string $key) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $result = self::getFilteredQueryString($uri, [$key]); return $uri->withQuery(\implode('&', $result)); @@ -298,10 +250,8 @@ public static function withoutQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriIn * @param UriInterface $uri URI to use as a base. * @param string $key Key to set. * @param string|null $value Value to set - * - * @return UriInterface */ - public static function withQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, $key, $value) + public static function withQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, string $key, ?string $value) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $result = self::getFilteredQueryString($uri, [$key]); $result[] = self::generateQueryString($key, $value); @@ -312,42 +262,36 @@ public static function withQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriInter * * It has the same behavior as withQueryValue() but for an associative array of key => value. * - * @param UriInterface $uri URI to use as a base. - * @param array $keyValueArray Associative array of key and values - * - * @return UriInterface + * @param UriInterface $uri URI to use as a base. + * @param array $keyValueArray Associative array of key and values */ - public static function withQueryValues(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, array $keyValueArray) + public static function withQueryValues(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, array $keyValueArray) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $result = self::getFilteredQueryString($uri, \array_keys($keyValueArray)); foreach ($keyValueArray as $key => $value) { - $result[] = self::generateQueryString($key, $value); + $result[] = self::generateQueryString((string) $key, $value !== null ? (string) $value : null); } return $uri->withQuery(\implode('&', $result)); } /** * Creates a URI from a hash of `parse_url` components. * - * @param array $parts + * @see http://php.net/manual/en/function.parse-url.php * - * @return UriInterface - * - * @link http://php.net/manual/en/function.parse-url.php - * - * @throws \InvalidArgumentException If the components do not form a valid URI. + * @throws MalformedUriException If the components do not form a valid URI. */ - public static function fromParts(array $parts) + public static function fromParts(array $parts) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $uri = new self(); $uri->applyParts($parts); $uri->validateState(); return $uri; } - public function getScheme() + public function getScheme() : string { return $this->scheme; } - public function getAuthority() + public function getAuthority() : string { $authority = $this->host; if ($this->userInfo !== '') { @@ -358,31 +302,31 @@ public function getAuthority() } return $authority; } - public function getUserInfo() + public function getUserInfo() : string { return $this->userInfo; } - public function getHost() + public function getHost() : string { return $this->host; } - public function getPort() + public function getPort() : ?int { return $this->port; } - public function getPath() + public function getPath() : string { return $this->path; } - public function getQuery() + public function getQuery() : string { return $this->query; } - public function getFragment() + public function getFragment() : string { return $this->fragment; } - public function withScheme($scheme) + public function withScheme($scheme) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $scheme = $this->filterScheme($scheme); if ($this->scheme === $scheme) { @@ -390,11 +334,12 @@ public function withScheme($scheme) } $new = clone $this; $new->scheme = $scheme; + $new->composedComponents = null; $new->removeDefaultPort(); $new->validateState(); return $new; } - public function withUserInfo($user, $password = null) + public function withUserInfo($user, $password = null) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $info = $this->filterUserInfoComponent($user); if ($password !== null) { @@ -405,10 +350,11 @@ public function withUserInfo($user, $password = null) } $new = clone $this; $new->userInfo = $info; + $new->composedComponents = null; $new->validateState(); return $new; } - public function withHost($host) + public function withHost($host) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $host = $this->filterHost($host); if ($this->host === $host) { @@ -416,10 +362,11 @@ public function withHost($host) } $new = clone $this; $new->host = $host; + $new->composedComponents = null; $new->validateState(); return $new; } - public function withPort($port) + public function withPort($port) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $port = $this->filterPort($port); if ($this->port === $port) { @@ -427,11 +374,12 @@ public function withPort($port) } $new = clone $this; $new->port = $port; + $new->composedComponents = null; $new->removeDefaultPort(); $new->validateState(); return $new; } - public function withPath($path) + public function withPath($path) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $path = $this->filterPath($path); if ($this->path === $path) { @@ -439,10 +387,11 @@ public function withPath($path) } $new = clone $this; $new->path = $path; + $new->composedComponents = null; $new->validateState(); return $new; } - public function withQuery($query) + public function withQuery($query) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $query = $this->filterQueryAndFragment($query); if ($this->query === $query) { @@ -450,9 +399,10 @@ public function withQuery($query) } $new = clone $this; $new->query = $query; + $new->composedComponents = null; return $new; } - public function withFragment($fragment) + public function withFragment($fragment) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $fragment = $this->filterQueryAndFragment($fragment); if ($this->fragment === $fragment) { @@ -460,14 +410,19 @@ public function withFragment($fragment) } $new = clone $this; $new->fragment = $fragment; + $new->composedComponents = null; return $new; } + public function jsonSerialize() : string + { + return $this->__toString(); + } /** * Apply parse_url parts to a URI. * * @param array $parts Array of parse_url parts to apply. */ - private function applyParts(array $parts) + private function applyParts(array $parts) : void { $this->scheme = isset($parts['scheme']) ? $this->filterScheme($parts['scheme']) : ''; $this->userInfo = isset($parts['user']) ? $this->filterUserInfoComponent($parts['user']) : ''; @@ -482,13 +437,11 @@ private function applyParts(array $parts) $this->removeDefaultPort(); } /** - * @param string $scheme - * - * @return string + * @param mixed $scheme * * @throws \InvalidArgumentException If the scheme is invalid. */ - private function filterScheme($scheme) + private function filterScheme($scheme) : string { if (!\is_string($scheme)) { throw new \InvalidArgumentException('Scheme must be a string'); @@ -496,27 +449,23 @@ private function filterScheme($scheme) return \strtr($scheme, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'); } /** - * @param string $component - * - * @return string + * @param mixed $component * * @throws \InvalidArgumentException If the user info is invalid. */ - private function filterUserInfoComponent($component) + private function filterUserInfoComponent($component) : string { if (!\is_string($component)) { throw new \InvalidArgumentException('User info must be a string'); } - return \preg_replace_callback('/(?:[^%' . self::$charUnreserved . self::$charSubDelims . ']+|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $component); + return \preg_replace_callback('/(?:[^%' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . ']+|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $component); } /** - * @param string $host - * - * @return string + * @param mixed $host * * @throws \InvalidArgumentException If the host is invalid. */ - private function filterHost($host) + private function filterHost($host) : string { if (!\is_string($host)) { throw new \InvalidArgumentException('Host must be a string'); @@ -524,13 +473,11 @@ private function filterHost($host) return \strtr($host, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'); } /** - * @param int|null $port - * - * @return int|null + * @param mixed $port * * @throws \InvalidArgumentException If the port is invalid. */ - private function filterPort($port) + private function filterPort($port) : ?int { if ($port === null) { return null; @@ -542,12 +489,11 @@ private function filterPort($port) return $port; } /** - * @param UriInterface $uri - * @param array $keys + * @param string[] $keys * - * @return array + * @return string[] */ - private static function getFilteredQueryString(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, array $keys) + private static function getFilteredQueryString(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, array $keys) : array { $current = $uri->getQuery(); if ($current === '') { @@ -558,24 +504,18 @@ private static function getFilteredQueryString(\YoastSEO_Vendor\Psr\Http\Message return !\in_array(\rawurldecode(\explode('=', $part)[0]), $decodedKeys, \true); }); } - /** - * @param string $key - * @param string|null $value - * - * @return string - */ - private static function generateQueryString($key, $value) + private static function generateQueryString(string $key, ?string $value) : string { // Query string separators ("=", "&") within the key or value need to be encoded // (while preventing double-encoding) before setting the query string. All other // chars that need percent-encoding will be encoded by withQuery(). - $queryString = \strtr($key, self::$replaceQuery); + $queryString = \strtr($key, self::QUERY_SEPARATORS_REPLACEMENT); if ($value !== null) { - $queryString .= '=' . \strtr($value, self::$replaceQuery); + $queryString .= '=' . \strtr($value, self::QUERY_SEPARATORS_REPLACEMENT); } return $queryString; } - private function removeDefaultPort() + private function removeDefaultPort() : void { if ($this->port !== null && self::isDefaultPort($this)) { $this->port = null; @@ -584,55 +524,47 @@ private function removeDefaultPort() /** * Filters the path of a URI * - * @param string $path - * - * @return string + * @param mixed $path * * @throws \InvalidArgumentException If the path is invalid. */ - private function filterPath($path) + private function filterPath($path) : string { if (!\is_string($path)) { throw new \InvalidArgumentException('Path must be a string'); } - return \preg_replace_callback('/(?:[^' . self::$charUnreserved . self::$charSubDelims . '%:@\\/]++|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $path); + return \preg_replace_callback('/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . '%:@\\/]++|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $path); } /** * Filters the query string or fragment of a URI. * - * @param string $str - * - * @return string + * @param mixed $str * * @throws \InvalidArgumentException If the query or fragment is invalid. */ - private function filterQueryAndFragment($str) + private function filterQueryAndFragment($str) : string { if (!\is_string($str)) { throw new \InvalidArgumentException('Query and fragment must be a string'); } - return \preg_replace_callback('/(?:[^' . self::$charUnreserved . self::$charSubDelims . '%:@\\/\\?]++|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $str); + return \preg_replace_callback('/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . '%:@\\/\\?]++|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $str); } - private function rawurlencodeMatchZero(array $match) + private function rawurlencodeMatchZero(array $match) : string { return \rawurlencode($match[0]); } - private function validateState() + private function validateState() : void { if ($this->host === '' && ($this->scheme === 'http' || $this->scheme === 'https')) { $this->host = self::HTTP_DEFAULT_HOST; } if ($this->getAuthority() === '') { if (0 === \strpos($this->path, '//')) { - throw new \InvalidArgumentException('The path of a URI without an authority must not start with two slashes "//"'); + throw new \YoastSEO_Vendor\GuzzleHttp\Psr7\Exception\MalformedUriException('The path of a URI without an authority must not start with two slashes "//"'); } if ($this->scheme === '' && \false !== \strpos(\explode('/', $this->path, 2)[0], ':')) { - throw new \InvalidArgumentException('A relative URI must not have a path beginning with a segment containing a colon'); + throw new \YoastSEO_Vendor\GuzzleHttp\Psr7\Exception\MalformedUriException('A relative URI must not have a path beginning with a segment containing a colon'); } - } elseif (isset($this->path[0]) && $this->path[0] !== '/') { - @\trigger_error('The path of a URI with an authority must start with a slash "/" or be empty. Automagically fixing the URI ' . 'by adding a leading slash to the path is deprecated since version 1.4 and will throw an exception instead.', \E_USER_DEPRECATED); - $this->path = '/' . $this->path; - //throw new \InvalidArgumentException('The path of a URI with an authority must start with a slash "/" or be empty'); } } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriComparator.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriComparator.php index 0726da764..b4a4dfa3c 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriComparator.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriComparator.php @@ -1,5 +1,6 @@ getHost(), $modified->getHost()) !== 0) { return \true; @@ -29,10 +28,7 @@ public static function isCrossOrigin(\YoastSEO_Vendor\Psr\Http\Message\UriInterf } return \false; } - /** - * @return int - */ - private static function computePort(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) + private static function computePort(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : int { $port = $uri->getPort(); if (null !== $port) { diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriNormalizer.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriNormalizer.php index 330c10072..897f21200 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriNormalizer.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriNormalizer.php @@ -1,5 +1,6 @@ withPath(\preg_replace_callback($regex, $callback, $uri->getPath()))->withQuery(\preg_replace_callback($regex, $callback, $uri->getQuery())); } - private static function decodeUnreservedCharacters(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) + private static function decodeUnreservedCharacters(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { $regex = '/%(?:2D|2E|5F|7E|3[0-9]|[46][1-9A-F]|[57][0-9A])/i'; $callback = function (array $match) { diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriResolver.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriResolver.php index 80f039b3c..ecf335887 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriResolver.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriResolver.php @@ -1,5 +1,6 @@ getScheme() !== '' && ($base->getScheme() !== $target->getScheme() || $target->getAuthority() === '' && $base->getAuthority() !== '')) { return $target; @@ -150,12 +137,13 @@ public static function relativize(\YoastSEO_Vendor\Psr\Http\Message\UriInterface // inherit the base query component when resolving. if ($target->getQuery() === '') { $segments = \explode('/', $target->getPath()); + /** @var string $lastSegment */ $lastSegment = \end($segments); return $emptyPathUri->withPath($lastSegment === '' ? './' : $lastSegment); } return $emptyPathUri; } - private static function getRelativePath(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $base, \YoastSEO_Vendor\Psr\Http\Message\UriInterface $target) + private static function getRelativePath(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $base, \YoastSEO_Vendor\Psr\Http\Message\UriInterface $target) : string { $sourceSegments = \explode('/', $base->getPath()); $targetSegments = \explode('/', $target->getPath()); diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Utils.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Utils.php index d86c308de..b31a6e6fb 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Utils.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Utils.php @@ -1,5 +1,6 @@ $keys - * - * @return array + * @param string[] $keys */ - public static function caselessRemove($keys, array $data) + public static function caselessRemove(array $keys, array $data) : array { $result = []; foreach ($keys as &$key) { $key = \strtolower($key); } foreach ($data as $k => $v) { - if (!\in_array(\strtolower($k), $keys)) { + if (!\is_string($k) || !\in_array(\strtolower($k), $keys)) { $result[$k] = $v; } } @@ -39,7 +38,7 @@ public static function caselessRemove($keys, array $data) * * @throws \RuntimeException on error. */ - public static function copyToStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $source, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $dest, $maxLen = -1) + public static function copyToStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $source, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $dest, int $maxLen = -1) : void { $bufferSize = 8192; if ($maxLen === -1) { @@ -69,18 +68,15 @@ public static function copyToStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInte * @param int $maxLen Maximum number of bytes to read. Pass -1 * to read the entire stream. * - * @return string - * * @throws \RuntimeException on error. */ - public static function copyToString(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, $maxLen = -1) + public static function copyToString(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, int $maxLen = -1) : string { $buffer = ''; if ($maxLen === -1) { while (!$stream->eof()) { $buf = $stream->read(1048576); - // Using a loose equality here to match on '' and false. - if ($buf == null) { + if ($buf === '') { break; } $buffer .= $buf; @@ -90,8 +86,7 @@ public static function copyToString(\YoastSEO_Vendor\Psr\Http\Message\StreamInte $len = 0; while (!$stream->eof() && $len < $maxLen) { $buf = $stream->read($maxLen - $len); - // Using a loose equality here to match on '' and false. - if ($buf == null) { + if ($buf === '') { break; } $buffer .= $buf; @@ -109,11 +104,9 @@ public static function copyToString(\YoastSEO_Vendor\Psr\Http\Message\StreamInte * @param string $algo Hash algorithm (e.g. md5, crc32, etc) * @param bool $rawOutput Whether or not to use raw output * - * @return string Returns the hash of the stream - * * @throws \RuntimeException on error. */ - public static function hash(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, $algo, $rawOutput = \false) + public static function hash(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, string $algo, bool $rawOutput = \false) : string { $pos = $stream->tell(); if ($pos > 0) { @@ -123,7 +116,7 @@ public static function hash(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $s while (!$stream->eof()) { \hash_update($ctx, $stream->read(1048576)); } - $out = \hash_final($ctx, (bool) $rawOutput); + $out = \hash_final($ctx, $rawOutput); $stream->seek($pos); return $out; } @@ -144,10 +137,8 @@ public static function hash(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $s * * @param RequestInterface $request Request to clone and modify. * @param array $changes Changes to apply. - * - * @return RequestInterface */ - public static function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $changes) + public static function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $changes) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface { if (!$changes) { return $request; @@ -180,29 +171,26 @@ public static function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestIn $uri = $uri->withQuery($changes['query']); } if ($request instanceof \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface) { - $new = (new \YoastSEO_Vendor\GuzzleHttp\Psr7\ServerRequest(isset($changes['method']) ? $changes['method'] : $request->getMethod(), $uri, $headers, isset($changes['body']) ? $changes['body'] : $request->getBody(), isset($changes['version']) ? $changes['version'] : $request->getProtocolVersion(), $request->getServerParams()))->withParsedBody($request->getParsedBody())->withQueryParams($request->getQueryParams())->withCookieParams($request->getCookieParams())->withUploadedFiles($request->getUploadedFiles()); + $new = (new \YoastSEO_Vendor\GuzzleHttp\Psr7\ServerRequest($changes['method'] ?? $request->getMethod(), $uri, $headers, $changes['body'] ?? $request->getBody(), $changes['version'] ?? $request->getProtocolVersion(), $request->getServerParams()))->withParsedBody($request->getParsedBody())->withQueryParams($request->getQueryParams())->withCookieParams($request->getCookieParams())->withUploadedFiles($request->getUploadedFiles()); foreach ($request->getAttributes() as $key => $value) { $new = $new->withAttribute($key, $value); } return $new; } - return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Request(isset($changes['method']) ? $changes['method'] : $request->getMethod(), $uri, $headers, isset($changes['body']) ? $changes['body'] : $request->getBody(), isset($changes['version']) ? $changes['version'] : $request->getProtocolVersion()); + return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Request($changes['method'] ?? $request->getMethod(), $uri, $headers, $changes['body'] ?? $request->getBody(), $changes['version'] ?? $request->getProtocolVersion()); } /** * Read a line from the stream up to the maximum allowed buffer length. * * @param StreamInterface $stream Stream to read from * @param int|null $maxLength Maximum buffer length - * - * @return string */ - public static function readLine(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, $maxLength = null) + public static function readLine(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, int $maxLength = null) : string { $buffer = ''; $size = 0; while (!$stream->eof()) { - // Using a loose equality here to match on '' and false. - if (null == ($byte = $stream->read(1))) { + if ('' === ($byte = $stream->read(1))) { return $buffer; } $buffer .= $byte; @@ -243,18 +231,16 @@ public static function readLine(\YoastSEO_Vendor\Psr\Http\Message\StreamInterfac * buffered and used in subsequent reads. * * @param resource|string|int|float|bool|StreamInterface|callable|\Iterator|null $resource Entity body data - * @param array $options Additional options - * - * @return StreamInterface + * @param array{size?: int, metadata?: array} $options Additional options * * @throws \InvalidArgumentException if the $resource arg is not valid. */ - public static function streamFor($resource = '', array $options = []) + public static function streamFor($resource = '', array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface { if (\is_scalar($resource)) { $stream = self::tryFopen('php://temp', 'r+'); if ($resource !== '') { - \fwrite($stream, $resource); + \fwrite($stream, (string) $resource); \fseek($stream, 0); } return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Stream($stream, $options); @@ -265,15 +251,16 @@ public static function streamFor($resource = '', array $options = []) * The 'php://input' is a special stream with quirks and inconsistencies. * We avoid using that stream by reading it into php://temp */ - $metaData = \stream_get_meta_data($resource); - if (isset($metaData['uri']) && $metaData['uri'] === 'php://input') { + /** @var resource $resource */ + if ((\stream_get_meta_data($resource)['uri'] ?? '') === 'php://input') { $stream = self::tryFopen('php://temp', 'w+'); - \fwrite($stream, \stream_get_contents($resource)); + \stream_copy_to_stream($resource, $stream); \fseek($stream, 0); $resource = $stream; } return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Stream($resource, $options); case 'object': + /** @var object $resource */ if ($resource instanceof \YoastSEO_Vendor\Psr\Http\Message\StreamInterface) { return $resource; } elseif ($resource instanceof \Iterator) { @@ -286,7 +273,7 @@ public static function streamFor($resource = '', array $options = []) return $result; }, $options); } elseif (\method_exists($resource, '__toString')) { - return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor((string) $resource, $options); + return self::streamFor((string) $resource, $options); } break; case 'NULL': @@ -310,14 +297,15 @@ public static function streamFor($resource = '', array $options = []) * * @throws \RuntimeException if the file cannot be opened */ - public static function tryFopen($filename, $mode) + public static function tryFopen(string $filename, string $mode) { $ex = null; - \set_error_handler(function () use($filename, $mode, &$ex) { - $ex = new \RuntimeException(\sprintf('Unable to open "%s" using mode "%s": %s', $filename, $mode, \func_get_args()[1])); + \set_error_handler(static function (int $errno, string $errstr) use($filename, $mode, &$ex) : bool { + $ex = new \RuntimeException(\sprintf('Unable to open "%s" using mode "%s": %s', $filename, $mode, $errstr)); return \true; }); try { + /** @var resource $handle */ $handle = \fopen($filename, $mode); } catch (\Throwable $e) { $ex = new \RuntimeException(\sprintf('Unable to open "%s" using mode "%s": %s', $filename, $mode, $e->getMessage()), 0, $e); @@ -329,6 +317,40 @@ public static function tryFopen($filename, $mode) } return $handle; } + /** + * Safely gets the contents of a given stream. + * + * When stream_get_contents fails, PHP normally raises a warning. This + * function adds an error handler that checks for errors and throws an + * exception instead. + * + * @param resource $stream + * + * @throws \RuntimeException if the stream cannot be read + */ + public static function tryGetContents($stream) : string + { + $ex = null; + \set_error_handler(static function (int $errno, string $errstr) use(&$ex) : bool { + $ex = new \RuntimeException(\sprintf('Unable to read stream contents: %s', $errstr)); + return \true; + }); + try { + /** @var string|false $contents */ + $contents = \stream_get_contents($stream); + if ($contents === \false) { + $ex = new \RuntimeException('Unable to read stream contents'); + } + } catch (\Throwable $e) { + $ex = new \RuntimeException(\sprintf('Unable to read stream contents: %s', $e->getMessage()), 0, $e); + } + \restore_error_handler(); + if ($ex) { + /** @var $ex \RuntimeException */ + throw $ex; + } + return $contents; + } /** * Returns a UriInterface for the given value. * @@ -338,11 +360,9 @@ public static function tryFopen($filename, $mode) * * @param string|UriInterface $uri * - * @return UriInterface - * * @throws \InvalidArgumentException */ - public static function uriFor($uri) + public static function uriFor($uri) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface { if ($uri instanceof \YoastSEO_Vendor\Psr\Http\Message\UriInterface) { return $uri; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions.php deleted file mode 100755 index 4a9245568..000000000 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions.php +++ /dev/null @@ -1,400 +0,0 @@ - '1', 'foo[b]' => '2'])`. - * - * @param string $str Query string to parse - * @param int|bool $urlEncoding How the query string is encoded - * - * @return array - * - * @deprecated parse_query will be removed in guzzlehttp/psr7:2.0. Use Query::parse instead. - */ -function parse_query($str, $urlEncoding = \true) -{ - return \YoastSEO_Vendor\GuzzleHttp\Psr7\Query::parse($str, $urlEncoding); -} -/** - * Build a query string from an array of key value pairs. - * - * This function can use the return value of `parse_query()` to build a query - * string. This function does not modify the provided keys when an array is - * encountered (like `http_build_query()` would). - * - * @param array $params Query string parameters. - * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986 - * to encode using RFC3986, or PHP_QUERY_RFC1738 - * to encode using RFC1738. - * - * @return string - * - * @deprecated build_query will be removed in guzzlehttp/psr7:2.0. Use Query::build instead. - */ -function build_query(array $params, $encoding = \PHP_QUERY_RFC3986) -{ - return \YoastSEO_Vendor\GuzzleHttp\Psr7\Query::build($params, $encoding); -} -/** - * Determines the mimetype of a file by looking at its extension. - * - * @param string $filename - * - * @return string|null - * - * @deprecated mimetype_from_filename will be removed in guzzlehttp/psr7:2.0. Use MimeType::fromFilename instead. - */ -function mimetype_from_filename($filename) -{ - return \YoastSEO_Vendor\GuzzleHttp\Psr7\MimeType::fromFilename($filename); -} -/** - * Maps a file extensions to a mimetype. - * - * @param $extension string The file extension. - * - * @return string|null - * - * @link http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/conf/mime.types - * @deprecated mimetype_from_extension will be removed in guzzlehttp/psr7:2.0. Use MimeType::fromExtension instead. - */ -function mimetype_from_extension($extension) -{ - return \YoastSEO_Vendor\GuzzleHttp\Psr7\MimeType::fromExtension($extension); -} -/** - * Parses an HTTP message into an associative array. - * - * The array contains the "start-line" key containing the start line of - * the message, "headers" key containing an associative array of header - * array values, and a "body" key containing the body of the message. - * - * @param string $message HTTP request or response to parse. - * - * @return array - * - * @internal - * - * @deprecated _parse_message will be removed in guzzlehttp/psr7:2.0. Use Message::parseMessage instead. - */ -function _parse_message($message) -{ - return \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::parseMessage($message); -} -/** - * Constructs a URI for an HTTP request message. - * - * @param string $path Path from the start-line - * @param array $headers Array of headers (each value an array). - * - * @return string - * - * @internal - * - * @deprecated _parse_request_uri will be removed in guzzlehttp/psr7:2.0. Use Message::parseRequestUri instead. - */ -function _parse_request_uri($path, array $headers) -{ - return \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::parseRequestUri($path, $headers); -} -/** - * Get a short summary of the message body. - * - * Will return `null` if the response is not printable. - * - * @param MessageInterface $message The message to get the body summary - * @param int $truncateAt The maximum allowed size of the summary - * - * @return string|null - * - * @deprecated get_message_body_summary will be removed in guzzlehttp/psr7:2.0. Use Message::bodySummary instead. - */ -function get_message_body_summary(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message, $truncateAt = 120) -{ - return \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::bodySummary($message, $truncateAt); -} -/** - * Remove the items given by the keys, case insensitively from the data. - * - * @param iterable $keys - * - * @return array - * - * @internal - * - * @deprecated _caseless_remove will be removed in guzzlehttp/psr7:2.0. Use Utils::caselessRemove instead. - */ -function _caseless_remove($keys, array $data) -{ - return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove($keys, $data); -} diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions_include.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions_include.php deleted file mode 100755 index d21cb5596..000000000 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions_include.php +++ /dev/null @@ -1,8 +0,0 @@ -state; } + /** + * Set the value of the pkceCode parameter. + * + * When using PKCE this should be set before requesting an access token. + * + * @param string $pkceCode + * @return self + */ + public function setPkceCode($pkceCode) + { + $this->pkceCode = $pkceCode; + return $this; + } + /** + * Returns the current value of the pkceCode parameter. + * + * This can be accessed by the redirect handler during authorization. + * + * @return string|null + */ + public function getPkceCode() + { + return $this->pkceCode; + } /** * Returns the base URL for authorizing a client. * @@ -264,6 +304,18 @@ protected function getRandomState($length = 32) // the amount of bytes by half to produce the correct length. return \bin2hex(\random_bytes($length / 2)); } + /** + * Returns a new random string to use as PKCE code_verifier and + * hashed as code_challenge parameters in an authorization flow. + * Must be between 43 and 128 characters long. + * + * @param int $length Length of the random string to be generated. + * @return string + */ + protected function getRandomPkceCode($length = 64) + { + return \substr(\strtr(\base64_encode(\random_bytes($length)), '+/', '-_'), 0, $length); + } /** * Returns the default scopes used by this provider. * @@ -283,6 +335,13 @@ protected function getScopeSeparator() { return ','; } + /** + * @return string|null + */ + protected function getPkceMethod() + { + return null; + } /** * Returns authorization parameters based on provided options. * @@ -304,6 +363,18 @@ protected function getAuthorizationParameters(array $options) } // Store the state as it may need to be accessed later on. $this->state = $options['state']; + $pkceMethod = $this->getPkceMethod(); + if (!empty($pkceMethod)) { + $this->pkceCode = $this->getRandomPkceCode(); + if ($pkceMethod === static::PKCE_METHOD_S256) { + $options['code_challenge'] = \trim(\strtr(\base64_encode(\hash('sha256', $this->pkceCode, \true)), '+/', '-_'), '='); + } elseif ($pkceMethod === static::PKCE_METHOD_PLAIN) { + $options['code_challenge'] = $this->pkceCode; + } else { + throw new \InvalidArgumentException('Unknown PKCE method "' . $pkceMethod . '".'); + } + $options['code_challenge_method'] = $pkceMethod; + } // Business code layer might set a different redirect_uri parameter // depending on the context, leave it as-is if (!isset($options['redirect_uri'])) { @@ -443,8 +514,8 @@ protected function getAccessTokenRequest(array $params) /** * Requests an access token using a specified grant and option set. * - * @param mixed $grant - * @param array $options + * @param mixed $grant + * @param array $options * @throws IdentityProviderException * @return AccessTokenInterface */ @@ -452,6 +523,9 @@ public function getAccessToken($grant, array $options = []) { $grant = $this->verifyGrant($grant); $params = ['client_id' => $this->clientId, 'client_secret' => $this->clientSecret, 'redirect_uri' => $this->redirectUri]; + if (!empty($this->pkceCode)) { + $params['code_verifier'] = $this->pkceCode; + } $params = $grant->prepareRequestParameters($params, $options); $request = $this->getAccessTokenRequest($params); $response = $this->getParsedResponse($request); @@ -479,7 +553,7 @@ public function getRequest($method, $url, array $options = []) * * @param string $method * @param string $url - * @param AccessTokenInterface|string $token + * @param AccessTokenInterface|string|null $token * @param array $options Any of "headers", "body", and "protocolVersion". * @return RequestInterface */ diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php index f4ed40a30..47ea3a597 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php @@ -26,7 +26,7 @@ class IdentityProviderException extends \Exception /** * @param string $message * @param int $code - * @param array|string $response The response body + * @param mixed $response The response body */ public function __construct($message, $code, $response) { @@ -36,7 +36,7 @@ public function __construct($message, $code, $response) /** * Returns the exception's response body. * - * @return array|string + * @return mixed */ public function getResponseBody() { diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/GenericProvider.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/GenericProvider.php index 39206e3e4..26e09d760 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/GenericProvider.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/GenericProvider.php @@ -66,6 +66,10 @@ class GenericProvider extends \YoastSEO_Vendor\League\OAuth2\Client\Provider\Abs * @var string */ private $responseResourceOwnerId = 'id'; + /** + * @var string|null + */ + private $pkceMethod = null; /** * @param array $options * @param array $collaborators @@ -89,7 +93,7 @@ public function __construct(array $options = [], array $collaborators = []) */ protected function getConfigurableOptions() { - return \array_merge($this->getRequiredOptions(), ['accessTokenMethod', 'accessTokenResourceOwnerId', 'scopeSeparator', 'responseError', 'responseCode', 'responseResourceOwnerId', 'scopes']); + return \array_merge($this->getRequiredOptions(), ['accessTokenMethod', 'accessTokenResourceOwnerId', 'scopeSeparator', 'responseError', 'responseCode', 'responseResourceOwnerId', 'scopes', 'pkceMethod']); } /** * Returns all options that are required. @@ -163,6 +167,13 @@ protected function getScopeSeparator() { return $this->scopeSeparator ?: parent::getScopeSeparator(); } + /** + * @inheritdoc + */ + protected function getPkceMethod() + { + return $this->pkceMethod ?: parent::getPkceMethod(); + } /** * @inheritdoc */ diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php new file mode 100755 index 000000000..3145203fb --- /dev/null +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php @@ -0,0 +1,10 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +if (!function_exists('trigger_deprecation')) { + /** + * Triggers a silenced deprecation notice. + * + * @param string $package The name of the Composer package that is triggering the deprecation + * @param string $version The version of the package that introduced the deprecation + * @param string $message The message of the deprecation + * @param mixed ...$args Values to insert in the message using printf() formatting + * + * @author Nicolas Grekas + */ + function trigger_deprecation(string $package, string $version, string $message, ...$args): void + { + @trigger_error(($package || $version ? "Since $package $version: " : '').($args ? vsprintf($message, $args) : $message), \E_USER_DEPRECATED); + } +} diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Config/OptionsConfig.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Config/OptionsConfig.php index f3d92bc65..6373d096a 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Config/OptionsConfig.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Config/OptionsConfig.php @@ -11,6 +11,6 @@ class OptionsConfig extends \YoastSEO_Vendor\WordProof\SDK\Config\Config */ protected static function values() { - return ['source_id' => ['escape' => 'integer', 'default' => null], 'access_token' => ['escape' => 'text_field', 'default' => null], 'balance' => ['escape' => 'integer', 'default' => 0], 'settings' => ['cast' => 'object', 'options' => ['certificate_link_text' => ['escape' => 'text_field', 'default' => __('View this content\'s Timestamp certificate', 'wordproof')], 'hide_certificate_link' => ['escape' => 'boolean', 'default' => \false], 'selected_post_types' => ['escape' => 'text_field', 'default' => []], 'show_revisions' => ['escape' => 'boolean', 'default' => \true]]]]; + return ['source_id' => ['escape' => 'integer', 'default' => null], 'access_token' => ['escape' => 'text_field', 'default' => null], 'balance' => ['escape' => 'integer', 'default' => 0], 'settings' => ['cast' => 'object', 'options' => ['certificate_link_text' => ['escape' => 'text_field', 'default' => __('View this content\'s Timestamp certificate', 'wordproof')], 'hide_certificate_link' => ['escape' => 'boolean', 'default' => \false], 'selected_post_types' => ['escape' => 'text_field', 'default' => []], 'show_revisions' => ['escape' => 'boolean', 'default' => \true]]], 'identity' => ['cast' => 'object', 'options' => ['provider' => ['escape' => 'text_field', 'default' => null], 'first_name' => ['escape' => 'text_field', 'default' => null], 'last_name' => ['escape' => 'text_field', 'default' => null], 'profile_picture' => ['escape' => 'url', 'default' => null], 'proof_url' => ['escape' => 'url', 'default' => null]]]]; } } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php index c2341a725..2a2d9b641 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php @@ -5,6 +5,7 @@ use YoastSEO_Vendor\WordProof\SDK\Helpers\AppConfigHelper; use YoastSEO_Vendor\WordProof\SDK\Helpers\CertificateHelper; use YoastSEO_Vendor\WordProof\SDK\Helpers\EnvironmentHelper; +use YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper; use YoastSEO_Vendor\WordProof\SDK\Helpers\PostMetaHelper; use YoastSEO_Vendor\WordProof\SDK\Helpers\SettingsHelper; class CertificateController @@ -55,7 +56,12 @@ public function certificateTag($content) $showRevisions = \YoastSEO_Vendor\WordProof\SDK\Helpers\SettingsHelper::showRevisions() ? 'true' : 'false'; $debug = \YoastSEO_Vendor\WordProof\SDK\Helpers\EnvironmentHelper::development() ? 'true' : 'false'; $lastModified = \get_the_modified_date('c', $post->ID); - $content .= "\n" . ''; + $identity = \YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper::get('identity'); + $identityProvider = isset($identity->provider) ? $identity->provider : ''; + $identityName = (isset($identity->first_name) ? $identity->first_name : '') . ' ' . (isset($identity->last_name) ? $identity->last_name : ''); + $identityProfilePicture = isset($identity->profile_picture) ? $identity->profile_picture : ''; + $identityProofUrl = isset($identity->proof_url) ? $identity->proof_url : ''; + $content .= "\n" . ''; $content .= "\n" . '

    '; $content .= "\n"; return $content; diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php new file mode 100755 index 000000000..5fae24f25 --- /dev/null +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php @@ -0,0 +1,56 @@ + $data['first_name'], 'last_name' => $data['last_name'], 'provider' => $data['provider'], 'profile_picture' => $data['profile_picture'], 'proof_url' => \YoastSEO_Vendor\WordProof\SDK\Helpers\EnvironmentHelper::url() . '/identity/' . \YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper::sourceId()]; + } + /** + * Store identity data + * + * @param array $data + * + * @return bool + * @throws ValidationException + */ + public function store($data) + { + return \YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper::set('identity', $this->validate($data)); + } + /** + * Delete the stored identity data + * + * @return mixed + */ + public function delete() + { + return \YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper::delete('identity'); + } +} diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/RestApiController.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/RestApiController.php index 07203885f..74de16965 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/RestApiController.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/RestApiController.php @@ -2,6 +2,7 @@ namespace YoastSEO_Vendor\WordProof\SDK\Controllers; +use YoastSEO_Vendor\WordProof\SDK\Exceptions\ValidationException; use YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper; use YoastSEO_Vendor\WordProof\SDK\Helpers\RestApiHelper; use YoastSEO_Vendor\WordProof\SDK\Helpers\PostMetaHelper; @@ -166,6 +167,17 @@ public function webhook(\WP_REST_Request $request) \YoastSEO_Vendor\WordProof\SDK\Helpers\PostMetaHelper::update($response->data->uid, $key, \json_decode($response->data->hash_input)); $this->setBlockchainTransaction($response->data); break; + case 'set_identity': + try { + (new \YoastSEO_Vendor\WordProof\SDK\Controllers\IdentityController())->store((array) $response->data); + return new \WP_REST_Response(null, 201); + } catch (\YoastSEO_Vendor\WordProof\SDK\Exceptions\ValidationException $e) { + return new \WP_REST_Response(['message' => $e->getMessage()], 400); + } + case 'delete_identity': + (new \YoastSEO_Vendor\WordProof\SDK\Controllers\IdentityController())->delete(); + $data = (object) ['status' => 200, 'message' => 'success']; + return new \WP_REST_Response($data, $data->status); default: break; } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Helpers/AuthenticationHelper.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Helpers/AuthenticationHelper.php index 4e4ddc142..0b1f39f76 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Helpers/AuthenticationHelper.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Helpers/AuthenticationHelper.php @@ -12,6 +12,8 @@ class AuthenticationHelper public static function logout() { \YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper::resetAuthentication(); + \YoastSEO_Vendor\WordProof\SDK\Helpers\TransientHelper::getOnce('wordproof_v2_authenticate_with_token'); + \YoastSEO_Vendor\WordProof\SDK\Helpers\TransientHelper::getOnce('wordproof_v2_get_existing_source'); } /** * Returns if the user is authenticated. diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Support/Authentication.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Support/Authentication.php index 90741bb1a..f0d45ba4f 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Support/Authentication.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Support/Authentication.php @@ -28,8 +28,9 @@ public static function authorize($redirectUrl = null) * Login with user if v2 plugin data exist. */ $accessToken = \YoastSEO_Vendor\WordProof\SDK\Helpers\TransientHelper::get('wordproof_v2_authenticate_with_token'); - if ($accessToken) { - $data = \array_merge($data, ['access_token_login' => $accessToken]); + $sourceId = \YoastSEO_Vendor\WordProof\SDK\Helpers\TransientHelper::get('wordproof_v2_get_existing_source'); + if ($accessToken && $sourceId) { + $data = \array_merge($data, ['access_token_login' => $accessToken, 'source_id' => $sourceId]); } else { $data = \array_merge($data, ['confirm_account' => \true]); } diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/WordPressSDK.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/WordPressSDK.php index d66269f85..f3c566c87 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/WordPressSDK.php +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/WordPressSDK.php @@ -21,7 +21,7 @@ class WordPressSDK * The version of this SDK * @var string */ - public $version = '1.3.2'; + public $version = '1.3.5'; /** * @var null|WordPressSDK */ diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-block-editor.js b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-block-editor.js index 1dffbcc3c..ee196c17c 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-block-editor.js +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-block-editor.js @@ -1,4 +1,4 @@ -!function(){var e={703:function(e,t,o){"use strict";var n=o(414);function r(){}function a(){}a.resetWarningCache=r,e.exports=function(){function e(e,t,o,r,a,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var o={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:r};return o.PropTypes=o,o}},697:function(e,t,o){e.exports=o(703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=window.wp.element,t=window.wp.data,n=window.wp.apiFetch,r=o.n(n);async function a(e,t,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const r=await e();return!!r&&(r.status===n?t(r):o(r))}catch(e){}}async function s(e){try{return await r()(e)}catch(e){return e.error&&e.status?e:e instanceof window.Response&&await e.json()}}const i=async()=>await a((async()=>await c()),(e=>e),(()=>!1)),c=async()=>await s({path:"wordproof/v1/oauth/destroy",method:"POST"}),{get:p}=lodash,d=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return p(window,"wordproofSdk.data"+(e?`.${e}`:""),t)};var l=o(697),u=o.n(l);function w(e){const t=new window.CustomEvent(e);window.dispatchEvent(t)}const f=e=>{const{response:t,createSuccessNotice:o,createErrorNotice:n,postId:r}=e;if(null===t||200===t.status)return;const a={id:"wordproof-timestamp-notice"};t&&201===t.status?0===t.balance?(a.actions=[{label:d("translations.open_settings_button_text"),onClick:()=>{w("wordproof:open_settings")},variant:"link"}],n(d("translations.no_balance"),a)):(o(d("translations.timestamp_success"),{type:"snackbar",id:"wordproof-timestamp-notice"}),h(r,t.hash,n,a)):t.error&&("not_authenticated"===t.error?(a.type="snackbar",a.actions=[{label:d("translations.open_authentication_button_text"),onClick:()=>{w("wordproof:open_authentication")},variant:"link"}],n(d("translations.not_authenticated"),a)):n(d("translations.timestamp_failed"),a))},h=async(e,t,o,n)=>{setTimeout((async()=>{const r=await(async e=>s({path:`wordproof/v1/posts/${e}/timestamp/transaction/latest`,method:"GET"}))(e);r.hash!==t&&(n.type="snackbar",o(d("translations.webhook_failed"),n))}),1e4)};f.proptypes={timestampResponse:u().any.isRequired,createSuccessNotice:u().func.isRequired,createErrorNotice:u().func.isRequired,postId:u().number.isRequired};const{debounce:m}=lodash,{applyFilters:y}=wp.hooks;const{dispatch:v}=wp.data;const{subscribe:_,select:g}=wp.data;function b(e){let t=!0;_((()=>{const o=g("core/editor").isSavingPost(),n=g("core/editor").isAutosavingPost(),r=g("core/editor").didPostSaveRequestSucceed();if(o&&r&&!n){if(t)return void(t=!1);e()}}))}const{__:__}=wp.i18n,{useCallback:E}=wp.element,{withSelect:P}=wp.data,{compose:k}=wp.compose,T=t=>{const{isAuthenticated:o}=t,n=d("popup_redirect_authentication_url"),r=d("popup_redirect_settings_url"),a=E((e=>{e.preventDefault(),w("wordproof:open_settings")})),s=E((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(e.Fragment,null,o&&(0,e.createElement)("a",{href:r,onClick:a},__("Open settings","wordproof")),!o&&(0,e.createElement)("a",{href:n,onClick:s},__("Open authentication","wordproof")))};T.proptypes={isAuthenticated:u().bool.isRequired};var R=k([P((e=>({isAuthenticated:e("wordproof").getIsAuthenticated()})))])(T);const{Modal:S}=wp.components,C=t=>{const{title:o,children:n,close:r}=t;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(S,{style:{maxWidth:"440px"},title:o,onRequestClose:r},n))};C.proptypes={title:u().string.isRequired,children:u().any,close:u().func.isRequired};var O=C;const{Button:q}=wp.components,{useCallback:W}=wp.element,{__:A}=wp.i18n,L=t=>{const{close:o}=t,n=W((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(O,{close:o,title:A("Authentication denied","wordproof")},(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",null,A("You need to allow WordProof to access your site to finish the WordProof installation.","wordproof")),(0,e.createElement)(q,{variant:"primary",onClick:n},A("Retry authentication","wordproof"))))};L.proptypes={close:u().func.isRequired};var $=L;function x(t,o){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return(0,e.createInterpolateElement)(t,{a:(0,e.createElement)("a",{id:n,href:o,target:"_blank",rel:"noopener noreferrer"})})}const{Button:I}=wp.components,{useCallback:D}=wp.element,{__:F,sprintf:M}=wp.i18n,N=t=>{const{close:o}=t,n=D((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(O,{close:o,title:F("Authentication failed","wordproof")},(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",null,M( +!function(){var e={703:function(e,t,o){"use strict";var n=o(414);function r(){}function a(){}a.resetWarningCache=r,e.exports=function(){function e(e,t,o,r,a,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var o={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:r};return o.PropTypes=o,o}},697:function(e,t,o){e.exports=o(703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=window.wp.element,t=window.wp.data,n=window.wp.apiFetch,r=o.n(n);async function a(e,t,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const r=await e();return!!r&&(r.status===n?t(r):o(r))}catch(e){}}async function s(e){try{return await r()(e)}catch(e){return e.error&&e.status?e:e instanceof window.Response&&await e.json()}}const i=async()=>await a((async()=>await c()),(e=>e),(()=>!1)),c=async()=>await s({path:"wordproof/v1/oauth/destroy",method:"POST"}),{get:p}=lodash,d=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return p(window,"wordproofSdk.data"+(e?`.${e}`:""),t)};var l=o(697),u=o.n(l);function w(e){const t=new window.CustomEvent(e);window.dispatchEvent(t)}const f=e=>{const{response:t,createSuccessNotice:o,createErrorNotice:n,postId:r}=e;if(null===t||200===t.status)return;const a={id:"wordproof-timestamp-notice"};t&&201===t.status?0===t.balance?(a.actions=[{label:d("translations.open_settings_button_text"),onClick:()=>{w("wordproof:open_settings")},variant:"link"}],n(d("translations.no_balance"),a)):(o(d("translations.timestamp_success"),{type:"snackbar",id:"wordproof-timestamp-notice"}),h(r,t.hash,n,a)):t.error&&("not_authenticated"===t.error?(a.type="snackbar",a.actions=[{label:d("translations.open_authentication_button_text"),onClick:()=>{w("wordproof:open_authentication")},variant:"link"}],n(d("translations.not_authenticated"),a)):n(d("translations.timestamp_failed"),a))},h=async(e,t,o,n)=>{setTimeout((async()=>{const r=await(async e=>s({path:`wordproof/v1/posts/${e}/timestamp/transaction/latest`,method:"GET"}))(e);r.hash!==t&&(n.type="snackbar",o(d("translations.webhook_failed"),n))}),1e4)};f.proptypes={timestampResponse:u().any.isRequired,createSuccessNotice:u().func.isRequired,createErrorNotice:u().func.isRequired,postId:u().number.isRequired};const{debounce:m}=lodash,{applyFilters:y}=wp.hooks;const{dispatch:v}=wp.data;const{subscribe:_,select:g}=wp.data;function b(e){let t=!0;_((()=>{const o=g("core/editor").isSavingPost(),n=g("core/editor").isAutosavingPost(),r=g("core/editor").didPostSaveRequestSucceed();if(o&&r&&!n){if(t)return void(t=!1);e()}}))}const{__:__}=wp.i18n,{useCallback:E}=wp.element,{withSelect:k}=wp.data,{compose:P}=wp.compose,T=t=>{const{isAuthenticated:o}=t,n=d("popup_redirect_authentication_url"),r=d("popup_redirect_settings_url"),a=E((e=>{e.preventDefault(),w("wordproof:open_settings")})),s=E((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(e.Fragment,null,o&&(0,e.createElement)("a",{href:r,onClick:a},__("Open settings","wordproof")),!o&&(0,e.createElement)("a",{href:n,onClick:s},__("Open authentication","wordproof")))};T.proptypes={isAuthenticated:u().bool.isRequired};var R=P([k((e=>({isAuthenticated:e("wordproof").getIsAuthenticated()})))])(T);const{Modal:S}=wp.components,C=t=>{const{title:o,children:n,close:r}=t;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(S,{style:{maxWidth:"440px"},title:o,onRequestClose:r},n))};C.proptypes={title:u().string.isRequired,children:u().any,close:u().func.isRequired};var O=C;const{Button:q}=wp.components,{useCallback:W}=wp.element,{__:A}=wp.i18n,L=t=>{const{close:o}=t,n=W((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(O,{close:o,title:A("Authentication denied","wordproof")},(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",null,A("You need to allow WordProof to access your site to finish the WordProof installation.","wordproof")),(0,e.createElement)(q,{variant:"primary",onClick:n},A("Retry authentication","wordproof"))))};L.proptypes={close:u().func.isRequired};var $=L;function x(t,o){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return(0,e.createInterpolateElement)(t,{a:(0,e.createElement)("a",{id:n,href:o,target:"_blank",rel:"noopener noreferrer"})})}const{Button:I}=wp.components,{useCallback:D}=wp.element,{__:F,sprintf:M}=wp.i18n,N=t=>{const{close:o}=t,n=D((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(O,{close:o,title:F("Authentication failed","wordproof")},(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",null,M( /* Translators: %s expands to WordProof */ F("Something failed during the authentication of your %s account.","wordproof"),"WordProof"),x(M( /* Translators: %1s and %2s are html tags. %3s expands to WordProof */ @@ -12,4 +12,4 @@ V("The timestamp sent by %s was not received on your website.","WordProof"),"Wor /* Translators: %1s and %2s are html tags. %3s expands to WordProof */ V("Please contact the %1$s%3$s support team%2$s to help solve this problem.","wordpress-seo"),"","","WordProof"),"https://help.wordproof.com/")))};J.proptypes={close:u().func.isRequired};var K=J;const{useState:Q,useCallback:Z,useEffect:ee}=wp.element;var te=()=>{const[t,o]=Q(null),n=Z((()=>{o("oauth:failed")})),r=Z((()=>{o("oauth:denied")})),a=Z((()=>{o("webhook:failed")})),s=Z((()=>{o("oauth:success")})),i=Z((()=>{o(null)}));return ee((()=>(window.addEventListener("wordproof:oauth:success",s,!1),window.addEventListener("wordproof:oauth:failed",n,!1),window.addEventListener("wordproof:oauth:denied",r,!1),window.addEventListener("wordproof:webhook:failed",a,!1),()=>{window.removeEventListener("wordproof:oauth:success",s,!1),window.removeEventListener("wordproof:oauth:failed",n,!1),window.removeEventListener("wordproof:oauth:denied",r,!1),window.removeEventListener("wordproof:webhook:failed",a,!1)})),[]),(0,e.createElement)(e.Fragment,null,"oauth:success"===t&&(0,e.createElement)(G,{close:i}),"oauth:denied"===t&&(0,e.createElement)($,{close:i}),"oauth:failed"===t&&(0,e.createElement)(j,{close:i}),"webhook:failed"===t&&(0,e.createElement)(K,{close:i}))};const{__:oe,sprintf:ne}=wp.i18n,{PluginDocumentSettingPanel:re}=wp.editPost,{ToggleControl:ae,PanelRow:se}=wp.components,{compose:ie}=wp.compose,{withSelect:ce,withDispatch:pe}=wp.data,{useCallback:de}=wp.element,le=t=>{let{postType:o,postMeta:n,isAuthenticated:r,selectedPostTypes:a,setPostMeta:s}=t;const i=de((()=>a.includes(o)),[a,o]),c=de((()=>{w("wordproof:open_authentication")}));return void 0===n?(0,e.createElement)(e.Fragment,null):(0,e.createElement)(re,{title:oe("WordProof Timestamp","wordproof"),initialOpen:"true"},(0,e.createElement)(se,null,(0,e.createElement)(ae,{label:ne( /* translators: %s expands to the post type */ -oe("Timestamp this %s","wordproof"),o),onChange:e=>{s({_wordproof_timestamp:e}),r||!0!==e||c()},checked:n._wordproof_timestamp||i(),disabled:i()})),(0,e.createElement)(se,null,(0,e.createElement)(R,null)),(0,e.createElement)(te,null))};le.proptypes={postType:u().string.isRequired,postMeta:u().object.isRequired,isAuthenticated:u().bool.isRequired,setPostMeta:u().func.isRequired};var ue=ie([ce((e=>({postMeta:e("core/editor").getEditedPostAttribute("meta"),postType:e("core/editor").getCurrentPostType(),isAuthenticated:e("wordproof").getIsAuthenticated(),selectedPostTypes:e("wordproof").getSelectedPostTypes()}))),pe((e=>({setPostMeta(t){e("core/editor").editPost({meta:t})}})))])(le);const{registerPlugin:we}=wp.plugins;we("wordproof-timestamp-panel",{render:()=>(0,e.createElement)(ue,null)}),function(){const{createSuccessNotice:e,createErrorNotice:o}=(0,t.dispatch)("core/notices");(function(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=v("wordproof"),o=d("popup_redirect_authentication_url"),n=d("popup_redirect_settings_url");let r=null;const c=(e,t)=>{r=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const a=e.top.outerHeight/2+e.top.screenY-r/2,s=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,o,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${a},\n\t\tleft=${s}`)}(window,e,t),r&&r.focus(),window.addEventListener("message",p,!1)},p=async e=>{const{data:t,source:o,origin:n}=e;if(n===d("origin")&&r===o)switch(t.type){case"wordproof:oauth:granted":!1===await f(t)&&await l("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await l("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await l("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await l("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await l("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await l("wordproof:settings:updated"),await h(t);break;case"wordproof:oauth:destroy":await l("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await l("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":u()}},l=async function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;u(),w(t),!1===o&&(await i(),e(!1)),!0===o&&e(!0)},u=()=>{window.removeEventListener("message",p,!1),r.close()},f=async e=>{await a((()=>(async e=>{const{state:t,code:o}=e;return await s({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:t,code:o}})})(e)),(async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return r.postMessage(t,d("origin")),!0}),(async()=>!1))},h=async e=>{await a((()=>(async e=>{const{settings:t}=e;return await s({path:"wordproof/v1/settings",method:"POST",data:{settings:t}})})(e)),(async()=>{const o=e.settings;return o.selectedPostTypes&&t(o.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(e=>{e.preventDefault(),c(o,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(e=>{e.preventDefault(),c(n,"WordProof_Settings")}),!1)})(),function(e,t,o){e(m((async()=>{if(y("wordproof.timestamp",!0)){const e=d("current_post_id"),n=await(async e=>s({path:`wordproof/v1/posts/${e}/timestamp`,method:"POST"}))(e);f({response:n,createSuccessNotice:t,createErrorNotice:o,postId:e})}}),500))}(b,e,o)}()}()}(); \ No newline at end of file +oe("Timestamp this %s","wordproof"),o),onChange:e=>{s({_wordproof_timestamp:e}),r||!0!==e||c()},checked:n._wordproof_timestamp||i(),disabled:i()})),(0,e.createElement)(se,null,(0,e.createElement)(R,null)),(0,e.createElement)(te,null))};le.proptypes={postType:u().string.isRequired,postMeta:u().object.isRequired,isAuthenticated:u().bool.isRequired,setPostMeta:u().func.isRequired};var ue=ie([ce((e=>({postMeta:e("core/editor").getEditedPostAttribute("meta"),postType:e("core/editor").getCurrentPostType(),isAuthenticated:e("wordproof").getIsAuthenticated(),selectedPostTypes:e("wordproof").getSelectedPostTypes()}))),pe((e=>({setPostMeta(t){e("core/editor").editPost({meta:t})}})))])(le);const{registerPlugin:we}=wp.plugins;we("wordproof-timestamp-panel",{render:()=>(0,e.createElement)(ue,null)}),function(){const{createSuccessNotice:e,createErrorNotice:o}=(0,t.dispatch)("core/notices");(function(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=v("wordproof"),o=d("popup_redirect_authentication_url"),n=d("popup_redirect_settings_url");let r=null;const c=(e,t)=>{r=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const a=e.top.outerHeight/2+e.top.screenY-r/2,s=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,o,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${a},\n\t\tleft=${s}`)}(window,e,t),r&&r.focus(),window.addEventListener("message",p,!1)},p=async e=>{const{data:t,source:o,origin:n}=e;if(n===d("origin")&&r===o)switch(t.type){case"wordproof:oauth:granted":!1===await f(t)&&await l("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await l("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await l("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await l("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await l("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await l("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await l("wordproof:settings:updated"),await h(t);break;case"wordproof:oauth:destroy":await l("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await l("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":u()}},l=async function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;u(),w(t),!1===o&&(await i(),e(!1)),!0===o&&e(!0)},u=()=>{window.removeEventListener("message",p,!1),r.close()},f=async e=>{await a((()=>(async e=>{const{state:t,code:o}=e;return await s({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:t,code:o}})})(e)),(async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return r.postMessage(t,d("origin")),!0}),(async()=>!1))},h=async e=>{await a((()=>(async e=>{const{settings:t}=e;return await s({path:"wordproof/v1/settings",method:"POST",data:{settings:t}})})(e)),(async()=>{const o=e.settings;return o.selectedPostTypes&&t(o.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(e=>{e.preventDefault(),c(o,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(e=>{e.preventDefault(),c(n,"WordProof_Settings")}),!1)})(),function(e,t,o){e(m((async()=>{if(y("wordproof.timestamp",!0)){const e=d("current_post_id"),n=await(async e=>s({path:`wordproof/v1/posts/${e}/timestamp`,method:"POST"}))(e);f({response:n,createSuccessNotice:t,createErrorNotice:o,postId:e})}}),500))}(b,e,o)}()}()}(); \ No newline at end of file diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-classic-editor.js b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-classic-editor.js index cf1014ced..48e758a27 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-classic-editor.js +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-classic-editor.js @@ -1 +1 @@ -!function(){var t={703:function(t,e,o){"use strict";var n=o(414);function r(){}function a(){}a.resetWarningCache=r,t.exports=function(){function t(t,e,o,r,a,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function e(){return t}t.isRequired=t;var o={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:a,resetWarningCache:r};return o.PropTypes=o,o}},697:function(t,e,o){t.exports=o(703)()},414:function(t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},e={};function o(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,o),a.exports}o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";var t=window.wp.element,e=window.wp.apiFetch,n=o.n(e);async function r(t,e,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const r=await t();return!!r&&(r.status===n?e(r):o(r))}catch(t){}}async function a(t){try{return await n()(t)}catch(t){return t.error&&t.status?t:t instanceof window.Response&&await t.json()}}const s=async()=>await r((async()=>await(async()=>await a({path:"wordproof/v1/oauth/destroy",method:"POST"}))()),(t=>t),(()=>!1)),{get:i}=lodash,c=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i(window,"wordproofSdk.data"+(t?`.${t}`:""),e)};function d(t){const e=new window.CustomEvent(t);window.dispatchEvent(e)}function p(){d("wordproof:open_authentication")}const{dispatch:u}=wp.data;var w=o(697),f=o.n(w);const{__:__}=wp.i18n,{useCallback:l}=wp.element,{withSelect:h}=wp.data,{compose:y}=wp.compose,g=e=>{const{isAuthenticated:o}=e,n=c("popup_redirect_authentication_url"),r=c("popup_redirect_settings_url"),a=l((t=>{t.preventDefault(),d("wordproof:open_settings")})),s=l((t=>{t.preventDefault(),p()}));return(0,t.createElement)(t.Fragment,null,o&&(0,t.createElement)("a",{href:r,onClick:a},__("Open settings","wordproof")),!o&&(0,t.createElement)("a",{href:n,onClick:s},__("Open authentication","wordproof")))};g.proptypes={isAuthenticated:f().bool.isRequired};var _=y([h((t=>({isAuthenticated:t("wordproof").getIsAuthenticated()})))])(g);const{render:v}=wp.element,{select:b,subscribe:m}=wp.data;(function(){const{setIsAuthenticated:t,setSelectedPostTypes:e}=u("wordproof"),o=c("popup_redirect_authentication_url"),n=c("popup_redirect_settings_url");let i=null;const p=(t,e)=>{i=function(t,e){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const a=t.top.outerHeight/2+t.top.screenY-r/2,s=t.top.outerWidth/2+t.top.screenX-n/2;return t.open(e,o,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${a},\n\t\tleft=${s}`)}(window,t,e),i&&i.focus(),window.addEventListener("message",w,!1)},w=async t=>{const{data:e,source:o,origin:n}=t;if(n===c("origin")&&i===o)switch(e.type){case"wordproof:oauth:granted":!1===await h(e)&&await f("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await f("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await f("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await f("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await f("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await f("wordproof:settings:updated"),await y(e);break;case"wordproof:oauth:destroy":await f("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await f("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":l()}},f=async function(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;l(),d(e),!1===o&&(await s(),t(!1)),!0===o&&t(!0)},l=()=>{window.removeEventListener("message",w,!1),i.close()},h=async t=>{await r((()=>(async t=>{const{state:e,code:o}=t;return await a({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:e,code:o}})})(t)),(async t=>{const e={type:"wordproof:sdk:access-token",source_id:t.source_id};return i.postMessage(e,c("origin")),!0}),(async()=>!1))},y=async t=>{await r((()=>(async t=>{const{settings:e}=t;return await a({path:"wordproof/v1/settings",method:"POST",data:{settings:e}})})(t)),(async()=>{const o=t.settings;return o.selectedPostTypes&&e(o.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(t=>{t.preventDefault(),p(o,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(t=>{t.preventDefault(),p(n,"WordProof_Settings")}),!1)})(),window.addEventListener("DOMContentLoaded",(e=>{O=document.querySelector("#_wordproof_timestamp"),E=O.checked,O&&(P=document.querySelector("#wordproof-action-link"),P&&v((0,t.createElement)(_,null),P),T(S()),m((()=>{T(S())})),O.addEventListener("change",(t=>{!b("wordproof").getIsAuthenticated()&&O.checked&&p()})))}));const k=c("current_post_type");let O=null,E=null,P=null;function T(t){t.includes(k)?(O.disabled=!0,O.checked=!0):(O.disabled=!1,O.checked=E)}function S(){return b("wordproof").getSelectedPostTypes()}}()}(); \ No newline at end of file +!function(){var t={703:function(t,e,o){"use strict";var n=o(414);function r(){}function a(){}a.resetWarningCache=r,t.exports=function(){function t(t,e,o,r,a,i){if(i!==n){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var o={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:a,resetWarningCache:r};return o.PropTypes=o,o}},697:function(t,e,o){t.exports=o(703)()},414:function(t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},e={};function o(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,o),a.exports}o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";var t=window.wp.element,e=window.wp.apiFetch,n=o.n(e);async function r(t,e,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const r=await t();return!!r&&(r.status===n?e(r):o(r))}catch(t){}}async function a(t){try{return await n()(t)}catch(t){return t.error&&t.status?t:t instanceof window.Response&&await t.json()}}const i=async()=>await r((async()=>await(async()=>await a({path:"wordproof/v1/oauth/destroy",method:"POST"}))()),(t=>t),(()=>!1)),{get:s}=lodash,c=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s(window,"wordproofSdk.data"+(t?`.${t}`:""),e)};function d(t){const e=new window.CustomEvent(t);window.dispatchEvent(e)}function p(){d("wordproof:open_authentication")}const{dispatch:u}=wp.data;var w=o(697),f=o.n(w);const{__:__}=wp.i18n,{useCallback:l}=wp.element,{withSelect:h}=wp.data,{compose:y}=wp.compose,g=e=>{const{isAuthenticated:o}=e,n=c("popup_redirect_authentication_url"),r=c("popup_redirect_settings_url"),a=l((t=>{t.preventDefault(),d("wordproof:open_settings")})),i=l((t=>{t.preventDefault(),p()}));return(0,t.createElement)(t.Fragment,null,o&&(0,t.createElement)("a",{href:r,onClick:a},__("Open settings","wordproof")),!o&&(0,t.createElement)("a",{href:n,onClick:i},__("Open authentication","wordproof")))};g.proptypes={isAuthenticated:f().bool.isRequired};var _=y([h((t=>({isAuthenticated:t("wordproof").getIsAuthenticated()})))])(g);const{render:v}=wp.element,{select:b,subscribe:m}=wp.data;(function(){const{setIsAuthenticated:t,setSelectedPostTypes:e}=u("wordproof"),o=c("popup_redirect_authentication_url"),n=c("popup_redirect_settings_url");let s=null;const p=(t,e)=>{s=function(t,e){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const a=t.top.outerHeight/2+t.top.screenY-r/2,i=t.top.outerWidth/2+t.top.screenX-n/2;return t.open(e,o,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${a},\n\t\tleft=${i}`)}(window,t,e),s&&s.focus(),window.addEventListener("message",w,!1)},w=async t=>{const{data:e,source:o,origin:n}=t;if(n===c("origin")&&s===o)switch(e.type){case"wordproof:oauth:granted":!1===await h(e)&&await f("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await f("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await f("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await f("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await f("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await f("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await f("wordproof:settings:updated"),await y(e);break;case"wordproof:oauth:destroy":await f("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await f("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":l()}},f=async function(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;l(),d(e),!1===o&&(await i(),t(!1)),!0===o&&t(!0)},l=()=>{window.removeEventListener("message",w,!1),s.close()},h=async t=>{await r((()=>(async t=>{const{state:e,code:o}=t;return await a({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:e,code:o}})})(t)),(async t=>{const e={type:"wordproof:sdk:access-token",source_id:t.source_id};return s.postMessage(e,c("origin")),!0}),(async()=>!1))},y=async t=>{await r((()=>(async t=>{const{settings:e}=t;return await a({path:"wordproof/v1/settings",method:"POST",data:{settings:e}})})(t)),(async()=>{const o=t.settings;return o.selectedPostTypes&&e(o.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(t=>{t.preventDefault(),p(o,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(t=>{t.preventDefault(),p(n,"WordProof_Settings")}),!1)})(),window.addEventListener("DOMContentLoaded",(e=>{O=document.querySelector("#_wordproof_timestamp"),E=O.checked,O&&(P=document.querySelector("#wordproof-action-link"),P&&v((0,t.createElement)(_,null),P),T(S()),m((()=>{T(S())})),O.addEventListener("change",(t=>{!b("wordproof").getIsAuthenticated()&&O.checked&&p()})))}));const k=c("current_post_type");let O=null,E=null,P=null;function T(t){t.includes(k)?(O.disabled=!0,O.checked=!0):(O.disabled=!1,O.checked=E)}function S(){return b("wordproof").getSelectedPostTypes()}}()}(); \ No newline at end of file diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-elementor-editor.js b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-elementor-editor.js index b0b756886..f61b37a31 100755 --- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-elementor-editor.js +++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-elementor-editor.js @@ -1 +1 @@ -!function(){var t={703:function(t,o,e){"use strict";var n=e(414);function a(){}function r(){}r.resetWarningCache=a,t.exports=function(){function t(t,o,e,a,r,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function o(){return t}t.isRequired=t;var e={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:o,element:t,elementType:t,instanceOf:o,node:t,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:r,resetWarningCache:a};return e.PropTypes=e,e}},697:function(t,o,e){t.exports=e(703)()},414:function(t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},o={};function e(n){var a=o[n];if(void 0!==a)return a.exports;var r=o[n]={exports:{}};return t[n](r,r.exports,e),r.exports}e.n=function(t){var o=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(o,{a:o}),o},e.d=function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},e.o=function(t,o){return Object.prototype.hasOwnProperty.call(t,o)},function(){"use strict";var t=window.wp.apiFetch,o=e.n(t);async function n(t,o,e){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const a=await t();return!!a&&(a.status===n?o(a):e(a))}catch(t){}}async function a(t){try{return await o()(t)}catch(t){return t.error&&t.status?t:t instanceof window.Response&&await t.json()}}const r=async()=>await n((async()=>await s()),(t=>t),(()=>!1)),s=async()=>await a({path:"wordproof/v1/oauth/destroy",method:"POST"}),{get:i}=lodash,c=function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i(window,"wordproofSdk.data"+(t?`.${t}`:""),o)};var d=e(697),p=e.n(d);function u(t){const o=new window.CustomEvent(t);window.dispatchEvent(o)}const w=t=>{const{response:o,createSuccessNotice:e,createErrorNotice:n,postId:a}=t;if(null===o||200===o.status)return;const r={id:"wordproof-timestamp-notice"};o&&201===o.status?0===o.balance?(r.actions=[{label:c("translations.open_settings_button_text"),onClick:()=>{u("wordproof:open_settings")},variant:"link"}],n(c("translations.no_balance"),r)):(e(c("translations.timestamp_success"),{type:"snackbar",id:"wordproof-timestamp-notice"}),f(a,o.hash,n,r)):o.error&&("not_authenticated"===o.error?(r.type="snackbar",r.actions=[{label:c("translations.open_authentication_button_text"),onClick:()=>{u("wordproof:open_authentication")},variant:"link"}],n(c("translations.not_authenticated"),r)):n(c("translations.timestamp_failed"),r))},f=async(t,o,e,n)=>{setTimeout((async()=>{const r=await(async t=>a({path:`wordproof/v1/posts/${t}/timestamp/transaction/latest`,method:"GET"}))(t);r.hash!==o&&(n.type="snackbar",e(c("translations.webhook_failed"),n))}),1e4)};w.proptypes={timestampResponse:p().any.isRequired,createSuccessNotice:p().func.isRequired,createErrorNotice:p().func.isRequired,postId:p().number.isRequired};const{debounce:l}=lodash,{applyFilters:h}=wp.hooks;const{dispatch:y}=wp.data;$e.modules.hookUI.Base;class m extends $e.modules.hookData.Base{constructor(t,o,e){super(),this.hook=t,this.id=o,this.callback=e}getCommand(){return this.hook}getId(){return this.id}apply(){return this.callback()}}function b(t,o){let e=null;o.actions&&(e=[],o.actions.forEach((t=>{e.push({name:"wordproof_notice_button",text:t.label,callback(){t.onClick()}})}))),window.elementor.notifications.showToast({message:t,buttons:e})}(function(){const{setIsAuthenticated:t,setSelectedPostTypes:o}=y("wordproof"),e=c("popup_redirect_authentication_url"),s=c("popup_redirect_settings_url");let i=null;const d=(t,o)=>{i=function(t,o){let e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const r=t.top.outerHeight/2+t.top.screenY-a/2,s=t.top.outerWidth/2+t.top.screenX-n/2;return t.open(o,e,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${a},\n\t\ttop=${r},\n\t\tleft=${s}`)}(window,t,o),i&&i.focus(),window.addEventListener("message",p,!1)},p=async t=>{const{data:o,source:e,origin:n}=t;if(n===c("origin")&&i===e)switch(o.type){case"wordproof:oauth:granted":!1===await l(o)&&await w("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await w("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await w("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await w("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await w("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await w("wordproof:settings:updated"),await h(o);break;case"wordproof:oauth:destroy":await w("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await w("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":f()}},w=async function(o){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;f(),u(o),!1===e&&(await r(),t(!1)),!0===e&&t(!0)},f=()=>{window.removeEventListener("message",p,!1),i.close()},l=async t=>{await n((()=>(async t=>{const{state:o,code:e}=t;return await a({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:o,code:e}})})(t)),(async t=>{const o={type:"wordproof:sdk:access-token",source_id:t.source_id};return i.postMessage(o,c("origin")),!0}),(async()=>!1))},h=async t=>{await n((()=>(async t=>{const{settings:o}=t;return await a({path:"wordproof/v1/settings",method:"POST",data:{settings:o}})})(t)),(async()=>{const e=t.settings;return e.selectedPostTypes&&o(e.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(t=>{t.preventDefault(),d(e,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(t=>{t.preventDefault(),d(s,"WordProof_Settings")}),!1)})(),function(t,o,e){t(l((async()=>{if(h("wordproof.timestamp",!0)){const t=c("current_post_id"),n=await(async t=>a({path:`wordproof/v1/posts/${t}/timestamp`,method:"POST"}))(t);w({response:n,createSuccessNotice:o,createErrorNotice:e,postId:t})}}),500))}((function(t){!function(t,o,e){$e&&$e.hooks.registerDataAfter(new m("document/save/save","wordproof/timestamper",e))}(0,0,(()=>{window.setTimeout(t,1e3)}))}),b,b)}()}(); \ No newline at end of file +!function(){var t={703:function(t,o,e){"use strict";var n=e(414);function a(){}function r(){}r.resetWarningCache=a,t.exports=function(){function t(t,o,e,a,r,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function o(){return t}t.isRequired=t;var e={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:o,element:t,elementType:t,instanceOf:o,node:t,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:r,resetWarningCache:a};return e.PropTypes=e,e}},697:function(t,o,e){t.exports=e(703)()},414:function(t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},o={};function e(n){var a=o[n];if(void 0!==a)return a.exports;var r=o[n]={exports:{}};return t[n](r,r.exports,e),r.exports}e.n=function(t){var o=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(o,{a:o}),o},e.d=function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},e.o=function(t,o){return Object.prototype.hasOwnProperty.call(t,o)},function(){"use strict";var t=window.wp.apiFetch,o=e.n(t);async function n(t,o,e){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const a=await t();return!!a&&(a.status===n?o(a):e(a))}catch(t){}}async function a(t){try{return await o()(t)}catch(t){return t.error&&t.status?t:t instanceof window.Response&&await t.json()}}const r=async()=>await n((async()=>await s()),(t=>t),(()=>!1)),s=async()=>await a({path:"wordproof/v1/oauth/destroy",method:"POST"}),{get:i}=lodash,c=function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i(window,"wordproofSdk.data"+(t?`.${t}`:""),o)};var d=e(697),p=e.n(d);function u(t){const o=new window.CustomEvent(t);window.dispatchEvent(o)}const w=t=>{const{response:o,createSuccessNotice:e,createErrorNotice:n,postId:a}=t;if(null===o||200===o.status)return;const r={id:"wordproof-timestamp-notice"};o&&201===o.status?0===o.balance?(r.actions=[{label:c("translations.open_settings_button_text"),onClick:()=>{u("wordproof:open_settings")},variant:"link"}],n(c("translations.no_balance"),r)):(e(c("translations.timestamp_success"),{type:"snackbar",id:"wordproof-timestamp-notice"}),f(a,o.hash,n,r)):o.error&&("not_authenticated"===o.error?(r.type="snackbar",r.actions=[{label:c("translations.open_authentication_button_text"),onClick:()=>{u("wordproof:open_authentication")},variant:"link"}],n(c("translations.not_authenticated"),r)):n(c("translations.timestamp_failed"),r))},f=async(t,o,e,n)=>{setTimeout((async()=>{const r=await(async t=>a({path:`wordproof/v1/posts/${t}/timestamp/transaction/latest`,method:"GET"}))(t);r.hash!==o&&(n.type="snackbar",e(c("translations.webhook_failed"),n))}),1e4)};w.proptypes={timestampResponse:p().any.isRequired,createSuccessNotice:p().func.isRequired,createErrorNotice:p().func.isRequired,postId:p().number.isRequired};const{debounce:l}=lodash,{applyFilters:h}=wp.hooks;const{dispatch:y}=wp.data;$e.modules.hookUI.Base;class m extends $e.modules.hookData.Base{constructor(t,o,e){super(),this.hook=t,this.id=o,this.callback=e}getCommand(){return this.hook}getId(){return this.id}apply(){return this.callback()}}function b(t,o){let e=null;o.actions&&(e=[],o.actions.forEach((t=>{e.push({name:"wordproof_notice_button",text:t.label,callback(){t.onClick()}})}))),window.elementor.notifications.showToast({message:t,buttons:e})}(function(){const{setIsAuthenticated:t,setSelectedPostTypes:o}=y("wordproof"),e=c("popup_redirect_authentication_url"),s=c("popup_redirect_settings_url");let i=null;const d=(t,o)=>{i=function(t,o){let e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const r=t.top.outerHeight/2+t.top.screenY-a/2,s=t.top.outerWidth/2+t.top.screenX-n/2;return t.open(o,e,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${a},\n\t\ttop=${r},\n\t\tleft=${s}`)}(window,t,o),i&&i.focus(),window.addEventListener("message",p,!1)},p=async t=>{const{data:o,source:e,origin:n}=t;if(n===c("origin")&&i===e)switch(o.type){case"wordproof:oauth:granted":!1===await l(o)&&await w("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await w("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await w("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await w("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await w("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await w("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await w("wordproof:settings:updated"),await h(o);break;case"wordproof:oauth:destroy":await w("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await w("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":f()}},w=async function(o){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;f(),u(o),!1===e&&(await r(),t(!1)),!0===e&&t(!0)},f=()=>{window.removeEventListener("message",p,!1),i.close()},l=async t=>{await n((()=>(async t=>{const{state:o,code:e}=t;return await a({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:o,code:e}})})(t)),(async t=>{const o={type:"wordproof:sdk:access-token",source_id:t.source_id};return i.postMessage(o,c("origin")),!0}),(async()=>!1))},h=async t=>{await n((()=>(async t=>{const{settings:o}=t;return await a({path:"wordproof/v1/settings",method:"POST",data:{settings:o}})})(t)),(async()=>{const e=t.settings;return e.selectedPostTypes&&o(e.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(t=>{t.preventDefault(),d(e,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(t=>{t.preventDefault(),d(s,"WordProof_Settings")}),!1)})(),function(t,o,e){t(l((async()=>{if(h("wordproof.timestamp",!0)){const t=c("current_post_id"),n=await(async t=>a({path:`wordproof/v1/posts/${t}/timestamp`,method:"POST"}))(t);w({response:n,createSuccessNotice:o,createErrorNotice:e,postId:t})}}),500))}((function(t){!function(t,o,e){$e&&$e.hooks.registerDataAfter(new m("document/save/save","wordproof/timestamper",e))}(0,0,(()=>{window.setTimeout(t,1e3)}))}),b,b)}()}(); \ No newline at end of file diff --git a/wp-content/plugins/wordpress-seo/wp-seo-main.php b/wp-content/plugins/wordpress-seo/wp-seo-main.php index eb201b78b..db09c5e3f 100755 --- a/wp-content/plugins/wordpress-seo/wp-seo-main.php +++ b/wp-content/plugins/wordpress-seo/wp-seo-main.php @@ -15,7 +15,7 @@ * {@internal Nobody should be able to overrule the real version number as this can cause * serious issues with the options, so no if ( ! defined() ).}} */ -define( 'WPSEO_VERSION', '21.2' ); +define( 'WPSEO_VERSION', '21.3' ); if ( ! defined( 'WPSEO_PATH' ) ) { @@ -80,6 +80,17 @@ function wpseo_auto_load( $class_name ) { return; } +/** + * Include the file from the `symfony/deprecation-contracts` dependency instead of autoloading it via composer. + * + * We need to do that because autoloading via composer prevents the vendor-prefixing of the dependency itself. + * Note that we don't expect the function to be ever called since the OAuth2 library should not provide invalid input. + */ +$deprecation_contracts_file = WPSEO_PATH . 'vendor_prefixed/symfony/deprecation-contracts/functions.php'; +if ( is_readable( $deprecation_contracts_file ) ) { + include $deprecation_contracts_file; +} + if ( function_exists( 'spl_autoload_register' ) ) { spl_autoload_register( 'wpseo_auto_load' ); } diff --git a/wp-content/plugins/wordpress-seo/wp-seo.php b/wp-content/plugins/wordpress-seo/wp-seo.php index 1c2bce393..7b88903a8 100755 --- a/wp-content/plugins/wordpress-seo/wp-seo.php +++ b/wp-content/plugins/wordpress-seo/wp-seo.php @@ -8,7 +8,7 @@ * * @wordpress-plugin * Plugin Name: Yoast SEO - * Version: 21.2 + * Version: 21.3 * Plugin URI: https://yoa.st/1uj * Description: The first true all-in-one SEO solution for WordPress, including on-page content analysis, XML sitemaps and much more. * Author: Team Yoast @@ -20,7 +20,7 @@ * Requires PHP: 7.2.5 * * WC requires at least: 7.1 - * WC tested up to: 8.0 + * WC tested up to: 8.1 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.js b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.js index d7e4c7057..bdd156ffa 100755 --- a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.js +++ b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.js @@ -15,9 +15,9 @@ function rocket_css_lazyload_launch() { if (pair) { styleElement.innerHTML += pair.style; pair.elements.forEach(el => { - el.setAttribute('data-rocket-lazy-bg', 'loaded'); // Stop observing the target element observer.unobserve(el); + el.setAttribute(`data-rocket-lazy-bg-${pair.hash}`, 'loaded'); }); } }) @@ -29,7 +29,7 @@ function rocket_css_lazyload_launch() { function lazyload(e = []) { - const pass = e.length === 0 || e.find(e => e.type !== 'attributes' || e.attributeName === 'class'); + const pass = e.length > 0; if(! pass ) { return; @@ -40,7 +40,7 @@ function rocket_css_lazyload_launch() { const elements = document.querySelectorAll(pair.selector); elements.forEach(el => { - if(el.getAttribute('data-rocket-lazy-bg') === 'loaded') { + if(el.getAttribute(`data-rocket-lazy-bg-${pair.hash}`) === 'loaded') { return; } observer.observe(el); diff --git a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js index 274036445..519c78d96 100755 --- a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js +++ b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js @@ -1 +1 @@ -!function o(n,c,i){function s(t,e){if(!c[t]){if(!n[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(u)return u(t,!0);throw(r=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",r}r=c[t]={exports:{}},n[t][0].call(r.exports,function(e){return s(n[t][1][e]||e)},r,r.exports,o,n,c,i)}return c[t].exports}for(var u="function"==typeof require&&require,e=0;e{e.forEach(t=>{if(t.isIntersecting){const e=r.filter(e=>t.target.matches(e.selector));e.map(e=>{e&&(o.innerHTML+=e.style,e.elements.forEach(e=>{e.setAttribute("data-rocket-lazy-bg","loaded"),n.unobserve(e)}))})}})},{rootMargin:e+"px"});function t(){let e=0"attributes"!==e.type||"class"===e.attributeName)||r.forEach(t=>{try{const e=document.querySelectorAll(t.selector);e.forEach(e=>{"loaded"!==e.getAttribute("data-rocket-lazy-bg")&&(n.observe(e),(t.elements||(t.elements=[])).push(e))})}catch(e){console.error(e)}})}t();const c=function(){const o=window.MutationObserver;return function(e,t){if(e&&1===e.nodeType){const r=new o(t);return r.observe(e,{attributes:!0,childList:!0,subtree:!0}),r}}}();e=document.querySelector("body"),c(e,t)}()},{}]},{},[1]); +!function o(n,c,s){function i(t,e){if(!c[t]){if(!n[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(u)return u(t,!0);throw(r=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",r}r=c[t]={exports:{}},n[t][0].call(r.exports,function(e){return i(n[t][1][e]||e)},r,r.exports,o,n,c,s)}return c[t].exports}for(var u="function"==typeof require&&require,e=0;e{e.forEach(t=>{if(t.isIntersecting){const e=r.filter(e=>t.target.matches(e.selector));e.map(t=>{t&&(o.innerHTML+=t.style,t.elements.forEach(e=>{n.unobserve(e),e.setAttribute("data-rocket-lazy-bg-".concat(t.hash),"loaded")}))})}})},{rootMargin:e+"px"});function t(){0<(0{try{const e=document.querySelectorAll(t.selector);e.forEach(e=>{"loaded"!==e.getAttribute("data-rocket-lazy-bg-".concat(t.hash))&&(n.observe(e),(t.elements||(t.elements=[])).push(e))})}catch(e){console.error(e)}})}t();const c=function(){const o=window.MutationObserver;return function(e,t){if(e&&1===e.nodeType){const r=new o(t);return r.observe(e,{attributes:!0,childList:!0,subtree:!0}),r}}}();e=document.querySelector("body"),c(e,t)}()},{}]},{},[1]); diff --git a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js.map b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js.map index 4e5e6f18b..57418e37c 100755 --- a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js.map +++ b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js.map @@ -1 +1 @@ -{"version":3,"names":[],"mappings":"","sources":["lazyload-css.min.js"],"sourcesContent":["!function o(n,c,i){function s(t,e){if(!c[t]){if(!n[t]){var r=\"function\"==typeof require&&require;if(!e&&r)return r(t,!0);if(u)return u(t,!0);throw(r=new Error(\"Cannot find module '\"+t+\"'\")).code=\"MODULE_NOT_FOUND\",r}r=c[t]={exports:{}},n[t][0].call(r.exports,function(e){return s(n[t][1][e]||e)},r,r.exports,o,n,c,i)}return c[t].exports}for(var u=\"function\"==typeof require&&require,e=0;e{e.forEach(t=>{if(t.isIntersecting){const e=r.filter(e=>t.target.matches(e.selector));e.map(e=>{e&&(o.innerHTML+=e.style,e.elements.forEach(e=>{e.setAttribute(\"data-rocket-lazy-bg\",\"loaded\"),n.unobserve(e)}))})}})},{rootMargin:e+\"px\"});function t(){let e=0\"attributes\"!==e.type||\"class\"===e.attributeName)||r.forEach(t=>{try{const e=document.querySelectorAll(t.selector);e.forEach(e=>{\"loaded\"!==e.getAttribute(\"data-rocket-lazy-bg\")&&(n.observe(e),(t.elements||(t.elements=[])).push(e))})}catch(e){console.error(e)}})}t();const c=function(){const o=window.MutationObserver;return function(e,t){if(e&&1===e.nodeType){const r=new o(t);return r.observe(e,{attributes:!0,childList:!0,subtree:!0}),r}}}();e=document.querySelector(\"body\"),c(e,t)}()},{}]},{},[1]);"],"file":"lazyload-css.min.js"} +{"version":3,"names":[],"mappings":"","sources":["lazyload-css.min.js"],"sourcesContent":["!function o(n,c,s){function i(t,e){if(!c[t]){if(!n[t]){var r=\"function\"==typeof require&&require;if(!e&&r)return r(t,!0);if(u)return u(t,!0);throw(r=new Error(\"Cannot find module '\"+t+\"'\")).code=\"MODULE_NOT_FOUND\",r}r=c[t]={exports:{}},n[t][0].call(r.exports,function(e){return i(n[t][1][e]||e)},r,r.exports,o,n,c,s)}return c[t].exports}for(var u=\"function\"==typeof require&&require,e=0;e{e.forEach(t=>{if(t.isIntersecting){const e=r.filter(e=>t.target.matches(e.selector));e.map(t=>{t&&(o.innerHTML+=t.style,t.elements.forEach(e=>{n.unobserve(e),e.setAttribute(\"data-rocket-lazy-bg-\".concat(t.hash),\"loaded\")}))})}})},{rootMargin:e+\"px\"});function t(){0<(0{try{const e=document.querySelectorAll(t.selector);e.forEach(e=>{\"loaded\"!==e.getAttribute(\"data-rocket-lazy-bg-\".concat(t.hash))&&(n.observe(e),(t.elements||(t.elements=[])).push(e))})}catch(e){console.error(e)}})}t();const c=function(){const o=window.MutationObserver;return function(e,t){if(e&&1===e.nodeType){const r=new o(t);return r.observe(e,{attributes:!0,childList:!0,subtree:!0}),r}}}();e=document.querySelector(\"body\"),c(e,t)}()},{}]},{},[1]);"],"file":"lazyload-css.min.js"} \ No newline at end of file diff --git a/wp-content/plugins/wp-rocket/composer.lock b/wp-content/plugins/wp-rocket/composer.lock index 08337611e..5dbfb8372 100755 --- a/wp-content/plugins/wp-rocket/composer.lock +++ b/wp-content/plugins/wp-rocket/composer.lock @@ -59,16 +59,16 @@ "packages-dev": [ { "name": "antecedent/patchwork", - "version": "2.1.25", + "version": "2.1.26", "source": { "type": "git", "url": "https://github.com/antecedent/patchwork.git", - "reference": "17314e042d45e0dacb0a494c2d1ef50e7621136a" + "reference": "f2dae0851b2eae4c51969af740fdd0356d7f8f55" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/antecedent/patchwork/zipball/17314e042d45e0dacb0a494c2d1ef50e7621136a", - "reference": "17314e042d45e0dacb0a494c2d1ef50e7621136a", + "url": "https://api.github.com/repos/antecedent/patchwork/zipball/f2dae0851b2eae4c51969af740fdd0356d7f8f55", + "reference": "f2dae0851b2eae4c51969af740fdd0356d7f8f55", "shasum": "" }, "require": { @@ -101,9 +101,9 @@ ], "support": { "issues": "https://github.com/antecedent/patchwork/issues", - "source": "https://github.com/antecedent/patchwork/tree/2.1.25" + "source": "https://github.com/antecedent/patchwork/tree/2.1.26" }, - "time": "2023-02-19T12:51:24+00:00" + "time": "2023-09-18T08:18:37+00:00" }, { "name": "brain/monkey", @@ -1289,16 +1289,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.33", + "version": "1.10.35", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "03b1cf9f814ba0863c4e9affea49a4d1ed9a2ed1" + "reference": "e730e5facb75ffe09dfb229795e8c01a459f26c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/03b1cf9f814ba0863c4e9affea49a4d1ed9a2ed1", - "reference": "03b1cf9f814ba0863c4e9affea49a4d1ed9a2ed1", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e730e5facb75ffe09dfb229795e8c01a459f26c3", + "reference": "e730e5facb75ffe09dfb229795e8c01a459f26c3", "shasum": "" }, "require": { @@ -1347,20 +1347,20 @@ "type": "tidelift" } ], - "time": "2023-09-04T12:20:53+00:00" + "time": "2023-09-19T15:27:56+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.28", + "version": "9.2.29", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef" + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef", - "reference": "7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", "shasum": "" }, "require": { @@ -1417,7 +1417,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.28" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29" }, "funding": [ { @@ -1425,7 +1425,7 @@ "type": "github" } ], - "time": "2023-09-12T14:36:20+00:00" + "time": "2023-09-19T04:57:46+00:00" }, { "name": "phpunit/php-file-iterator", @@ -1670,16 +1670,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.12", + "version": "9.6.13", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a122c2ebd469b751d774aa0f613dc0d67697653f" + "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a122c2ebd469b751d774aa0f613dc0d67697653f", - "reference": "a122c2ebd469b751d774aa0f613dc0d67697653f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be", + "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be", "shasum": "" }, "require": { @@ -1753,7 +1753,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.12" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13" }, "funding": [ { @@ -1769,7 +1769,7 @@ "type": "tidelift" } ], - "time": "2023-09-12T14:39:31+00:00" + "time": "2023-09-19T05:39:22+00:00" }, { "name": "psr/container", @@ -1880,12 +1880,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "6cbe3472c940a80f587886423020673520d36a29" + "reference": "898c7f218667877a7e6e47f467518608c9a82072" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/6cbe3472c940a80f587886423020673520d36a29", - "reference": "6cbe3472c940a80f587886423020673520d36a29", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/898c7f218667877a7e6e47f467518608c9a82072", + "reference": "898c7f218667877a7e6e47f467518608c9a82072", "shasum": "" }, "conflict": { @@ -1952,6 +1952,7 @@ "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", "cartalyst/sentry": "<=2.1.6", "catfan/medoo": "<1.7.5", + "cecil/cecil": "<7.47.1", "centreon/centreon": "<22.10.0.0-beta1", "cesnet/simplesamlphp-module-proxystatistics": "<3.1", "chriskacerguis/codeigniter-restserver": "<=2.7.1", @@ -1978,6 +1979,7 @@ "czproject/git-php": "<4.0.3", "darylldoyle/safe-svg": "<1.9.10", "datadog/dd-trace": ">=0.30,<0.30.2", + "datatables/datatables": "<1.10.10", "david-garcia/phpwhois": "<=4.3.1", "dbrisinajumi/d2files": "<1", "dcat/laravel-admin": "<=2.1.3.0-beta", @@ -2054,7 +2056,7 @@ "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", "friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6", - "froala/wysiwyg-editor": "<3.2.7", + "froala/wysiwyg-editor": "<3.2.7|>=4.0.1,<=4.1.1", "froxlor/froxlor": "<2.1", "fuel/core": "<1.8.1", "funadmin/funadmin": "<=3.2|>=3.3.2,<=3.3.3", @@ -2066,7 +2068,7 @@ "getkirby/panel": "<2.5.14", "getkirby/starterkit": "<=3.7.0.2", "gilacms/gila": "<=1.11.4", - "gleez/cms": "<=1.2", + "gleez/cms": "<=1.2|==2", "globalpayments/php-sdk": "<2", "gogentooss/samlbase": "<1.2.7", "google/protobuf": "<3.15", @@ -2103,7 +2105,7 @@ "in2code/ipandlanguageredirect": "<5.1.2", "in2code/lux": "<17.6.1|>=18,<24.0.2", "innologi/typo3-appointments": "<2.0.6", - "intelliants/subrion": "<=4.2.1", + "intelliants/subrion": "<4.2.2", "islandora/islandora": ">=2,<2.4.1", "ivankristianto/phpwhois": "<=4.3", "jackalope/jackalope-doctrine-dbal": "<1.7.4", @@ -2111,6 +2113,7 @@ "james-heinrich/phpthumb": "<1.7.12", "jasig/phpcas": "<1.3.3", "jcbrand/converse.js": "<3.3.3", + "joomla/application": "<1.0.13", "joomla/archive": "<1.1.12|>=2,<2.0.1", "joomla/filesystem": "<1.6.2|>=2,<2.0.1", "joomla/filter": "<1.4.4|>=2,<2.0.1", @@ -2188,6 +2191,7 @@ "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<5.3.10|>=7,<7.0.9|>=7.1,<7.1.7|>=7.2,<7.2.6|>=7.3,<7.3.4|>=8,<8.0.2", + "neos/neos-ui": "<=8.3.3", "neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", @@ -2253,7 +2257,7 @@ "pimcore/pimcore": "<10.6.8", "pixelfed/pixelfed": "<=0.11.4", "pocketmine/bedrock-protocol": "<8.0.2", - "pocketmine/pocketmine-mp": "<4.22.3|>=5,<5.2.1", + "pocketmine/pocketmine-mp": "<=4.23|>=5,<5.3.1", "pressbooks/pressbooks": "<5.18", "prestashop/autoupgrade": ">=4,<4.10.1", "prestashop/blockwishlist": ">=2,<2.1.1", @@ -2344,7 +2348,6 @@ "stormpath/sdk": "<9.9.99", "studio-42/elfinder": "<2.1.62", "subhh/libconnect": "<7.0.8|>=8,<8.1", - "subrion/cms": "<=4.2.1", "sukohi/surpass": "<1", "sulu/sulu": "<1.6.44|>=2,<2.2.18|>=2.3,<2.3.8|==2.4.0.0-RC1|>=2.5,<2.5.10", "sumocoders/framework-user-bundle": "<1.4", @@ -2414,7 +2417,7 @@ "truckersmp/phpwhois": "<=4.3.1", "ttskch/pagination-service-provider": "<1", "twig/twig": "<1.44.7|>=2,<2.15.3|>=3,<3.4.3", - "typo3/cms": "<8.7.38|>=9,<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", + "typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", "typo3/cms-core": "<8.7.51|>=9,<9.5.42|>=10,<10.4.39|>=11,<11.5.30|>=12,<12.4.4", "typo3/cms-extbase": "<6.2.24|>=7,<7.6.8|==8.1.1", @@ -2538,7 +2541,7 @@ "type": "tidelift" } ], - "time": "2023-09-11T21:04:03+00:00" + "time": "2023-09-22T22:04:11+00:00" }, { "name": "sebastian/cli-parser", @@ -3751,16 +3754,16 @@ }, { "name": "woocommerce/action-scheduler", - "version": "3.6.2", + "version": "3.6.3", "source": { "type": "git", "url": "https://github.com/woocommerce/action-scheduler.git", - "reference": "4eb2fa9737a53e4d284dafcf3e0bf428b5f941bc" + "reference": "c33dd732e37c90f37c3f9662f7eed888c11dc60d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/4eb2fa9737a53e4d284dafcf3e0bf428b5f941bc", - "reference": "4eb2fa9737a53e4d284dafcf3e0bf428b5f941bc", + "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/c33dd732e37c90f37c3f9662f7eed888c11dc60d", + "reference": "c33dd732e37c90f37c3f9662f7eed888c11dc60d", "shasum": "" }, "require-dev": { @@ -3785,9 +3788,9 @@ "homepage": "https://actionscheduler.org/", "support": { "issues": "https://github.com/woocommerce/action-scheduler/issues", - "source": "https://github.com/woocommerce/action-scheduler/tree/3.6.2" + "source": "https://github.com/woocommerce/action-scheduler/tree/3.6.3" }, - "time": "2023-08-09T19:43:41+00:00" + "time": "2023-09-13T13:40:20+00:00" }, { "name": "wp-coding-standards/wpcs", diff --git a/wp-content/plugins/wp-rocket/dynamic-lists-delayjs.json b/wp-content/plugins/wp-rocket/dynamic-lists-delayjs.json index d166b6b4e..37333fbbb 100755 --- a/wp-content/plugins/wp-rocket/dynamic-lists-delayjs.json +++ b/wp-content/plugins/wp-rocket/dynamic-lists-delayjs.json @@ -1 +1 @@ -{"plugins":{"ffc21030-519a-4853-8cea-49f959e82731":{"id":"plugin:def67a2c1ddd6df2353e4772b6fd4e5b","title":"Additional Variation Images Gallery for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woo-variation-gallery\/assets\/js\/slick.min.js","\/woo-variation-gallery\/assets\/js\/frontend.min.js","\/wp-includes\/js\/underscore.min.js","variation_custom_fields"],"is_default":0,"condition":"woo-variation-gallery\/woo-variation-gallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"0e7dc253-acd0-4421-877f-a7101d848717":{"id":"plugin:4b82cc7379d46c6272f5d556bb264eec","title":"Advanced Ads","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/(.*).js","advanced_ads_ready","advadsCfpQueue","adsbygoogle","adservice.google","\/advanced-ads(.*)","advads_items","advads_tracking_ads"],"is_default":0,"condition":"advanced-ads\/advanced-ads.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a4d5c058-9120-47ee-977c-f30f83fb1a75":{"id":"plugin:a076fbb79772f497349a76ee74a7f708","title":"All-in-one Compliance for GDPR \/ CCPA Cookie Consent","type":"plugin","icon":"","exclusions":["iubenda_cs.js","var _iub"],"is_default":0,"condition":"iubenda-cookie-law-solution\/iubenda_cookie_solution.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"79a5082f-821a-4a4b-a0e3-caaf22cf3f75":{"id":"plugin:9bdceaa1bb89135730a3b2aa4db94c22","title":"AMO Team Showcase","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/amo-team-showcase\/public\/js\/wookmark.js","\/amo-team-showcase\/public\/js\/amo-team-showcase-public.js","\/wp-includes\/js\/imagesloaded.min.js","amoTeamVars"],"is_default":0,"condition":"amo-team-showcase\/amo-team-showcase.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1d058cae-4460-4354-bab3-a96445650bd8":{"id":"plugin:b739df50f3f5bf400075f17dca652517","title":"AnyWhere Elementor Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/anywhere-elementor-pro\/build\/index.js"],"is_default":0,"condition":"anywhere-elementor-pro\/anywhere-elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8a1614c7-55b1-4b6d-88e5-6e8ddc630dae":{"id":"plugin:46741e77eaf4d13a0c80be6b86379758","title":"Astra - Pro Addon","type":"plugin","icon":"","exclusions":["\/astra-addon\/astra-addon-(.*).js"],"is_default":0,"condition":"astra-addon\/astra-addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"37d96403-f9ea-4481-b2f8-374d7c93e61a":{"id":"plugin:ccd87807930a1856717fd276c336db9a","title":"Beaver Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/bb-plugin\/","\/bb-plugin\/js\/yui3.min.js","\/wp-includes\/js\/imagesloaded.min.js","\/bb-plugin\/js\/fl-slideshow.min.js"],"is_default":0,"condition":"beaver-builder-lite-version\/fl-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f83dbf3b-783e-4ef9-9b18-8a469ca7102d":{"title":"Bloom","condition":"bloom\/bloom.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/bloom\/"],"icon_url":"","type":"plugin","id":"plugin:e57cdfbc09f4e0f7445c279d9f580bdd","is_default":0,"created_at":1685189070},"135aadd2-cd4a-44ae-8dcf-801f3f2316c0":{"id":"plugin:055ef01accbad6378e3d1a4965600964","title":"Booked","type":"plugin","icon":"","exclusions":["\/booked\/","\/js\/jquery\/ui\/datepicker.min.js"],"is_default":0,"condition":"booked\/booked.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ddfee9b0-e5a9-4d3f-8c21-b999cbb61c33":{"id":"plugin:492f9b0d55f3bf07c68e915ea1dfb72a","title":"Bookly","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/bookly-responsive-appointment-booking-tool\/frontend\/","window.bookly"],"is_default":0,"condition":"bookly-responsive-appointment-booking-tool\/main.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7a013fd6-0881-4dbe-8e93-33edefe7f717":{"id":"plugin:e1ec2daca513de476bd3dae79366e9ab","title":"Borlabs Cookie","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","borlabsCookieConfig","borlabs-cookie.min.js","borlabsCookieContentBlocker","BorlabsCookieBox"],"is_default":0,"condition":"borlabs-cookie\/borlabs-cookie.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3999e680-4049-4494-945c-768cecc1a2c4":{"id":"plugin:43019d66af7b41e65bb602c01e10c6a0","title":"Brizy","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/brizy\/public\/editor-build\/(.*)-wp\/editor\/js\/group-(.*).js","\/brizy\/public\/editor-build\/(.*)-wp\/editor\/js\/preview.js","Brizy.emit"],"is_default":0,"condition":"brizy\/brizy.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"af4d9357-3def-42a1-86b7-419553444b4d":{"id":"plugin:5c317f9f244597d8f236ecb7d8e41752","title":"Carousel Upsells and Related Product for WooCommerce","type":"plugin","icon":"","exclusions":["\/carousel-upsells-and-related-product-for-woocommerce\/assets\/js\/glide.min.js","carusel_poduct_related"],"is_default":0,"condition":"carousel-upsells-and-related-product-for-woocommerce\/ffxf-woo-glide-related-and-upsells.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1d866d90-5451-43ba-a4d1-75b64f9235e1":{"id":"plugin:0a3a29603ebac8fe0808f64f5c8edbb2","title":"clickskeks.at Cookiebanner","type":"plugin","icon":"","exclusions":["clickskeks"],"is_default":0,"condition":"clickskeks\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c09695cc-2387-4416-881a-c0b392188a26":{"title":"Complianz","condition":"complianz-gdpr\/complianz-gpdr.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","complianz"],"icon_url":"","type":"plugin","id":"plugin:a766f95208154cd69a3e15150a42f325","is_default":0,"created_at":1685188788},"7e551e3b-fbe4-4235-87a9-b476bc9e2020":{"id":"plugin:949b1b923d51d10a2fb67a2a39d166b3","title":"Content Egg","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/content-egg\/res\/js\/morrisjs\/morris.min.js","\/content-egg\/res\/js\/morrisjs\/raphael.min.js","Morris.Area"],"is_default":0,"condition":"content-egg\/content-egg.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7fbca6c5-9239-4550-a755-6f041f867a57":{"title":"Cookie Notice & Compliance for GDPR \/ CCPA","condition":"cookie-notice\/cookie-notice.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/cookie-notice\/","var cnArgs"],"icon_url":"","type":"plugin","id":"plugin:213d0f883ae27aefb3a7937656bbd11e","is_default":0,"created_at":1681379736},"26722567-fe35-44b5-a5a7-fb0f3a38c3f2":{"id":"plugin:1d10ad30bbcf0fd4b26e9625a07abcfc","title":"Cookiebot CMP","type":"plugin","icon":"","exclusions":["consent.cookiebot.com"],"is_default":0,"condition":"cookiebot\/cookiebot.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"74110e36-89e5-440d-bec3-7133da3277c2":{"id":"plugin:edcf103293ceab711e999d419d038ca1","title":"Coupon Referral Program","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/coupon-referral-program\/","\/wp-includes\/js\/jquery\/ui\/draggable.min.js"],"is_default":0,"condition":"coupon-referral-program\/coupon-referral-program.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ed63e02f-d6c5-481a-bcb9-aae15f72aa21":{"id":"plugin:c3e26264dcfd25802805b4fd1a2a449c","title":"Crisp - Live Chat and Chatbot","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","CRISP_RUNTIME_CONFIG","l.js"],"is_default":0,"condition":"crisp\/crisp.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a8eb622b-279c-4f84-86e0-785e9497add7":{"id":"plugin:6e4bf949e12f0bebfefb48f6c316102a","title":"Custom Twitter Feeds pro","type":"plugin","icon":"","exclusions":["\/custom-twitter-feeds-pro\/js\/ctf-scripts.min.js"],"is_default":0,"condition":"custom-twitter-feeds-pro\/custom-twitter-feed.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1624ef15-e25b-406d-bdf9-d4b78d7a59e7":{"id":"plugin:1f893b343e72ce55e6c9013fbda172fa","title":"Customer Reviews for WooCommerce Plugin","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/customer-reviews-woocommerce\/js\/colcade.js"],"is_default":0,"condition":"customer-reviews-woocommerce\/ivole.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c15fe3b3-0eaa-48f9-bf04-0e778b1f8c63":{"title":"Divi - Supreme","condition":"supreme-modules-for-divi\/supreme-modules-for-divi.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI","\/supreme-modules-for-divi\/"],"icon_url":"","type":"plugin","id":"plugin:b5489ae4d8b949f536d6dd2e5b0c1a95","is_default":0,"created_at":1679738701},"dd31451b-989a-4517-b02a-e2c2e2023366":{"id":"plugin:5caed322df984bbfd3ecb506cf12b688","title":"Divi Den Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ddpro\/build\/freddie\/js\/freddieScriptPageTransition.js","\/ddpro\/build\/freddie\/js\/freddieScriptsHeaders.js","\/ddpro\/build\/freddie\/js\/freddieScriptsContents.js","\/ddpro\/build\/freddie\/js\/gsap\/gsap.min.js"],"is_default":0,"condition":"ddpro\/ddpro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2b006370-cc90-42c1-9656-a30fbfbc91c6":{"id":"plugin:402d9b241b04934dd30f32e7ba490e63","title":"Divi Mobile","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","divi-menu","dm_nav"],"is_default":0,"condition":"divi-mobile\/divi-mobile.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"666bbed9-7ce3-457c-ad6e-b5e056d05010":{"title":"Divi Overlays","condition":"divi-overlays\/divi-overlays.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","var DIVI","\/divi-overlays\/"],"icon_url":"","type":"plugin","id":"plugin:1c828c93d87298d2a27c76e13d0880ba","is_default":0,"created_at":1679738664},"42a404af-7792-44be-9baa-565dc3baf25d":{"title":"Divi Pixel","condition":"divi-pixel\/divi-pixel.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/divi-pixel\/dist\/public\/js\/hamburger.min.js"],"icon_url":"","type":"plugin","id":"plugin:dd2494945a487a6cc74d3ab1b2137ccb","is_default":0,"created_at":1686859169},"0b78d762-c7be-45de-9aae-0c5078ec0619":{"id":"plugin:b5fc0101608d0b0627268dc49e3e1f8f","title":"Divi Toolbox","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","jQuery('.preloader')","\/divi-toolbox\/assets\/js\/toolbox-scripts.js"],"is_default":0,"condition":"divi-toolbox\/divi-toolbox.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8baba0f8-4449-47d8-a87d-9b6a116e7684":{"title":"Dynamic Pricing & Discounts Lite for WooCommerce","condition":"woo-dynamic-pricing-discounts-lite\/dynamic-pricing-discounts-lite-for-woocommerce.php","exclusions":["\/woo-dynamic-pricing-discounts-lite\/assets\/OwlCarousel\/dist\/owl.carousel.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:185062bf08db42515488e1853d1f4917","is_default":0,"created_at":1677857247},"0fa129f2-5869-4db7-9bf0-69e4b3549ee2":{"id":"plugin:27478327aa44075a86176fad95640d76","title":"Dynamic Product Gallery for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-dynamic-gallery\/","a3revWCDynamicGallery"],"is_default":0,"condition":"woocommerce-dynamic-gallery\/wc_dynamic_gallery_woocommerce.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"9958c6be-2f67-4791-95c3-a7ad96d599c0":{"title":"Dynamic Product Gallery Premium for WooCommerce","condition":"woocommerce-dynamic-gallery-pro\/wc_dynamic_gallery_woocommerce.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/woocommerce-dynamic-gallery-pro\/assets\/js\/mygallery\/jquery.a3-dgallery.js","settings_defaults_","a3revWCDynamicGallery"],"icon_url":"","type":"plugin","id":"plugin:11dc02a76019f00422f4ac85f47f5135","is_default":0,"created_at":1683208937},"ce26ed21-1be5-481f-80d4-31edfac6d890":{"title":"Dynamic.ooo - Dynamic Content for Elementor","condition":"dynamic-content-for-elementor\/dynamic-content-for-elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/dynamic-content-for-elementor\/assets\/","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:d2bd5b348abe016bdc722acce7755062","is_default":0,"created_at":1683355024},"6a3161a6-1a6f-457a-a9ee-54b376981927":{"id":"plugin:ee1dec033c6481a77fe88de5bef1a02d","title":"Easy Table of Contents","type":"plugin","icon":"","exclusions":["\/easy-table-of-contents\/assets\/js\/front.min.js"],"is_default":0,"condition":"easy-table-of-contents\/easy-table-of-contents.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"25a534a0-2c1f-4cf4-9e19-7941bc032b3a":{"id":"plugin:41c8f5f0ab00cb39654aedd783d194e0","title":"Ecwid Ecommerce Shopping Cart","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js ","app.ecwid.com\/script.js ","\/ecwid-shopping-cart\/js\/frontend.js ","\/ecwid-shopping-cart\/js\/static-page.js ","ecwidParamswindow.ec ","jQuery.mobile ","xSearch ","xCategoriesV2 ","xProductBrowser ","Ecwid.init"],"is_default":0,"condition":"ecwid-shopping-cart\/ecwid-shopping-cart.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"40464325-5bae-4a20-bc97-553499e09a73":{"title":"Elementor","condition":"elementor\/elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/happy-elementor-addons-pro\/","\/header-footer-elementor\/inc\/js\/frontend.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:1d15783218a3137bec4ee8df5353e218","is_default":0,"created_at":1694425872},"ac86b64c-c80a-4053-894d-6caa8b4fdce8":{"title":"Elementor Loop Carrousel","condition":"elementor\/elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:0eb8d0bbd1c7ca05ac133ea634f676b7","is_default":0,"created_at":1694442056},"a8fc9fd1-f6d3-41eb-abe9-ef176de6d7e2":{"title":"Elementor - Lazy Load Background Images","condition":"elementor\/elementor.php","exclusions":["lazyloadRunObserver"],"icon_url":"","type":"plugin","id":"plugin:bf248cb2876558452a566c5dd89262b8","is_default":0,"created_at":1694453032},"1948aff5-7850-4979-91fa-0ce181484508":{"id":"plugin:de658ae6c2d05a5a4a947efecf5e0c16","title":"Elementor Custom Skin","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ele-custom-skin(.*)\/assets\/js\/"],"is_default":0,"condition":"ele-custom-skin\/ele-custom-skin.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"25708299-c596-4416-8ad8-740aee0f2752":{"title":"Elementor Pro","condition":"elementor-pro\/elementor-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/happy-elementor-addons-pro\/","\/header-footer-elementor\/inc\/js\/frontend.js"],"icon_url":"","type":"plugin","id":"plugin:030ad23e3851ed7adfa7b9b6c13cf5a6","is_default":0,"created_at":1679490021},"f34dd874-4b34-41e6-a31c-ece3c1efbffc":{"id":"plugin:305581ad4294a30eeb1247982f626005","title":"Elementor Pro - SmartMenus","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/assets\/lib\/smartmenus\/jquery.smartmenus.min.js","\/elementor-pro\/assets\/js\/preloaded-elements-handlers.min.js"],"is_default":0,"condition":"elementor-pro\/elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"111cc8b2-0be9-438b-9aa3-7f1e301a5697":{"id":"plugin:5ae9f5d99224d5ebc7d0c0bbf5b99787","title":"Elementor Pro - User Cache","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/backbone.min.js","elementorAdminBarConfig","elementorCommonConfig","elementorWebCliConfig","elementorDevToolsConfig"],"is_default":0,"condition":"elementor-pro\/elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c1713bf8-e0c3-4cb5-8b3f-841b06aa87ed":{"title":"ElementsKit Lite - Megamenu","condition":"elementskit-lite\/elementskit-lite.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/elementskit(.*)\/"],"icon_url":"","type":"plugin","id":"plugin:b91fed2fc4478dbb7067742c1ee4691b","is_default":0,"created_at":1683270249},"706ff35d-8e33-4b04-a986-346faff704e9":{"id":"plugin:417192424139d89fb2a5b1ee1f2b9613","title":"Essential Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/essential-addons(-for)?-elementor(-lite)?\/.*(.min)?.js"],"is_default":0,"condition":"essential-addons-for-elementor-lite\/essential_adons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b38556dc-2bc4-430f-9c55-7191cf7773db":{"id":"plugin:057757d0593ad9d2dc58124f0077a5df","title":"Essential Addons for Elementor Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/essential-addons(-for)?-elementor(-lite)?\/.*(.min)?.js"],"is_default":0,"condition":"essential-addons-elementor\/essential_adons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"719b988f-0d60-40c2-ba46-88f943119cb1":{"id":"plugin:c8e6c490f6438f566ade600c33531a85","title":"Essential Grid","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/essential-grid\/","lightboxOptions"],"is_default":0,"condition":"essential-grid\/essential-grid.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"47d3d2ab-160d-4b07-ac25-8250b9e6a951":{"id":"plugin:dafd19fa48a1fef890dc4348052fcb75","title":"EventON Lite","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/eventon-lite\/assets\/js\/(.*)"],"is_default":0,"condition":"eventon-lite\/eventon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"219968d7-cf1f-4ee0-917a-db35dcc93a3e":{"id":"plugin:49ff465628fc3cb6d7f23ff81d9b8339","title":"FacetWP","type":"plugin","icon":"","exclusions":["\/facetwp\/assets\/js\/dist\/front.min.js","window.FWP_"],"is_default":0,"condition":"facetwp\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"acce5701-5917-48d5-83ab-3e626aa420c5":{"id":"plugin:78a1c88a56fa957c802074b6418c6fac","title":"FacetWP - Flyout menu","type":"plugin","icon":"","exclusions":["\/facetwp-flyout\/assets\/js\/front.js"],"is_default":0,"condition":"facetwp-flyout\/facetwp-flyout.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f2a5b95f-1a22-46d2-8b72-42a53e46ae3f":{"id":"plugin:5d7555892a3a9968fde3fa3a335fc3d8","title":"FiboSearch - Ajax Search for WooCommerce","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.js","\/wp-includes\/js\/jquery\/jquery-migrate.js","\/ajax-search-for-woocommerce-premium\/assets\/js\/search.js"],"is_default":0,"condition":"ajax-search-for-woocommerce\/ajax-search-for-woocommerce.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7d1404e9-be76-449c-87aa-919557abe82d":{"id":"plugin:ad46179e8b0584abaf52056b846da227","title":"FlexBlock","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/flo-flex-builder\/dist\/flex-public.min.js","flexDebug"],"is_default":0,"condition":"flo-flex-builder\/flo-flex-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b9c6a2dc-b226-4e2c-b85e-29ee55b8f751":{"id":"plugin:567a2b15db30ef6bd4904e4317139aac","title":"Fluent Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/fluentform\/public\/js\/(.*).js","\/fluentformpro\/public\/js\/(.*).js"],"is_default":0,"condition":"fluentform\/fluentform.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"10874f8a-2855-4e80-bc46-e484589b76a8":{"id":"plugin:e78c153103f698b2b34892332d6b3b62","title":"Flying Images","type":"plugin","icon":"","exclusions":["flyingImages"],"is_default":0,"condition":"nazy-load\/flying-images.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"53958499-dacd-41d6-93bc-1534fe7d9eda":{"id":"plugin:5a0e40a6c5783856893b803189de1404","title":"FooGallery Premium","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/foobox-image-lightbox\/free\/js\/foobox.free.min.js","\/plugins\/foogallery-premium\/pro\/extensions\/default-templates\/shared\/js\/foogallery.min.js"],"is_default":0,"condition":"foogallery-premium\/foogallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7870d704-2024-4622-838c-fad37d5c6753":{"id":"plugin:ebb5efb57b19ae60e734e456ca2df3f8","title":"Formidable Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","frmSigs","\/formidable-signature\/js\/frm.signature.min.js"],"is_default":0,"condition":"formidable\/formidable.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3f24f9b3-e59e-400f-a784-999f93f60fab":{"id":"plugin:0b08523445b8869a67ca40e777704692","title":"Forminator","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","forminatorFront","\/forminator\/build\/front\/front.multi.min.js","\/forminator\/assets\/js\/library\/jquery.validate.min.js","\/forminator\/assets\/forminator-ui\/js\/forminator-form.min.js","\/forminator\/assets\/forminator-ui\/js\/select2.full.min.js","\/wp-includes\/js\/jquery\/ui\/datepicker.min.js","\/wp-includes\/js\/dist\/vendor\/moment.min.js"],"is_default":0,"condition":"forminator\/forminator.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3a600ded-3454-48fb-9811-46afa2ab3c05":{"id":"plugin:5759bf0d47ac3457485314b381a9b528","title":"GDPR Cookie Compliance","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/gdpr-cookie-compliance\/dist\/scripts\/main.js"],"is_default":0,"condition":"gdpr-cookie-compliance\/moove-gdpr.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"e21aaa5e-7354-471d-ab86-85f99f48830c":{"id":"plugin:ffb40036ab0583218561de7c28c6bd9b","title":"GDPR Cookie Consent","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/public\/js\/cookie-law-info-public.js","Cli_Data"],"is_default":0,"condition":"webtoffee-gdpr-cookie-consent\/cookie-law-info.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c11ca4ea-1a23-49ee-9a6b-1e549de50ea2":{"id":"plugin:3877953c5ec1e66db92ad844ae8ebafc","title":"Getwid - Gutenberg Blocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/wp-includes\/js\/jquery\/ui\/tabs.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js"],"is_default":0,"condition":"getwid\/getwid.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3773bb33-b168-4f68-9963-512da24ac4da":{"title":"GoodLayers Core","condition":"goodlayers-core\/goodlayers-core.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js ","\/goodlayers-core\/plugins\/script.js ","\/goodlayers-core\/include\/js\/page-builder.js"],"icon_url":"","type":"plugin","id":"plugin:5f124509a56ca2e0644246919ec70434","is_default":0,"created_at":1677854322},"2adabe9b-6e03-4a67-959f-492813d40f69":{"title":"Google Tag Manager for WooCommerce PRO","condition":"gtm-ecommerce-woo-pro\/gtm-ecommerce-woo-pro.php","exclusions":["\/gtm-ecommerce-woo-pro\/assets\/gtm-ecommerce-woo-pro.js"],"icon_url":"","type":"plugin","id":"plugin:e54fd4313007b6fedf8ab4df0e05277a","is_default":0,"created_at":1691218549},"7bf261ac-89d4-492f-8a3d-1c5809b9579a":{"title":"Gravity Forms","condition":"gravityforms\/gravityforms.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/gravityforms\/","gform","recaptcha","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/wp-includes\/js\/plupload\/plupload.min.js","\/wp-includes\/js\/plupload\/moxie.min.js"],"icon_url":"","type":"plugin","id":"plugin:7a1c1606d094f6bff83c0ee155908367","is_default":0,"created_at":1694457903},"12340193-5c35-4b0d-b0bc-bea690cf1cae":{"id":"plugin:2f3112dd98c39aeb6bde618c9026a29f","title":"Green Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","leform.min.js","leform_customjs_handlers","leform_ajax_url"],"is_default":0,"condition":"green-forms\/green-forms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4d20b427-47cf-4cdf-91c7-ff53602d3b2a":{"id":"plugin:0eb769dddc58f998e913345841b1d0b3","title":"GTM4WP","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","dataLayer"],"is_default":0,"condition":"duracelltomi-google-tag-manager\/duracelltomi-google-tag-manager-for-wordpress.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a2b3c237-728c-49d6-882a-e3885444e9b4":{"id":"plugin:3b085ccda851ccf129d9506462f0cd65","title":"GTranslate","type":"plugin","icon":"","exclusions":["translate.google.com","googleTranslateElementInit"],"is_default":0,"condition":"gtranslate\/gtranslate.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"40cd9336-e73f-4a61-a7f6-27ec1ca6892c":{"id":"plugin:e1f17c1eac230219e6fec3ac07406a0d","title":"HBook","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/hbook\/","hb_booking_form_data","hb_max_date"],"is_default":0,"condition":"hbook\/hbook.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"192224c7-df72-4e3d-8f13-3206ac5b2e90":{"title":"Helper - OpenAI Chatbot for WordPress","condition":"\/helper\/index.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/helper\/js\/helper.min.js","mdpHelper"],"icon_url":"","type":"plugin","id":"plugin:07311d992a8a9d6af91e4766d2cb9ac9","is_default":0,"created_at":1691599768},"99cfbb2e-5678-42c2-928f-5cb09d7e43da":{"id":"plugin:269c5766fba124a838ac012a4b5a1a13","title":"HUSKY - Products Filter for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-products-filter\/(.*)","woof"],"is_default":0,"condition":"woocommerce-products-filter\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3a964eac-4aeb-49a7-9fd6-4c31b2645dee":{"id":"plugin:d457acfec0f86aac6733f1446f4fc94f","title":"Instagram Feed Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/instagram-feed-pro\/js\/sbi-scripts.min.js","sb_instagram_js_options"],"is_default":0,"condition":"instagram-feed-pro\/instagram-feed.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8f9f4788-1b8d-468b-b291-1fcbd48618b9":{"id":"plugin:513b0c0ec8e12130af9b4bbbb17d7275","title":"Interactive Geo Maps","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/interactive-geo-maps-premium\/assets\/public\/map-service\/app.min.js","\/interactive-geo-maps\/assets\/public\/map-service\/app.js","iMapsData","cdn.amcharts.com\/lib\/"],"is_default":0,"condition":"interactive-geo-maps\/interactive-geo-maps.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cf650ca3-afa0-4a13-9e4f-f7cca19abac6":{"title":"Ivory Search","condition":"add-search-to-menu\/add-search-to-menu.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/add-search-to-menu\/public\/js\/ivory-search.min.js"],"icon_url":"","type":"plugin","id":"plugin:7430e9d2c985ae0a3339a7b7e1acc318","is_default":0,"created_at":1677852711},"17a5dd54-1f5e-4d57-a56d-a8a970651954":{"id":"plugin:1c8a1e1ba89a601f88654f094139b469","title":"JetBlocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-blocks\/assets\/js\/jet-blocks.min.js"],"is_default":0,"condition":"jet-blocks\/jet-blocks.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b6f78c90-9823-459a-8dc1-1257e5f0d4e3":{"id":"plugin:dac9ec782180f33d0fcc7c4e0e569b9d","title":"JetBlog","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/","\/elementor\/","\/jet-blog\/","ElementorProFrontendConfig","elementorFrontendConfig","hasJetBlogPlaylist"],"is_default":0,"condition":"jet-blog\/jet-blog.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"e17173d8-6ef8-4e27-ba0f-379c9aea7eda":{"id":"plugin:0fe8895d1da5247b73a5d0b482df4ac4","title":"JetElements","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/jet-elements\/","hasJetBlogPlaylist","jetElements","\/wp-includes\/js\/jquery\/ui\/"],"is_default":0,"condition":"jet-elements\/jet-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cfd77501-9c9e-4f11-b994-0178a592fc08":{"title":"JetEngine","condition":"jet-engine\/jet-engine.php","exclusions":["\/jet-engine\/"],"icon_url":"","type":"plugin","id":"plugin:bc998e71546860c8c7f70c45a6c18972","is_default":0,"created_at":1686208296},"36fed829-a2d9-41b5-94f6-2c3b9f07a94e":{"id":"plugin:433a3173f2d06f7d02c7b91c06ed215d","title":"JetMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/","\/elementor\/","\/jet-blog\/assets\/js\/lib\/slick\/slick.min.js","\/jet-elements\/","\/jet-menu\/","elementorFrontendConfig","ElementorProFrontendConfig","hasJetBlogPlaylist","JetEngineSettings","jetMenuPublicSettings","\/jet-reviews\/assets\/js\/lib\/vue.min.js"],"is_default":0,"condition":"jet-menu\/jet-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"580cfed7-f034-4e39-bc7a-cdd01923ce87":{"id":"plugin:51714cfdb43f231a1c93e7cffb1007ab","title":"JetPopup","type":"plugin","icon":"","exclusions":["\/jet-popup\/assets\/js\/lib\/anime-js\/anime.min.js","\/jet-popup\/assets\/js\/jet-popup-frontend.js","\/jet-woo-builder\/","var jetPopupData"],"is_default":0,"condition":"jet-popup\/jet-popup.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"d9cd2730-12e2-42d7-a082-6f0efcd466cc":{"id":"plugin:df3bc4b6a8a9f28a5ba24cb7496bbc72","title":"JetProductGallery","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-woo-product-gallery\/assets\/lib\/swiper\/swiper.min.js","\/jet-woo-product-gallery\/assets\/js\/jet-woo-product-gallery.min.js"],"is_default":0,"condition":"jet-woo-product-gallery\/jet-woo-product-gallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"544aa37b-4d52-4182-99e8-abe23585da14":{"id":"plugin:5921fc95965ac7fccb7296957bd9abff","title":"JetReviews","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-reviews\/assets\/js\/jet-reviews-frontend.js","\/jet-reviews\/assets\/js\/lib\/vue.min.js","jetReviewsWidget"],"is_default":0,"condition":"jet-reviews\/jet-reviews.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a8460089-34b4-4f8f-8694-5d92fa48aa82":{"title":"JetSmartFilters","condition":"jet-smart-filters\/jet-smart-filters.php","exclusions":["jetOffcanvasInitialized"],"icon_url":"","type":"plugin","id":"plugin:0cd63a514de1f1acb88e2bde65c4bc8d","is_default":0,"created_at":1694447256},"fe3c4915-6f8b-49b7-aa9c-c97b264d9f12":{"id":"plugin:a346b60514ef52afeffc6e2ef2793da3","title":"JetSticky","type":"plugin","icon":"","exclusions":["\/jetsticky-for-elementor\/"],"is_default":0,"condition":"jetsticky-for-elementor\/jetsticky-for-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b7f89562-230c-4f63-8360-7aad6df31e02":{"id":"plugin:829272546b040d5aaeeeaf976b6cd4ec","title":"JetTricks","type":"plugin","icon":"","exclusions":["\/jet-tricks\/"],"is_default":0,"condition":"jet-tricks\/jet-tricks.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"90451e2a-553a-4496-9fa4-cffedbe69d43":{"id":"plugin:f44f3dbd09149f57db370e4132b057db","title":"JetWoo Widgets For Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/jetwoo-widgets-for-elementor\/assets\/js\/jet-woo-widgets.js","\/jet-woo-builder\/assets\/js\/jet-woo-builder.min.js","\/jet-woo-builder\/assets\/js\/frontend.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"jet-woo-builder\/jet-woo-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"944718c2-48c6-4f53-aaa2-460d07e033cc":{"id":"plugin:ed318a971f8a047bed5b02ad546a9c18","title":"JetWooBuilder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js","\/elementor-pro\/","\/elementor\/","elementorFrontendConfig","ElementorProFrontendConfig","JetEngineSettings","\/jet-woo-builder\/","\/jet-woo-builder-custom-quantity-selectors-main\/assets\/js\/main.js"],"is_default":0,"condition":"jet-woo-builder\/jet-woo-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f5b62f59-1dae-4cdf-ac3f-f5e846fc9918":{"id":"plugin:9562e253cd4ac2b1e1f70e32cb4e32dc","title":"Layer Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.utils.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.kreaturamedia.jquery.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.transitions.js","initLayerSlider"],"is_default":0,"condition":"LayerSlider\/layerslider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e2be718d-83a2-4fa0-bc98-f0df52be3dc1":{"id":"plugin:1425e2735306796fe1539d9184a77e10","title":"LoftLoader Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","loftloader.min.js"],"is_default":0,"condition":"loftloader-pro\/loftloader-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cfa18552-656e-453c-9e14-c07522dc6598":{"id":"plugin:0bf67b8ba84771e1a367fe24590ef09c","title":"MailUp for WordPress","type":"plugin","icon":"","exclusions":["\/mailup-email-and-newsletter-subscription-form\/public\/js\/mailup-public.js","mailup-js-extra"],"is_default":0,"condition":"mailup-email-and-newsletter-subscription-form\/mailup.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c5330c66-ba7b-45b1-87e4-ce590ab005dd":{"id":"plugin:10d0de28911c5f66463b9c8783f8148a","title":"Maintenance","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/maintenance\/"],"is_default":0,"condition":"maintenance\/maintenance.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"267aef71-afa0-4848-b6f8-3e1ca15c3a23":{"id":"plugin:9460789bdfe77425c895f130991a4cb4","title":"Maps Marker Pro","type":"plugin","icon":"","exclusions":["\/maps-marker-pro\/js\/mapsmarkerpro.js","var mapsMarkerPro"],"is_default":0,"condition":"maps-marker-pro\/maps-marker-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b5a88b63-e906-49b3-8134-420139915ea6":{"title":"Master Popups","condition":"master-popups\/master-popups.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/master-popups\/assets\/public\/js\/master-popups-libs.min.js"],"icon_url":"","type":"plugin","id":"plugin:8fd7bd2c8b0a33e62798573abd12be63","is_default":0,"created_at":1681305305},"4be41549-bf4d-4c49-8346-0f8a3b88fdba":{"id":"plugin:de888634cc4bd51576eed319d5a528fd","title":"Master Slider","type":"plugin","icon":"","exclusions":["masterslider"],"is_default":0,"condition":"master-slider\/master-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"087bee18-7cd1-4c10-8acc-19e1b7c4f4cd":{"id":"plugin:b71309a89bf3c8b558b6fca5d6531919","title":"Max Mega Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/hoverIntent.min.js","\/megamenu\/js\/maxmegamenu.js","var megamenu"],"is_default":0,"condition":"megamenu\/megamenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cf22f0b9-01f4-409e-8a93-ad6743095abd":{"id":"plugin:94a7bae84ef2816494be4af66c577bfc","title":"Meta Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ml-slider\/","var metaslider"],"is_default":0,"condition":"ml-slider\/ml-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bb2cbc0d-20da-415e-8218-c17f1db53579":{"title":"Monarch","condition":"monarch\/monarch.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","dt-place-monarch-icons"],"icon_url":"","type":"plugin","id":"plugin:b7335d6d6d5c5134ea10ac2d9b04226c","is_default":0,"created_at":1677853476},"a98d6a80-4610-4ede-bd33-c3e15bed0a95":{"id":"plugin:4f8651262425ef6d7c223c68a2ec2063","title":"Monster Insights","type":"plugin","icon":"","exclusions":["__gtagTracker","monsterinsights_frontend","\/google-analytics-for-wordpress\/assets\/js\/frontend-gtag.min.js"],"is_default":0,"condition":"google-analytics-for-wordpress\/googleanalytics.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"26e1a36e-7a03-449e-8ecc-e42c41ca291c":{"id":"plugin:f8fc66b302dec2327bdec0434a3b275b","title":"Motion.page","type":"plugin","icon":"","exclusions":["\/motionpage\/core\/includes\/assets\/js\/(.*)","\/motionpage\/core\/includes\/assets\/js\/gsap\/(.*)","\/motionpage\/assets\/js\/(.*)","\/motionpage\/assets\/js\/gsap\/(.*)"],"is_default":0,"condition":"motionpage\/motionpage.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"459fd663-7f80-45fd-8308-d3484981e161":{"title":"Ninja Forms","condition":"ninja-forms\/ninja-forms.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js","\/ninja-forms\/assets\/js\/min\/front-end-deps.js","\/ninja-forms\/assets\/js\/min\/front-end.js","nf-"],"icon_url":"","type":"plugin","id":"plugin:1d3ae9c1a96d5062616968b81eef319d","is_default":0,"created_at":1681377675},"c97440dd-7592-40e7-8c98-dac20d39808f":{"id":"plugin:723a588dcd49285ea9f7404e2379b47f","title":"Ninja Tables","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ninja-tables(.*)\/assets\/","\/ninja-tables(.*)\/public\/","\/wp-includes\/js\/dist\/vendor\/moment.min.js","ninja_table_instance_","ninja_filter_","ninja_table_ready_init_table_id"],"is_default":0,"condition":"ninja-tables\/ninja-tables.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ebc01f06-8c35-47fa-9c63-8959c5cbd915":{"id":"plugin:f41a52ab1dd50a81cd3a5e341af0007c","title":"NotificationX","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/notificationx\/assets\/public\/js\/(.*).js","notificationXArr"],"is_default":0,"condition":"notificationx\/notificationx.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3aaf4a1b-591a-48b7-8d60-e6d65c0f94c9":{"id":"plugin:be8fc72a8b8e8eb5958be13737cff47c","title":"Ocean Elementor Widgets","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ocean-elementor-widgets\/"],"is_default":0,"condition":"ocean-elementor-widgets\/ocean-elementor-widgets.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f053a7d3-62b0-4312-b0ca-6ff63380eb0b":{"id":"plugin:1a14afe852fefe7b22ccad3893672a29","title":"One Click Accessibility","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pojo-accessibility\/assets\/js\/app.min.js"],"is_default":0,"condition":"pojo-accessibility\/pojo-accessibility.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"61e11800-48a9-4354-8a4c-ac9a2b4b033a":{"id":"plugin:b9ed0fe6f2cdbd305691a6b857f4b3dc","title":"OoohBoi Steroids for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ooohboi-steroids-for-elementor\/"],"is_default":0,"condition":"ooohboi-steroids-for-elementor\/ooohboi-steroids.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"560b78a2-f051-490b-9dc6-a602dece0d81":{"id":"plugin:f1ff18a3e04c4e0995fca9cabffe57a7","title":"Optimole","type":"plugin","icon":"","exclusions":["optimoleData"],"is_default":0,"condition":"optimole-wp\/optimole-wp.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b0fda458-4bf2-41e9-a159-60d4bb6102a6":{"id":"plugin:48ec18bd3f59772d98f85dddab75e305","title":"OSM - OpenStreetMap","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/osm\/js\/OL\/","\/osm\/js\/osm-v3-plugin-lib.js","vectorM"],"is_default":0,"condition":"osm\/osm.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3743ed67-e0d1-4243-bb1f-ee48a445dd10":{"id":"plugin:9eacf0b76484af0259cd788f4923f20c","title":"OxyExtras","type":"plugin","icon":"","exclusions":["vime","vime.esm.js"],"is_default":0,"condition":"oxyextras\/plugin.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"52a21e27-af5b-4476-8d6d-54c323fd1443":{"id":"plugin:e852555c4b4789d78a96d76f503b3262","title":"Oxygen Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/component-framework\/vendor\/aos\/aos.js","AOS.init","oxygen_init_pro_menu","oxy-pro-menu-show-dropdown","oxy-shape-divider","oxygenVSBInitToggleJs"],"is_default":0,"condition":"oxygen\/functions.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ebd282b9-e175-4b83-90a2-fe12389ccd11":{"id":"plugin:6f9419e58ec86c94e7698aaaaf9dc715","title":"PageLoader by Bonfire","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pageloader-by-bonfire\/pageloader.js","bonfire-pageloader-overlay"],"is_default":0,"condition":"pageloader-by-bonfire\/pageloader-by-bonfire.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"0baf6353-aa70-41a9-a3bc-d89870a5839b":{"id":"plugin:3a4c4518eb0f60108ab4934fab27d335","title":"PDF Embedder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pdf-embedder\/js\/(.*).js"],"is_default":0,"condition":"pdf-embedder\/pdf_embedder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cba51ec1-87cc-44eb-b12b-d652e3446507":{"id":"plugin:4f90aca5957cccbf623e3bbc31afa204","title":"Perfect Brands for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/perfect-woocommerce-brands\/assets\/lib\/slick\/slick.min.js","\/perfect-woocommerce-brands\/assets\/js\/functions-frontend.min.js"],"is_default":0,"condition":"perfect-woocommerce-brands\/perfect-woocommerce-brands.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"808e7a4e-025c-4fae-bf82-de3716e5eb0d":{"id":"plugin:84fe214646388d7c021dda25003ac165","title":"Photonic","type":"plugin","icon":"","exclusions":["\/photonic\/include\/js\/front-end\/module\/photonic-baguettebox.min.js"],"is_default":0,"condition":"photonic\/photonic.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"936aff7d-a8ac-4473-a7b5-4b1611b6c557":{"id":"plugin:6838be282f853f71be282783cb1c162b","title":"Pixel Caffein","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/pixel-caffeine\/build\/frontend.js","aepc_pixel"],"is_default":0,"condition":"pixel-caffeine\/pixel-caffeine.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ab3a4ef5-2732-4b46-a7c3-17b4e9405cd1":{"id":"plugin:afe0eb7c64d4556a7111c56dd8c4d307","title":"Pixel Manager for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/woocommerce-pixel-manager-pro\/js\/public\/","wpm"],"is_default":0,"condition":"woocommerce-pixel-manager-pro\/woocommerce-pixel-manager.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2774f964-50b2-425e-8a30-0a02f421b7e4":{"id":"plugin:38d4b2986868f543639cd1ebc3e510aa","title":"Popup Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/popup-builder\/public\/js\/(.*).js","\/popupbuilder-exit-intent\/public\/javascript\/ExitIntent.js","var sgpbPublicUrl","SGPB_POPUP_PARAMS"],"is_default":0,"condition":"popup-builder\/popup-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"82dbb1e5-31f9-43d7-b522-52819aa49ba5":{"id":"plugin:786717922362642f34a7ff58e919bd95","title":"Popup Maker","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/pum\/pum-site-scripts.js","pum","\/plugins\/popup-maker\/assets\/js\/site.min.js"],"is_default":0,"condition":"popup-maker\/popup-maker.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"48e08305-1f1c-4ef4-9f13-24af1b155abc":{"id":"plugin:17831cbb64e469c7f66224c8c63d0a58","title":"PowerPack Addons for Elementor","type":"plugin","icon":"","exclusions":["\/powerpack-lite-for-elementor\/assets\/js\/min\/frontend.min.js"],"is_default":0,"condition":"powerpack-lite-for-elementor\/powerpack-lite-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e037ae2f-e36b-4f1a-ada8-eb8fde6746f2":{"id":"plugin:80e1283ea1afead3ca904fad792643c5","title":"Preloader Plus","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/preloader-plus\/(.*)"],"is_default":0,"condition":"preloader-plus\/preloader-plus.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"90fed478-e89a-455c-8371-836bee58fb81":{"title":"Premium Addons for Elementor","condition":"premium-addons-for-elementor\/premium-addons-for-elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/premium-addons.min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/isotope.min.js","\/premium-addons-elementor\/pa-frontend-(.*).min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/slick.min.js","\/premium-addons-pro\/assets\/frontend\/min-js\/tooltipster.min.js","window.scopes_array","lottie.min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/premium-nav-menu.min.js"],"icon_url":"","type":"plugin","id":"plugin:debbfbbcbdf9ffb465bbc40008d99f02","is_default":0,"created_at":1693315214},"7e43c261-77be-48fc-b25a-8953a654ae85":{"id":"plugin:100a0382fcf3d1b6b22da928bce46ea8","title":"Presto Player","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/dist\/vendor\/regenerator-runtime.min.js","\/presto-player\/dist\/components\/web-components\/web-components.esm.js","\/presto-player\/src\/player\/player-static.js","var player","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"is_default":0,"condition":"presto-player\/presto-player.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3d6f509f-d040-4279-9a2f-a4e6eae1e9df":{"id":"plugin:c0fce700121492b566517e68301db382","title":"Price Based on Country for WooCommerce Pro","type":"plugin","icon":"","exclusions":["\/woocommerce-product-price-based-on-countries\/assets\/js\/ajax-geolocation.min.js","\/woocommerce-price-based-country-pro-addon\/assets\/js\/currency-switcher.min.js","add-to-cart.min.js","cart-fragments.min.js"],"is_default":0,"condition":"woocommerce-price-based-country-pro-addon\/woocommerce-price-based-country-pro-addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b970bc8a-bcbe-4d08-8ac0-a6853ab3f036":{"id":"plugin:f1ecfe258440b371124999ca3bfbfff3","title":"Prime Slider","type":"plugin","icon":"","exclusions":["\/plugins\/bdthemes-prime-slider-lite\/assets\/js\/bdt-uikit.min.js"],"is_default":0,"condition":"bdthemes-prime-slider-lite\/bdthemes-prime-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e5458963-f167-4b68-88e4-77dd39af2842":{"id":"plugin:29ea8f4dd72f5a5c5927917fb0665a05","title":"PRO Elements","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pro-elements\/"],"is_default":0,"condition":"pro-elements\/pro-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b119ad72-f498-4576-bb71-9e6d8c37b68f":{"title":"Product Filter by WBW (for WooCommerce)","condition":"woo-product-filter\/woo-product-filter.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/wp-content\/plugins\/woo-product-filter\/modules\/woofilters\/js\/frontend.woofilters.js","\/wp-includes\/js\/jquery\/ui\/mouse.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/jquery\/ui\/slider.min.js"],"icon_url":"","type":"plugin","id":"plugin:e57ad91e0d94fab011353af544873743","is_default":0,"created_at":1685686062},"7b779aca-e497-4da3-8e51-fa12837d15ab":{"title":"Product Filters for WooCommerce","condition":"woocommerce-product-filters\/woocommerce-product-filters.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-product-filters\/","\/woocommerce\/assets\/js\/accounting\/accounting.min.js","\/wp-includes\/js\/jquery\/ui\/","wcpf-load-project","WCPFData"],"icon_url":"","type":"plugin","id":"plugin:719469f1c977f7109d3d6ee21ecd5a16","is_default":0,"created_at":1691235154},"2b2a51f2-bd47-4591-92d8-4a690bce5d99":{"id":"plugin:a898898b2b0ea2cd82e20a6d3a3aa47b","title":"Product Gallery Slider for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/twist\/assets\/js\/slick.min.js","wpgs-public-js-after"],"is_default":0,"condition":"twist\/twist.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"062c5be3-e5ea-4958-9619-44e3410f237e":{"title":"Product Video Gallery for Woocommerce","condition":"product-video-gallery-slider-for-woocommerce\/product-video-gallery-slider-for-woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/product-video-gallery-slider-for-woocommerce\/public\/js\/nickx.front.js"],"icon_url":"","type":"plugin","id":"plugin:bbc653a91f0635cd2edb0b741aa62b85","is_default":0,"created_at":1693512477},"34d225a4-688c-476b-846b-420774160d6b":{"id":"plugin:e0b123d324c6fc85b8682660c34f8829","title":"Rank Math SEO","type":"plugin","icon":"","exclusions":["local_ga_js"],"is_default":0,"condition":"seo-by-rank-math\/rank-math.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"02305ca0-2c2a-4eef-a802-b8a942771ecc":{"title":"Retainful","condition":"retainful-next-order-coupon-for-woocommerce\/retainful-next-order-coupon-for-woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/retainful-next-order-coupon-for-woocommerce\/src\/premium\/assets\/js\/atc-popup.min.js","\/retainful-next-order-coupon-for-woocommerce\/src\/premium\/assets\/js\/exit-intent-popup.js","retainful.com","rnoc-add-to-cart-js-before","rnoc_redirect_coupon_popup"],"icon_url":"","type":"plugin","id":"plugin:f9fdee19ba6aed961d96d86e1521a761","is_default":0,"created_at":1679331508},"b4055250-5813-400f-b663-d390fee989e4":{"id":"plugin:d6a4d07d1b4022d886df52322dcd8a6f","title":"Revolution Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/revslider\/public\/assets\/js\/","\/revslider-(.*)-addon\/","setREVStartSize","rev_slider_","revslider_","window.RS_MODULES"],"is_default":0,"condition":"revslider\/revslider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"0b4e061a-b366-4d5a-a00e-bded4b107133":{"title":"Royal Elementor Addons","condition":"royal-elementor-addons\/wpr-addons.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/royal-elementor-addons\/assets\/js\/frontend.min.js","\/royal-elementor-addons\/assets\/js\/lib\/jarallax\/jarallax.min.js"],"icon_url":"","type":"plugin","id":"plugin:c4b464373716d7ac8e3cfb019aaa6102","is_default":0,"created_at":1688124503},"1b19ec89-171a-4f85-8c4b-b1bcfc6b1433":{"id":"plugin:5e3f85d8c82cc184b945415d1a862601","title":"Sassy Social Share","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/sassy-social-share\/public\/js\/sassy-social-share-public.js","heateorSssLoadEvent"],"is_default":0,"condition":"sassy-social-share\/sassy-social-share.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f5899925-2ab7-43b6-abc4-51b76d664ca6":{"title":"Scrollsequence","condition":"scrollsequence-pro\/scrollsequence-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/scrollsequence-pro\/public\/js\/gsap__premium_only.js","\/scrollsequence-pro\/public\/js\/gsap-scrolltrigger__premium_only.js","\/scrollsequence-pro\/public\/js\/ssq-lib__premium_only.js","scrollsequence-input-script"],"icon_url":"","type":"plugin","id":"plugin:3df51830b6b80668fc342c8dcea495cf","is_default":0,"created_at":1678111131},"043827fc-3df8-45d6-9cd2-14fbe962987a":{"id":"plugin:9d60b5d2de4d828b78c7b088024377d6","title":"ShiftNav Pro - Responsive Mobile Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shiftnav-pro\/assets\/js\/shiftnav(.*).js"],"is_default":0,"condition":"shiftnav-pro\/shiftnav.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bcbaf240-e76f-4620-b7d5-4852c46d4be7":{"id":"plugin:56279bd768c8f27ad1972b6774738bcf","title":"ShiftNav \u2013 Responsive Mobile Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shiftnav-responsive-mobile-menu\/"],"is_default":0,"condition":"shiftnav-responsive-mobile-menu\/shiftnav-responsive-mobile-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bbe0543b-b5af-467b-a90d-e2975d892d8d":{"id":"plugin:1bc7ac87d8ab2301a1b904919dc7a798","title":"Short Pixel Adaptive Image","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/shortpixel-adaptive-images\/assets\/js\/ai(.*).min.js","spai_settings"],"is_default":0,"condition":"shortpixel-adaptive-images\/short-pixel-ai.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"543ab43a-6bd3-4948-a09e-3b95e7c9209d":{"id":"plugin:ce4dea8ddc3caa8d00e95cec3202d32a","title":"Showcase IDX","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","SIDX","search.showcaseidx.com\/js\/app-(.*).js","cdn.shortpixel.ai"],"is_default":0,"condition":"showcase-idx\/showcaseidx.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a16bcab7-1169-46b9-a425-b091478d8312":{"id":"plugin:3ea7d9f75ad03620b0bce2517bd5b8d1","title":"Side Cart WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/woocommerce\/assets\/js\/frontend\/cart-fragments.min.js","\/plugins\/woocommerce\/assets\/js\/frontend\/add-to-cart.min.js","\/plugins\/woocommerce\/assets\/js\/jquery-blockui\/jquery.blockUI.min.js","\/plugins\/woocommerce\/assets\/js\/js-cookie\/js.cookie.min.js"],"is_default":0,"condition":"side-cart-woocommerce\/xoo-wsc-main.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"521f748e-cf09-4019-bd28-b52daef5f16f":{"id":"plugin:7843983bf90dbae16c6e889382c71b23","title":"Simple Banner","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/simple-banner\/","simpleBannerScriptParams"],"is_default":0,"condition":"simple-banner\/simple-banner.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"76026e82-d9cf-482c-b480-55c57693a184":{"id":"plugin:b6825f971d35a5515d095564a2e40936","title":"Site Kit by Google","type":"plugin","icon":"","exclusions":["google-analytics.com\/analytics.js","ga\\( '","ga\\('","\/gtag\/js","gtag\\(","\/gtm.js"],"is_default":0,"condition":"google-site-kit\/google-site-kit.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"79c458d7-f7f7-4072-919d-ad337bde6ae3":{"id":"plugin:5ce5dfecdc9d3292c69a1413bbd17d3c","title":"Slick Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/slick-menu\/"],"is_default":0,"condition":"slick-menu\/slick-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"dd0ea584-0c99-4c30-b46d-da35b94c9f0a":{"id":"plugin:ffb5f8cc0ea17886dbd05f601ca3eec0","title":"Slider by Soliloquy","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","soliloquy-min.js","soliloquy_slider"],"is_default":0,"condition":"soliloquy-lite\/soliloquy-lite.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ecb2fffc-d289-4f68-ae94-71131f17deee":{"id":"plugin:2f373822dceb191c31c8ad2183d51869","title":"Smart Slider 3","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/smart-slider-3\/(.*).js","_N2"],"is_default":0,"condition":"smart-slider-3\/smart-slider-3.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"284ede43-bf80-419e-8414-46c26cb746f0":{"id":"plugin:720ec9fbbd8a52ce525959a68a5310b3","title":"Smart Slider 3 Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/SmartSlider3\/(.*).js","_N2"],"is_default":0,"condition":"nextend-smart-slider3-pro\/nextend-smart-slider3-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c3334c29-4160-42df-a1ce-f8aeeaee8668":{"title":"Super Socializer","condition":"super-socializer\/super_socializer.php","exclusions":["theChamp","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:660defe26748470c3a47366cd4012579","is_default":0,"created_at":1677853633},"f18b4242-fe3f-4e2b-bfc9-ac2fb3939a90":{"title":"Superfly Menu","condition":"superfly-menu\/main.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate((.*?)(.min?)?).js","\/superfly-menu\/includes\/vendor\/looks_awesome\/icon_manager\/js\/md5.js","\/superfly-menu\/includes\/vendor\/looks_awesome\/icon_manager\/js\/util.js","\/superfly-menu\/js\/public.min.js","window.SFM_is_mobile","var SFM_skew_disabled","var SFM_template"],"icon_url":"","type":"plugin","id":"plugin:ccb15175093bc6c437b78797f0698a7b","is_default":0,"created_at":1684301673},"1a05c00a-8562-45bc-80e8-987a4574b1c9":{"title":"Symplr Ads","condition":"symplr-ads\/symplr-plugin.php","exclusions":["\/symplr-ads\/","cdns.symplr.de"],"icon_url":"","type":"plugin","id":"plugin:3b6d39e28a87e86c4659491e2368ff61","is_default":0,"created_at":1692199959},"858d2d7f-bdac-4d27-ba26-baa9ace96ba4":{"id":"plugin:7d93008296bb5c7c43d4cba185ed2632","title":"Tabby Responsive Tabs","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/tabby-responsive-tabs\/js\/tabby.js","RESPONSIVEUI"],"is_default":0,"condition":"tabby-responsive-tabs\/tabby-responsive-tabs.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e44a5c93-bb77-4624-a121-d846905137ea":{"id":"plugin:2f563bbb7e92363ec3fb2989a1c7dffe","title":"The Plus Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/theplus-addons\/(.*)"],"is_default":0,"condition":"the-plus-addons-for-elementor-page-builder\/theplus_elementor_addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2bbac961-b000-4802-ae97-d52472ec6750":{"title":"The Plus Addons for Elementor Premium","condition":"theplus_elementor_addon\/theplus_elementor_addon.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-content\/plugins\/theplus_elementor_addon\/","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig"],"icon_url":"","type":"plugin","id":"plugin:6e127deaaeefbe57ff945b1f9e274518","is_default":0,"created_at":1688143611},"666b45e8-749c-4140-bd17-e1cd589e03ee":{"id":"plugin:b9c418b47c986935a1151ab9b42f8971","title":"ThemeREX Addons","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/trx_addons\/js\/__scripts-full.js","\/trx_addons\/components\/cpt\/layouts\/shortcodes\/menu\/superfish.min.js"],"is_default":0,"condition":"trx_addons\/trx_addons.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a750cada-eb58-4df4-9966-21c8a69332ba":{"id":"plugin:75af9efe22c5cc776636266feb55adf1","title":"Thrive Architect","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"thrive-visual-editor\/thrive-visual-editor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"13714cde-680e-4ca4-8607-c35952d6a5f2":{"title":"Thrive Comments","condition":"thrive-comments\/thrive-comments.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-leads\/","window.TL_Const","var ml=","\/thrive-comments\/assets\/js\/","ThriveComments","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js"],"icon_url":"","type":"plugin","id":"plugin:6a72d06ca2f6a888b0d9d5ea93af2edc","is_default":0,"created_at":1677852974},"aa7ca898-499f-4f04-b419-3de199996969":{"id":"plugin:b84d82c02cade64ade00712b9c5652aa","title":"Thrive Leads","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-leads\/","window.TL_Const","var ml=","\/thrive-comments\/assets\/js\/","ThriveComments","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js"],"is_default":0,"condition":"thrive-leads\/thrive-leads.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"9eee297a-8241-4ef2-af97-46074bd0898c":{"id":"plugin:5bb61b0559b0a3fd578315b553451327","title":"Thrive Quiz Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"thrive-quiz-builder\/thrive-quiz-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c2f3ec2a-5b09-4845-aa95-84841783fbfc":{"id":"plugin:a7f3e5206abff19ca7cf142260181738","title":"Thrive Ultimatum","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-ultimatum\/","var TVE_Ult_"],"is_default":0,"condition":"thrive-ultimatum\/thrive-ultimatum.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"d48b8d2f-e071-4a30-840a-306154a115a0":{"id":"plugin:f57be2014b6a489d053f8367fa6c0f9f","title":"Tidio Chat","type":"plugin","icon":"","exclusions":["document.tidioChatCode"],"is_default":0,"condition":"tidio-live-chat\/tidio-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cb6d33ed-7eb4-4ff9-9ad0-7fc54fbecf6f":{"id":"plugin:c9e0485ec256d4a6a8d92a98c18d76fc","title":"Toolset Blocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","toolsetCommonEs.fontToHead","toolsetCommonEs.styleToHead","\/toolset-blocks\/vendor\/toolset\/blocks\/public\/js\/frontend.js","\/toolset-blocks\/vendor\/toolset\/common-es\/public\/toolset-common-es-frontend.js","\/toolset-blocks\/public\/js\/views-frontend.js","\/wp-includes\/js\/underscore.min.js"],"is_default":0,"condition":"toolset-blocks\/wp-views.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"4bac6350-0925-49fb-904a-372f22fd6baf":{"id":"plugin:71beda322b37f7fc7d456822493cb972","title":"Top Bar Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/topbar-pro\/js\/tpbr_front.min.js","\/plugins\/topbar-pro\/js\/jquery.cookie.js"],"is_default":0,"condition":"topbar-pro\/topbar_pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"033486e7-0ddc-4915-a848-31504d00448e":{"title":"Twenty20 Image Before-After","condition":"twenty20\/ttwenty.php","exclusions":["\/twenty20\/assets\/js\/(.*).js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","twentytwenty-container"],"icon_url":"","type":"plugin","id":"plugin:23441bba9d3602bc932d697c7cb8aa1f","is_default":0,"created_at":1677858089},"7675a34d-006e-4672-99d5-a81e1b8e47f9":{"id":"plugin:3d59cc34167a7f8123e66b627148e0b7","title":"UberMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ubermenu\/assets\/js\/ubermenu.min.js"],"is_default":0,"condition":"ubermenu\/ubermenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"8233178a-e7b3-43ce-b193-bd0d9c960933":{"id":"plugin:86424c46157c1c7e2e1571055813beee","title":"Ultimate Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ultimate-elementor\/assets\/lib\/slick\/slick.min.js","\/ultimate-elementor\/assets\/min-js\/uael-frontend.min.js","\/ultimate-elementor\/assets\/lib\/isotope\/isotope.min.js","\/ultimate-elementor\/assets\/lib\/jquery-element-resize\/jquery_resize.min.js","\/ultimate-elementor\/assets\/lib\/fancybox\/jquery_fancybox.min.js","\/ultimate-elementor\/assets\/lib\/justifiedgallery\/justifiedgallery.min.js","\/elementor-pro\/assets\/js\/frontend.min.js","\/wp-includes\/js\/imagesloaded.min.js","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js","\/elementor\/assets\/lib\/swiper\/swiper.min.js","\/nasa-core\/assets\/js\/min\/jquery.slick.min.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig"],"is_default":0,"condition":"ultimate-elementor\/ultimate-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8bddf484-6c78-4147-a4e6-d3039904e5f6":{"title":"Ultimate Addons for Elementor - Mobile Menu","condition":"ultimate-elementor\/ultimate-elementor.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/ultimate-elementor\/assets\/js\/uael-nav-menu.js"],"icon_url":"","type":"plugin","id":"plugin:70cfade3a7adbb54196f6acccc5a176f","is_default":0,"created_at":1685969850},"028504f7-b1cd-4318-8a6d-ce186197e89d":{"id":"plugin:0f0a91f0c454021a5ff9fc25c3ed419f","title":"Ultimate Addons for WPBakery Page Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Ultimate_VC_Addons\/assets\/"],"is_default":0,"condition":"Ultimate_VC_Addons\/Ultimate_VC_Addons.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"5754af3d-a6af-49eb-b731-bdd82f26dc4e":{"id":"plugin:34db8636812bad84c8aea037c2ddc8c2","title":"Ultimate Responsive Image Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","sliderPro"],"is_default":0,"condition":"ultimate-responsive-image-slider\/ultimate-responsive-image-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"78ae882d-ae31-4179-b677-8893814938c7":{"title":"Unlimited Elements for Elementor Premium - Slider","condition":"unlimited-elements-for-elementor-premium\/unlimited-elements-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/unlimited-elements-for-elementor-premium\/","uc_"],"icon_url":"","type":"plugin","id":"plugin:17260bc347b8c29bee0010e9ec164184","is_default":0,"created_at":1683270377},"051cbfbb-7ad2-4f06-a493-3cf423a80904":{"id":"plugin:6717ef5673a956bc08ca4a5117065d53","title":"Variation Swatches for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jquery\/ui\/","\/woo-variation-swatches\/","\/woo-variation-swatches-pro\/","underscore.min.js"],"is_default":0,"condition":"woo-variation-swatches\/woo-variation-swatches.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"6879caba-7224-4eca-bcb2-370785b495ea":{"id":"plugin:57597b7683e01892932083413f085134","title":"Web Accessibility By accessiBe","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/accessibe\/","acsbJS"],"is_default":0,"condition":"accessibe\/accessiebe.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"bd6732fe-4c2b-40a1-9035-8464057e2da5":{"title":"WooCommerce - Cart Fragments","condition":"woocommerce\/woocommerce.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/woocommerce\/assets\/js\/frontend\/cart-fragments.min.js","\/woocommerce\/assets\/js\/js-cookie\/js.cookie.min.js"],"icon_url":"","type":"plugin","id":"plugin:201de694c6fc28c8d580a3b2ca484218","is_default":0,"created_at":1680937567},"d044900d-07e1-4533-9516-33106efcb259":{"title":"WooCommerce - Product description","condition":"woocommerce\/woocommerce.php","exclusions":["\/plugins\/woocommerce\/assets\/js\/frontend\/single-product.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:a82644b4c9417ea3a240939a73344700","is_default":0,"created_at":1679309756},"bff953b1-2213-4666-8112-76a84a3cc207":{"title":"WooCommerce - Product Gallery","condition":"woocommerce\/woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/zoom\/jquery.zoom(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/photoswipe\/","\/woocommerce\/?(.*)\/assets\/js\/flexslider\/jquery.flexslider(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/frontend\/single-product(.min)?.js","wc_single_product_params"],"icon_url":"","type":"plugin","id":"plugin:7665868ff97c265628f376523a4f9ecc","is_default":0,"created_at":1686579689},"016e6ddf-c6e7-49ec-bd3f-2585d9e45895":{"title":"WooCommerce - Select2 library","condition":"woocommerce\/woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce\/assets\/js\/select2\/select2(.*).js"],"icon_url":"","type":"plugin","id":"plugin:4bca670bd5d55dd24b17fb0193b0891e","is_default":0,"created_at":1681459540},"b9b2c6d7-944f-4ae3-ae04-c9e2204b9dab":{"id":"plugin:9165c768e978d6ad3f696db8c78ccbb2","title":"WooCommerce Attribute Swatches","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/iconic-woo-attribute-swatches-premium\/assets\/frontend\/js\/main.min.js","\/iconic-woo-attribute-swatches-premium\/assets\/vendor\/flickity\/flickity.pkgd.min.js","iconic_was_vars"],"is_default":0,"condition":"iconic-woo-attribute-swatches-premium\/iconic-woo-attribute-swatches.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4506c5e9-7349-44c9-9967-34370c83facb":{"title":"WooCommerce Bookings","condition":"woocommerce-bookings\/woocommerce-bookings.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/woocommerce-bookings\/dist\/frontend.js","\/wp-includes\/js\/dist\/date.min.js","\/wp-includes\/js\/dist\/vendor\/moment.min.js","\/wp-includes\/js\/jquery\/ui\/datepicker.min.js","\/wp-includes\/js\/underscore.min.js","\/woocommerce\/assets\/js\/jquery-blockui\/jquery.blockUI.min.js","\/wp-includes\/js\/dist\/hooks.min.js"],"icon_url":"","type":"plugin","id":"plugin:14dec6d289b9977fa3a74116feecebcc","is_default":0,"created_at":1693998405},"fec9cd04-c358-45da-a1a8-1668b964016b":{"id":"plugin:456f3b849ba3b6647246aca9d7cdaed5","title":"WooCommerce Product Reviews Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","wc_product_reviews_pro","\/woocommerce-product-reviews-pro\/assets\/js\/frontend\/wc-product-reviews-pro-frontend.min.js","\/woocommerce\/assets\/js\/jquery-tiptip\/jquery.tipTip.min.js"],"is_default":0,"condition":"woocommerce-product-reviews-pro\/woocommerce-product-reviews-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"551a9399-627f-4978-9bae-5cc8e0aefc82":{"id":"plugin:c8577e74eef3b082fb6403760d53f68c","title":"WooCommerce TM Extra Product Options","type":"plugin","icon":"","exclusions":["\/woocommerce-tm-extra-product-options\/assets\/js\/epo.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/jquery\/ui\/mouse.min.js","\/wp-includes\/js\/jquery\/ui\/slider.min.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/wp-util.min.js","\/wp-includes\/js\/dist\/hooks.js","\/wp-includes\/js\/dist\/i18n.js"],"is_default":0,"condition":"woocommerce-tm-extra-product-options\/tm-woo-extra-product-options.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3cac4650-6a52-448e-8e48-e99a772a59a2":{"id":"plugin:c6e6cab8c80fa3fe57d609f72d2d5c56","title":"WooLentor","type":"plugin","icon":"","exclusions":["\/woolementor\/assets\/third-party\/slick\/slick.min.js","\/woolentor-addons","woolentor_addons"],"is_default":0,"condition":"woolentor-addons\/woolentor_addons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"67aeb4cb-1a00-4d10-a00c-34888b4c0dba":{"title":"WooThumbs for WooCommerce","condition":"woothumbs-premium\/woothumbs-premium.php","exclusions":["\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/wp-embed.min.js","\/wp-includes\/js\/wp-util.min.js","\/woothumbs-premium\/(.*)"],"icon_url":"","type":"plugin","id":"plugin:b97b1d3f627769e1dd8305aa25af993c","is_default":0,"created_at":1679065404},"c7a14763-88d0-4344-a6af-e0a8dc5fa8d5":{"id":"plugin:31b9e812a025e5750a6ef0980ee7d2db","title":"WordPress Mega Menu \u2013 QuadMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/quadmenu","#private-menu","#public-menu"],"is_default":0,"condition":"quadmenu\/quadmenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f699fdbd-84a7-4f24-b729-3e4a4f83a4dd":{"id":"plugin:601f8fc7d10cad1c2ec2949c0d9b1651","title":"WP Armour","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/honeypot\/includes\/js\/wpa.js","\/wp-armour-extended\/includes\/js\/wpae.js","wpa_hidden_field","wpa_add_test"],"is_default":0,"condition":"wp-armour-extended\/wp-armour-extended.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"6a28aae5-ef91-43fc-8204-92e3a25642b4":{"id":"plugin:5728f3b9856dfe37a36ab15b0a637198","title":"WP Go Maps","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","maps.googleapis.com"],"is_default":0,"condition":"wp-google-maps\/wpGoogleMaps.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c9b991d1-a653-404b-be85-e276b1814e7d":{"title":"WP Google Map Pro","condition":"wp-google-map-gold\/wp-google-map-gold.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","maps.google.com\/maps\/api\/js","\/wp-includes\/js\/masonry.min.js","\/wp-google-map-gold\/(.*)"],"icon_url":"","type":"plugin","id":"plugin:dc12a9b7b9c4c7ce3c532b6b377739f2","is_default":0,"created_at":1677858391},"1f8f9fbf-fbf0-4e3a-b77c-af0fa47e950d":{"id":"plugin:87f572f5f0ec143a8fceba77d0616197","title":"WP Google Maps Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-google-maps(.*)","maps.googleapis.com","mgl_","wpgmza"],"is_default":0,"condition":"wp-google-maps-pro\/wp-google-maps-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"41e4b98c-e63f-4800-a478-02592562322b":{"id":"plugin:3735ca768ede98b25795f4cb057ff4ed","title":"WP iCal Availability","type":"plugin","icon":"","exclusions":["\/wp-ical-availability\/js\/custom-select.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-ical-availability\/"],"is_default":0,"condition":"wp-ical-availability\/wp-ical-availability.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"2b06c5b8-dc32-4bb0-8504-3a9f1c3a1ec0":{"title":"WP MapIt","condition":"wp-mapit\/wp_mapit.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-mapit\/wp_mapit\/js\/leaflet.js","\/wp-mapit\/wp_mapit\/js\/wp_mapit_multipin.js"],"icon_url":"","type":"plugin","id":"plugin:ba8d1c7f294a3f5b593556eb3b0bc7d9","is_default":0,"created_at":1679331261},"2039eafd-1c11-4e21-a61b-30857f291ae3":{"id":"plugin:927b8bf7806f2d287559b86a0b455a59","title":"WP Responsive Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-responsive-menu\/(.*)"],"is_default":0,"condition":"wp-responsive-menu\/wp-responsive-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e06be942-cccd-4b2d-a268-06dc78f0b820":{"title":"WP Search with Algolia","condition":"wp-search-with-algolia\/algolia.php","exclusions":["\/wp-search-with-algolia\/js\/algoliasearch\/dist\/algoliasearch-lite.umd.js","\/wp-search-with-algolia\/js\/autocomplete-noconflict.js","\/wp-search-with-algolia\/js\/autocomplete.js\/dist\/autocomplete.min.js","var algolia"],"icon_url":"","type":"plugin","id":"plugin:43267e659d599fbb6b42c719b49bb7a7","is_default":0,"created_at":1677857180},"4fc2a7ae-b9e6-410e-93cf-e6d1962add6a":{"id":"plugin:4fb90fc73fc2b5d1e37ea2dadfd3cef3","title":"WP Smart Preloader","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/wp-smart-preloader\/assets\/js\/wsp-main-script(.min)?.js"],"is_default":0,"condition":"wp-smart-preloader\/wp-preloader.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7ecf40ce-2bcd-412c-bb01-9e71fecf6be8":{"id":"plugin:d37bb5054a24471ca1675d9ab49d01b0","title":"WP Store Locator","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/wp-store-locator\/","\/wp-includes\/js\/underscore.min.js","maps.google.com"],"is_default":0,"condition":"wp-store-locator\/wp-store-locator.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7a1d19a2-3a48-40ab-8051-f642fc63ce2d":{"title":"WP Ultimate Post Grid","condition":"wp-ultimate-post-grid\/wp-ultimate-post-grid.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/wp-ultimate-post-grid\/dist\/public.js","\/wp-ultimate-post-grid-premium\/dist\/public-premium.js","wpupg_grid_args"],"icon_url":"","type":"plugin","id":"plugin:e24341fef49bd64b89682d583218c108","is_default":0,"created_at":1686597940},"76c86163-ddf3-4113-b620-de9d5058f505":{"id":"plugin:517d7d24da9a7072ed389d0fb30374a0","title":"WPBakery Page Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js"],"is_default":0,"condition":"js_composer\/js_composer.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4f5e5b98-c326-4b9f-9ada-3b257862132c":{"id":"plugin:1ec7138c950c355e7af60d49c81139fc","title":"wpDataTables","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wpdatatables\/","highcharts"],"is_default":0,"condition":"wpdatatables\/wpdatatables.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"18be1b8c-0bc4-4a01-abc6-a127aff380c6":{"id":"plugin:c62ca58ea081c1271de8dadfa7daac69","title":"WPForms","type":"plugin","icon":"","exclusions":["\/wpforms-offline-forms\/assets\/js\/wpforms-offline-forms.min.js","wpforms-offline-forms-js-extra","wpformsRecaptchaLoad"],"is_default":0,"condition":"wpforms\/wpforms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8a3cacb6-81bd-456a-a1cc-a4025f8e5234":{"id":"plugin:0992ac952c0a05bb35e18b1d5744d346","title":"WPForms Lite","type":"plugin","icon":"","exclusions":["wpformsRecaptchaLoad","\/wpforms-offline-forms\/assets\/js\/wpforms-offline-forms.min.js","wpforms-offline-forms-js-extra"],"is_default":0,"condition":"wpforms-lite\/wpforms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"98bbd410-5b01-4244-a8eb-715765180328":{"title":"XL WooCommerce Sales Triggers","condition":"xl-woocommerce-sales-triggers\/xl-woocommerce-sales-triggers.php","exclusions":["\/xl-woocommerce-sales-triggers\/assets\/js\/wcst_combined.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:ba9e526ddb0157e69757530c6b18b714","is_default":0,"created_at":1677856813},"bf9f9620-dd0e-4e6f-9a45-4eb78a148f42":{"id":"plugin:58663fc781232169e865f6fe7cf1afaa","title":"YITH WooCommerce Ajax Product Filter","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/yith-woocommerce-ajax-navigation\/assets\/js\/yith-wcan-shortcodes.min.js"],"is_default":0,"condition":"yith-woocommerce-ajax-navigation\/init.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b053279d-e07c-438c-bb3e-3a1f4f5d7c5e":{"id":"plugin:68b637fd247e40c8e135e4771d739b07","title":"YITH WooCommerce AJAX Product Filter Premium","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/yith-woocommerce-ajax-product-filter-premium\/assets\/js\/yith-wcan-shortcodes.min.js"],"is_default":0,"condition":"yith-woocommerce-ajax-product-filter-premium\/init.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"d94dbbf3-bcab-4e47-9fbb-6b3a7cf92787":{"title":"Yotpo Social Reviews for Woocommerce","condition":"yotpo-social-reviews-for-woocommerce\/wc_yotpo.php","exclusions":["\/yotpo-social-reviews-for-woocommerce\/assets\/js\/headerScript.js"],"icon_url":"","type":"plugin","id":"plugin:45ab742b3fccbd04d7bc973c8582be87","is_default":0,"created_at":1680686421}},"themes":{"9c623554-5834-4669-9e96-1b894c1939b2":{"id":"theme:0193ea55fce2ada93b262f2824008c0f","title":"Andaman","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/andaman\/assets\/js\/","\/wp-andaman-plugins\/shortcodes\/vc_extend\/"],"is_default":0,"condition":"andaman","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7374c5a5-69f8-460f-b44f-dee884a824cd":{"id":"theme:24cbda63f1b898ade5562ab4ec6d97a5","title":"Artale","type":"theme","icon":"","exclusions":["\/artale-elementor\/assets\/js\/modulobox.js","\/artale-elementor\/assets\/js\/artale-elementor.js","\/artale\/js\/jquery-stellar.js","\/artale\/js\/core\/artale-plugins.js","\/artale\/js\/core\/artale-custom.js","var loader"],"is_default":0,"condition":"artale","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"03a9cc62-c167-447d-beb2-65c76c96b056":{"title":"Astra","condition":"astra","exclusions":["\/astra\/assets\/js\/minified\/frontend.min.js"],"icon_url":"","type":"theme","id":"theme:3cce5f3eaf76e098ba8e28f7bbba3f92","is_default":0,"created_at":1681390022},"2a2b54cb-8e1d-49d2-bfca-93eee231e470":{"id":"theme:72a8d63e59c10bdf512a62b862d143a7","title":"Astra - Carousel","type":"theme","icon":"","exclusions":["var astra","\/astra\/assets\/js\/minified\/style.min.js"],"is_default":0,"condition":"astra","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7783361f-66fc-4d95-a054-4e9545bb5b48":{"title":"Auteur","condition":"g5plus-auteur","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/g5plus-auteur\/assets\/js\/core.min.js","\/g5plus-auteur\/assets\/vendors\/","\/auteur-framework\/libs\/smart-framework\/assets\/vendors\/perfect-scrollbar\/js\/perfect-scrollbar.jquery.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"icon_url":"","type":"theme","id":"theme:6207fe478e269e7547bda70a46607a49","is_default":0,"created_at":1679737107},"4c618038-8fc7-4d48-8d41-a32da14e5c1e":{"title":"AutoTrader","condition":"autotrader","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/autotrader\/(.*).js"],"icon_url":"","type":"theme","id":"theme:046dfeee2b77390c53e0e7f93b6a3792","is_default":0,"created_at":1679736741},"18f04f23-35a0-4c45-8cb6-a91d57ca1790":{"id":"theme:835da12f43373029659f766920e81b47","title":"Avada - Animations & mobile-specific actions","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/fusion-scripts\/(.*).js","window.off_canvas_","\/plugins\/fusion-builder\/","\/plugins\/fusion-core\/","\/Avada\/includes\/"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"90135867-1b95-498b-80d6-f5dbf2f6b318":{"title":"Avada - FAQ shortcode","condition":"Avada","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/fusion-core\/js\/min\/avada-faqs.js"],"icon_url":"","type":"theme","id":"theme:b084708c80d8582546e5430219aa4670","is_default":0,"created_at":1678277160},"d23b5bb1-1d7f-4109-bf69-b20a2be2d337":{"id":"theme:5e7a2248e1a53d9bb27b187deb541248","title":"Avada - Fusion carousel","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.carouFredSel.js","\/includes\/lib\/assets\/min\/js\/general\/fusion-carousel.js","fusionCarouselVars"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"98dfa8c1-e72a-4cef-a0b2-8f0c322490fc":{"id":"theme:f16fb109027f4994a7649a8b1663e6f7","title":"Avada - Fusion form","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-form.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-form-logics.js","\/includes\/lib\/assets\/min\/js\/library\/cssua.js","\/includes\/lib\/assets\/min\/js\/general\/fusion.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"026801fa-af67-47ba-b966-347693f0585f":{"id":"theme:33f50696d353d8bd4eb59ff6e8f44c97","title":"Avada - Fusion grid gallery","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-gallery.js","\/includes\/lib\/assets\/min\/js\/library\/imagesLoaded.js","\/includes\/lib\/assets\/min\/js\/library\/isotope.js","\/includes\/lib\/assets\/min\/js\/library\/packery.js","\/includes\/lib\/assets\/min\/js\/library\/lazysizes.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c8349314-15a3-481e-973b-e4d936e4420e":{"id":"theme:56fa9993a573540c83eda9c49fae5e3c","title":"Avada - Fusion slider","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-core\/js\/min\/avada-fusion-slider.js","\/Avada\/includes\/"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"55bd510c-78aa-49d5-8304-8be2ee2ab0da":{"id":"theme:2189c1c769d65cfc2182e4822847071b","title":"Avada - Mobile menu","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/assets\/min\/js\/general\/avada-menu.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.easing.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ddf00672-c35c-4b68-aeca-925e68bf12b2":{"id":"theme:97a185f08af70c39c7e221faab0f73eb","title":"Avada - OffCanvas","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/fusion-scripts\/(.*).min.js","window.off_canvas_"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"17544cc3-9d3a-4611-bc5d-44d04e2786fa":{"id":"theme:6d49e887153f4b7cad1a3c53bc02d506","title":"Avada - Portfolio","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/includes\/lib\/assets\/min\/js\/library\/imagesLoaded.js","\/includes\/lib\/assets\/min\/js\/library\/isotope.js","\/includes\/lib\/assets\/min\/js\/library\/lazysizes.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js","\/includes\/lib\/assets\/min\/js\/library\/packery.js","\/fusion-core\/js\/min\/avada-portfolio.js","avadaPortfolioVars"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7a04bc85-0fec-4487-ae05-bb2e5d8d0420":{"id":"theme:e3c0b030e73246225b0609ec32506c47","title":"Avada - portfolio","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/library\/packery.js","\/library\/isotope.js","\/library\/imagesLoaded.js","\/general\/fusion-lightbox.js","\/fusion-core\/js\/min\/avada-portfolio.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c6c3347c-14e0-4766-afa5-df33a47f5a5a":{"id":"theme:3ff44421b404c5efffa25e78e479e4ea","title":"Avada - Sticky menu","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Avada\/assets\/min\/js\/general\/avada-menu.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"232596c1-6a6a-4fe8-a5c3-a60fa74a9456":{"id":"theme:0d727d80bb132f17c737e55883fe4be0","title":"Avada - WooCommerce product gallery","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/assets\/min\/js\/general\/avada-woo-product-images.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.flexslider.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"95ece7e4-3b19-45e5-aa28-14f833c9afca":{"title":"Avesa","condition":"avesa","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/avesa\/js\/main.js","\/avesa\/js\/isotope.js","\/sw_core\/js\/slick.min.js","\/avesa\/js\/bootstrap-datetimepicker.min.js","\/avesa\/js\/bootstrap.min.js"],"icon_url":"","type":"theme","id":"theme:aad8bfcc594eec02e3b0d635198dee5e","is_default":0,"created_at":1679737993},"f2bfe477-4e45-4e52-a7d9-4d0ba3a92258":{"title":"Besa","condition":"besa","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/besa\/js\/"],"icon_url":"","type":"theme","id":"theme:c238e89523c46ca28b08e401f42f6ccc","is_default":0,"created_at":1679738204},"bd94908c-8138-4995-986b-47ec66494bdd":{"title":"BeTheme","condition":"betheme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/betheme\/","mfn","\/wp-includes\/js\/jquery\/ui\/tabs.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js"],"icon_url":"","type":"theme","id":"theme:b99156eb9eeb357c0a70bd3bda6861cc","is_default":0,"created_at":1679738639},"6fb2b9d7-6ecc-4260-999c-938fbebdbf01":{"id":"theme:de8504b73ea228d0ea9bbce69752092e","title":"Bridge","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/bridge-creative\/bridge\/js\/","\/wp-includes\/js\/"],"is_default":0,"condition":"bridge","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"65698b6b-85dd-41ef-8fd7-718f1e983dba":{"title":"Car Dealer","condition":"cardealer","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/(.*)","\/cardealer\/js\/(.*)"],"icon_url":"","type":"theme","id":"theme:b1111424fff61af8d1e152dcdd6810f6","is_default":0,"created_at":1679737517},"eb86aedb-91e6-480c-b76c-756ac1da41be":{"title":"Clover","condition":"clover-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/clover-theme\/"],"icon_url":"","type":"theme","id":"theme:89372f3d9321ae09c94488592084da29","is_default":0,"created_at":1679738878},"6e90b649-5736-497f-9bc6-515900cfea8a":{"title":"Divi - Animations","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI"],"icon_url":"","type":"theme","id":"theme:c0abf30dba4ff13db836d1b01685953a","is_default":0,"created_at":1679737389},"70916c43-4e02-4932-b6aa-91a1815bc755":{"title":"Divi - Background video","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/Divi\/js\/custom.unified.js","\/js\/mediaelement\/(.*)","mejs"],"icon_url":"","type":"theme","id":"theme:c7edea41ae6716291e2d32a2ab429209","is_default":0,"created_at":1679738240},"08531785-9818-4e30-903e-564637a2ad7a":{"title":"Divi - Counter module","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/easypiechart.js"],"icon_url":"","type":"theme","id":"theme:2c46b9f5a770f260c3f7115bb330b2d5","is_default":0,"created_at":1679736810},"b996762a-84ef-440d-a089-73a187936fbf":{"title":"Divi - Mobile menu","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js"],"icon_url":"","type":"theme","id":"theme:b9116994f4e4b9b9fa574440c00d2f0d","is_default":0,"created_at":1679738580},"ae096e1e-9c36-46ad-a3d1-c26ea507276b":{"title":"Divi - Sticky elements","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/sticky-elements.js","var DIVI"],"icon_url":"","type":"theme","id":"theme:8b62db03c90245f3e690335b079b05dc","is_default":0,"created_at":1679737191},"349f31f0-dd10-41d3-b0a4-9c5df64879f8":{"title":"Divi - Sticky menu","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/js\/jquery\/jquery-migrate.min.js","\/Divi\/js\/scripts.min.js","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/magnific-popup.js","jqueryParams","firstHeader"],"icon_url":"","type":"theme","id":"theme:b7b84aca0f0dc6a1ced31d38626c50ea","is_default":0,"created_at":1679738821},"59563458-5f04-4959-b3e2-53e49e169d67":{"title":"Divi - WooCommerce Single Product Images","condition":"Divi","exclusions":["\/Divi\/js\/scripts.min.js"],"icon_url":"","type":"theme","id":"theme:f9c5bdba8b39fc877b41dea00fa756f9","is_default":0,"created_at":1684342262},"6426539e-4e43-4fef-ab5a-3eb7b2a8b057":{"title":"Eikra","condition":"eikra","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/eikra\/assets\/js\/","EikraObj"],"icon_url":"","type":"theme","id":"theme:55d2581ad975eb6325bc97fc3d3b0cb8","is_default":0,"created_at":1679738450},"59020bd6-069f-4f2d-afa2-fbdefa03211c":{"title":"Ekko","condition":"ekko","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ekko\/"],"icon_url":"","type":"theme","id":"theme:2c06f4a1949f8ba4e77042a47674fd9e","is_default":0,"created_at":1679737803},"d82f5cdd-c5d3-4596-94dc-1e25aaff2083":{"title":"Elessi","condition":"elessi-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elessi-theme\/assets\/js\/min\/functions.min.js","\/elessi-theme\/assets\/js\/min\/main.min.js"],"icon_url":"","type":"theme","id":"theme:d5d2b7fda7b8a2b5b91d430f7602e230","is_default":0,"created_at":1679737773},"f0587c21-54d0-429d-8efe-18a93dacb18d":{"id":"theme:5fc04cc678cb54567aedb51027933002","title":"Enfold","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/dynamic_avia\/avia-footer-scripts-(.*).js","var avia_is_mobile"],"is_default":0,"condition":"enfold","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cc0550cb-918e-419d-b4f2-1809cf666dbb":{"id":"theme:eb759a03d0ca292c948f09d004a2963f","title":"Enfold - LayerSlider","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","layerslider"],"is_default":0,"condition":"enfold","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ec883654-4f63-4fae-a3ef-923dcbc2426d":{"title":"Enfold - Shortcodes","condition":"enfold","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/enfold\/js\/avia.js","\/enfold\/js\/shortcodes.js","\/enfold\/config-templatebuilder\/avia-shortcodes\/","\/enfold\/js\/avia-compat.js","\/enfold\/js\/waypoints\/waypoints.min.js","\/enfold\/js\/avia-snippet-(.*).js"],"icon_url":"","type":"theme","id":"theme:072fc4077d7071791d774d6ddbf5dc2a","is_default":0,"created_at":1684519716},"fe3546f0-be3e-4173-8992-a7f6f203b82f":{"title":"Envision","condition":"envision","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/envision\/lib\/js\/app.min.js","var CloudFwOp"],"is_default":1,"icon_url":"","type":"theme","id":"theme:fc5f7d69b646ed95835badc0fc23bc11","created_at":1679737494},"d997b942-19de-4710-9c81-79d3c65cbd76":{"id":"theme:047f009f2a1f4cdf2088c46be47e385b","title":"Ewebot","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/gt3-themes-core\/","\/uploads\/gt3-assets\/js\/(.*)","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"ewebot","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"53d29aec-8ae4-4273-b748-f5bd52dfe177":{"title":"Farvis","condition":"farvis","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/farvis\/"],"icon_url":"","type":"theme","id":"theme:26bff2f3a6ff6347d35edf5c77a35687","is_default":0,"created_at":1679737972},"fb01246b-a5f8-4021-b514-c02cf55e80bd":{"title":"Flatsome","condition":"flatsome","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/flatsome\/assets\/js\/flatsome.js","\/flatsome\/assets\/libs\/packery.pkgd.min.js","\/flatsome\/assets\/js\/woocommerce.js"],"icon_url":"","type":"theme","id":"theme:26fb1cf80f074ca199d8a7e94c5fc796","is_default":0,"created_at":1679738732},"4d65dc12-9ce7-4171-94a7-9821fd95240e":{"id":"theme:28a6f8b3319c107a34603be0f01a4bcf","title":"Flatsome - Google map","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","maps.googleapis.com","google.maps.LatLng","\/wp-includes\/js\/hoverIntent.min.js"],"is_default":0,"condition":"flatsome","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"890e15b6-c66b-4a9e-9b7d-55417df94916":{"title":"Flatsome - Images","condition":"flatsome","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/flatsome\/inc\/integrations\/wp-rocket\/flatsome-wp-rocket.js","\/flatsome\/assets\/js\/flatsome.js","\/flatsome\/inc\/extensions\/flatsome-lazy-load\/flatsome-lazy-load.js"],"icon_url":"","type":"theme","id":"theme:f2d60aad9f2f5395e3e145cf8f8ab165","is_default":0,"created_at":1679737691},"cb54d070-8ee0-4c35-9fa9-b2bac73ccf39":{"title":"Frida","condition":"frida","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/frida\/"],"icon_url":"","type":"theme","id":"theme:109ddf56796a5133e12279f3daa5ff62","is_default":0,"created_at":1679738013},"9e78539a-03d9-442b-ab94-dd3b7a9658e4":{"id":"theme:80a330247d61d729fcd78dc01de6ed2f","title":"GeneratePress - Mobile menu","type":"theme","icon":"","exclusions":["\/generatepress\/assets\/js\/menu.min.js","generatepressMenu","\/gp-premium\/menu-plus\/functions\/js\/offside.min.js"],"is_default":0,"condition":"generatepress","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"2c72e7e6-cb77-44e9-af87-d5c42ae6db52":{"title":"Honor - WPBakery fix","condition":"honor","exclusions":["\/honor\/js\/__scripts.js","HONOR_STORAGE","\/js_composer\/"],"icon_url":"","type":"theme","id":"theme:9f228373ff4d172655dbf5cb3b1bc23a","is_default":0,"created_at":1679736895},"9309d1d3-1035-4a2c-8ced-075bc3ff9957":{"title":"HotelMaster","condition":"hotelmaster","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/hotelmaster\/javascript\/gdlr-script.js","\/hotelmaster\/plugins\/dl-menu\/modernizr.custom.js","\/hotelmaster\/plugins\/dl-menu\/jquery.dlmenu.js","\/hotelmaster\/plugins\/superfish\/js\/superfish.js","\/hotelmaster\/plugins\/jquery.easing.js"],"icon_url":"","type":"theme","id":"theme:978eaddad3b1047e479407b6d92197aa","is_default":0,"created_at":1679738595},"4a09f745-cbb1-47c8-b50a-c8014d5d1335":{"id":"theme:e813a548bceac6765a1cdf2316f1a6ab","title":"HotelMaster - Blog","type":"theme","icon":"","exclusions":["\/wp-includes\/js\/masonry.min.js","\/gp-premium\/blog\/functions\/js\/scripts.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"hotelmaster","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f2d8f704-ec68-4278-9ca2-885daa0c1ce5":{"id":"theme:398a264e302e42640553681e8759cd07","title":"HotelMaster - Masonry","type":"theme","icon":"","exclusions":["\/gp-premium\/menu-plus\/functions\/js\/offside.min.js","offSide"],"is_default":0,"condition":"hotelmaster","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"df52436c-53d6-461a-b81a-cd0b21680524":{"title":"JNews","condition":"jnews","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/jnews\/assets\/js\/","jnews","jfla"],"icon_url":"","type":"theme","id":"theme:5d90e451984f9d894b1aabb0d00f30a2","is_default":0,"created_at":1679738860},"87ed69a2-3295-4fad-a82e-eeb02925a5dc":{"title":"Jobify","condition":"jobify","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/jobify\/js\/jobify.min.js","\/jobify\/js\/select2.full.min.js"],"icon_url":"","type":"theme","id":"theme:592006aa4562a6915e344e5e2a09e5ee","is_default":0,"created_at":1686856948},"28a0b1ea-8d2f-4931-a48a-166b8df8a773":{"title":"JOYN","condition":"joyn","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/swift-framework\/includes\/page-builder\/frontend-assets\/js\/lib\/modernizr-custom.js","\/swift-framework\/includes\/page-builder\/frontend-assets\/js\/spb-functions.min.js","\/swift-framework\/includes\/swift-slider\/assets\/js\/swift-slider.min.js","\/swift-framework\/public\/js\/lib\/imagesloaded.pkgd.min.js","\/joyn\/js\/owl.carousel.min.js","\/joyn\/js\/theme-scripts.js","\/joyn\/js\/functions.js"],"icon_url":"","type":"theme","id":"theme:c395470ad2d4d681836cd942bbb03120","is_default":0,"created_at":1679738527},"542be60a-2346-4740-9a41-8a580c4f013c":{"title":"Juno Toys","condition":"junotoys","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/junotoys\/fw\/js\/core.init.js","\/junotoys\/fw\/js\/core.utils.js","\/junotoys\/fw\/js\/superfish.js","\/junotoys\/fw\/js\/swiper\/swiper.js","\/trx_utils\/shortcodes\/theme.shortcodes.js","\/wp-includes\/js\/jquery\/ui\/(.*)"],"icon_url":"","type":"theme","id":"theme:2acab38e8356d36355bb81d931e7fba4","is_default":0,"created_at":1679737788},"06167710-10c7-446e-a08b-ce676e444102":{"title":"Jupiter","condition":"jupiter","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jupiter\/","\/wp-includes\/js\/underscore.min.js","WebFont.load"],"icon_url":"","type":"theme","id":"theme:89c5c30498c2989611f9044be006197c","is_default":0,"created_at":1679738430},"5d042e1f-7e62-4ec4-ba31-30d396004522":{"title":"JupiterX","condition":"jupiterx","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jupiterx\/(.*).js","\/wp-includes\/js\/underscore.min.js","WebFont.load"],"icon_url":"","type":"theme","id":"theme:b06632962a4948d4944fd8d79ffbfceb","is_default":0,"created_at":1679737312},"c4b030ea-66a1-4729-85bf-a484e373a316":{"title":"Kadence","condition":"kadence","exclusions":["\/kadence\/assets\/js\/navigation.min.js","mobile_menu_breakpoint ","kadenceConfig"],"icon_url":"","type":"theme","id":"theme:4b7907ee68218db279648da9bf7102d1","is_default":0,"created_at":1679737958},"20c605b4-3e3a-4bb0-a5e5-a08e2cb0f31f":{"title":"Kalium","condition":"kalium","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/kalium\/assets\/js\/main.min.js","mobile_menu_breakpoint","var _k"],"icon_url":"","type":"theme","id":"theme:1fcb99a1ab06e1e36635365ed3e59ce5","is_default":0,"created_at":1679737406},"e1e04a7d-635a-4e28-83d9-e345ce40e354":{"title":"Kava","condition":"kava","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/kava\/assets\/js\/theme-script.js"],"icon_url":"","type":"theme","id":"theme:359d67efbf530c998245225dd3245a88","is_default":0,"created_at":1679738609},"e833c36e-ee89-4924-b608-3f28327c2f85":{"title":"Lay","condition":"lay","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/backbone.min.js","\/wp-includes\/js\/underscore.min.js","\/lay\/","\/laytheme-carousel\/","window.laytheme"],"icon_url":"","type":"theme","id":"theme:7c718c6da874ea6e4b27c6d70bc4e7e8","is_default":0,"created_at":1679737453},"2df2ef47-a833-4711-ba54-48dc62586f37":{"id":"theme:85d9922ac61ed833fd047a67029df8e5","title":"LazaNews","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jquery.custom.js"],"is_default":0,"condition":"lazanews","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"9443304a-34e9-4700-a03a-5f8f62f83ed1":{"title":"Listeo","condition":"listeo","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/listeo\/js\/"],"icon_url":"","type":"theme","id":"theme:db7da585545001f5ae614a2810f08f3a","is_default":0,"created_at":1679737244},"77afa73c-c4a8-42a8-aaee-43f6a761364e":{"title":"ListingPro","condition":"listingpro","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/listingpro\/assets\/lib\/jquerym.menu\/js\/jquery.mmenu.min.all.js","\/listingpro\/assets\/lib\/Magnific-Popup-master\/jquery.magnific-popup.min.js","\/listingpro\/assets\/js\/select2.full.min.js","\/listingpro\/assets\/js\/jquery.city-autocomplete.js","\/listingpro\/assets\/js\/chosen.jquery.min.js","\/listingpro\/assets\/lib\/bootstrap\/js\/bootstrap-slider.js","\/listingpro\/assets\/js\/jquery-ui.js","\/listingpro\/assets\/js\/mapbox.js","\/listingpro\/assets\/js\/main.js","\/listingpro\/assets\/js\/leaflet.markercluster.js","maps"],"icon_url":"","type":"theme","id":"theme:0b365e43dfc65d2b1b70fac6510c7c9c","is_default":0,"created_at":1679737938},"01b369b5-b578-4314-8e95-40b67a41d75a":{"title":"Master Study","condition":"masterstudy","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/masterstudy\/assets\/js\/custom.js ","\/masterstudy\/assets\/vendors\/jquery.fancybox.min.js ","\/masterstudy\/assets\/js\/select2.full.min.js"],"icon_url":"","type":"theme","id":"theme:0ee224c20e4ef7d546733d933db598f2","is_default":0,"created_at":1679737878},"6b000cc7-d33b-4109-9c39-6119a5d81cde":{"title":"Maya","condition":"maya","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/maya\/js\/jquery.mobilemenu.js","\/maya\/js\/jquery.custom.js","\/maya\/core\/includes\/js\/jquery.tipsy.js"],"icon_url":"","type":"theme","id":"theme:719fe28004fcdd81a820602924aa8074","is_default":0,"created_at":1679737916},"ef3c76d6-1041-473d-81ea-a5a6e8c86735":{"title":"MH Magazine","condition":"mh-magazine","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/mh-magazine\/"],"icon_url":"","type":"theme","id":"theme:2a0cd6efc2f46be69de61712729a2ec9","is_default":0,"created_at":1679737743},"9cbb2777-5524-43b8-af36-692b27452c0d":{"title":"Minimog","condition":"minimog","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/minimog\/"],"icon_url":"","type":"theme","id":"theme:61c0c235042359ee7d2a9035e79a7da2","is_default":0,"created_at":1679738135},"7eb81c74-8062-4a6c-bf66-b7c5bc160141":{"title":"Moozo Elementor","condition":"moozo-elementor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/moozo-elementor\/assets\/js\/countdown.js","\/moozo-elementor\/assets\/vendor\/countdown\/countdown.min.js"],"icon_url":"","type":"theme","id":"theme:2ddb538c8e6b6c766fffd0d5c861fd82","is_default":0,"created_at":1679738623},"e90b7bfa-9ff6-4e1a-bf29-6207d55fdd39":{"title":"Motor","condition":"motor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/motor\/js\/"],"icon_url":"","type":"theme","id":"theme:b33538179f5661a86cbe327a1793e199","is_default":0,"created_at":1683973354},"445e625a-f955-41fa-84de-65d9ea19be07":{"title":"My Listing","condition":"my-listing","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/my-listing\/assets\/","\/wp-includes\/js\/dist\/vendor\/moment.min.js","maps.googleapis.com","MyListing","_Explore_Settings"],"icon_url":"","type":"theme","id":"theme:afacb777229ddf5cabceacc64948057d","is_default":0,"created_at":1679737725},"00b8cd2d-2781-4fbb-ac5d-00750ba94ac9":{"title":"Neve - Mobile menu","condition":"neve","exclusions":["\/neve\/assets\/js\/build\/modern\/frontend.js"],"icon_url":"","type":"theme","id":"theme:5ae731cc06dd9284f8172675a6fe81ab","is_default":0,"created_at":1679738714},"483abc54-f1fc-47dc-bfc1-a269c7d1c849":{"id":"theme:649ff22527bac2b1c8e0115cd3851d53","title":"Newspaper - Images","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","tagdiv_theme.min.js","tdBlocksArray"],"is_default":0,"condition":"Newspaper","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"50db8d14-d421-4237-be14-a6f7b5c11ec5":{"id":"theme:7e2eeee57ae458c5959342eda6526bf1","title":"Newspaper - Slider & YouTube","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","tagdiv_theme.min.js","tdBlocksArray","tdb_globals","td_youtube_list_ids","iosSlider","\/td-cloud-library\/assets\/js\/js_files_for_front.min.js"],"is_default":0,"condition":"Newspaper","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"514f4c30-2b67-4648-960e-dfe1cc401ca5":{"title":"Niva","condition":"niva","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/niva\/js\/","\/sweetthemes-framework\/js\/","mt_typed"],"icon_url":"","type":"theme","id":"theme:c4838f73a344b829ed626635e210dcf4","is_default":0,"created_at":1679738256},"e67ee504-c3b1-455e-88ab-1fae8c830652":{"title":"OceanWP","condition":"oceanwp","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/oceanwp\/"],"icon_url":"","type":"theme","id":"theme:db37af4b7d12695d37d9256313a5f37a","is_default":0,"created_at":1679737552},"e44e240a-8765-4f4f-b67e-d54e4b727506":{"title":"OceanWP - Mobile menu","condition":"oceanwp","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ocean-side-panel\/assets\/js\/side-panel.min.js","\/oceanwp\/assets\/js\/theme.vanilla.min.js"],"icon_url":"","type":"theme","id":"theme:9babbcd52b2ce558d299a06cd1130a11","is_default":0,"created_at":1679738463},"897b0100-958d-4a02-b6b2-1e753e9869f4":{"title":"PenNews","condition":"pennews","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/pennews\/js\/script.min.js","\/pennews\/js\/script.lib.min.js"],"icon_url":"","type":"theme","id":"theme:02811fa00bc1471bb5be0457ce0ee005","is_default":0,"created_at":1679737471},"edd3ba03-e0fd-4b6e-911b-60b29f3471bf":{"title":"Pharmacy Mentor","condition":"pharmacymentor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/pharmacymentor\/"],"icon_url":"","type":"theme","id":"theme:3188aaf1ef2c39937450f2a14ebb1174","is_default":0,"created_at":1679738214},"725415ff-cc76-45cc-a131-3170e5aa30fc":{"title":"Porto","condition":"porto","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/","\/porto\/js\/theme.js","\/porto\/js\/theme.min.js"],"icon_url":"","type":"theme","id":"theme:8493f398f200c8dffe60d46439dd3360","is_default":0,"created_at":1679737758},"2c19bcec-f3ff-4873-bfd7-db6bc0f6433c":{"title":"Porto - Owl Carousel","condition":"porto","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-includes\/js\/jquery\/ui\/","\/porto\/js\/theme(|.min).js","\/porto\/js\/libs\/owl.carousel(|.min).js","\/porto\/js\/theme-async(|.min).js","\/prettyPhoto\/jquery.prettyPhoto(|.min).js"],"icon_url":"","type":"theme","id":"theme:f34f5199fb7fca78852cd3fb7758f178","is_default":0,"created_at":1687527252},"31347ccb-f69e-4cd3-bd47-b80ce14ac76e":{"title":"ProPhoto","condition":"prophoto7","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/prophoto7\/js\/bundle.front.js","\/wp-includes\/js\/underscore.min.js","PROPHOTO"],"icon_url":"","type":"theme","id":"theme:a5836a56c4472fade4dc6ebfe2281554","is_default":0,"created_at":1679737425},"a8208c04-865c-49aa-ab96-41e378d391c8":{"title":"Publisher","condition":"publisher","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/publisher\/js\/"],"icon_url":"","type":"theme","id":"theme:32c73be0cb175da278c8e2af0811b0d1","is_default":0,"created_at":1679738169},"a0d69f3d-1356-4a1d-a600-2f2f788b8a9a":{"title":"REHub","condition":"rehub-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/rehub-theme\/js\/custom_floatpanel.js"],"icon_url":"","type":"theme","id":"theme:321af1febb74f488cf911380893739b2","is_default":0,"created_at":1679738502},"8b74bbe5-7f32-42df-908f-78c99a8cad82":{"title":"Rey","condition":"rey","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/rey\/scripts-(.*).js","\/rey-core\/assets\/js\/"],"icon_url":"","type":"theme","id":"theme:e46567cd0f3ec9b37e7230dc87eac367","is_default":0,"created_at":1679737011},"5c9115d3-bcbd-49d6-8feb-4880d2b82bfe":{"title":"Rife Free","condition":"rife-free","exclusions":["\/rife-free\/js\/script.min.js","\/rife-free\/js\/isotope.pkgd.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","var reJS"],"icon_url":"","type":"theme","id":"theme:74a449954de79625eccc6750e87af8f6","is_default":0,"created_at":1679738107},"6542b2fd-1f91-4862-aa18-11eecc02faaf":{"title":"Roisin","condition":"roisin","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/themes\/roisin\/assets\/js\/main.min.js","\/plugins\/roisin-core\/assets\/js\/roisin-core.min.js","\/wp-includes\/js\/hoverIntent.min.js"],"icon_url":"","type":"theme","id":"theme:8f38fe58034772931110930b91cb6797","is_default":0,"created_at":1685964523},"5a192ad9-d150-4aa0-8efc-d68131cb7a37":{"title":"Sahifa - Mobile Menu","condition":"sahifa","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/themes\/sahifa\/js\/ilightbox.packed.js","\/translate_a\/element.js"],"icon_url":"","type":"theme","id":"theme:06ebe49f4c1e5b04cece831f8bb198a3","is_default":0,"created_at":1687540363},"7ae9d978-d63c-4a58-beb3-418bebb5b23c":{"title":"Salient","condition":"salient","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/salient\/","winW > bodyW"],"icon_url":"","type":"theme","id":"theme:b3e12d57ac23897be1bb2c673e3fc761","is_default":0,"created_at":1679736950},"35aaa6c5-4a37-4161-b504-fb3ebc4b1148":{"id":"theme:d612db1dd8dc76faa6a36a9ebfd336dc","title":"Salient - Nectar slider","type":"theme","icon":"","exclusions":["\/salient-nectar-slider\/js\/nectar-slider.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"salient","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"84c95206-3e59-4eb3-a0c9-e2231a1c0a48":{"title":"SEO Lounge","condition":"seolounge","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js","\/seolounge\/js\/radiantthemes-custom.js","\/seolounge\/js\/radiantthemes-core.min.js"],"icon_url":"","type":"theme","id":"theme:3d72b779d9c4ba6b51cc5b245b141433","is_default":0,"created_at":1691695809},"cd44aa56-088a-40dd-bf1e-f835efa68626":{"title":"Shoptimizer","condition":"shoptimizer","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shoptimizer\/assets\/js\/lazyload-bg.js","\/shoptimizer\/assets\/js\/main.min.js"],"icon_url":"","type":"theme","id":"theme:6c32b43f4da639e5901574fac6b7d387","is_default":0,"created_at":1679737143},"d2c48a48-430a-4eea-bc05-99b66f1f6a7b":{"title":"SmartMag","condition":"smart-mag","exclusions":["\/smart-mag\/js\/lazyload.js"],"icon_url":"","type":"theme","id":"theme:23d6b7878bd0087addb067db3fa39864","is_default":0,"created_at":1679738490},"dd0d9133-ef17-4dac-b174-9f25d535838f":{"title":"Soledad","condition":"soledad","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/soledad\/js\/main.js","\/soledad\/js\/more-post.js","\/soledad\/js\/libs-script.min.js"],"icon_url":"","type":"theme","id":"theme:d3f78b26c2d11c99230171cc6378d06e","is_default":0,"created_at":1679737664},"d657dc56-5c04-439a-8987-401f89a65bf9":{"title":"Stockholm","condition":"stockholm","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/stockholm\/js\/"],"icon_url":"","type":"theme","id":"theme:fcfff492e00727b63cf5dff9f59bc2a4","is_default":0,"created_at":1679738378},"121f9b1b-d3cd-4dde-915e-0b348abf6687":{"title":"Storefront","condition":"storefront","exclusions":["\/storefront\/assets\/js\/navigation.min.js"],"icon_url":"","type":"theme","id":"theme:f0dca7e4eaedf573d4664be249845942","is_default":0,"created_at":1679738793},"41cfc83f-ff02-4a35-a3b7-e92db213b224":{"title":"StreamTube","condition":"streamtube","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/streamtube\/","\/streamtube-core\/"],"icon_url":"","type":"theme","id":"theme:9772ccddd470688f6bc6aee86e34d29b","is_default":0,"created_at":1679331431},"aec0a548-4c6b-400a-80ed-19a49e0faef0":{"title":"The7","condition":"dt-the7","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","loader-removed","\/Ultimate_VC_Addons\/assets\/min-js\/","\/dt-the7\/","\/js_composer\/"],"icon_url":"","type":"theme","id":"theme:7934c689fd20e30b6bfc69bb9d46cb63","is_default":0,"created_at":1679737892},"538354ff-d69f-40be-b0cc-df3790599dd2":{"title":"TheGem","condition":"thegem","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thegem\/js\/","gemSettings","thegemSlideshow","tgpLazyItemsOptions"],"icon_url":"","type":"theme","id":"theme:153c54fe73897da838ce39152b1db5a8","is_default":0,"created_at":1679738477},"68f2de3b-e2b8-4edf-b82f-93fd7834c65f":{"title":"Total","condition":"Total","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Total\/assets\/js\/total.min.js"],"icon_url":"","type":"theme","id":"theme:96b0141273eabab320119c467cdcaf17","is_default":0,"created_at":1679737571},"6dc1cb35-6b50-4da0-9834-dddf169edaa6":{"id":"theme:7c37c885d7fecf788f635734f99e8610","title":"Townhub","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/townhub-add-ons\/assets\/js\/(.*)","\/wp-includes\/js\/dist\/vendor\/react.js","\/wp-includes\/js\/dist\/vendor\/react-dom.js"],"is_default":0,"condition":"townhub","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f484f86b-e316-4871-9322-dee3925349fe":{"title":"Travel Monster - Owl Carousel","condition":"travel-monster","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-content\/plugins\/wp-travel-engine\/assets\/lib\/owl-carousel(.*)\/owl.carousel(|.min).js","var isRtl"],"icon_url":"","type":"theme","id":"theme:d3e8da87b3affd399205438fbc8a4f05","is_default":0,"created_at":1690822771},"14cb0a85-8bee-491e-99d7-5f20a07f4bdd":{"title":"Uncode","condition":"uncode","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uncode\/library\/js\/init(.min)?.js","\/uncode\/library\/js\/plugins(.min)?.js","\/uncode\/library\/js\/app(.min)?.js","\/uncode\/library\/js\/woocommerce-uncode(.min)?.js","\/wp-includes\/js\/mediaelement\/mediaelement-and-player.min.js","initHeader","initBox","fixMenuHeight","initRow"],"icon_url":"","type":"theme","id":"theme:18ba19b98aefbb6c0fde6c6bf92e9cfc","is_default":0,"created_at":1679738154},"88e96479-1aa2-4adc-8f07-20bc0368a63f":{"title":"Werkstatt","condition":"werkstatt","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/js\/underscore.min.js","\/werkstatt\/assets\/js\/vendor.min.js","\/werkstatt\/assets\/js\/fullscreen.min.js","\/werkstatt\/assets\/js\/app.min.js"],"icon_url":"","type":"theme","id":"theme:38faa29db5a07b8fef6aee9cc11cafec","is_default":0,"created_at":1679737639},"60c4110b-a960-4d44-b619-6d79514dbf75":{"title":"Woodmart","condition":"woodmart","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/imagesloaded.min.js","\/woodmart\/js\/scripts\/wc\/","\/woodmart\/js\/scripts\/global\/","\/woodmart\/js\/libs\/owl.carousel.min.js","\/woodmart\/js\/libs\/owl.carousel.js","\/woodmart\/js\/libs\/slick.js"],"icon_url":"","type":"theme","id":"theme:06338f13cb89e5309ad2eb7e4d457be4","is_default":0,"created_at":1679738777},"119ebd1c-6b46-4f07-8d6a-3498d9c8814f":{"title":"XStore","condition":"xstore","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/xstore\/js\/","\/et-core-plugin\/packages\/st-woo-swatches\/public\/js\/frontend.min.js"],"icon_url":"","type":"theme","id":"theme:3de9d9ba385200548f177d9c704ae92a","is_default":0,"created_at":1679738190},"9a7a548c-07a1-4dff-93fc-6e8230b67853":{"id":"theme:119d329456073aa10969d7cbd9760f28","title":"YOOtheme Pro","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","uikit.min.js"],"is_default":0,"condition":"yootheme","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f74c499e-b7d9-4590-8671-379f51f468c8":{"title":"Zeen","condition":"zeen","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/zeen\/assets\/js\/","\/js.cookie.min.js"],"icon_url":"","type":"theme","id":"theme:acb52844f996627788836366404a3245","is_default":0,"created_at":1679737859}},"scripts":{"dd0c5a5b-ec56-49f9-9aa4-89e1e3a6a28a":{"title":"Amazon Ads","exclusions":["amazon-adsystem.com"],"icon_url":"","type":"script","id":"script:b82a5936d8ea0745016caeb71629ae5d","is_default":0,"created_at":1681390276},"980edf32-c64b-4370-bf23-c62b079e71c3":{"title":"Google AdSense","exclusions":["adsbygoogle"],"icon_url":"","type":"script","id":"script:0206e6040c8ff64b8d6ee5fef2ce1c90","is_default":0,"created_at":1681377840},"2499bb90-0753-4b2b-9bd4-1525f94c7437":{"title":"Google Analytics","exclusions":["google-analytics.com\/analytics.js","ga\\( '","ga\\('"],"icon_url":"","type":"script","id":"script:d86cf69a8b82547a94ca3f6a307cf9a6","is_default":0,"created_at":1681388311},"6f460036-3106-4b8c-9951-d32de9b1258f":{"title":"Google Maps","exclusions":["maps.googleapis.com","maps.google.com"],"icon_url":"","type":"script","id":"script:4d60ab2c6d11d753267484006c23e54c","is_default":0,"created_at":1681390259},"ac2d5720-9418-468c-80a0-3874ee743c0f":{"title":"Google Optimize","exclusions":["a,s,y,n,c,h,i,d,e","googleoptimize.com\/optimize.js","async-hide"],"icon_url":"","type":"script","id":"script:031a0cece38c4739df67f910dcabf1bd","is_default":0,"created_at":1681390261},"122e6ebb-51fd-477f-97fb-559593f1a48b":{"title":"Google Recaptcha","exclusions":["recaptcha"],"icon_url":"","type":"script","id":"script:032cb16577cbf07bc7c02bac83bd936d","is_default":0,"created_at":1681390264},"219277ae-b2ac-4d42-913d-eaea40985295":{"title":"Google Tag Manager","exclusions":["\/gtag\/js","gtag\\(","\/gtm.js","async-hide"],"icon_url":"","type":"script","id":"script:1d3c65b2b03ef35e14df6b163ea3a1f6","is_default":0,"created_at":1681390266},"f632e3f4-20e6-471e-a78d-86afbea63586":{"title":"HubSpot","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","js.hsforms.net","hbspt.forms.create"],"icon_url":"","type":"script","id":"script:de4bd8ef4675ebb85a055955de76d0ee","is_default":0,"created_at":1679331623},"5d606add-ffb8-4a06-b295-5f722710fbfd":{"title":"Refari","exclusions":["widget.refari.co","refari"],"icon_url":"","type":"script","id":"script:a705e197b13b47e72a105c923e044358","is_default":0,"created_at":1683797056},"742ec14a-27a1-4789-b9c8-a9c3a3cf7042":{"title":"Reviews.io","exclusions":["\/carousel-inline-iframeless\/dist.js","carouselInlineWidget"],"icon_url":"","type":"script","id":"script:4df445c576f45889506ba175a4c39fdc","is_default":0,"created_at":1684389426},"05d3eb78-f574-49be-95e1-3f11714005d1":{"id":"script:ce7566d1d08cc094b74cf283cf9c56a5","title":"Stripe","type":"script","icon":"","exclusions":["js.stripe.com"],"is_default":0,"condition":"","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b56bf06c-2f8c-4757-b536-a689fb0e75f9":{"title":"Typekit","exclusions":["typekit"],"icon_url":"","type":"script","id":"script:7815e38b93e3b500a632681bd594bd61","is_default":0,"created_at":1681390268},"49c38c0a-43b9-4237-88cb-57ddd519f0ad":{"title":"Venatus Media","exclusions":["\/ad-manager.min.js","__vm_add"],"icon_url":"","type":"script","id":"script:abe11528732aed9a19a97e73b242faa5","is_default":0,"created_at":1681390272},"2c1d0998-8ab5-478c-8eb9-9e375b46363e":{"title":"Wistia","exclusions":["fast.wistia.com"],"icon_url":"","type":"script","id":"script:9a0111f8c3186c1cb3113587c660c041","is_default":0,"created_at":1681390274},"0627fe24-7e9d-400f-b064-d98bec2ba85e":{"id":"script:dbd1875130c71eb4b2ef768ad18d820c","title":"Yandex Ads","type":"script","icon":"","exclusions":["yandex.ru","window.yaContextCb"],"is_default":0,"condition":"","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""}}} \ No newline at end of file +{"plugins":{"ffc21030-519a-4853-8cea-49f959e82731":{"id":"plugin:def67a2c1ddd6df2353e4772b6fd4e5b","title":"Additional Variation Images Gallery for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woo-variation-gallery\/assets\/js\/slick.min.js","\/woo-variation-gallery\/assets\/js\/frontend.min.js","\/wp-includes\/js\/underscore.min.js","variation_custom_fields"],"is_default":0,"condition":"woo-variation-gallery\/woo-variation-gallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"0e7dc253-acd0-4421-877f-a7101d848717":{"id":"plugin:4b82cc7379d46c6272f5d556bb264eec","title":"Advanced Ads","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/(.*).js","advanced_ads_ready","advadsCfpQueue","adsbygoogle","adservice.google","\/advanced-ads(.*)","advads_items","advads_tracking_ads"],"is_default":0,"condition":"advanced-ads\/advanced-ads.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a4d5c058-9120-47ee-977c-f30f83fb1a75":{"id":"plugin:a076fbb79772f497349a76ee74a7f708","title":"All-in-one Compliance for GDPR \/ CCPA Cookie Consent","type":"plugin","icon":"","exclusions":["iubenda_cs.js","var _iub"],"is_default":0,"condition":"iubenda-cookie-law-solution\/iubenda_cookie_solution.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"79a5082f-821a-4a4b-a0e3-caaf22cf3f75":{"id":"plugin:9bdceaa1bb89135730a3b2aa4db94c22","title":"AMO Team Showcase","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/amo-team-showcase\/public\/js\/wookmark.js","\/amo-team-showcase\/public\/js\/amo-team-showcase-public.js","\/wp-includes\/js\/imagesloaded.min.js","amoTeamVars"],"is_default":0,"condition":"amo-team-showcase\/amo-team-showcase.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1d058cae-4460-4354-bab3-a96445650bd8":{"id":"plugin:b739df50f3f5bf400075f17dca652517","title":"AnyWhere Elementor Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/anywhere-elementor-pro\/build\/index.js"],"is_default":0,"condition":"anywhere-elementor-pro\/anywhere-elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8a1614c7-55b1-4b6d-88e5-6e8ddc630dae":{"id":"plugin:46741e77eaf4d13a0c80be6b86379758","title":"Astra - Pro Addon","type":"plugin","icon":"","exclusions":["\/astra-addon\/astra-addon-(.*).js"],"is_default":0,"condition":"astra-addon\/astra-addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"37d96403-f9ea-4481-b2f8-374d7c93e61a":{"id":"plugin:ccd87807930a1856717fd276c336db9a","title":"Beaver Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/bb-plugin\/","\/bb-plugin\/js\/yui3.min.js","\/wp-includes\/js\/imagesloaded.min.js","\/bb-plugin\/js\/fl-slideshow.min.js"],"is_default":0,"condition":"beaver-builder-lite-version\/fl-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f83dbf3b-783e-4ef9-9b18-8a469ca7102d":{"title":"Bloom","condition":"bloom\/bloom.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/bloom\/"],"icon_url":"","type":"plugin","id":"plugin:e57cdfbc09f4e0f7445c279d9f580bdd","is_default":0,"created_at":1685189070},"135aadd2-cd4a-44ae-8dcf-801f3f2316c0":{"id":"plugin:055ef01accbad6378e3d1a4965600964","title":"Booked","type":"plugin","icon":"","exclusions":["\/booked\/","\/js\/jquery\/ui\/datepicker.min.js"],"is_default":0,"condition":"booked\/booked.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ddfee9b0-e5a9-4d3f-8c21-b999cbb61c33":{"id":"plugin:492f9b0d55f3bf07c68e915ea1dfb72a","title":"Bookly","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/bookly-responsive-appointment-booking-tool\/frontend\/","window.bookly"],"is_default":0,"condition":"bookly-responsive-appointment-booking-tool\/main.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7a013fd6-0881-4dbe-8e93-33edefe7f717":{"id":"plugin:e1ec2daca513de476bd3dae79366e9ab","title":"Borlabs Cookie","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","borlabsCookieConfig","borlabs-cookie.min.js","borlabsCookieContentBlocker","BorlabsCookieBox"],"is_default":0,"condition":"borlabs-cookie\/borlabs-cookie.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3999e680-4049-4494-945c-768cecc1a2c4":{"id":"plugin:43019d66af7b41e65bb602c01e10c6a0","title":"Brizy","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/brizy\/public\/editor-build\/(.*)-wp\/editor\/js\/group-(.*).js","\/brizy\/public\/editor-build\/(.*)-wp\/editor\/js\/preview.js","Brizy.emit"],"is_default":0,"condition":"brizy\/brizy.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"af4d9357-3def-42a1-86b7-419553444b4d":{"id":"plugin:5c317f9f244597d8f236ecb7d8e41752","title":"Carousel Upsells and Related Product for WooCommerce","type":"plugin","icon":"","exclusions":["\/carousel-upsells-and-related-product-for-woocommerce\/assets\/js\/glide.min.js","carusel_poduct_related"],"is_default":0,"condition":"carousel-upsells-and-related-product-for-woocommerce\/ffxf-woo-glide-related-and-upsells.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1d866d90-5451-43ba-a4d1-75b64f9235e1":{"id":"plugin:0a3a29603ebac8fe0808f64f5c8edbb2","title":"clickskeks.at Cookiebanner","type":"plugin","icon":"","exclusions":["clickskeks"],"is_default":0,"condition":"clickskeks\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c09695cc-2387-4416-881a-c0b392188a26":{"title":"Complianz","condition":"complianz-gdpr\/complianz-gpdr.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","complianz"],"icon_url":"","type":"plugin","id":"plugin:a766f95208154cd69a3e15150a42f325","is_default":0,"created_at":1685188788},"7e551e3b-fbe4-4235-87a9-b476bc9e2020":{"id":"plugin:949b1b923d51d10a2fb67a2a39d166b3","title":"Content Egg","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/content-egg\/res\/js\/morrisjs\/morris.min.js","\/content-egg\/res\/js\/morrisjs\/raphael.min.js","Morris.Area"],"is_default":0,"condition":"content-egg\/content-egg.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7fbca6c5-9239-4550-a755-6f041f867a57":{"title":"Cookie Notice & Compliance for GDPR \/ CCPA","condition":"cookie-notice\/cookie-notice.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/cookie-notice\/","var cnArgs"],"icon_url":"","type":"plugin","id":"plugin:213d0f883ae27aefb3a7937656bbd11e","is_default":0,"created_at":1681379736},"26722567-fe35-44b5-a5a7-fb0f3a38c3f2":{"id":"plugin:1d10ad30bbcf0fd4b26e9625a07abcfc","title":"Cookiebot CMP","type":"plugin","icon":"","exclusions":["consent.cookiebot.com"],"is_default":0,"condition":"cookiebot\/cookiebot.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"74110e36-89e5-440d-bec3-7133da3277c2":{"id":"plugin:edcf103293ceab711e999d419d038ca1","title":"Coupon Referral Program","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/coupon-referral-program\/","\/wp-includes\/js\/jquery\/ui\/draggable.min.js"],"is_default":0,"condition":"coupon-referral-program\/coupon-referral-program.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ed63e02f-d6c5-481a-bcb9-aae15f72aa21":{"id":"plugin:c3e26264dcfd25802805b4fd1a2a449c","title":"Crisp - Live Chat and Chatbot","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","CRISP_RUNTIME_CONFIG","l.js"],"is_default":0,"condition":"crisp\/crisp.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a8eb622b-279c-4f84-86e0-785e9497add7":{"id":"plugin:6e4bf949e12f0bebfefb48f6c316102a","title":"Custom Twitter Feeds pro","type":"plugin","icon":"","exclusions":["\/custom-twitter-feeds-pro\/js\/ctf-scripts.min.js"],"is_default":0,"condition":"custom-twitter-feeds-pro\/custom-twitter-feed.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1624ef15-e25b-406d-bdf9-d4b78d7a59e7":{"id":"plugin:1f893b343e72ce55e6c9013fbda172fa","title":"Customer Reviews for WooCommerce Plugin","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/customer-reviews-woocommerce\/js\/colcade.js"],"is_default":0,"condition":"customer-reviews-woocommerce\/ivole.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c15fe3b3-0eaa-48f9-bf04-0e778b1f8c63":{"title":"Divi - Supreme","condition":"supreme-modules-for-divi\/supreme-modules-for-divi.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI","\/supreme-modules-for-divi\/"],"icon_url":"","type":"plugin","id":"plugin:b5489ae4d8b949f536d6dd2e5b0c1a95","is_default":0,"created_at":1679738701},"dd31451b-989a-4517-b02a-e2c2e2023366":{"id":"plugin:5caed322df984bbfd3ecb506cf12b688","title":"Divi Den Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ddpro\/build\/freddie\/js\/freddieScriptPageTransition.js","\/ddpro\/build\/freddie\/js\/freddieScriptsHeaders.js","\/ddpro\/build\/freddie\/js\/freddieScriptsContents.js","\/ddpro\/build\/freddie\/js\/gsap\/gsap.min.js"],"is_default":0,"condition":"ddpro\/ddpro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2b006370-cc90-42c1-9656-a30fbfbc91c6":{"id":"plugin:402d9b241b04934dd30f32e7ba490e63","title":"Divi Mobile","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","divi-menu","dm_nav"],"is_default":0,"condition":"divi-mobile\/divi-mobile.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"666bbed9-7ce3-457c-ad6e-b5e056d05010":{"title":"Divi Overlays","condition":"divi-overlays\/divi-overlays.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","var DIVI","\/divi-overlays\/"],"icon_url":"","type":"plugin","id":"plugin:1c828c93d87298d2a27c76e13d0880ba","is_default":0,"created_at":1679738664},"42a404af-7792-44be-9baa-565dc3baf25d":{"title":"Divi Pixel","condition":"divi-pixel\/divi-pixel.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/divi-pixel\/dist\/public\/js\/hamburger.min.js"],"icon_url":"","type":"plugin","id":"plugin:dd2494945a487a6cc74d3ab1b2137ccb","is_default":0,"created_at":1686859169},"85f5c099-c481-4c38-bbb9-8b76113bdfd5":{"title":"Divi Supreme Pro","condition":"supreme-modules-pro-for-divi\/supreme-modules-pro-for-divi.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","elm.style.display","\/supreme-modules-pro-for-divi\/includes\/modules\/ImageCarousel\/frontend.min.js","\/supreme-modules-pro-for-divi\/public\/js\/swiper-bundle.min.js"],"icon_url":"","type":"plugin","id":"plugin:3d5f0ae7751702fd1bb490fcf991a334","is_default":0,"created_at":1695118162},"0b78d762-c7be-45de-9aae-0c5078ec0619":{"id":"plugin:b5fc0101608d0b0627268dc49e3e1f8f","title":"Divi Toolbox","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","jQuery('.preloader')","\/divi-toolbox\/assets\/js\/toolbox-scripts.js"],"is_default":0,"condition":"divi-toolbox\/divi-toolbox.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8baba0f8-4449-47d8-a87d-9b6a116e7684":{"title":"Dynamic Pricing & Discounts Lite for WooCommerce","condition":"woo-dynamic-pricing-discounts-lite\/dynamic-pricing-discounts-lite-for-woocommerce.php","exclusions":["\/woo-dynamic-pricing-discounts-lite\/assets\/OwlCarousel\/dist\/owl.carousel.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:185062bf08db42515488e1853d1f4917","is_default":0,"created_at":1677857247},"0fa129f2-5869-4db7-9bf0-69e4b3549ee2":{"id":"plugin:27478327aa44075a86176fad95640d76","title":"Dynamic Product Gallery for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-dynamic-gallery\/","a3revWCDynamicGallery"],"is_default":0,"condition":"woocommerce-dynamic-gallery\/wc_dynamic_gallery_woocommerce.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"9958c6be-2f67-4791-95c3-a7ad96d599c0":{"title":"Dynamic Product Gallery Premium for WooCommerce","condition":"woocommerce-dynamic-gallery-pro\/wc_dynamic_gallery_woocommerce.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/woocommerce-dynamic-gallery-pro\/assets\/js\/mygallery\/jquery.a3-dgallery.js","settings_defaults_","a3revWCDynamicGallery"],"icon_url":"","type":"plugin","id":"plugin:11dc02a76019f00422f4ac85f47f5135","is_default":0,"created_at":1683208937},"ce26ed21-1be5-481f-80d4-31edfac6d890":{"title":"Dynamic.ooo - Dynamic Content for Elementor","condition":"dynamic-content-for-elementor\/dynamic-content-for-elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/dynamic-content-for-elementor\/assets\/","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:d2bd5b348abe016bdc722acce7755062","is_default":0,"created_at":1683355024},"6a3161a6-1a6f-457a-a9ee-54b376981927":{"id":"plugin:ee1dec033c6481a77fe88de5bef1a02d","title":"Easy Table of Contents","type":"plugin","icon":"","exclusions":["\/easy-table-of-contents\/assets\/js\/front.min.js"],"is_default":0,"condition":"easy-table-of-contents\/easy-table-of-contents.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"25a534a0-2c1f-4cf4-9e19-7941bc032b3a":{"id":"plugin:41c8f5f0ab00cb39654aedd783d194e0","title":"Ecwid Ecommerce Shopping Cart","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js ","app.ecwid.com\/script.js ","\/ecwid-shopping-cart\/js\/frontend.js ","\/ecwid-shopping-cart\/js\/static-page.js ","ecwidParamswindow.ec ","jQuery.mobile ","xSearch ","xCategoriesV2 ","xProductBrowser ","Ecwid.init"],"is_default":0,"condition":"ecwid-shopping-cart\/ecwid-shopping-cart.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"40464325-5bae-4a20-bc97-553499e09a73":{"title":"Elementor","condition":"elementor\/elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/happy-elementor-addons-pro\/","\/header-footer-elementor\/inc\/js\/frontend.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:1d15783218a3137bec4ee8df5353e218","is_default":0,"created_at":1694425872},"ac86b64c-c80a-4053-894d-6caa8b4fdce8":{"title":"Elementor Loop Carrousel","condition":"elementor\/elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:0eb8d0bbd1c7ca05ac133ea634f676b7","is_default":0,"created_at":1694442056},"a8fc9fd1-f6d3-41eb-abe9-ef176de6d7e2":{"title":"Elementor - Lazy Load Background Images","condition":"elementor\/elementor.php","exclusions":["lazyloadRunObserver"],"icon_url":"","type":"plugin","id":"plugin:bf248cb2876558452a566c5dd89262b8","is_default":0,"created_at":1694453032},"1948aff5-7850-4979-91fa-0ce181484508":{"id":"plugin:de658ae6c2d05a5a4a947efecf5e0c16","title":"Elementor Custom Skin","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ele-custom-skin(.*)\/assets\/js\/"],"is_default":0,"condition":"ele-custom-skin\/ele-custom-skin.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"25708299-c596-4416-8ad8-740aee0f2752":{"title":"Elementor Pro","condition":"elementor-pro\/elementor-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/happy-elementor-addons-pro\/","\/header-footer-elementor\/inc\/js\/frontend.js"],"icon_url":"","type":"plugin","id":"plugin:030ad23e3851ed7adfa7b9b6c13cf5a6","is_default":0,"created_at":1679490021},"f34dd874-4b34-41e6-a31c-ece3c1efbffc":{"id":"plugin:305581ad4294a30eeb1247982f626005","title":"Elementor Pro - SmartMenus","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/assets\/lib\/smartmenus\/jquery.smartmenus.min.js","\/elementor-pro\/assets\/js\/preloaded-elements-handlers.min.js"],"is_default":0,"condition":"elementor-pro\/elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"111cc8b2-0be9-438b-9aa3-7f1e301a5697":{"id":"plugin:5ae9f5d99224d5ebc7d0c0bbf5b99787","title":"Elementor Pro - User Cache","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/backbone.min.js","elementorAdminBarConfig","elementorCommonConfig","elementorWebCliConfig","elementorDevToolsConfig"],"is_default":0,"condition":"elementor-pro\/elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c1713bf8-e0c3-4cb5-8b3f-841b06aa87ed":{"title":"ElementsKit Lite - Megamenu","condition":"elementskit-lite\/elementskit-lite.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/elementskit(.*)\/"],"icon_url":"","type":"plugin","id":"plugin:b91fed2fc4478dbb7067742c1ee4691b","is_default":0,"created_at":1683270249},"706ff35d-8e33-4b04-a986-346faff704e9":{"id":"plugin:417192424139d89fb2a5b1ee1f2b9613","title":"Essential Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/essential-addons(-for)?-elementor(-lite)?\/.*(.min)?.js"],"is_default":0,"condition":"essential-addons-for-elementor-lite\/essential_adons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b38556dc-2bc4-430f-9c55-7191cf7773db":{"id":"plugin:057757d0593ad9d2dc58124f0077a5df","title":"Essential Addons for Elementor Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/essential-addons(-for)?-elementor(-lite)?\/.*(.min)?.js"],"is_default":0,"condition":"essential-addons-elementor\/essential_adons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"719b988f-0d60-40c2-ba46-88f943119cb1":{"id":"plugin:c8e6c490f6438f566ade600c33531a85","title":"Essential Grid","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/essential-grid\/","lightboxOptions"],"is_default":0,"condition":"essential-grid\/essential-grid.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"47d3d2ab-160d-4b07-ac25-8250b9e6a951":{"id":"plugin:dafd19fa48a1fef890dc4348052fcb75","title":"EventON Lite","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/eventon-lite\/assets\/js\/(.*)"],"is_default":0,"condition":"eventon-lite\/eventon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"219968d7-cf1f-4ee0-917a-db35dcc93a3e":{"id":"plugin:49ff465628fc3cb6d7f23ff81d9b8339","title":"FacetWP","type":"plugin","icon":"","exclusions":["\/facetwp\/assets\/js\/dist\/front.min.js","window.FWP_"],"is_default":0,"condition":"facetwp\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"acce5701-5917-48d5-83ab-3e626aa420c5":{"id":"plugin:78a1c88a56fa957c802074b6418c6fac","title":"FacetWP - Flyout menu","type":"plugin","icon":"","exclusions":["\/facetwp-flyout\/assets\/js\/front.js"],"is_default":0,"condition":"facetwp-flyout\/facetwp-flyout.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f2a5b95f-1a22-46d2-8b72-42a53e46ae3f":{"id":"plugin:5d7555892a3a9968fde3fa3a335fc3d8","title":"FiboSearch - Ajax Search for WooCommerce","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.js","\/wp-includes\/js\/jquery\/jquery-migrate.js","\/ajax-search-for-woocommerce-premium\/assets\/js\/search.js"],"is_default":0,"condition":"ajax-search-for-woocommerce\/ajax-search-for-woocommerce.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7d1404e9-be76-449c-87aa-919557abe82d":{"id":"plugin:ad46179e8b0584abaf52056b846da227","title":"FlexBlock","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/flo-flex-builder\/dist\/flex-public.min.js","flexDebug"],"is_default":0,"condition":"flo-flex-builder\/flo-flex-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b9c6a2dc-b226-4e2c-b85e-29ee55b8f751":{"id":"plugin:567a2b15db30ef6bd4904e4317139aac","title":"Fluent Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/fluentform\/public\/js\/(.*).js","\/fluentformpro\/public\/js\/(.*).js"],"is_default":0,"condition":"fluentform\/fluentform.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"10874f8a-2855-4e80-bc46-e484589b76a8":{"id":"plugin:e78c153103f698b2b34892332d6b3b62","title":"Flying Images","type":"plugin","icon":"","exclusions":["flyingImages"],"is_default":0,"condition":"nazy-load\/flying-images.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"53958499-dacd-41d6-93bc-1534fe7d9eda":{"id":"plugin:5a0e40a6c5783856893b803189de1404","title":"FooGallery Premium","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/foobox-image-lightbox\/free\/js\/foobox.free.min.js","\/plugins\/foogallery-premium\/pro\/extensions\/default-templates\/shared\/js\/foogallery.min.js"],"is_default":0,"condition":"foogallery-premium\/foogallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7870d704-2024-4622-838c-fad37d5c6753":{"id":"plugin:ebb5efb57b19ae60e734e456ca2df3f8","title":"Formidable Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","frmSigs","\/formidable-signature\/js\/frm.signature.min.js"],"is_default":0,"condition":"formidable\/formidable.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3f24f9b3-e59e-400f-a784-999f93f60fab":{"id":"plugin:0b08523445b8869a67ca40e777704692","title":"Forminator","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","forminatorFront","\/forminator\/build\/front\/front.multi.min.js","\/forminator\/assets\/js\/library\/jquery.validate.min.js","\/forminator\/assets\/forminator-ui\/js\/forminator-form.min.js","\/forminator\/assets\/forminator-ui\/js\/select2.full.min.js","\/wp-includes\/js\/jquery\/ui\/datepicker.min.js","\/wp-includes\/js\/dist\/vendor\/moment.min.js"],"is_default":0,"condition":"forminator\/forminator.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3a600ded-3454-48fb-9811-46afa2ab3c05":{"id":"plugin:5759bf0d47ac3457485314b381a9b528","title":"GDPR Cookie Compliance","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/gdpr-cookie-compliance\/dist\/scripts\/main.js"],"is_default":0,"condition":"gdpr-cookie-compliance\/moove-gdpr.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"e21aaa5e-7354-471d-ab86-85f99f48830c":{"id":"plugin:ffb40036ab0583218561de7c28c6bd9b","title":"GDPR Cookie Consent","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/public\/js\/cookie-law-info-public.js","Cli_Data"],"is_default":0,"condition":"webtoffee-gdpr-cookie-consent\/cookie-law-info.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c11ca4ea-1a23-49ee-9a6b-1e549de50ea2":{"id":"plugin:3877953c5ec1e66db92ad844ae8ebafc","title":"Getwid - Gutenberg Blocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/wp-includes\/js\/jquery\/ui\/tabs.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js"],"is_default":0,"condition":"getwid\/getwid.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3773bb33-b168-4f68-9963-512da24ac4da":{"title":"GoodLayers Core","condition":"goodlayers-core\/goodlayers-core.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js ","\/goodlayers-core\/plugins\/script.js ","\/goodlayers-core\/include\/js\/page-builder.js"],"icon_url":"","type":"plugin","id":"plugin:5f124509a56ca2e0644246919ec70434","is_default":0,"created_at":1677854322},"2adabe9b-6e03-4a67-959f-492813d40f69":{"title":"Google Tag Manager for WooCommerce PRO","condition":"gtm-ecommerce-woo-pro\/gtm-ecommerce-woo-pro.php","exclusions":["\/gtm-ecommerce-woo-pro\/assets\/gtm-ecommerce-woo-pro.js"],"icon_url":"","type":"plugin","id":"plugin:e54fd4313007b6fedf8ab4df0e05277a","is_default":0,"created_at":1691218549},"7bf261ac-89d4-492f-8a3d-1c5809b9579a":{"title":"Gravity Forms","condition":"gravityforms\/gravityforms.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/gravityforms\/","gform","recaptcha","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/wp-includes\/js\/plupload\/plupload.min.js","\/wp-includes\/js\/plupload\/moxie.min.js"],"icon_url":"","type":"plugin","id":"plugin:7a1c1606d094f6bff83c0ee155908367","is_default":0,"created_at":1694457903},"12340193-5c35-4b0d-b0bc-bea690cf1cae":{"id":"plugin:2f3112dd98c39aeb6bde618c9026a29f","title":"Green Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","leform.min.js","leform_customjs_handlers","leform_ajax_url"],"is_default":0,"condition":"green-forms\/green-forms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4d20b427-47cf-4cdf-91c7-ff53602d3b2a":{"id":"plugin:0eb769dddc58f998e913345841b1d0b3","title":"GTM4WP","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","dataLayer"],"is_default":0,"condition":"duracelltomi-google-tag-manager\/duracelltomi-google-tag-manager-for-wordpress.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a2b3c237-728c-49d6-882a-e3885444e9b4":{"id":"plugin:3b085ccda851ccf129d9506462f0cd65","title":"GTranslate","type":"plugin","icon":"","exclusions":["translate.google.com","googleTranslateElementInit"],"is_default":0,"condition":"gtranslate\/gtranslate.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"40cd9336-e73f-4a61-a7f6-27ec1ca6892c":{"id":"plugin:e1f17c1eac230219e6fec3ac07406a0d","title":"HBook","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/hbook\/","hb_booking_form_data","hb_max_date"],"is_default":0,"condition":"hbook\/hbook.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"192224c7-df72-4e3d-8f13-3206ac5b2e90":{"title":"Helper - OpenAI Chatbot for WordPress","condition":"\/helper\/index.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/helper\/js\/helper.min.js","mdpHelper"],"icon_url":"","type":"plugin","id":"plugin:07311d992a8a9d6af91e4766d2cb9ac9","is_default":0,"created_at":1691599768},"99cfbb2e-5678-42c2-928f-5cb09d7e43da":{"id":"plugin:269c5766fba124a838ac012a4b5a1a13","title":"HUSKY - Products Filter for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-products-filter\/(.*)","woof"],"is_default":0,"condition":"woocommerce-products-filter\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3a964eac-4aeb-49a7-9fd6-4c31b2645dee":{"id":"plugin:d457acfec0f86aac6733f1446f4fc94f","title":"Instagram Feed Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/instagram-feed-pro\/js\/sbi-scripts.min.js","sb_instagram_js_options"],"is_default":0,"condition":"instagram-feed-pro\/instagram-feed.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8f9f4788-1b8d-468b-b291-1fcbd48618b9":{"id":"plugin:513b0c0ec8e12130af9b4bbbb17d7275","title":"Interactive Geo Maps","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/interactive-geo-maps-premium\/assets\/public\/map-service\/app.min.js","\/interactive-geo-maps\/assets\/public\/map-service\/app.js","iMapsData","cdn.amcharts.com\/lib\/"],"is_default":0,"condition":"interactive-geo-maps\/interactive-geo-maps.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cf650ca3-afa0-4a13-9e4f-f7cca19abac6":{"title":"Ivory Search","condition":"add-search-to-menu\/add-search-to-menu.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/add-search-to-menu\/public\/js\/ivory-search.min.js"],"icon_url":"","type":"plugin","id":"plugin:7430e9d2c985ae0a3339a7b7e1acc318","is_default":0,"created_at":1677852711},"17a5dd54-1f5e-4d57-a56d-a8a970651954":{"id":"plugin:1c8a1e1ba89a601f88654f094139b469","title":"JetBlocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-blocks\/assets\/js\/jet-blocks.min.js"],"is_default":0,"condition":"jet-blocks\/jet-blocks.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b6f78c90-9823-459a-8dc1-1257e5f0d4e3":{"id":"plugin:dac9ec782180f33d0fcc7c4e0e569b9d","title":"JetBlog","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/","\/elementor\/","\/jet-blog\/","ElementorProFrontendConfig","elementorFrontendConfig","hasJetBlogPlaylist"],"is_default":0,"condition":"jet-blog\/jet-blog.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"e17173d8-6ef8-4e27-ba0f-379c9aea7eda":{"id":"plugin:0fe8895d1da5247b73a5d0b482df4ac4","title":"JetElements","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/jet-elements\/","hasJetBlogPlaylist","jetElements","\/wp-includes\/js\/jquery\/ui\/"],"is_default":0,"condition":"jet-elements\/jet-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cfd77501-9c9e-4f11-b994-0178a592fc08":{"title":"JetEngine","condition":"jet-engine\/jet-engine.php","exclusions":["\/jet-engine\/"],"icon_url":"","type":"plugin","id":"plugin:bc998e71546860c8c7f70c45a6c18972","is_default":0,"created_at":1686208296},"36fed829-a2d9-41b5-94f6-2c3b9f07a94e":{"id":"plugin:433a3173f2d06f7d02c7b91c06ed215d","title":"JetMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/","\/elementor\/","\/jet-blog\/assets\/js\/lib\/slick\/slick.min.js","\/jet-elements\/","\/jet-menu\/","elementorFrontendConfig","ElementorProFrontendConfig","hasJetBlogPlaylist","JetEngineSettings","jetMenuPublicSettings","\/jet-reviews\/assets\/js\/lib\/vue.min.js"],"is_default":0,"condition":"jet-menu\/jet-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"580cfed7-f034-4e39-bc7a-cdd01923ce87":{"id":"plugin:51714cfdb43f231a1c93e7cffb1007ab","title":"JetPopup","type":"plugin","icon":"","exclusions":["\/jet-popup\/assets\/js\/lib\/anime-js\/anime.min.js","\/jet-popup\/assets\/js\/jet-popup-frontend.js","\/jet-woo-builder\/","var jetPopupData"],"is_default":0,"condition":"jet-popup\/jet-popup.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"d9cd2730-12e2-42d7-a082-6f0efcd466cc":{"id":"plugin:df3bc4b6a8a9f28a5ba24cb7496bbc72","title":"JetProductGallery","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-woo-product-gallery\/assets\/lib\/swiper\/swiper.min.js","\/jet-woo-product-gallery\/assets\/js\/jet-woo-product-gallery.min.js"],"is_default":0,"condition":"jet-woo-product-gallery\/jet-woo-product-gallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"544aa37b-4d52-4182-99e8-abe23585da14":{"id":"plugin:5921fc95965ac7fccb7296957bd9abff","title":"JetReviews","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-reviews\/assets\/js\/jet-reviews-frontend.js","\/jet-reviews\/assets\/js\/lib\/vue.min.js","jetReviewsWidget"],"is_default":0,"condition":"jet-reviews\/jet-reviews.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a8460089-34b4-4f8f-8694-5d92fa48aa82":{"title":"JetSmartFilters","condition":"jet-smart-filters\/jet-smart-filters.php","exclusions":["jetOffcanvasInitialized"],"icon_url":"","type":"plugin","id":"plugin:0cd63a514de1f1acb88e2bde65c4bc8d","is_default":0,"created_at":1694447256},"fe3c4915-6f8b-49b7-aa9c-c97b264d9f12":{"id":"plugin:a346b60514ef52afeffc6e2ef2793da3","title":"JetSticky","type":"plugin","icon":"","exclusions":["\/jetsticky-for-elementor\/"],"is_default":0,"condition":"jetsticky-for-elementor\/jetsticky-for-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b7f89562-230c-4f63-8360-7aad6df31e02":{"id":"plugin:829272546b040d5aaeeeaf976b6cd4ec","title":"JetTricks","type":"plugin","icon":"","exclusions":["\/jet-tricks\/"],"is_default":0,"condition":"jet-tricks\/jet-tricks.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"90451e2a-553a-4496-9fa4-cffedbe69d43":{"id":"plugin:f44f3dbd09149f57db370e4132b057db","title":"JetWoo Widgets For Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/jetwoo-widgets-for-elementor\/assets\/js\/jet-woo-widgets.js","\/jet-woo-builder\/assets\/js\/jet-woo-builder.min.js","\/jet-woo-builder\/assets\/js\/frontend.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"jet-woo-builder\/jet-woo-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"944718c2-48c6-4f53-aaa2-460d07e033cc":{"id":"plugin:ed318a971f8a047bed5b02ad546a9c18","title":"JetWooBuilder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js","\/elementor-pro\/","\/elementor\/","elementorFrontendConfig","ElementorProFrontendConfig","JetEngineSettings","\/jet-woo-builder\/","\/jet-woo-builder-custom-quantity-selectors-main\/assets\/js\/main.js"],"is_default":0,"condition":"jet-woo-builder\/jet-woo-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f5b62f59-1dae-4cdf-ac3f-f5e846fc9918":{"id":"plugin:9562e253cd4ac2b1e1f70e32cb4e32dc","title":"Layer Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.utils.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.kreaturamedia.jquery.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.transitions.js","initLayerSlider"],"is_default":0,"condition":"LayerSlider\/layerslider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e2be718d-83a2-4fa0-bc98-f0df52be3dc1":{"id":"plugin:1425e2735306796fe1539d9184a77e10","title":"LoftLoader Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","loftloader.min.js"],"is_default":0,"condition":"loftloader-pro\/loftloader-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cfa18552-656e-453c-9e14-c07522dc6598":{"id":"plugin:0bf67b8ba84771e1a367fe24590ef09c","title":"MailUp for WordPress","type":"plugin","icon":"","exclusions":["\/mailup-email-and-newsletter-subscription-form\/public\/js\/mailup-public.js","mailup-js-extra"],"is_default":0,"condition":"mailup-email-and-newsletter-subscription-form\/mailup.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c5330c66-ba7b-45b1-87e4-ce590ab005dd":{"id":"plugin:10d0de28911c5f66463b9c8783f8148a","title":"Maintenance","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/maintenance\/"],"is_default":0,"condition":"maintenance\/maintenance.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"267aef71-afa0-4848-b6f8-3e1ca15c3a23":{"id":"plugin:9460789bdfe77425c895f130991a4cb4","title":"Maps Marker Pro","type":"plugin","icon":"","exclusions":["\/maps-marker-pro\/js\/mapsmarkerpro.js","var mapsMarkerPro"],"is_default":0,"condition":"maps-marker-pro\/maps-marker-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b5a88b63-e906-49b3-8134-420139915ea6":{"title":"Master Popups","condition":"master-popups\/master-popups.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/master-popups\/assets\/public\/js\/master-popups-libs.min.js"],"icon_url":"","type":"plugin","id":"plugin:8fd7bd2c8b0a33e62798573abd12be63","is_default":0,"created_at":1681305305},"4be41549-bf4d-4c49-8346-0f8a3b88fdba":{"id":"plugin:de888634cc4bd51576eed319d5a528fd","title":"Master Slider","type":"plugin","icon":"","exclusions":["masterslider"],"is_default":0,"condition":"master-slider\/master-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"087bee18-7cd1-4c10-8acc-19e1b7c4f4cd":{"id":"plugin:b71309a89bf3c8b558b6fca5d6531919","title":"Max Mega Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/hoverIntent.min.js","\/megamenu\/js\/maxmegamenu.js","var megamenu"],"is_default":0,"condition":"megamenu\/megamenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cf22f0b9-01f4-409e-8a93-ad6743095abd":{"id":"plugin:94a7bae84ef2816494be4af66c577bfc","title":"Meta Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ml-slider\/","var metaslider"],"is_default":0,"condition":"ml-slider\/ml-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bb2cbc0d-20da-415e-8218-c17f1db53579":{"title":"Monarch","condition":"monarch\/monarch.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","dt-place-monarch-icons"],"icon_url":"","type":"plugin","id":"plugin:b7335d6d6d5c5134ea10ac2d9b04226c","is_default":0,"created_at":1677853476},"a98d6a80-4610-4ede-bd33-c3e15bed0a95":{"id":"plugin:4f8651262425ef6d7c223c68a2ec2063","title":"Monster Insights","type":"plugin","icon":"","exclusions":["__gtagTracker","monsterinsights_frontend","\/google-analytics-for-wordpress\/assets\/js\/frontend-gtag.min.js"],"is_default":0,"condition":"google-analytics-for-wordpress\/googleanalytics.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"26e1a36e-7a03-449e-8ecc-e42c41ca291c":{"id":"plugin:f8fc66b302dec2327bdec0434a3b275b","title":"Motion.page","type":"plugin","icon":"","exclusions":["\/motionpage\/core\/includes\/assets\/js\/(.*)","\/motionpage\/core\/includes\/assets\/js\/gsap\/(.*)","\/motionpage\/assets\/js\/(.*)","\/motionpage\/assets\/js\/gsap\/(.*)"],"is_default":0,"condition":"motionpage\/motionpage.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"459fd663-7f80-45fd-8308-d3484981e161":{"title":"Ninja Forms","condition":"ninja-forms\/ninja-forms.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js","\/ninja-forms\/assets\/js\/min\/front-end-deps.js","\/ninja-forms\/assets\/js\/min\/front-end.js","nf-"],"icon_url":"","type":"plugin","id":"plugin:1d3ae9c1a96d5062616968b81eef319d","is_default":0,"created_at":1681377675},"c97440dd-7592-40e7-8c98-dac20d39808f":{"id":"plugin:723a588dcd49285ea9f7404e2379b47f","title":"Ninja Tables","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ninja-tables(.*)\/assets\/","\/ninja-tables(.*)\/public\/","\/wp-includes\/js\/dist\/vendor\/moment.min.js","ninja_table_instance_","ninja_filter_","ninja_table_ready_init_table_id"],"is_default":0,"condition":"ninja-tables\/ninja-tables.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ebc01f06-8c35-47fa-9c63-8959c5cbd915":{"id":"plugin:f41a52ab1dd50a81cd3a5e341af0007c","title":"NotificationX","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/notificationx\/assets\/public\/js\/(.*).js","notificationXArr"],"is_default":0,"condition":"notificationx\/notificationx.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3aaf4a1b-591a-48b7-8d60-e6d65c0f94c9":{"id":"plugin:be8fc72a8b8e8eb5958be13737cff47c","title":"Ocean Elementor Widgets","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ocean-elementor-widgets\/"],"is_default":0,"condition":"ocean-elementor-widgets\/ocean-elementor-widgets.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f053a7d3-62b0-4312-b0ca-6ff63380eb0b":{"id":"plugin:1a14afe852fefe7b22ccad3893672a29","title":"One Click Accessibility","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pojo-accessibility\/assets\/js\/app.min.js"],"is_default":0,"condition":"pojo-accessibility\/pojo-accessibility.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"61e11800-48a9-4354-8a4c-ac9a2b4b033a":{"id":"plugin:b9ed0fe6f2cdbd305691a6b857f4b3dc","title":"OoohBoi Steroids for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ooohboi-steroids-for-elementor\/"],"is_default":0,"condition":"ooohboi-steroids-for-elementor\/ooohboi-steroids.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"560b78a2-f051-490b-9dc6-a602dece0d81":{"id":"plugin:f1ff18a3e04c4e0995fca9cabffe57a7","title":"Optimole","type":"plugin","icon":"","exclusions":["optimoleData"],"is_default":0,"condition":"optimole-wp\/optimole-wp.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b0fda458-4bf2-41e9-a159-60d4bb6102a6":{"id":"plugin:48ec18bd3f59772d98f85dddab75e305","title":"OSM - OpenStreetMap","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/osm\/js\/OL\/","\/osm\/js\/osm-v3-plugin-lib.js","vectorM"],"is_default":0,"condition":"osm\/osm.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3743ed67-e0d1-4243-bb1f-ee48a445dd10":{"id":"plugin:9eacf0b76484af0259cd788f4923f20c","title":"OxyExtras","type":"plugin","icon":"","exclusions":["vime","vime.esm.js"],"is_default":0,"condition":"oxyextras\/plugin.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"52a21e27-af5b-4476-8d6d-54c323fd1443":{"id":"plugin:e852555c4b4789d78a96d76f503b3262","title":"Oxygen Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/component-framework\/vendor\/aos\/aos.js","AOS.init","oxygen_init_pro_menu","oxy-pro-menu-show-dropdown","oxy-shape-divider","oxygenVSBInitToggleJs"],"is_default":0,"condition":"oxygen\/functions.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ebd282b9-e175-4b83-90a2-fe12389ccd11":{"id":"plugin:6f9419e58ec86c94e7698aaaaf9dc715","title":"PageLoader by Bonfire","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pageloader-by-bonfire\/pageloader.js","bonfire-pageloader-overlay"],"is_default":0,"condition":"pageloader-by-bonfire\/pageloader-by-bonfire.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"0baf6353-aa70-41a9-a3bc-d89870a5839b":{"id":"plugin:3a4c4518eb0f60108ab4934fab27d335","title":"PDF Embedder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pdf-embedder\/js\/(.*).js"],"is_default":0,"condition":"pdf-embedder\/pdf_embedder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cba51ec1-87cc-44eb-b12b-d652e3446507":{"id":"plugin:4f90aca5957cccbf623e3bbc31afa204","title":"Perfect Brands for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/perfect-woocommerce-brands\/assets\/lib\/slick\/slick.min.js","\/perfect-woocommerce-brands\/assets\/js\/functions-frontend.min.js"],"is_default":0,"condition":"perfect-woocommerce-brands\/perfect-woocommerce-brands.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"808e7a4e-025c-4fae-bf82-de3716e5eb0d":{"id":"plugin:84fe214646388d7c021dda25003ac165","title":"Photonic","type":"plugin","icon":"","exclusions":["\/photonic\/include\/js\/front-end\/module\/photonic-baguettebox.min.js"],"is_default":0,"condition":"photonic\/photonic.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"936aff7d-a8ac-4473-a7b5-4b1611b6c557":{"id":"plugin:6838be282f853f71be282783cb1c162b","title":"Pixel Caffein","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/pixel-caffeine\/build\/frontend.js","aepc_pixel"],"is_default":0,"condition":"pixel-caffeine\/pixel-caffeine.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ab3a4ef5-2732-4b46-a7c3-17b4e9405cd1":{"id":"plugin:afe0eb7c64d4556a7111c56dd8c4d307","title":"Pixel Manager for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/woocommerce-pixel-manager-pro\/js\/public\/","wpm"],"is_default":0,"condition":"woocommerce-pixel-manager-pro\/woocommerce-pixel-manager.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2774f964-50b2-425e-8a30-0a02f421b7e4":{"id":"plugin:38d4b2986868f543639cd1ebc3e510aa","title":"Popup Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/popup-builder\/public\/js\/(.*).js","\/popupbuilder-exit-intent\/public\/javascript\/ExitIntent.js","var sgpbPublicUrl","SGPB_POPUP_PARAMS"],"is_default":0,"condition":"popup-builder\/popup-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"82dbb1e5-31f9-43d7-b522-52819aa49ba5":{"id":"plugin:786717922362642f34a7ff58e919bd95","title":"Popup Maker","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/pum\/pum-site-scripts.js","pum","\/plugins\/popup-maker\/assets\/js\/site.min.js"],"is_default":0,"condition":"popup-maker\/popup-maker.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"48e08305-1f1c-4ef4-9f13-24af1b155abc":{"id":"plugin:17831cbb64e469c7f66224c8c63d0a58","title":"PowerPack Addons for Elementor","type":"plugin","icon":"","exclusions":["\/powerpack-lite-for-elementor\/assets\/js\/min\/frontend.min.js"],"is_default":0,"condition":"powerpack-lite-for-elementor\/powerpack-lite-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e037ae2f-e36b-4f1a-ada8-eb8fde6746f2":{"id":"plugin:80e1283ea1afead3ca904fad792643c5","title":"Preloader Plus","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/preloader-plus\/(.*)"],"is_default":0,"condition":"preloader-plus\/preloader-plus.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"90fed478-e89a-455c-8371-836bee58fb81":{"title":"Premium Addons for Elementor","condition":"premium-addons-for-elementor\/premium-addons-for-elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/premium-addons.min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/isotope.min.js","\/premium-addons-elementor\/pa-frontend-(.*).min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/slick.min.js","\/premium-addons-pro\/assets\/frontend\/min-js\/tooltipster.min.js","window.scopes_array","lottie.min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/premium-nav-menu.min.js"],"icon_url":"","type":"plugin","id":"plugin:debbfbbcbdf9ffb465bbc40008d99f02","is_default":0,"created_at":1693315214},"7e43c261-77be-48fc-b25a-8953a654ae85":{"id":"plugin:100a0382fcf3d1b6b22da928bce46ea8","title":"Presto Player","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/dist\/vendor\/regenerator-runtime.min.js","\/presto-player\/dist\/components\/web-components\/web-components.esm.js","\/presto-player\/src\/player\/player-static.js","var player","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"is_default":0,"condition":"presto-player\/presto-player.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3d6f509f-d040-4279-9a2f-a4e6eae1e9df":{"id":"plugin:c0fce700121492b566517e68301db382","title":"Price Based on Country for WooCommerce Pro","type":"plugin","icon":"","exclusions":["\/woocommerce-product-price-based-on-countries\/assets\/js\/ajax-geolocation.min.js","\/woocommerce-price-based-country-pro-addon\/assets\/js\/currency-switcher.min.js","add-to-cart.min.js","cart-fragments.min.js"],"is_default":0,"condition":"woocommerce-price-based-country-pro-addon\/woocommerce-price-based-country-pro-addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b970bc8a-bcbe-4d08-8ac0-a6853ab3f036":{"id":"plugin:f1ecfe258440b371124999ca3bfbfff3","title":"Prime Slider","type":"plugin","icon":"","exclusions":["\/plugins\/bdthemes-prime-slider-lite\/assets\/js\/bdt-uikit.min.js"],"is_default":0,"condition":"bdthemes-prime-slider-lite\/bdthemes-prime-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e5458963-f167-4b68-88e4-77dd39af2842":{"id":"plugin:29ea8f4dd72f5a5c5927917fb0665a05","title":"PRO Elements","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pro-elements\/"],"is_default":0,"condition":"pro-elements\/pro-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b119ad72-f498-4576-bb71-9e6d8c37b68f":{"title":"Product Filter by WBW (for WooCommerce)","condition":"woo-product-filter\/woo-product-filter.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/wp-content\/plugins\/woo-product-filter\/modules\/woofilters\/js\/frontend.woofilters.js","\/wp-includes\/js\/jquery\/ui\/mouse.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/jquery\/ui\/slider.min.js"],"icon_url":"","type":"plugin","id":"plugin:e57ad91e0d94fab011353af544873743","is_default":0,"created_at":1685686062},"7b779aca-e497-4da3-8e51-fa12837d15ab":{"title":"Product Filters for WooCommerce","condition":"woocommerce-product-filters\/woocommerce-product-filters.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-product-filters\/","\/woocommerce\/assets\/js\/accounting\/accounting.min.js","\/wp-includes\/js\/jquery\/ui\/","wcpf-load-project","WCPFData"],"icon_url":"","type":"plugin","id":"plugin:719469f1c977f7109d3d6ee21ecd5a16","is_default":0,"created_at":1691235154},"2b2a51f2-bd47-4591-92d8-4a690bce5d99":{"id":"plugin:a898898b2b0ea2cd82e20a6d3a3aa47b","title":"Product Gallery Slider for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/twist\/assets\/js\/slick.min.js","wpgs-public-js-after"],"is_default":0,"condition":"twist\/twist.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"062c5be3-e5ea-4958-9619-44e3410f237e":{"title":"Product Video Gallery for Woocommerce","condition":"product-video-gallery-slider-for-woocommerce\/product-video-gallery-slider-for-woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/product-video-gallery-slider-for-woocommerce\/public\/js\/nickx.front.js"],"icon_url":"","type":"plugin","id":"plugin:bbc653a91f0635cd2edb0b741aa62b85","is_default":0,"created_at":1693512477},"34d225a4-688c-476b-846b-420774160d6b":{"id":"plugin:e0b123d324c6fc85b8682660c34f8829","title":"Rank Math SEO","type":"plugin","icon":"","exclusions":["local_ga_js"],"is_default":0,"condition":"seo-by-rank-math\/rank-math.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"02305ca0-2c2a-4eef-a802-b8a942771ecc":{"title":"Retainful","condition":"retainful-next-order-coupon-for-woocommerce\/retainful-next-order-coupon-for-woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/retainful-next-order-coupon-for-woocommerce\/src\/premium\/assets\/js\/atc-popup.min.js","\/retainful-next-order-coupon-for-woocommerce\/src\/premium\/assets\/js\/exit-intent-popup.js","retainful.com","rnoc-add-to-cart-js-before","rnoc_redirect_coupon_popup"],"icon_url":"","type":"plugin","id":"plugin:f9fdee19ba6aed961d96d86e1521a761","is_default":0,"created_at":1679331508},"b4055250-5813-400f-b663-d390fee989e4":{"id":"plugin:d6a4d07d1b4022d886df52322dcd8a6f","title":"Revolution Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/revslider\/public\/assets\/js\/","\/revslider-(.*)-addon\/","setREVStartSize","rev_slider_","revslider_","window.RS_MODULES"],"is_default":0,"condition":"revslider\/revslider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"0b4e061a-b366-4d5a-a00e-bded4b107133":{"title":"Royal Elementor Addons","condition":"royal-elementor-addons\/wpr-addons.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/royal-elementor-addons\/assets\/js\/frontend.min.js","\/royal-elementor-addons\/assets\/js\/lib\/jarallax\/jarallax.min.js"],"icon_url":"","type":"plugin","id":"plugin:c4b464373716d7ac8e3cfb019aaa6102","is_default":0,"created_at":1688124503},"1b19ec89-171a-4f85-8c4b-b1bcfc6b1433":{"id":"plugin:5e3f85d8c82cc184b945415d1a862601","title":"Sassy Social Share","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/sassy-social-share\/public\/js\/sassy-social-share-public.js","heateorSssLoadEvent"],"is_default":0,"condition":"sassy-social-share\/sassy-social-share.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f5899925-2ab7-43b6-abc4-51b76d664ca6":{"title":"Scrollsequence","condition":"scrollsequence-pro\/scrollsequence-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/scrollsequence-pro\/public\/js\/gsap__premium_only.js","\/scrollsequence-pro\/public\/js\/gsap-scrolltrigger__premium_only.js","\/scrollsequence-pro\/public\/js\/ssq-lib__premium_only.js","scrollsequence-input-script"],"icon_url":"","type":"plugin","id":"plugin:3df51830b6b80668fc342c8dcea495cf","is_default":0,"created_at":1678111131},"043827fc-3df8-45d6-9cd2-14fbe962987a":{"id":"plugin:9d60b5d2de4d828b78c7b088024377d6","title":"ShiftNav Pro - Responsive Mobile Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shiftnav-pro\/assets\/js\/shiftnav(.*).js"],"is_default":0,"condition":"shiftnav-pro\/shiftnav.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bcbaf240-e76f-4620-b7d5-4852c46d4be7":{"id":"plugin:56279bd768c8f27ad1972b6774738bcf","title":"ShiftNav \u2013 Responsive Mobile Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shiftnav-responsive-mobile-menu\/"],"is_default":0,"condition":"shiftnav-responsive-mobile-menu\/shiftnav-responsive-mobile-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bbe0543b-b5af-467b-a90d-e2975d892d8d":{"id":"plugin:1bc7ac87d8ab2301a1b904919dc7a798","title":"Short Pixel Adaptive Image","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/shortpixel-adaptive-images\/assets\/js\/ai(.*).min.js","spai_settings"],"is_default":0,"condition":"shortpixel-adaptive-images\/short-pixel-ai.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"543ab43a-6bd3-4948-a09e-3b95e7c9209d":{"id":"plugin:ce4dea8ddc3caa8d00e95cec3202d32a","title":"Showcase IDX","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","SIDX","search.showcaseidx.com\/js\/app-(.*).js","cdn.shortpixel.ai"],"is_default":0,"condition":"showcase-idx\/showcaseidx.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a16bcab7-1169-46b9-a425-b091478d8312":{"id":"plugin:3ea7d9f75ad03620b0bce2517bd5b8d1","title":"Side Cart WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/woocommerce\/assets\/js\/frontend\/cart-fragments.min.js","\/plugins\/woocommerce\/assets\/js\/frontend\/add-to-cart.min.js","\/plugins\/woocommerce\/assets\/js\/jquery-blockui\/jquery.blockUI.min.js","\/plugins\/woocommerce\/assets\/js\/js-cookie\/js.cookie.min.js"],"is_default":0,"condition":"side-cart-woocommerce\/xoo-wsc-main.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"521f748e-cf09-4019-bd28-b52daef5f16f":{"id":"plugin:7843983bf90dbae16c6e889382c71b23","title":"Simple Banner","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/simple-banner\/","simpleBannerScriptParams"],"is_default":0,"condition":"simple-banner\/simple-banner.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"76026e82-d9cf-482c-b480-55c57693a184":{"id":"plugin:b6825f971d35a5515d095564a2e40936","title":"Site Kit by Google","type":"plugin","icon":"","exclusions":["google-analytics.com\/analytics.js","ga\\( '","ga\\('","\/gtag\/js","gtag\\(","\/gtm.js"],"is_default":0,"condition":"google-site-kit\/google-site-kit.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"79c458d7-f7f7-4072-919d-ad337bde6ae3":{"id":"plugin:5ce5dfecdc9d3292c69a1413bbd17d3c","title":"Slick Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/slick-menu\/"],"is_default":0,"condition":"slick-menu\/slick-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"dd0ea584-0c99-4c30-b46d-da35b94c9f0a":{"id":"plugin:ffb5f8cc0ea17886dbd05f601ca3eec0","title":"Slider by Soliloquy","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","soliloquy-min.js","soliloquy_slider"],"is_default":0,"condition":"soliloquy-lite\/soliloquy-lite.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ecb2fffc-d289-4f68-ae94-71131f17deee":{"id":"plugin:2f373822dceb191c31c8ad2183d51869","title":"Smart Slider 3","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/smart-slider-3\/(.*).js","_N2"],"is_default":0,"condition":"smart-slider-3\/smart-slider-3.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"284ede43-bf80-419e-8414-46c26cb746f0":{"id":"plugin:720ec9fbbd8a52ce525959a68a5310b3","title":"Smart Slider 3 Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/SmartSlider3\/(.*).js","_N2"],"is_default":0,"condition":"nextend-smart-slider3-pro\/nextend-smart-slider3-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c3334c29-4160-42df-a1ce-f8aeeaee8668":{"title":"Super Socializer","condition":"super-socializer\/super_socializer.php","exclusions":["theChamp","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:660defe26748470c3a47366cd4012579","is_default":0,"created_at":1677853633},"f18b4242-fe3f-4e2b-bfc9-ac2fb3939a90":{"title":"Superfly Menu","condition":"superfly-menu\/main.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate((.*?)(.min?)?).js","\/superfly-menu\/includes\/vendor\/looks_awesome\/icon_manager\/js\/md5.js","\/superfly-menu\/includes\/vendor\/looks_awesome\/icon_manager\/js\/util.js","\/superfly-menu\/js\/public.min.js","window.SFM_is_mobile","var SFM_skew_disabled","var SFM_template"],"icon_url":"","type":"plugin","id":"plugin:ccb15175093bc6c437b78797f0698a7b","is_default":0,"created_at":1684301673},"1a05c00a-8562-45bc-80e8-987a4574b1c9":{"title":"Symplr Ads","condition":"symplr-ads\/symplr-plugin.php","exclusions":["\/symplr-ads\/","cdns.symplr.de"],"icon_url":"","type":"plugin","id":"plugin:3b6d39e28a87e86c4659491e2368ff61","is_default":0,"created_at":1692199959},"858d2d7f-bdac-4d27-ba26-baa9ace96ba4":{"id":"plugin:7d93008296bb5c7c43d4cba185ed2632","title":"Tabby Responsive Tabs","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/tabby-responsive-tabs\/js\/tabby.js","RESPONSIVEUI"],"is_default":0,"condition":"tabby-responsive-tabs\/tabby-responsive-tabs.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e44a5c93-bb77-4624-a121-d846905137ea":{"id":"plugin:2f563bbb7e92363ec3fb2989a1c7dffe","title":"The Plus Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/theplus-addons\/(.*)"],"is_default":0,"condition":"the-plus-addons-for-elementor-page-builder\/theplus_elementor_addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2bbac961-b000-4802-ae97-d52472ec6750":{"title":"The Plus Addons for Elementor Premium","condition":"theplus_elementor_addon\/theplus_elementor_addon.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-content\/plugins\/theplus_elementor_addon\/","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig"],"icon_url":"","type":"plugin","id":"plugin:6e127deaaeefbe57ff945b1f9e274518","is_default":0,"created_at":1688143611},"666b45e8-749c-4140-bd17-e1cd589e03ee":{"id":"plugin:b9c418b47c986935a1151ab9b42f8971","title":"ThemeREX Addons","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/trx_addons\/js\/__scripts-full.js","\/trx_addons\/components\/cpt\/layouts\/shortcodes\/menu\/superfish.min.js"],"is_default":0,"condition":"trx_addons\/trx_addons.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a750cada-eb58-4df4-9966-21c8a69332ba":{"id":"plugin:75af9efe22c5cc776636266feb55adf1","title":"Thrive Architect","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"thrive-visual-editor\/thrive-visual-editor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"13714cde-680e-4ca4-8607-c35952d6a5f2":{"title":"Thrive Comments","condition":"thrive-comments\/thrive-comments.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-leads\/","window.TL_Const","var ml=","\/thrive-comments\/assets\/js\/","ThriveComments","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js"],"icon_url":"","type":"plugin","id":"plugin:6a72d06ca2f6a888b0d9d5ea93af2edc","is_default":0,"created_at":1677852974},"aa7ca898-499f-4f04-b419-3de199996969":{"id":"plugin:b84d82c02cade64ade00712b9c5652aa","title":"Thrive Leads","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-leads\/","window.TL_Const","var ml=","\/thrive-comments\/assets\/js\/","ThriveComments","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js"],"is_default":0,"condition":"thrive-leads\/thrive-leads.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"9eee297a-8241-4ef2-af97-46074bd0898c":{"id":"plugin:5bb61b0559b0a3fd578315b553451327","title":"Thrive Quiz Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"thrive-quiz-builder\/thrive-quiz-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c2f3ec2a-5b09-4845-aa95-84841783fbfc":{"id":"plugin:a7f3e5206abff19ca7cf142260181738","title":"Thrive Ultimatum","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-ultimatum\/","var TVE_Ult_"],"is_default":0,"condition":"thrive-ultimatum\/thrive-ultimatum.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"d48b8d2f-e071-4a30-840a-306154a115a0":{"id":"plugin:f57be2014b6a489d053f8367fa6c0f9f","title":"Tidio Chat","type":"plugin","icon":"","exclusions":["document.tidioChatCode"],"is_default":0,"condition":"tidio-live-chat\/tidio-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cb6d33ed-7eb4-4ff9-9ad0-7fc54fbecf6f":{"id":"plugin:c9e0485ec256d4a6a8d92a98c18d76fc","title":"Toolset Blocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","toolsetCommonEs.fontToHead","toolsetCommonEs.styleToHead","\/toolset-blocks\/vendor\/toolset\/blocks\/public\/js\/frontend.js","\/toolset-blocks\/vendor\/toolset\/common-es\/public\/toolset-common-es-frontend.js","\/toolset-blocks\/public\/js\/views-frontend.js","\/wp-includes\/js\/underscore.min.js"],"is_default":0,"condition":"toolset-blocks\/wp-views.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"4bac6350-0925-49fb-904a-372f22fd6baf":{"id":"plugin:71beda322b37f7fc7d456822493cb972","title":"Top Bar Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/topbar-pro\/js\/tpbr_front.min.js","\/plugins\/topbar-pro\/js\/jquery.cookie.js"],"is_default":0,"condition":"topbar-pro\/topbar_pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"033486e7-0ddc-4915-a848-31504d00448e":{"title":"Twenty20 Image Before-After","condition":"twenty20\/ttwenty.php","exclusions":["\/twenty20\/assets\/js\/(.*).js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","twentytwenty-container"],"icon_url":"","type":"plugin","id":"plugin:23441bba9d3602bc932d697c7cb8aa1f","is_default":0,"created_at":1677858089},"7675a34d-006e-4672-99d5-a81e1b8e47f9":{"id":"plugin:3d59cc34167a7f8123e66b627148e0b7","title":"UberMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ubermenu\/assets\/js\/ubermenu.min.js"],"is_default":0,"condition":"ubermenu\/ubermenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"8233178a-e7b3-43ce-b193-bd0d9c960933":{"id":"plugin:86424c46157c1c7e2e1571055813beee","title":"Ultimate Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ultimate-elementor\/assets\/lib\/slick\/slick.min.js","\/ultimate-elementor\/assets\/min-js\/uael-frontend.min.js","\/ultimate-elementor\/assets\/lib\/isotope\/isotope.min.js","\/ultimate-elementor\/assets\/lib\/jquery-element-resize\/jquery_resize.min.js","\/ultimate-elementor\/assets\/lib\/fancybox\/jquery_fancybox.min.js","\/ultimate-elementor\/assets\/lib\/justifiedgallery\/justifiedgallery.min.js","\/elementor-pro\/assets\/js\/frontend.min.js","\/wp-includes\/js\/imagesloaded.min.js","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js","\/elementor\/assets\/lib\/swiper\/swiper.min.js","\/nasa-core\/assets\/js\/min\/jquery.slick.min.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig"],"is_default":0,"condition":"ultimate-elementor\/ultimate-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8bddf484-6c78-4147-a4e6-d3039904e5f6":{"title":"Ultimate Addons for Elementor - Mobile Menu","condition":"ultimate-elementor\/ultimate-elementor.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/ultimate-elementor\/assets\/js\/uael-nav-menu.js","\/ultimate-elementor\/assets\/min-js\/uael-nav-menu.min.js"],"icon_url":"","type":"plugin","id":"plugin:70cfade3a7adbb54196f6acccc5a176f","is_default":0,"created_at":1694771327},"028504f7-b1cd-4318-8a6d-ce186197e89d":{"id":"plugin:0f0a91f0c454021a5ff9fc25c3ed419f","title":"Ultimate Addons for WPBakery Page Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Ultimate_VC_Addons\/assets\/"],"is_default":0,"condition":"Ultimate_VC_Addons\/Ultimate_VC_Addons.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"5754af3d-a6af-49eb-b731-bdd82f26dc4e":{"id":"plugin:34db8636812bad84c8aea037c2ddc8c2","title":"Ultimate Responsive Image Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","sliderPro"],"is_default":0,"condition":"ultimate-responsive-image-slider\/ultimate-responsive-image-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"78ae882d-ae31-4179-b677-8893814938c7":{"title":"Unlimited Elements for Elementor Premium - Slider","condition":"unlimited-elements-for-elementor-premium\/unlimited-elements-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/unlimited-elements-for-elementor-premium\/","uc_"],"icon_url":"","type":"plugin","id":"plugin:17260bc347b8c29bee0010e9ec164184","is_default":0,"created_at":1683270377},"051cbfbb-7ad2-4f06-a493-3cf423a80904":{"id":"plugin:6717ef5673a956bc08ca4a5117065d53","title":"Variation Swatches for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jquery\/ui\/","\/woo-variation-swatches\/","\/woo-variation-swatches-pro\/","underscore.min.js"],"is_default":0,"condition":"woo-variation-swatches\/woo-variation-swatches.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"6879caba-7224-4eca-bcb2-370785b495ea":{"id":"plugin:57597b7683e01892932083413f085134","title":"Web Accessibility By accessiBe","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/accessibe\/","acsbJS"],"is_default":0,"condition":"accessibe\/accessiebe.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"bd6732fe-4c2b-40a1-9035-8464057e2da5":{"title":"WooCommerce - Cart Fragments","condition":"woocommerce\/woocommerce.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/woocommerce\/assets\/js\/frontend\/cart-fragments.min.js","\/woocommerce\/assets\/js\/js-cookie\/js.cookie.min.js"],"icon_url":"","type":"plugin","id":"plugin:201de694c6fc28c8d580a3b2ca484218","is_default":0,"created_at":1680937567},"d044900d-07e1-4533-9516-33106efcb259":{"title":"WooCommerce - Product description","condition":"woocommerce\/woocommerce.php","exclusions":["\/plugins\/woocommerce\/assets\/js\/frontend\/single-product.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:a82644b4c9417ea3a240939a73344700","is_default":0,"created_at":1679309756},"bff953b1-2213-4666-8112-76a84a3cc207":{"title":"WooCommerce - Product Gallery","condition":"woocommerce\/woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/zoom\/jquery.zoom(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/photoswipe\/","\/woocommerce\/?(.*)\/assets\/js\/flexslider\/jquery.flexslider(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/frontend\/single-product(.min)?.js","wc_single_product_params"],"icon_url":"","type":"plugin","id":"plugin:7665868ff97c265628f376523a4f9ecc","is_default":0,"created_at":1686579689},"016e6ddf-c6e7-49ec-bd3f-2585d9e45895":{"title":"WooCommerce - Select2 library","condition":"woocommerce\/woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce\/assets\/js\/select2\/select2(.*).js"],"icon_url":"","type":"plugin","id":"plugin:4bca670bd5d55dd24b17fb0193b0891e","is_default":0,"created_at":1681459540},"b9b2c6d7-944f-4ae3-ae04-c9e2204b9dab":{"id":"plugin:9165c768e978d6ad3f696db8c78ccbb2","title":"WooCommerce Attribute Swatches","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/iconic-woo-attribute-swatches-premium\/assets\/frontend\/js\/main.min.js","\/iconic-woo-attribute-swatches-premium\/assets\/vendor\/flickity\/flickity.pkgd.min.js","iconic_was_vars"],"is_default":0,"condition":"iconic-woo-attribute-swatches-premium\/iconic-woo-attribute-swatches.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4506c5e9-7349-44c9-9967-34370c83facb":{"title":"WooCommerce Bookings","condition":"woocommerce-bookings\/woocommerce-bookings.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/woocommerce-bookings\/dist\/frontend.js","\/wp-includes\/js\/dist\/date.min.js","\/wp-includes\/js\/dist\/vendor\/moment.min.js","\/wp-includes\/js\/jquery\/ui\/datepicker.min.js","\/wp-includes\/js\/underscore.min.js","\/woocommerce\/assets\/js\/jquery-blockui\/jquery.blockUI.min.js","\/wp-includes\/js\/dist\/hooks.min.js"],"icon_url":"","type":"plugin","id":"plugin:14dec6d289b9977fa3a74116feecebcc","is_default":0,"created_at":1693998405},"fec9cd04-c358-45da-a1a8-1668b964016b":{"id":"plugin:456f3b849ba3b6647246aca9d7cdaed5","title":"WooCommerce Product Reviews Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","wc_product_reviews_pro","\/woocommerce-product-reviews-pro\/assets\/js\/frontend\/wc-product-reviews-pro-frontend.min.js","\/woocommerce\/assets\/js\/jquery-tiptip\/jquery.tipTip.min.js"],"is_default":0,"condition":"woocommerce-product-reviews-pro\/woocommerce-product-reviews-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"551a9399-627f-4978-9bae-5cc8e0aefc82":{"id":"plugin:c8577e74eef3b082fb6403760d53f68c","title":"WooCommerce TM Extra Product Options","type":"plugin","icon":"","exclusions":["\/woocommerce-tm-extra-product-options\/assets\/js\/epo.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/jquery\/ui\/mouse.min.js","\/wp-includes\/js\/jquery\/ui\/slider.min.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/wp-util.min.js","\/wp-includes\/js\/dist\/hooks.js","\/wp-includes\/js\/dist\/i18n.js"],"is_default":0,"condition":"woocommerce-tm-extra-product-options\/tm-woo-extra-product-options.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3cac4650-6a52-448e-8e48-e99a772a59a2":{"id":"plugin:c6e6cab8c80fa3fe57d609f72d2d5c56","title":"WooLentor","type":"plugin","icon":"","exclusions":["\/woolementor\/assets\/third-party\/slick\/slick.min.js","\/woolentor-addons","woolentor_addons"],"is_default":0,"condition":"woolentor-addons\/woolentor_addons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"67aeb4cb-1a00-4d10-a00c-34888b4c0dba":{"title":"WooThumbs for WooCommerce","condition":"woothumbs-premium\/woothumbs-premium.php","exclusions":["\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/wp-embed.min.js","\/wp-includes\/js\/wp-util.min.js","\/woothumbs-premium\/(.*)"],"icon_url":"","type":"plugin","id":"plugin:b97b1d3f627769e1dd8305aa25af993c","is_default":0,"created_at":1679065404},"c7a14763-88d0-4344-a6af-e0a8dc5fa8d5":{"id":"plugin:31b9e812a025e5750a6ef0980ee7d2db","title":"WordPress Mega Menu \u2013 QuadMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/quadmenu","#private-menu","#public-menu"],"is_default":0,"condition":"quadmenu\/quadmenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f699fdbd-84a7-4f24-b729-3e4a4f83a4dd":{"id":"plugin:601f8fc7d10cad1c2ec2949c0d9b1651","title":"WP Armour","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/honeypot\/includes\/js\/wpa.js","\/wp-armour-extended\/includes\/js\/wpae.js","wpa_hidden_field","wpa_add_test"],"is_default":0,"condition":"wp-armour-extended\/wp-armour-extended.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"6a28aae5-ef91-43fc-8204-92e3a25642b4":{"id":"plugin:5728f3b9856dfe37a36ab15b0a637198","title":"WP Go Maps","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","maps.googleapis.com"],"is_default":0,"condition":"wp-google-maps\/wpGoogleMaps.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c9b991d1-a653-404b-be85-e276b1814e7d":{"title":"WP Google Map Pro","condition":"wp-google-map-gold\/wp-google-map-gold.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","maps.google.com\/maps\/api\/js","\/wp-includes\/js\/masonry.min.js","\/wp-google-map-gold\/(.*)"],"icon_url":"","type":"plugin","id":"plugin:dc12a9b7b9c4c7ce3c532b6b377739f2","is_default":0,"created_at":1677858391},"1f8f9fbf-fbf0-4e3a-b77c-af0fa47e950d":{"id":"plugin:87f572f5f0ec143a8fceba77d0616197","title":"WP Google Maps Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-google-maps(.*)","maps.googleapis.com","mgl_","wpgmza"],"is_default":0,"condition":"wp-google-maps-pro\/wp-google-maps-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"41e4b98c-e63f-4800-a478-02592562322b":{"id":"plugin:3735ca768ede98b25795f4cb057ff4ed","title":"WP iCal Availability","type":"plugin","icon":"","exclusions":["\/wp-ical-availability\/js\/custom-select.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-ical-availability\/"],"is_default":0,"condition":"wp-ical-availability\/wp-ical-availability.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"2b06c5b8-dc32-4bb0-8504-3a9f1c3a1ec0":{"title":"WP MapIt","condition":"wp-mapit\/wp_mapit.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-mapit\/wp_mapit\/js\/leaflet.js","\/wp-mapit\/wp_mapit\/js\/wp_mapit_multipin.js"],"icon_url":"","type":"plugin","id":"plugin:ba8d1c7f294a3f5b593556eb3b0bc7d9","is_default":0,"created_at":1679331261},"2039eafd-1c11-4e21-a61b-30857f291ae3":{"id":"plugin:927b8bf7806f2d287559b86a0b455a59","title":"WP Responsive Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-responsive-menu\/(.*)"],"is_default":0,"condition":"wp-responsive-menu\/wp-responsive-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e06be942-cccd-4b2d-a268-06dc78f0b820":{"title":"WP Search with Algolia","condition":"wp-search-with-algolia\/algolia.php","exclusions":["\/wp-search-with-algolia\/js\/algoliasearch\/dist\/algoliasearch-lite.umd.js","\/wp-search-with-algolia\/js\/autocomplete-noconflict.js","\/wp-search-with-algolia\/js\/autocomplete.js\/dist\/autocomplete.min.js","var algolia"],"icon_url":"","type":"plugin","id":"plugin:43267e659d599fbb6b42c719b49bb7a7","is_default":0,"created_at":1677857180},"4fc2a7ae-b9e6-410e-93cf-e6d1962add6a":{"id":"plugin:4fb90fc73fc2b5d1e37ea2dadfd3cef3","title":"WP Smart Preloader","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/wp-smart-preloader\/assets\/js\/wsp-main-script(.min)?.js"],"is_default":0,"condition":"wp-smart-preloader\/wp-preloader.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7ecf40ce-2bcd-412c-bb01-9e71fecf6be8":{"id":"plugin:d37bb5054a24471ca1675d9ab49d01b0","title":"WP Store Locator","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/wp-store-locator\/","\/wp-includes\/js\/underscore.min.js","maps.google.com"],"is_default":0,"condition":"wp-store-locator\/wp-store-locator.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7a1d19a2-3a48-40ab-8051-f642fc63ce2d":{"title":"WP Ultimate Post Grid","condition":"wp-ultimate-post-grid\/wp-ultimate-post-grid.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/wp-ultimate-post-grid\/dist\/public.js","\/wp-ultimate-post-grid-premium\/dist\/public-premium.js","wpupg_grid_args"],"icon_url":"","type":"plugin","id":"plugin:e24341fef49bd64b89682d583218c108","is_default":0,"created_at":1686597940},"76c86163-ddf3-4113-b620-de9d5058f505":{"id":"plugin:517d7d24da9a7072ed389d0fb30374a0","title":"WPBakery Page Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js"],"is_default":0,"condition":"js_composer\/js_composer.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4f5e5b98-c326-4b9f-9ada-3b257862132c":{"id":"plugin:1ec7138c950c355e7af60d49c81139fc","title":"wpDataTables","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wpdatatables\/","highcharts"],"is_default":0,"condition":"wpdatatables\/wpdatatables.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"18be1b8c-0bc4-4a01-abc6-a127aff380c6":{"id":"plugin:c62ca58ea081c1271de8dadfa7daac69","title":"WPForms","type":"plugin","icon":"","exclusions":["\/wpforms-offline-forms\/assets\/js\/wpforms-offline-forms.min.js","wpforms-offline-forms-js-extra","wpformsRecaptchaLoad"],"is_default":0,"condition":"wpforms\/wpforms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8a3cacb6-81bd-456a-a1cc-a4025f8e5234":{"id":"plugin:0992ac952c0a05bb35e18b1d5744d346","title":"WPForms Lite","type":"plugin","icon":"","exclusions":["wpformsRecaptchaLoad","\/wpforms-offline-forms\/assets\/js\/wpforms-offline-forms.min.js","wpforms-offline-forms-js-extra"],"is_default":0,"condition":"wpforms-lite\/wpforms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"98bbd410-5b01-4244-a8eb-715765180328":{"title":"XL WooCommerce Sales Triggers","condition":"xl-woocommerce-sales-triggers\/xl-woocommerce-sales-triggers.php","exclusions":["\/xl-woocommerce-sales-triggers\/assets\/js\/wcst_combined.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:ba9e526ddb0157e69757530c6b18b714","is_default":0,"created_at":1677856813},"bf9f9620-dd0e-4e6f-9a45-4eb78a148f42":{"id":"plugin:58663fc781232169e865f6fe7cf1afaa","title":"YITH WooCommerce Ajax Product Filter","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/yith-woocommerce-ajax-navigation\/assets\/js\/yith-wcan-shortcodes.min.js"],"is_default":0,"condition":"yith-woocommerce-ajax-navigation\/init.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b053279d-e07c-438c-bb3e-3a1f4f5d7c5e":{"id":"plugin:68b637fd247e40c8e135e4771d739b07","title":"YITH WooCommerce AJAX Product Filter Premium","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/yith-woocommerce-ajax-product-filter-premium\/assets\/js\/yith-wcan-shortcodes.min.js"],"is_default":0,"condition":"yith-woocommerce-ajax-product-filter-premium\/init.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"d94dbbf3-bcab-4e47-9fbb-6b3a7cf92787":{"title":"Yotpo Social Reviews for Woocommerce","condition":"yotpo-social-reviews-for-woocommerce\/wc_yotpo.php","exclusions":["\/yotpo-social-reviews-for-woocommerce\/assets\/js\/headerScript.js"],"icon_url":"","type":"plugin","id":"plugin:45ab742b3fccbd04d7bc973c8582be87","is_default":0,"created_at":1680686421}},"themes":{"9c623554-5834-4669-9e96-1b894c1939b2":{"id":"theme:0193ea55fce2ada93b262f2824008c0f","title":"Andaman","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/andaman\/assets\/js\/","\/wp-andaman-plugins\/shortcodes\/vc_extend\/"],"is_default":0,"condition":"andaman","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7374c5a5-69f8-460f-b44f-dee884a824cd":{"id":"theme:24cbda63f1b898ade5562ab4ec6d97a5","title":"Artale","type":"theme","icon":"","exclusions":["\/artale-elementor\/assets\/js\/modulobox.js","\/artale-elementor\/assets\/js\/artale-elementor.js","\/artale\/js\/jquery-stellar.js","\/artale\/js\/core\/artale-plugins.js","\/artale\/js\/core\/artale-custom.js","var loader"],"is_default":0,"condition":"artale","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"03a9cc62-c167-447d-beb2-65c76c96b056":{"title":"Astra","condition":"astra","exclusions":["\/astra\/assets\/js\/minified\/frontend.min.js"],"icon_url":"","type":"theme","id":"theme:3cce5f3eaf76e098ba8e28f7bbba3f92","is_default":0,"created_at":1681390022},"2a2b54cb-8e1d-49d2-bfca-93eee231e470":{"id":"theme:72a8d63e59c10bdf512a62b862d143a7","title":"Astra - Carousel","type":"theme","icon":"","exclusions":["var astra","\/astra\/assets\/js\/minified\/style.min.js"],"is_default":0,"condition":"astra","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7783361f-66fc-4d95-a054-4e9545bb5b48":{"title":"Auteur","condition":"g5plus-auteur","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/g5plus-auteur\/assets\/js\/core.min.js","\/g5plus-auteur\/assets\/vendors\/","\/auteur-framework\/libs\/smart-framework\/assets\/vendors\/perfect-scrollbar\/js\/perfect-scrollbar.jquery.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"icon_url":"","type":"theme","id":"theme:6207fe478e269e7547bda70a46607a49","is_default":0,"created_at":1679737107},"4c618038-8fc7-4d48-8d41-a32da14e5c1e":{"title":"AutoTrader","condition":"autotrader","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/autotrader\/(.*).js"],"icon_url":"","type":"theme","id":"theme:046dfeee2b77390c53e0e7f93b6a3792","is_default":0,"created_at":1679736741},"18f04f23-35a0-4c45-8cb6-a91d57ca1790":{"id":"theme:835da12f43373029659f766920e81b47","title":"Avada - Animations & mobile-specific actions","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/fusion-scripts\/(.*).js","window.off_canvas_","\/plugins\/fusion-builder\/","\/plugins\/fusion-core\/","\/Avada\/includes\/"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"90135867-1b95-498b-80d6-f5dbf2f6b318":{"title":"Avada - FAQ shortcode","condition":"Avada","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/fusion-core\/js\/min\/avada-faqs.js"],"icon_url":"","type":"theme","id":"theme:b084708c80d8582546e5430219aa4670","is_default":0,"created_at":1678277160},"d23b5bb1-1d7f-4109-bf69-b20a2be2d337":{"id":"theme:5e7a2248e1a53d9bb27b187deb541248","title":"Avada - Fusion carousel","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.carouFredSel.js","\/includes\/lib\/assets\/min\/js\/general\/fusion-carousel.js","fusionCarouselVars"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"98dfa8c1-e72a-4cef-a0b2-8f0c322490fc":{"id":"theme:f16fb109027f4994a7649a8b1663e6f7","title":"Avada - Fusion form","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-form.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-form-logics.js","\/includes\/lib\/assets\/min\/js\/library\/cssua.js","\/includes\/lib\/assets\/min\/js\/general\/fusion.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"026801fa-af67-47ba-b966-347693f0585f":{"id":"theme:33f50696d353d8bd4eb59ff6e8f44c97","title":"Avada - Fusion grid gallery","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-gallery.js","\/includes\/lib\/assets\/min\/js\/library\/imagesLoaded.js","\/includes\/lib\/assets\/min\/js\/library\/isotope.js","\/includes\/lib\/assets\/min\/js\/library\/packery.js","\/includes\/lib\/assets\/min\/js\/library\/lazysizes.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c8349314-15a3-481e-973b-e4d936e4420e":{"id":"theme:56fa9993a573540c83eda9c49fae5e3c","title":"Avada - Fusion slider","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-core\/js\/min\/avada-fusion-slider.js","\/Avada\/includes\/"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"55bd510c-78aa-49d5-8304-8be2ee2ab0da":{"id":"theme:2189c1c769d65cfc2182e4822847071b","title":"Avada - Mobile menu","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/assets\/min\/js\/general\/avada-menu.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.easing.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ddf00672-c35c-4b68-aeca-925e68bf12b2":{"id":"theme:97a185f08af70c39c7e221faab0f73eb","title":"Avada - OffCanvas","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/fusion-scripts\/(.*).min.js","window.off_canvas_"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"17544cc3-9d3a-4611-bc5d-44d04e2786fa":{"id":"theme:6d49e887153f4b7cad1a3c53bc02d506","title":"Avada - Portfolio","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/includes\/lib\/assets\/min\/js\/library\/imagesLoaded.js","\/includes\/lib\/assets\/min\/js\/library\/isotope.js","\/includes\/lib\/assets\/min\/js\/library\/lazysizes.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js","\/includes\/lib\/assets\/min\/js\/library\/packery.js","\/fusion-core\/js\/min\/avada-portfolio.js","avadaPortfolioVars"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7a04bc85-0fec-4487-ae05-bb2e5d8d0420":{"id":"theme:e3c0b030e73246225b0609ec32506c47","title":"Avada - portfolio","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/library\/packery.js","\/library\/isotope.js","\/library\/imagesLoaded.js","\/general\/fusion-lightbox.js","\/fusion-core\/js\/min\/avada-portfolio.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c6c3347c-14e0-4766-afa5-df33a47f5a5a":{"id":"theme:3ff44421b404c5efffa25e78e479e4ea","title":"Avada - Sticky menu","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Avada\/assets\/min\/js\/general\/avada-menu.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"232596c1-6a6a-4fe8-a5c3-a60fa74a9456":{"id":"theme:0d727d80bb132f17c737e55883fe4be0","title":"Avada - WooCommerce product gallery","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/assets\/min\/js\/general\/avada-woo-product-images.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.flexslider.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"95ece7e4-3b19-45e5-aa28-14f833c9afca":{"title":"Avesa","condition":"avesa","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/avesa\/js\/main.js","\/avesa\/js\/isotope.js","\/sw_core\/js\/slick.min.js","\/avesa\/js\/bootstrap-datetimepicker.min.js","\/avesa\/js\/bootstrap.min.js"],"icon_url":"","type":"theme","id":"theme:aad8bfcc594eec02e3b0d635198dee5e","is_default":0,"created_at":1679737993},"f2bfe477-4e45-4e52-a7d9-4d0ba3a92258":{"title":"Besa","condition":"besa","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/besa\/js\/"],"icon_url":"","type":"theme","id":"theme:c238e89523c46ca28b08e401f42f6ccc","is_default":0,"created_at":1679738204},"bd94908c-8138-4995-986b-47ec66494bdd":{"title":"BeTheme","condition":"betheme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/betheme\/","mfn","\/wp-includes\/js\/jquery\/ui\/tabs.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js"],"icon_url":"","type":"theme","id":"theme:b99156eb9eeb357c0a70bd3bda6861cc","is_default":0,"created_at":1679738639},"6fb2b9d7-6ecc-4260-999c-938fbebdbf01":{"id":"theme:de8504b73ea228d0ea9bbce69752092e","title":"Bridge","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/bridge-creative\/bridge\/js\/","\/wp-includes\/js\/"],"is_default":0,"condition":"bridge","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"65698b6b-85dd-41ef-8fd7-718f1e983dba":{"title":"Car Dealer","condition":"cardealer","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/(.*)","\/cardealer\/js\/(.*)"],"icon_url":"","type":"theme","id":"theme:b1111424fff61af8d1e152dcdd6810f6","is_default":0,"created_at":1679737517},"eb86aedb-91e6-480c-b76c-756ac1da41be":{"title":"Clover","condition":"clover-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/clover-theme\/"],"icon_url":"","type":"theme","id":"theme:89372f3d9321ae09c94488592084da29","is_default":0,"created_at":1679738878},"6e90b649-5736-497f-9bc6-515900cfea8a":{"title":"Divi - Animations","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI"],"icon_url":"","type":"theme","id":"theme:c0abf30dba4ff13db836d1b01685953a","is_default":0,"created_at":1679737389},"70916c43-4e02-4932-b6aa-91a1815bc755":{"title":"Divi - Background video","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/Divi\/js\/custom.unified.js","\/js\/mediaelement\/(.*)","mejs"],"icon_url":"","type":"theme","id":"theme:c7edea41ae6716291e2d32a2ab429209","is_default":0,"created_at":1679738240},"08531785-9818-4e30-903e-564637a2ad7a":{"title":"Divi - Counter module","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/easypiechart.js"],"icon_url":"","type":"theme","id":"theme:2c46b9f5a770f260c3f7115bb330b2d5","is_default":0,"created_at":1679736810},"b996762a-84ef-440d-a089-73a187936fbf":{"title":"Divi - Mobile menu","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js"],"icon_url":"","type":"theme","id":"theme:b9116994f4e4b9b9fa574440c00d2f0d","is_default":0,"created_at":1679738580},"ae096e1e-9c36-46ad-a3d1-c26ea507276b":{"title":"Divi - Sticky elements","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/sticky-elements.js","var DIVI"],"icon_url":"","type":"theme","id":"theme:8b62db03c90245f3e690335b079b05dc","is_default":0,"created_at":1679737191},"349f31f0-dd10-41d3-b0a4-9c5df64879f8":{"title":"Divi - Sticky menu","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/js\/jquery\/jquery-migrate.min.js","\/Divi\/js\/scripts.min.js","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/magnific-popup.js","jqueryParams","firstHeader"],"icon_url":"","type":"theme","id":"theme:b7b84aca0f0dc6a1ced31d38626c50ea","is_default":0,"created_at":1679738821},"59563458-5f04-4959-b3e2-53e49e169d67":{"title":"Divi - WooCommerce Single Product Images","condition":"Divi","exclusions":["\/Divi\/js\/scripts.min.js"],"icon_url":"","type":"theme","id":"theme:f9c5bdba8b39fc877b41dea00fa756f9","is_default":0,"created_at":1684342262},"6426539e-4e43-4fef-ab5a-3eb7b2a8b057":{"title":"Eikra","condition":"eikra","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/eikra\/assets\/js\/","EikraObj"],"icon_url":"","type":"theme","id":"theme:55d2581ad975eb6325bc97fc3d3b0cb8","is_default":0,"created_at":1679738450},"59020bd6-069f-4f2d-afa2-fbdefa03211c":{"title":"Ekko","condition":"ekko","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ekko\/"],"icon_url":"","type":"theme","id":"theme:2c06f4a1949f8ba4e77042a47674fd9e","is_default":0,"created_at":1679737803},"d82f5cdd-c5d3-4596-94dc-1e25aaff2083":{"title":"Elessi","condition":"elessi-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elessi-theme\/assets\/js\/min\/functions.min.js","\/elessi-theme\/assets\/js\/min\/main.min.js"],"icon_url":"","type":"theme","id":"theme:d5d2b7fda7b8a2b5b91d430f7602e230","is_default":0,"created_at":1679737773},"f0587c21-54d0-429d-8efe-18a93dacb18d":{"id":"theme:5fc04cc678cb54567aedb51027933002","title":"Enfold","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/dynamic_avia\/avia-footer-scripts-(.*).js","var avia_is_mobile"],"is_default":0,"condition":"enfold","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cc0550cb-918e-419d-b4f2-1809cf666dbb":{"id":"theme:eb759a03d0ca292c948f09d004a2963f","title":"Enfold - LayerSlider","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","layerslider"],"is_default":0,"condition":"enfold","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ec883654-4f63-4fae-a3ef-923dcbc2426d":{"title":"Enfold - Shortcodes","condition":"enfold","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/enfold\/js\/avia.js","\/enfold\/js\/shortcodes.js","\/enfold\/config-templatebuilder\/avia-shortcodes\/","\/enfold\/js\/avia-compat.js","\/enfold\/js\/waypoints\/waypoints.min.js","\/enfold\/js\/avia-snippet-(.*).js"],"icon_url":"","type":"theme","id":"theme:072fc4077d7071791d774d6ddbf5dc2a","is_default":0,"created_at":1684519716},"fe3546f0-be3e-4173-8992-a7f6f203b82f":{"title":"Envision","condition":"envision","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/envision\/lib\/js\/app.min.js","var CloudFwOp"],"is_default":1,"icon_url":"","type":"theme","id":"theme:fc5f7d69b646ed95835badc0fc23bc11","created_at":1679737494},"d997b942-19de-4710-9c81-79d3c65cbd76":{"id":"theme:047f009f2a1f4cdf2088c46be47e385b","title":"Ewebot","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/gt3-themes-core\/","\/uploads\/gt3-assets\/js\/(.*)","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"ewebot","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"53d29aec-8ae4-4273-b748-f5bd52dfe177":{"title":"Farvis","condition":"farvis","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/farvis\/"],"icon_url":"","type":"theme","id":"theme:26bff2f3a6ff6347d35edf5c77a35687","is_default":0,"created_at":1679737972},"fb01246b-a5f8-4021-b514-c02cf55e80bd":{"title":"Flatsome","condition":"flatsome","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/flatsome\/assets\/js\/flatsome.js","\/flatsome\/assets\/libs\/packery.pkgd.min.js","\/flatsome\/assets\/js\/woocommerce.js"],"icon_url":"","type":"theme","id":"theme:26fb1cf80f074ca199d8a7e94c5fc796","is_default":0,"created_at":1679738732},"4d65dc12-9ce7-4171-94a7-9821fd95240e":{"id":"theme:28a6f8b3319c107a34603be0f01a4bcf","title":"Flatsome - Google map","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","maps.googleapis.com","google.maps.LatLng","\/wp-includes\/js\/hoverIntent.min.js"],"is_default":0,"condition":"flatsome","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"890e15b6-c66b-4a9e-9b7d-55417df94916":{"title":"Flatsome - Images","condition":"flatsome","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/flatsome\/inc\/integrations\/wp-rocket\/flatsome-wp-rocket.js","\/flatsome\/assets\/js\/flatsome.js","\/flatsome\/inc\/extensions\/flatsome-lazy-load\/flatsome-lazy-load.js"],"icon_url":"","type":"theme","id":"theme:f2d60aad9f2f5395e3e145cf8f8ab165","is_default":0,"created_at":1679737691},"cb54d070-8ee0-4c35-9fa9-b2bac73ccf39":{"title":"Frida","condition":"frida","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/frida\/"],"icon_url":"","type":"theme","id":"theme:109ddf56796a5133e12279f3daa5ff62","is_default":0,"created_at":1679738013},"9e78539a-03d9-442b-ab94-dd3b7a9658e4":{"id":"theme:80a330247d61d729fcd78dc01de6ed2f","title":"GeneratePress - Mobile menu","type":"theme","icon":"","exclusions":["\/generatepress\/assets\/js\/menu.min.js","generatepressMenu","\/gp-premium\/menu-plus\/functions\/js\/offside.min.js"],"is_default":0,"condition":"generatepress","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"2c72e7e6-cb77-44e9-af87-d5c42ae6db52":{"title":"Honor - WPBakery fix","condition":"honor","exclusions":["\/honor\/js\/__scripts.js","HONOR_STORAGE","\/js_composer\/"],"icon_url":"","type":"theme","id":"theme:9f228373ff4d172655dbf5cb3b1bc23a","is_default":0,"created_at":1679736895},"9309d1d3-1035-4a2c-8ced-075bc3ff9957":{"title":"HotelMaster","condition":"hotelmaster","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/hotelmaster\/javascript\/gdlr-script.js","\/hotelmaster\/plugins\/dl-menu\/modernizr.custom.js","\/hotelmaster\/plugins\/dl-menu\/jquery.dlmenu.js","\/hotelmaster\/plugins\/superfish\/js\/superfish.js","\/hotelmaster\/plugins\/jquery.easing.js"],"icon_url":"","type":"theme","id":"theme:978eaddad3b1047e479407b6d92197aa","is_default":0,"created_at":1679738595},"4a09f745-cbb1-47c8-b50a-c8014d5d1335":{"id":"theme:e813a548bceac6765a1cdf2316f1a6ab","title":"HotelMaster - Blog","type":"theme","icon":"","exclusions":["\/wp-includes\/js\/masonry.min.js","\/gp-premium\/blog\/functions\/js\/scripts.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"hotelmaster","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f2d8f704-ec68-4278-9ca2-885daa0c1ce5":{"id":"theme:398a264e302e42640553681e8759cd07","title":"HotelMaster - Masonry","type":"theme","icon":"","exclusions":["\/gp-premium\/menu-plus\/functions\/js\/offside.min.js","offSide"],"is_default":0,"condition":"hotelmaster","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"df52436c-53d6-461a-b81a-cd0b21680524":{"title":"JNews","condition":"jnews","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/jnews\/assets\/js\/","jnews","jfla"],"icon_url":"","type":"theme","id":"theme:5d90e451984f9d894b1aabb0d00f30a2","is_default":0,"created_at":1679738860},"87ed69a2-3295-4fad-a82e-eeb02925a5dc":{"title":"Jobify","condition":"jobify","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/jobify\/js\/jobify.min.js","\/jobify\/js\/select2.full.min.js"],"icon_url":"","type":"theme","id":"theme:592006aa4562a6915e344e5e2a09e5ee","is_default":0,"created_at":1686856948},"28a0b1ea-8d2f-4931-a48a-166b8df8a773":{"title":"JOYN","condition":"joyn","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/swift-framework\/includes\/page-builder\/frontend-assets\/js\/lib\/modernizr-custom.js","\/swift-framework\/includes\/page-builder\/frontend-assets\/js\/spb-functions.min.js","\/swift-framework\/includes\/swift-slider\/assets\/js\/swift-slider.min.js","\/swift-framework\/public\/js\/lib\/imagesloaded.pkgd.min.js","\/joyn\/js\/owl.carousel.min.js","\/joyn\/js\/theme-scripts.js","\/joyn\/js\/functions.js"],"icon_url":"","type":"theme","id":"theme:c395470ad2d4d681836cd942bbb03120","is_default":0,"created_at":1679738527},"542be60a-2346-4740-9a41-8a580c4f013c":{"title":"Juno Toys","condition":"junotoys","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/junotoys\/fw\/js\/core.init.js","\/junotoys\/fw\/js\/core.utils.js","\/junotoys\/fw\/js\/superfish.js","\/junotoys\/fw\/js\/swiper\/swiper.js","\/trx_utils\/shortcodes\/theme.shortcodes.js","\/wp-includes\/js\/jquery\/ui\/(.*)"],"icon_url":"","type":"theme","id":"theme:2acab38e8356d36355bb81d931e7fba4","is_default":0,"created_at":1679737788},"06167710-10c7-446e-a08b-ce676e444102":{"title":"Jupiter","condition":"jupiter","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jupiter\/","\/wp-includes\/js\/underscore.min.js","WebFont.load"],"icon_url":"","type":"theme","id":"theme:89c5c30498c2989611f9044be006197c","is_default":0,"created_at":1679738430},"5d042e1f-7e62-4ec4-ba31-30d396004522":{"title":"JupiterX","condition":"jupiterx","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jupiterx\/(.*).js","\/wp-includes\/js\/underscore.min.js","WebFont.load"],"icon_url":"","type":"theme","id":"theme:b06632962a4948d4944fd8d79ffbfceb","is_default":0,"created_at":1679737312},"c4b030ea-66a1-4729-85bf-a484e373a316":{"title":"Kadence","condition":"kadence","exclusions":["\/kadence\/assets\/js\/navigation.min.js","mobile_menu_breakpoint ","kadenceConfig"],"icon_url":"","type":"theme","id":"theme:4b7907ee68218db279648da9bf7102d1","is_default":0,"created_at":1679737958},"20c605b4-3e3a-4bb0-a5e5-a08e2cb0f31f":{"title":"Kalium","condition":"kalium","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/kalium\/assets\/js\/main.min.js","mobile_menu_breakpoint","var _k"],"icon_url":"","type":"theme","id":"theme:1fcb99a1ab06e1e36635365ed3e59ce5","is_default":0,"created_at":1679737406},"e1e04a7d-635a-4e28-83d9-e345ce40e354":{"title":"Kava","condition":"kava","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/kava\/assets\/js\/theme-script.js"],"icon_url":"","type":"theme","id":"theme:359d67efbf530c998245225dd3245a88","is_default":0,"created_at":1679738609},"e833c36e-ee89-4924-b608-3f28327c2f85":{"title":"Lay","condition":"lay","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/backbone.min.js","\/wp-includes\/js\/underscore.min.js","\/lay\/","\/laytheme-carousel\/","window.laytheme"],"icon_url":"","type":"theme","id":"theme:7c718c6da874ea6e4b27c6d70bc4e7e8","is_default":0,"created_at":1679737453},"2df2ef47-a833-4711-ba54-48dc62586f37":{"id":"theme:85d9922ac61ed833fd047a67029df8e5","title":"LazaNews","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jquery.custom.js"],"is_default":0,"condition":"lazanews","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"9443304a-34e9-4700-a03a-5f8f62f83ed1":{"title":"Listeo","condition":"listeo","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/listeo\/js\/"],"icon_url":"","type":"theme","id":"theme:db7da585545001f5ae614a2810f08f3a","is_default":0,"created_at":1679737244},"77afa73c-c4a8-42a8-aaee-43f6a761364e":{"title":"ListingPro","condition":"listingpro","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/listingpro\/assets\/lib\/jquerym.menu\/js\/jquery.mmenu.min.all.js","\/listingpro\/assets\/lib\/Magnific-Popup-master\/jquery.magnific-popup.min.js","\/listingpro\/assets\/js\/select2.full.min.js","\/listingpro\/assets\/js\/jquery.city-autocomplete.js","\/listingpro\/assets\/js\/chosen.jquery.min.js","\/listingpro\/assets\/lib\/bootstrap\/js\/bootstrap-slider.js","\/listingpro\/assets\/js\/jquery-ui.js","\/listingpro\/assets\/js\/mapbox.js","\/listingpro\/assets\/js\/main.js","\/listingpro\/assets\/js\/leaflet.markercluster.js","maps"],"icon_url":"","type":"theme","id":"theme:0b365e43dfc65d2b1b70fac6510c7c9c","is_default":0,"created_at":1679737938},"01b369b5-b578-4314-8e95-40b67a41d75a":{"title":"Master Study","condition":"masterstudy","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/masterstudy\/assets\/js\/custom.js ","\/masterstudy\/assets\/vendors\/jquery.fancybox.min.js ","\/masterstudy\/assets\/js\/select2.full.min.js"],"icon_url":"","type":"theme","id":"theme:0ee224c20e4ef7d546733d933db598f2","is_default":0,"created_at":1679737878},"6b000cc7-d33b-4109-9c39-6119a5d81cde":{"title":"Maya","condition":"maya","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/maya\/js\/jquery.mobilemenu.js","\/maya\/js\/jquery.custom.js","\/maya\/core\/includes\/js\/jquery.tipsy.js"],"icon_url":"","type":"theme","id":"theme:719fe28004fcdd81a820602924aa8074","is_default":0,"created_at":1679737916},"ef3c76d6-1041-473d-81ea-a5a6e8c86735":{"title":"MH Magazine","condition":"mh-magazine","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/mh-magazine\/"],"icon_url":"","type":"theme","id":"theme:2a0cd6efc2f46be69de61712729a2ec9","is_default":0,"created_at":1679737743},"9cbb2777-5524-43b8-af36-692b27452c0d":{"title":"Minimog","condition":"minimog","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/minimog\/"],"icon_url":"","type":"theme","id":"theme:61c0c235042359ee7d2a9035e79a7da2","is_default":0,"created_at":1679738135},"7eb81c74-8062-4a6c-bf66-b7c5bc160141":{"title":"Moozo Elementor","condition":"moozo-elementor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/moozo-elementor\/assets\/js\/countdown.js","\/moozo-elementor\/assets\/vendor\/countdown\/countdown.min.js"],"icon_url":"","type":"theme","id":"theme:2ddb538c8e6b6c766fffd0d5c861fd82","is_default":0,"created_at":1679738623},"e90b7bfa-9ff6-4e1a-bf29-6207d55fdd39":{"title":"Motor","condition":"motor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/motor\/js\/"],"icon_url":"","type":"theme","id":"theme:b33538179f5661a86cbe327a1793e199","is_default":0,"created_at":1683973354},"445e625a-f955-41fa-84de-65d9ea19be07":{"title":"My Listing","condition":"my-listing","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/my-listing\/assets\/","\/wp-includes\/js\/dist\/vendor\/moment.min.js","maps.googleapis.com","MyListing","_Explore_Settings"],"icon_url":"","type":"theme","id":"theme:afacb777229ddf5cabceacc64948057d","is_default":0,"created_at":1679737725},"00b8cd2d-2781-4fbb-ac5d-00750ba94ac9":{"title":"Neve - Mobile menu","condition":"neve","exclusions":["\/neve\/assets\/js\/build\/modern\/frontend.js"],"icon_url":"","type":"theme","id":"theme:5ae731cc06dd9284f8172675a6fe81ab","is_default":0,"created_at":1679738714},"483abc54-f1fc-47dc-bfc1-a269c7d1c849":{"id":"theme:649ff22527bac2b1c8e0115cd3851d53","title":"Newspaper - Images","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","tagdiv_theme.min.js","tdBlocksArray"],"is_default":0,"condition":"Newspaper","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"50db8d14-d421-4237-be14-a6f7b5c11ec5":{"id":"theme:7e2eeee57ae458c5959342eda6526bf1","title":"Newspaper - Slider & YouTube","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","tagdiv_theme.min.js","tdBlocksArray","tdb_globals","td_youtube_list_ids","iosSlider","\/td-cloud-library\/assets\/js\/js_files_for_front.min.js"],"is_default":0,"condition":"Newspaper","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"514f4c30-2b67-4648-960e-dfe1cc401ca5":{"title":"Niva","condition":"niva","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/niva\/js\/","\/sweetthemes-framework\/js\/","mt_typed"],"icon_url":"","type":"theme","id":"theme:c4838f73a344b829ed626635e210dcf4","is_default":0,"created_at":1679738256},"e67ee504-c3b1-455e-88ab-1fae8c830652":{"title":"OceanWP","condition":"oceanwp","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/oceanwp\/"],"icon_url":"","type":"theme","id":"theme:db37af4b7d12695d37d9256313a5f37a","is_default":0,"created_at":1679737552},"e44e240a-8765-4f4f-b67e-d54e4b727506":{"title":"OceanWP - Mobile menu","condition":"oceanwp","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ocean-side-panel\/assets\/js\/side-panel.min.js","\/oceanwp\/assets\/js\/theme.vanilla.min.js"],"icon_url":"","type":"theme","id":"theme:9babbcd52b2ce558d299a06cd1130a11","is_default":0,"created_at":1679738463},"897b0100-958d-4a02-b6b2-1e753e9869f4":{"title":"PenNews","condition":"pennews","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/pennews\/js\/script.min.js","\/pennews\/js\/script.lib.min.js"],"icon_url":"","type":"theme","id":"theme:02811fa00bc1471bb5be0457ce0ee005","is_default":0,"created_at":1679737471},"edd3ba03-e0fd-4b6e-911b-60b29f3471bf":{"title":"Pharmacy Mentor","condition":"pharmacymentor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/pharmacymentor\/"],"icon_url":"","type":"theme","id":"theme:3188aaf1ef2c39937450f2a14ebb1174","is_default":0,"created_at":1679738214},"725415ff-cc76-45cc-a131-3170e5aa30fc":{"title":"Porto","condition":"porto","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/","\/porto\/js\/theme.js","\/porto\/js\/theme.min.js"],"icon_url":"","type":"theme","id":"theme:8493f398f200c8dffe60d46439dd3360","is_default":0,"created_at":1679737758},"2c19bcec-f3ff-4873-bfd7-db6bc0f6433c":{"title":"Porto - Owl Carousel","condition":"porto","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-includes\/js\/jquery\/ui\/","\/porto\/js\/theme(|.min).js","\/porto\/js\/libs\/owl.carousel(|.min).js","\/porto\/js\/theme-async(|.min).js","\/prettyPhoto\/jquery.prettyPhoto(|.min).js"],"icon_url":"","type":"theme","id":"theme:f34f5199fb7fca78852cd3fb7758f178","is_default":0,"created_at":1687527252},"31347ccb-f69e-4cd3-bd47-b80ce14ac76e":{"title":"ProPhoto","condition":"prophoto7","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/prophoto7\/js\/bundle.front.js","\/wp-includes\/js\/underscore.min.js","PROPHOTO"],"icon_url":"","type":"theme","id":"theme:a5836a56c4472fade4dc6ebfe2281554","is_default":0,"created_at":1679737425},"a8208c04-865c-49aa-ab96-41e378d391c8":{"title":"Publisher","condition":"publisher","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/publisher\/js\/"],"icon_url":"","type":"theme","id":"theme:32c73be0cb175da278c8e2af0811b0d1","is_default":0,"created_at":1679738169},"a0d69f3d-1356-4a1d-a600-2f2f788b8a9a":{"title":"REHub","condition":"rehub-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/rehub-theme\/js\/custom_floatpanel.js"],"icon_url":"","type":"theme","id":"theme:321af1febb74f488cf911380893739b2","is_default":0,"created_at":1679738502},"8b74bbe5-7f32-42df-908f-78c99a8cad82":{"title":"Rey","condition":"rey","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/rey\/scripts-(.*).js","\/rey-core\/assets\/js\/"],"icon_url":"","type":"theme","id":"theme:e46567cd0f3ec9b37e7230dc87eac367","is_default":0,"created_at":1679737011},"5c9115d3-bcbd-49d6-8feb-4880d2b82bfe":{"title":"Rife Free","condition":"rife-free","exclusions":["\/rife-free\/js\/script.min.js","\/rife-free\/js\/isotope.pkgd.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","var reJS"],"icon_url":"","type":"theme","id":"theme:74a449954de79625eccc6750e87af8f6","is_default":0,"created_at":1679738107},"6542b2fd-1f91-4862-aa18-11eecc02faaf":{"title":"Roisin","condition":"roisin","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/themes\/roisin\/assets\/js\/main.min.js","\/plugins\/roisin-core\/assets\/js\/roisin-core.min.js","\/wp-includes\/js\/hoverIntent.min.js"],"icon_url":"","type":"theme","id":"theme:8f38fe58034772931110930b91cb6797","is_default":0,"created_at":1685964523},"5a192ad9-d150-4aa0-8efc-d68131cb7a37":{"title":"Sahifa - Mobile Menu","condition":"sahifa","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/themes\/sahifa\/js\/ilightbox.packed.js","\/translate_a\/element.js"],"icon_url":"","type":"theme","id":"theme:06ebe49f4c1e5b04cece831f8bb198a3","is_default":0,"created_at":1687540363},"7ae9d978-d63c-4a58-beb3-418bebb5b23c":{"title":"Salient","condition":"salient","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/salient\/","winW > bodyW"],"icon_url":"","type":"theme","id":"theme:b3e12d57ac23897be1bb2c673e3fc761","is_default":0,"created_at":1679736950},"35aaa6c5-4a37-4161-b504-fb3ebc4b1148":{"id":"theme:d612db1dd8dc76faa6a36a9ebfd336dc","title":"Salient - Nectar slider","type":"theme","icon":"","exclusions":["\/salient-nectar-slider\/js\/nectar-slider.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"salient","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"84c95206-3e59-4eb3-a0c9-e2231a1c0a48":{"title":"SEO Lounge","condition":"seolounge","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js","\/seolounge\/js\/radiantthemes-custom.js","\/seolounge\/js\/radiantthemes-core.min.js"],"icon_url":"","type":"theme","id":"theme:3d72b779d9c4ba6b51cc5b245b141433","is_default":0,"created_at":1691695809},"cd44aa56-088a-40dd-bf1e-f835efa68626":{"title":"Shoptimizer","condition":"shoptimizer","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shoptimizer\/assets\/js\/lazyload-bg.js","\/shoptimizer\/assets\/js\/main.min.js"],"icon_url":"","type":"theme","id":"theme:6c32b43f4da639e5901574fac6b7d387","is_default":0,"created_at":1679737143},"d2c48a48-430a-4eea-bc05-99b66f1f6a7b":{"title":"SmartMag","condition":"smart-mag","exclusions":["\/smart-mag\/js\/lazyload.js"],"icon_url":"","type":"theme","id":"theme:23d6b7878bd0087addb067db3fa39864","is_default":0,"created_at":1679738490},"dd0d9133-ef17-4dac-b174-9f25d535838f":{"title":"Soledad","condition":"soledad","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/soledad\/js\/main.js","\/soledad\/js\/more-post.js","\/soledad\/js\/libs-script.min.js"],"icon_url":"","type":"theme","id":"theme:d3f78b26c2d11c99230171cc6378d06e","is_default":0,"created_at":1679737664},"d657dc56-5c04-439a-8987-401f89a65bf9":{"title":"Stockholm","condition":"stockholm","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/stockholm\/js\/"],"icon_url":"","type":"theme","id":"theme:fcfff492e00727b63cf5dff9f59bc2a4","is_default":0,"created_at":1679738378},"121f9b1b-d3cd-4dde-915e-0b348abf6687":{"title":"Storefront","condition":"storefront","exclusions":["\/storefront\/assets\/js\/navigation.min.js"],"icon_url":"","type":"theme","id":"theme:f0dca7e4eaedf573d4664be249845942","is_default":0,"created_at":1679738793},"41cfc83f-ff02-4a35-a3b7-e92db213b224":{"title":"StreamTube","condition":"streamtube","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/streamtube\/","\/streamtube-core\/"],"icon_url":"","type":"theme","id":"theme:9772ccddd470688f6bc6aee86e34d29b","is_default":0,"created_at":1679331431},"aec0a548-4c6b-400a-80ed-19a49e0faef0":{"title":"The7","condition":"dt-the7","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","loader-removed","\/Ultimate_VC_Addons\/assets\/min-js\/","\/dt-the7\/","\/js_composer\/"],"icon_url":"","type":"theme","id":"theme:7934c689fd20e30b6bfc69bb9d46cb63","is_default":0,"created_at":1679737892},"538354ff-d69f-40be-b0cc-df3790599dd2":{"title":"TheGem","condition":"thegem","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thegem\/js\/","gemSettings","thegemSlideshow","tgpLazyItemsOptions"],"icon_url":"","type":"theme","id":"theme:153c54fe73897da838ce39152b1db5a8","is_default":0,"created_at":1679738477},"68f2de3b-e2b8-4edf-b82f-93fd7834c65f":{"title":"Total","condition":"Total","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Total\/assets\/js\/total.min.js"],"icon_url":"","type":"theme","id":"theme:96b0141273eabab320119c467cdcaf17","is_default":0,"created_at":1679737571},"6dc1cb35-6b50-4da0-9834-dddf169edaa6":{"id":"theme:7c37c885d7fecf788f635734f99e8610","title":"Townhub","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/townhub-add-ons\/assets\/js\/(.*)","\/wp-includes\/js\/dist\/vendor\/react.js","\/wp-includes\/js\/dist\/vendor\/react-dom.js"],"is_default":0,"condition":"townhub","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f484f86b-e316-4871-9322-dee3925349fe":{"title":"Travel Monster - Owl Carousel","condition":"travel-monster","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-content\/plugins\/wp-travel-engine\/assets\/lib\/owl-carousel(.*)\/owl.carousel(|.min).js","var isRtl"],"icon_url":"","type":"theme","id":"theme:d3e8da87b3affd399205438fbc8a4f05","is_default":0,"created_at":1690822771},"14cb0a85-8bee-491e-99d7-5f20a07f4bdd":{"title":"Uncode","condition":"uncode","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uncode\/library\/js\/init(.min)?.js","\/uncode\/library\/js\/plugins(.min)?.js","\/uncode\/library\/js\/app(.min)?.js","\/uncode\/library\/js\/woocommerce-uncode(.min)?.js","\/wp-includes\/js\/mediaelement\/mediaelement-and-player.min.js","initHeader","initBox","fixMenuHeight","initRow"],"icon_url":"","type":"theme","id":"theme:18ba19b98aefbb6c0fde6c6bf92e9cfc","is_default":0,"created_at":1679738154},"88e96479-1aa2-4adc-8f07-20bc0368a63f":{"title":"Werkstatt","condition":"werkstatt","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/js\/underscore.min.js","\/werkstatt\/assets\/js\/vendor.min.js","\/werkstatt\/assets\/js\/fullscreen.min.js","\/werkstatt\/assets\/js\/app.min.js"],"icon_url":"","type":"theme","id":"theme:38faa29db5a07b8fef6aee9cc11cafec","is_default":0,"created_at":1679737639},"60c4110b-a960-4d44-b619-6d79514dbf75":{"title":"Woodmart","condition":"woodmart","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/imagesloaded.min.js","\/woodmart\/js\/scripts\/wc\/","\/woodmart\/js\/scripts\/global\/","\/woodmart\/js\/libs\/owl.carousel.min.js","\/woodmart\/js\/libs\/owl.carousel.js","\/woodmart\/js\/libs\/slick.js","\/woodmart\/js\/libs\/autocomplete.min.js"],"icon_url":"","type":"theme","id":"theme:06338f13cb89e5309ad2eb7e4d457be4","is_default":0,"created_at":1695633901},"119ebd1c-6b46-4f07-8d6a-3498d9c8814f":{"title":"XStore","condition":"xstore","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/xstore\/js\/","\/et-core-plugin\/packages\/st-woo-swatches\/public\/js\/frontend.min.js"],"icon_url":"","type":"theme","id":"theme:3de9d9ba385200548f177d9c704ae92a","is_default":0,"created_at":1679738190},"9a7a548c-07a1-4dff-93fc-6e8230b67853":{"id":"theme:119d329456073aa10969d7cbd9760f28","title":"YOOtheme Pro","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","uikit.min.js"],"is_default":0,"condition":"yootheme","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f74c499e-b7d9-4590-8671-379f51f468c8":{"title":"Zeen","condition":"zeen","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/zeen\/assets\/js\/","\/js.cookie.min.js"],"icon_url":"","type":"theme","id":"theme:acb52844f996627788836366404a3245","is_default":0,"created_at":1679737859}},"scripts":{"dd0c5a5b-ec56-49f9-9aa4-89e1e3a6a28a":{"title":"Amazon Ads","exclusions":["amazon-adsystem.com"],"icon_url":"","type":"script","id":"script:b82a5936d8ea0745016caeb71629ae5d","is_default":0,"created_at":1681390276},"980edf32-c64b-4370-bf23-c62b079e71c3":{"title":"Google AdSense","exclusions":["adsbygoogle"],"icon_url":"","type":"script","id":"script:0206e6040c8ff64b8d6ee5fef2ce1c90","is_default":0,"created_at":1681377840},"2499bb90-0753-4b2b-9bd4-1525f94c7437":{"title":"Google Analytics","exclusions":["google-analytics.com\/analytics.js","ga\\( '","ga\\('"],"icon_url":"","type":"script","id":"script:d86cf69a8b82547a94ca3f6a307cf9a6","is_default":0,"created_at":1681388311},"6f460036-3106-4b8c-9951-d32de9b1258f":{"title":"Google Maps","exclusions":["maps.googleapis.com","maps.google.com"],"icon_url":"","type":"script","id":"script:4d60ab2c6d11d753267484006c23e54c","is_default":0,"created_at":1681390259},"ac2d5720-9418-468c-80a0-3874ee743c0f":{"title":"Google Optimize","exclusions":["a,s,y,n,c,h,i,d,e","googleoptimize.com\/optimize.js","async-hide"],"icon_url":"","type":"script","id":"script:031a0cece38c4739df67f910dcabf1bd","is_default":0,"created_at":1681390261},"122e6ebb-51fd-477f-97fb-559593f1a48b":{"title":"Google Recaptcha","exclusions":["recaptcha"],"icon_url":"","type":"script","id":"script:032cb16577cbf07bc7c02bac83bd936d","is_default":0,"created_at":1681390264},"219277ae-b2ac-4d42-913d-eaea40985295":{"title":"Google Tag Manager","exclusions":["\/gtag\/js","gtag\\(","\/gtm.js","async-hide"],"icon_url":"","type":"script","id":"script:1d3c65b2b03ef35e14df6b163ea3a1f6","is_default":0,"created_at":1681390266},"f632e3f4-20e6-471e-a78d-86afbea63586":{"title":"HubSpot","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","js.hsforms.net","hbspt.forms.create"],"icon_url":"","type":"script","id":"script:de4bd8ef4675ebb85a055955de76d0ee","is_default":0,"created_at":1679331623},"5d606add-ffb8-4a06-b295-5f722710fbfd":{"title":"Refari","exclusions":["widget.refari.co","refari"],"icon_url":"","type":"script","id":"script:a705e197b13b47e72a105c923e044358","is_default":0,"created_at":1683797056},"742ec14a-27a1-4789-b9c8-a9c3a3cf7042":{"title":"Reviews.io","exclusions":["\/carousel-inline-iframeless\/dist.js","carouselInlineWidget"],"icon_url":"","type":"script","id":"script:4df445c576f45889506ba175a4c39fdc","is_default":0,"created_at":1684389426},"05d3eb78-f574-49be-95e1-3f11714005d1":{"id":"script:ce7566d1d08cc094b74cf283cf9c56a5","title":"Stripe","type":"script","icon":"","exclusions":["js.stripe.com"],"is_default":0,"condition":"","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b56bf06c-2f8c-4757-b536-a689fb0e75f9":{"title":"Typekit","exclusions":["typekit"],"icon_url":"","type":"script","id":"script:7815e38b93e3b500a632681bd594bd61","is_default":0,"created_at":1681390268},"49c38c0a-43b9-4237-88cb-57ddd519f0ad":{"title":"Venatus Media","exclusions":["\/ad-manager.min.js","__vm_add"],"icon_url":"","type":"script","id":"script:abe11528732aed9a19a97e73b242faa5","is_default":0,"created_at":1681390272},"2c1d0998-8ab5-478c-8eb9-9e375b46363e":{"title":"Wistia","exclusions":["fast.wistia.com"],"icon_url":"","type":"script","id":"script:9a0111f8c3186c1cb3113587c660c041","is_default":0,"created_at":1681390274},"0627fe24-7e9d-400f-b064-d98bec2ba85e":{"id":"script:dbd1875130c71eb4b2ef768ad18d820c","title":"Yandex Ads","type":"script","icon":"","exclusions":["yandex.ru","window.yaContextCb"],"is_default":0,"condition":"","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""}}} \ No newline at end of file diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php new file mode 100755 index 000000000..0c5ea5a16 --- /dev/null +++ b/wp-content/plugins/wp-rocket/inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php @@ -0,0 +1,207 @@ +options = $options; + } + + /** + * Return an array of events that this subscriber wants to listen to. + * + * @return array + */ + public static function get_subscribed_events() { + return [ + 'add_meta_boxes' => 'options_metabox', + 'save_post' => 'save_metabox_options', + ]; + } + + /** + * Add options metabox on post edit page + * + * @return void + */ + public function options_metabox() { + if ( ! rocket_can_display_options() ) { + return; + } + + if ( ! current_user_can( 'rocket_manage_options' ) ) { + return; + } + + $cpts = get_post_types( + [ + 'public' => true, + ], + 'objects' + ); + + unset( $cpts['attachment'] ); + + /** + * Filters the post types to add the options metabox to + * + * @param array $cpts Array of post types. + */ + $cpts = apply_filters( 'rocket_metabox_options_post_types', $cpts ); + + foreach ( $cpts as $cpt => $cpt_object ) { + $label = $cpt_object->labels->singular_name; + add_meta_box( 'rocket_post_exclude', sprintf( __( 'WP Rocket Options', 'rocket' ), $label ), [ $this, 'display_metabox' ], $cpt, 'side', 'core' ); + } + } + + /** + * Displays checkboxes to de/activate some options + * + * @return void + */ + public function display_metabox() { + if ( ! current_user_can( 'rocket_manage_options' ) ) { + return; + } + + global $post, $pagenow; + + $excluded_url = false; + + if ( 'post-new.php' !== $pagenow ) { + $path = rocket_clean_exclude_file( get_permalink( $post->ID ) ); + + if ( in_array( $path, $this->options->get( 'cache_reject_uri', [] ), true ) ) { + $excluded_url = true; + } + } + + $original_fields = []; + + /** + * WP Rocket Metabox fields on post edit page. + * + * @param string[] $original_fields Metaboxes fields. + */ + $fields = apply_filters( 'rocket_meta_boxes_fields', $original_fields ); + + if ( ! is_array( $fields ) ) { + $fields = $original_fields; + } + + $fields_attributes = []; + + foreach ( $fields as $field => $label ) { + $disabled = disabled( ! $this->options->get( $field ), true, false ); + + $fields_attributes[ $field ]['id'] = $field; + $fields_attributes[ $field ]['label'] = $label; + // translators: %s is the name of the option. + $fields_attributes[ $field ]['title'] = $disabled ? ' title="' . esc_attr( sprintf( __( 'Activate first the %s option.', 'rocket' ), $label ) ) . '"' : ''; + $fields_attributes[ $field ]['class'] = $disabled ? ' class="rkt-disabled"' : ''; + $fields_attributes[ $field ]['checked'] = ! $disabled ? checked( ! get_post_meta( $post->ID, '_rocket_exclude_' . $field, true ), true, false ) : ''; + $fields_attributes[ $field ]['disabled'] = $disabled; + } + + echo $this->generate( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + 'post_edit_options', + [ + 'excluded_url' => $excluded_url, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + 'fields' => $fields_attributes, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + ] + ); + } + + /** + * Updates the options from the metabox. + * + * @return void + */ + public function save_metabox_options() { + if ( ! current_user_can( 'rocket_manage_options' ) ) { + return; + } + + if ( ! isset( $_POST['post_ID'], $_POST['rocket_post_exclude_hidden'] ) ) { + return; + } + + check_admin_referer( 'rocket_box_option', '_rocketnonce' ); + + // No cache field. + if ( isset( $_POST['post_status'] ) && 'publish' === $_POST['post_status'] ) { + $new_cache_reject_uri = $cache_reject_uri = $this->options->get( 'cache_reject_uri', [] ); // phpcs:ignore Squiz.PHP.DisallowMultipleAssignments.Found + $rejected_uris = array_flip( $cache_reject_uri ); + $path = rocket_clean_exclude_file( get_permalink( (int) $_POST['post_ID'] ) ); + + if ( isset( $_POST['rocket_post_nocache'] ) ) { + if ( ! isset( $rejected_uris[ $path ] ) ) { + array_push( $new_cache_reject_uri, $path ); + } + } else { + if ( isset( $rejected_uris[ $path ] ) ) { + unset( $new_cache_reject_uri[ $rejected_uris[ $path ] ] ); + } + } + + if ( $new_cache_reject_uri !== $cache_reject_uri ) { + // Update the "Never cache the following pages" option. + update_rocket_option( 'cache_reject_uri', $new_cache_reject_uri ); + + // Update config file. + rocket_generate_config_file(); + } + } + + $original_fields = []; + + /** + * Metaboxes fields. + * + * @param string[] $original_fields Metaboxes fields. + */ + $fields = apply_filters( 'rocket_meta_boxes_fields', $original_fields ); + + if ( ! is_array( $fields ) ) { + $fields = $original_fields; + } + + $fields = array_keys( $fields ); + + foreach ( $fields as $field ) { + if ( ! isset( $_POST['rocket_post_exclude_hidden'][ $field ] ) ) { + continue; + } + + if ( isset( $_POST['rocket_post_exclude'][ $field ] ) ) { + delete_post_meta( (int) $_POST['post_ID'], '_rocket_exclude_' . $field ); + continue; + } + + if ( $this->options->get( $field ) ) { + update_post_meta( (int) $_POST['post_ID'], '_rocket_exclude_' . $field, true ); + } + } + } +} diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Admin/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/Engine/Admin/ServiceProvider.php index 6425335e6..9231bdf2d 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Admin/ServiceProvider.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Admin/ServiceProvider.php @@ -2,8 +2,8 @@ namespace WP_Rocket\Engine\Admin; use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider; -use WP_Rocket\Engine\Admin\Deactivation\DeactivationIntent; -use WP_Rocket\Engine\Admin\Deactivation\Subscriber; +use WP_Rocket\Engine\Admin\Deactivation\{DeactivationIntent, Subscriber}; +use WP_Rocket\Engine\Admin\Metaboxes\PostEditOptionsSubscriber; use WP_Rocket\ThirdParty\Plugins\Optimization\Hummingbird; /** @@ -27,6 +27,7 @@ class ServiceProvider extends AbstractServiceProvider { 'deactivation_intent_subscriber', 'hummingbird_subscriber', 'actionscheduler_admin_subscriber', + 'post_edit_options_subscriber', ]; /** @@ -48,5 +49,9 @@ public function register() { ->addArgument( $options ) ->addTag( 'admin_subscriber' ); $this->getContainer()->share( 'actionscheduler_admin_subscriber', ActionSchedulerSubscriber::class ); + $this->getContainer()->share( 'post_edit_options_subscriber', PostEditOptionsSubscriber::class ) + ->addArgument( $options ) + ->addArgument( $this->getContainer()->get( 'template_path' ) . '/metaboxes' ) + ->addTag( 'admin_subscriber' ); } } diff --git a/wp-content/plugins/wp-rocket/inc/Engine/CDN/Admin/Subscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/CDN/Admin/Subscriber.php new file mode 100755 index 000000000..281259b49 --- /dev/null +++ b/wp-content/plugins/wp-rocket/inc/Engine/CDN/Admin/Subscriber.php @@ -0,0 +1,32 @@ + [ 'add_meta_box', 9 ], + ]; + } + + /** + * Add the field to the WP Rocket metabox on the post edit page. + * + * @param string[] $fields Metaboxes fields. + * + * @return string[] + */ + public function add_meta_box( array $fields ) { + $fields['cdn'] = __( 'CDN', 'rocket' ); + + return $fields; + } +} diff --git a/wp-content/plugins/wp-rocket/inc/Engine/CDN/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/Engine/CDN/ServiceProvider.php index 3650cf44e..a24516029 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/CDN/ServiceProvider.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/CDN/ServiceProvider.php @@ -2,6 +2,7 @@ namespace WP_Rocket\Engine\CDN; use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider; +use WP_Rocket\Engine\CDN\Admin\Subscriber as AdminSubscriber; /** * Service provider for WP Rocket CDN @@ -21,6 +22,7 @@ class ServiceProvider extends AbstractServiceProvider { protected $provides = [ 'cdn', 'cdn_subscriber', + 'cdn_admin_subscriber', ]; /** @@ -37,5 +39,7 @@ public function register() { ->addArgument( $options ) ->addArgument( $this->getContainer()->get( 'cdn' ) ) ->addTag( 'common_subscriber' ); + $this->getContainer()->share( 'cdn_admin_subscriber', AdminSubscriber::class ) + ->addTag( 'admin_subscriber' ); } } diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Cache/PurgeActionsSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Cache/PurgeActionsSubscriber.php index fc40be739..6f07bc4ac 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Cache/PurgeActionsSubscriber.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Cache/PurgeActionsSubscriber.php @@ -54,7 +54,7 @@ public static function get_subscribed_events() { ], 'rocket_rucss_complete_job_status' => [ 'purge_url_cache', 100 ], 'rocket_rucss_after_clearing_usedcss' => 'purge_url_cache', - 'rocket_after_save_dynamic_lists' => 'purge_cache', + 'rocket_after_save_dynamic_lists' => 'purge_cache_after_saving_dynamic_lists', 'update_option_' . $slug => [ 'purge_cache_reject_uri_partially', 10, 2 ], 'update_option_blog_public' => 'purge_cache', ]; @@ -179,4 +179,18 @@ public function purge_cache() { public function purge_cache_reject_uri_partially( array $old_value, array $value ): void { $this->purge->purge_cache_reject_uri_partially( $old_value, $value ); } + + /** + * Purge cache after saving dynamic lists. + * + * @param bool $should_purge Should purge or not. + * + * @return void + */ + public function purge_cache_after_saving_dynamic_lists( $should_purge = true ) { + if ( ! $should_purge ) { + return; + } + $this->purge_cache(); + } } diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Common/Queue/RUCSSQueueRunner.php b/wp-content/plugins/wp-rocket/inc/Engine/Common/Queue/RUCSSQueueRunner.php index 733581851..b859ceda0 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Common/Queue/RUCSSQueueRunner.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Common/Queue/RUCSSQueueRunner.php @@ -213,15 +213,27 @@ protected function do_batch( $size = 100, $context = '' ) { $this->store->release_claim( $claim ); $this->monitor->detach(); $this->clear_caches(); - + $this->reset_group(); return $processed_actions; } catch ( \Exception $exception ) { Logger::debug( $exception->getMessage() ); - + $this->reset_group(); return 0; } } + /** + * Reset group in store's claim filter. + * + * @return void + */ + private function reset_group() { + if ( ! method_exists( $this->store, 'set_claim_filter' ) ) { + return; + } + $this->store->set_claim_filter( 'group', '' ); + } + /** * Running large batches can eat up memory, as WP adds data to its object cache. * diff --git a/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/Admin/Subscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/Admin/Subscriber.php index a9a5139c9..129697f63 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/Admin/Subscriber.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/Admin/Subscriber.php @@ -1,4 +1,5 @@ 'add_regenerate_menu_item', + 'rocket_meta_boxes_fields' => [ 'add_meta_box', 3 ], ]; } @@ -186,4 +188,17 @@ public function enqueue_admin_cpcss_heartbeat_script() { public function add_regenerate_menu_item( $wp_admin_bar ) { $this->admin->add_regenerate_menu_item( $wp_admin_bar ); } + + /** + * Add the field to the WP Rocket metabox on the post edit page. + * + * @param string[] $fields Metaboxes fields. + * + * @return string[] + */ + public function add_meta_box( array $fields ) { + $fields['async_css'] = __( 'Load CSS asynchronously', 'rocket' ); + + return $fields; + } } diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/Deactivation.php b/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/Deactivation.php index 9c421bdd2..3504e1de7 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/Deactivation.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/Deactivation.php @@ -2,7 +2,11 @@ namespace WP_Rocket\Engine\Deactivation; +use WP_Rocket\Admin\Options; use WP_Rocket\Dependencies\League\Container\Container; +use WP_Rocket\Engine\Admin\Beacon\ServiceProvider as BeaconServiceProvider; +use WP_Rocket\Engine\Support\ServiceProvider as SupportServiceProvider; +use WP_Rocket\ServiceProvider\Options as OptionsServiceProvider; use WP_Rocket\ThirdParty\Hostings\HostResolver; class Deactivation { @@ -15,6 +19,7 @@ class Deactivation { 'advanced_cache', 'capabilities_manager', 'wp_cache', + 'cloudflare_plugin_subscriber', ]; /** @@ -27,7 +32,13 @@ public static function deactivate_plugin() { $container = new Container(); + $container->add( 'options_api', new Options( 'wp_rocket_' ) ); $container->add( 'template_path', WP_ROCKET_PATH . 'views' ); + + $container->addServiceProvider( OptionsServiceProvider::class ); + $container->addServiceProvider( BeaconServiceProvider::class ); + $container->addServiceProvider( SupportServiceProvider::class ); + $container->addServiceProvider( 'WP_Rocket\Engine\Deactivation\ServiceProvider' ); $container->addServiceProvider( 'WP_Rocket\ThirdParty\Hostings\ServiceProvider' ); @@ -91,7 +102,7 @@ public static function deactivate_plugin() { delete_site_transient( 'wp_rocket_update_data' ); // Delete user metadata. - delete_user_meta( get_current_user_id(), 'rocket_boxes' ); + rocket_renew_box( 'preload_notice' ); // Unschedule WP Cron events. wp_clear_scheduled_hook( 'rocket_cache_dir_size_check' ); diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/ServiceProvider.php index 34f4d75c5..c1ba3ee65 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/ServiceProvider.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/ServiceProvider.php @@ -6,6 +6,8 @@ use WP_Rocket\Engine\Cache\AdvancedCache; use WP_Rocket\Engine\Cache\WPCache; use WP_Rocket\Engine\Capabilities\Manager; +use WP_Rocket\ThirdParty\Plugins\CDN\Cloudflare; +use WP_Rocket\ThirdParty\Plugins\CDN\CloudflareFacade; /** * Service Provider for the activation process. @@ -27,6 +29,7 @@ class ServiceProvider extends AbstractServiceProvider implements BootableService 'advanced_cache', 'capabilities_manager', 'wp_cache', + 'cloudflare_plugin_subscriber', ]; /** @@ -46,6 +49,15 @@ public function boot() { public function register() { $filesystem = rocket_direct_filesystem(); + $this->getContainer()->add( 'cloudflare_plugin_facade', CloudflareFacade::class ); + $this->getContainer() + ->share( 'cloudflare_plugin_subscriber', Cloudflare::class ) + ->addArgument( $this->getContainer()->get( 'options' ) ) + ->addArgument( $this->getContainer()->get( 'options_api' ) ) + ->addArgument( $this->getContainer()->get( 'beacon' ) ) + ->addArgument( $this->getContainer()->get( 'cloudflare_plugin_facade' ) ) + ->addTag( 'common_subscriber' ); + $this->getContainer()->add( 'advanced_cache', AdvancedCache::class ) ->addArgument( $this->getContainer()->get( 'template_path' ) . '/cache/' ) ->addArgument( $filesystem ); diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/AdminSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/AdminSubscriber.php index a6b0da105..cabe944d8 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/AdminSubscriber.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/AdminSubscriber.php @@ -1,4 +1,5 @@ [ 'add_option', 15 ], 'rocket_input_sanitize' => 'sanitize_exclude_lazyload', + 'rocket_meta_boxes_fields' => [ 'add_meta_box', 7 ], ]; } @@ -48,4 +50,18 @@ public function sanitize_exclude_lazyload( array $input ) : array { return $input; } + + /** + * Add the field to the WP Rocket metabox on the post edit page. + * + * @param string[] $fields Metaboxes fields. + * + * @return string[] + */ + public function add_meta_box( array $fields ) { + $fields['lazyload'] = __( 'LazyLoad for images', 'rocket' ); + $fields['lazyload_iframes'] = __( 'LazyLoad for iframes/videos', 'rocket' ); + + return $fields; + } } diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php index 9bb4fcf44..befe17b2b 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php @@ -1,4 +1,6 @@ 'add_meta_box', + 'rocket_meta_boxes_fields' => [ 'add_meta_box', 8 ], 'admin_notices' => 'maybe_add_error_notice', 'rocket_safe_mode_reset_options' => 'add_option_safemode', ]; } /** - * Add the field to the metaboxes. + * Add the field to the WP Rocket metabox on the post edit page. * - * @param array $fields Metaboxes fields. - * @return array + * @param string[] $fields Metaboxes fields. + * + * @return string[] */ public function add_meta_box( array $fields ) { $fields['lazyload_css_bg_img'] = __( 'LazyLoad CSS backgrounds', 'rocket' ); diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Front/MappingFormatter.php b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Front/MappingFormatter.php index c104c1cf2..054ee3ae6 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Front/MappingFormatter.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Front/MappingFormatter.php @@ -25,6 +25,7 @@ public function format( array $data ): array { $formatted_urls[] = [ 'selector' => $selector, 'style' => $variable_placeholder, + 'hash' => $hash, ]; } diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CanLazyloadTrait.php b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CanLazyloadTrait.php index e187f8118..6a30f1ec8 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CanLazyloadTrait.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CanLazyloadTrait.php @@ -1,4 +1,5 @@ 'add_defer_js_option', 'wp_rocket_upgrade' => [ 'exclude_jquery_defer', 14, 2 ], + 'rocket_meta_boxes_fields' => [ 'add_meta_box', 5 ], ]; } @@ -63,4 +64,17 @@ public function exclude_jquery_defer( $new_version, $old_version ) { $this->defer_js->exclude_jquery_upgrade(); } + + /** + * Add the field to the WP Rocket metabox on the post edit page. + * + * @param string[] $fields Metaboxes fields. + * + * @return string[] + */ + public function add_meta_box( array $fields ) { + $fields['defer_all_js'] = __( 'Load JavaScript deferred', 'rocket' ); + + return $fields; + } } diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DelayJS/Admin/Subscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DelayJS/Admin/Subscriber.php index 40b8f71b8..684fb4510 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DelayJS/Admin/Subscriber.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DelayJS/Admin/Subscriber.php @@ -1,5 +1,5 @@ 'add_plugin_exclusions', 'deactivate_plugin' => 'remove_plugin_exclusions', 'switch_theme' => [ 'handle_switch_theme_exclusions', 10, 3 ], + 'rocket_meta_boxes_fields' => [ 'add_meta_box', 6 ], ]; } @@ -197,4 +198,17 @@ public function add_plugin_exclusions( string $plugin ) { } $this->site_list->add_default_plugin_exclusions( $plugin ); } + + /** + * Add the field to the WP Rocket metabox on the post edit page. + * + * @param string[] $fields Metaboxes fields. + * + * @return string[] + */ + public function add_meta_box( array $fields ) { + $fields['delay_js'] = __( 'Delay JavaScript execution', 'rocket' ); + + return $fields; + } } diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/DynamicLists.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/DynamicLists.php index a2f63edbb..a43b4ac24 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/DynamicLists.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/DynamicLists.php @@ -102,8 +102,9 @@ public function update_lists_from_remote() { ]; } - $response = []; - $success = false; + $response = []; + $success = false; + $should_purge = false; foreach ( $this->providers as $provider ) { $result = $provider->api_client->get_exclusions_list( $provider->data_manager->get_lists_hash() ); @@ -141,6 +142,8 @@ public function update_lists_from_remote() { 'data' => '', 'message' => __( 'Lists are successfully updated.', 'rocket' ), ]; + + $should_purge |= $provider->clear_cache ?? true; } if ( $success ) { @@ -148,8 +151,10 @@ public function update_lists_from_remote() { * Fires after saving all dynamic lists files. * * @since 3.12.1 + * + * @param bool $should_purge Should purge status based on the updated providers. */ - do_action( 'rocket_after_save_dynamic_lists' ); + do_action( 'rocket_after_save_dynamic_lists', $should_purge ); } return $response; diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/ServiceProvider.php index dd141f9f0..59e9059ed 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/ServiceProvider.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/ServiceProvider.php @@ -70,6 +70,7 @@ public function register() { 'api_client' => $this->getContainer()->get( 'dynamic_lists_incompatible_plugins_lists_api_client' ), 'data_manager' => $this->getContainer()->get( 'dynamic_lists_incompatible_plugins_lists_data_manager' ), 'title' => __( 'Incompatible plugins Lists', 'rocket' ), + 'clear_cache' => false, ], ]; diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/AdminSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/AdminSubscriber.php index 5581f8ee0..1c466e9cb 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/AdminSubscriber.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/AdminSubscriber.php @@ -30,7 +30,8 @@ public function __construct( Options_Data $options ) { */ public static function get_subscribed_events() { return [ - 'switch_theme' => 'clean_minify_all', + 'switch_theme' => 'clean_minify_all', + 'rocket_meta_boxes_fields' => [ 'add_meta_box', 4 ], ]; } @@ -52,4 +53,16 @@ public function clean_minify_all() { // Delete all minify cache files. rocket_clean_minify(); } + + /** + * Add the field to the WP Rocket metabox on the post edit page. + * + * @param string[] $fields Metaboxes fields. + * + * @return string[] + */ + public function add_meta_box( array $fields ) { + $fields['minify_js'] = __( 'Minify/combine JavaScript', 'rocket' ); + return $fields; + } } diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/CSS/AdminSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/CSS/AdminSubscriber.php index 86732b62b..0e0f35b0f 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/CSS/AdminSubscriber.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/CSS/AdminSubscriber.php @@ -1,14 +1,10 @@ [ 'clean_minify', 10, 2 ], "pre_update_option_{$slug}" => [ 'regenerate_minify_css_key', 10, 2 ], 'wp_rocket_upgrade' => [ 'on_update', 16, 2 ], + 'rocket_meta_boxes_fields' => [ 'add_meta_box', 1 ], ]; } @@ -34,6 +31,8 @@ public static function get_subscribed_events() { * * @param array $old An array of previous settings. * @param array $new An array of submitted settings. + * + * @return void */ public function clean_minify( $old, $new ) { if ( ! is_array( $old ) || ! is_array( $new ) ) { @@ -130,6 +129,7 @@ protected function did_setting_change( $setting, array $new, array $old ) { * * @param string $new_version new version from the plugin. * @param string $old_version old version from the plugin. + * * @return void */ public function on_update( $new_version, $old_version ) { @@ -138,4 +138,17 @@ public function on_update( $new_version, $old_version ) { } rocket_clean_domain(); } + + /** + * Add the field to the WP Rocket metabox on the post edit page. + * + * @param string[] $fields Metaboxes fields. + * + * @return string[] + */ + public function add_meta_box( array $fields ) { + $fields['minify_css'] = __( 'Minify CSS', 'rocket' ); + + return $fields; + } } diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php new file mode 100755 index 000000000..e796457e1 --- /dev/null +++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php @@ -0,0 +1,78 @@ +settings = $settings; + } + + /** + * Return an array of events that this subscriber wants to listen to. + * + * @return array + */ + public static function get_subscribed_events() { + return [ + 'rocket_first_install_options' => 'add_options_first_time', + 'rocket_input_sanitize' => [ 'sanitize_options', 14, 2 ], + 'rocket_meta_boxes_fields' => [ 'add_meta_box', 2 ], + ]; + } + + /** + * Add the RUCSS options to the WP Rocket options array. + * + * @since 3.9 + * + * @param array $options WP Rocket options array. + * + * @return array + */ + public function add_options_first_time( $options ) : array { + return $this->settings->add_options( $options ); + } + + /** + * Sanitizes RUCSS options values when the settings form is submitted + * + * @since 3.9 + * + * @param array $input Array of values submitted from the form. + * @param AdminSettings $settings Settings class instance. + * + * @return array + */ + public function sanitize_options( $input, AdminSettings $settings ) : array { + return $this->settings->sanitize_options( $input, $settings ); + } + + /** + * Add the field to the WP Rocket metabox on the post edit page. + * + * @param string[] $fields Metaboxes fields. + * + * @return string[] + */ + public function add_meta_box( array $fields ) { + $fields['remove_unused_css'] = __( 'Remove Unused CSS', 'rocket' ); + + return $fields; + } +} diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/Subscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/Subscriber.php index c697ec191..bb2f3af3a 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/Subscriber.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/Subscriber.php @@ -3,7 +3,6 @@ namespace WP_Rocket\Engine\Optimization\RUCSS\Admin; -use WP_Rocket\Engine\Admin\Settings\Settings as AdminSettings; use WP_Rocket\Engine\Optimization\RUCSS\Controller\Queue; use WP_Rocket\Engine\Common\Queue\RUCSSQueueRunner; use WP_Rocket\Engine\Optimization\RUCSS\Controller\UsedCSS; @@ -63,8 +62,6 @@ public static function get_subscribed_events() : array { $slug = rocket_get_constant( 'WP_ROCKET_SLUG', 'wp_rocket_settings' ); return [ - 'rocket_first_install_options' => 'add_options_first_time', - 'rocket_input_sanitize' => [ 'sanitize_options', 14, 2 ], 'update_option_' . $slug => [ [ 'clean_used_css_and_cache', 9, 2 ], [ 'maybe_set_processing_transient', 50, 2 ], @@ -237,32 +234,7 @@ private function delete_used_css_rows() { do_action( 'rocket_after_clean_used_css' ); } - /** - * Add the RUCSS options to the WP Rocket options array. - * - * @since 3.9 - * - * @param array $options WP Rocket options array. - * - * @return array - */ - public function add_options_first_time( $options ) : array { - return $this->settings->add_options( $options ); - } - /** - * Sanitizes RUCSS options values when the settings form is submitted - * - * @since 3.9 - * - * @param array $input Array of values submitted from the form. - * @param AdminSettings $settings Settings class instance. - * - * @return array - */ - public function sanitize_options( $input, AdminSettings $settings ) : array { - return $this->settings->sanitize_options( $input, $settings ); - } /** * Truncate UsedCSS DB Table when `remove_unused_css_safelist` is changed. diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php index dc005846c..95cb07273 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php @@ -825,7 +825,26 @@ public function get_not_completed_count() { * @return void */ public function clear_failed_urls() { - $rows = $this->used_css_query->get_failed_rows(); + /** + * Delay before failed rucss jobs are deleted. + * + * @param string $delay delay before failed rucss jobs are deleted. + */ + $delay = (string) apply_filters( 'rocket_delay_remove_rucss_failed_jobs', '3 days' ); + + if ( '' === $delay || '0' === $delay ) { + $delay = '3 days'; + } + $parts = explode( ' ', $delay ); + + $value = 3; + $unit = 'days'; + + if ( count( $parts ) === 2 && $parts[0] >= 0 ) { + $value = (float) $parts[0]; + $unit = $parts[1]; + } + $rows = $this->used_css_query->get_failed_rows( $value, $unit ); if ( empty( $rows ) ) { return; @@ -842,7 +861,11 @@ public function clear_failed_urls() { continue; } - $this->used_css_query->revert_to_pending( $id ); + $add_to_queue_response = $this->add_url_to_the_queue( $row->url, (bool) $row->is_mobile ); + if ( false !== $add_to_queue_response ) { + $new_job_id = $add_to_queue_response['contents']['jobId']; + $this->used_css_query->reset_job( $id, $new_job_id ); + } } /** diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Database/Queries/UsedCSS.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Database/Queries/UsedCSS.php index e40f4cfe6..af8c612fe 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Database/Queries/UsedCSS.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Database/Queries/UsedCSS.php @@ -199,15 +199,14 @@ public function make_status_inprogress( int $id ) { } /** - * Change the status to be pending. + * Reset the job and add new job_id pending. * * @param int $id DB row ID. * @param string $job_id API job_id. - * @param string $queue_name API Queue name. * * @return bool */ - public function make_status_pending( int $id, string $job_id, string $queue_name ) { + public function reset_job( int $id, string $job_id ) { if ( ! self::$table_exists && ! $this->table_exists() ) { return false; } @@ -215,9 +214,12 @@ public function make_status_pending( int $id, string $job_id, string $queue_name return $this->update_item( $id, [ - 'job_id' => $job_id, - 'queue_name' => $queue_name, - 'status' => 'pending', + 'job_id' => $job_id, + 'status' => 'pending', + 'error_code' => '', + 'error_message' => '', + 'retries' => 0, + 'modified' => current_time( 'mysql', true ), ] ); } @@ -425,9 +427,11 @@ public function get_completed_count() { /** * Get all failed rows. * + * @param float $delay delay before the urls are deleted. + * @param string $unit unit from the delay. * @return array|false */ - public function get_failed_rows() { + public function get_failed_rows( float $delay = 3, string $unit = 'days' ) { if ( ! self::$table_exists && ! $this->table_exists() ) { return false; } @@ -438,7 +442,7 @@ public function get_failed_rows() { 'date_query' => [ [ 'column' => 'modified', - 'before' => '3 days ago', + 'before' => "$delay $unit ago", 'inclusive' => true, ], ], diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/ServiceProvider.php index 3c308140a..7a3f78281 100755 --- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/ServiceProvider.php +++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/ServiceProvider.php @@ -2,8 +2,7 @@ namespace WP_Rocket\Engine\Optimization\RUCSS; use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider; -use WP_Rocket\Engine\Optimization\RUCSS\Admin\Database; -use WP_Rocket\Engine\Optimization\RUCSS\Admin\Settings; +use WP_Rocket\Engine\Optimization\RUCSS\Admin\{Database, OptionSubscriber, Settings}; use WP_Rocket\Engine\Optimization\RUCSS\Admin\Subscriber as AdminSubscriber; use WP_Rocket\Engine\Optimization\RUCSS\Controller\Filesystem; use WP_Rocket\Engine\Optimization\RUCSS\Controller\Queue; @@ -33,6 +32,7 @@ class ServiceProvider extends AbstractServiceProvider { protected $provides = [ 'rucss_settings', 'rucss_database', + 'rucss_option_subscriber', 'rucss_admin_subscriber', 'rucss_frontend_api_client', 'rucss_used_css', @@ -51,7 +51,7 @@ class ServiceProvider extends AbstractServiceProvider { */ public function register() { - $this->getContainer()->add( 'rucss_usedcss_table', UsedCSSTable::class ); + $this->getContainer()->share( 'rucss_usedcss_table', UsedCSSTable::class ); $this->getContainer()->add( 'rucss_database', Database::class ) ->addArgument( $this->getContainer()->get( 'rucss_usedcss_table' ) ); @@ -75,6 +75,8 @@ public function register() { ->addArgument( $this->getContainer()->get( 'dynamic_lists_defaultlists_data_manager' ) ) ->addArgument( $this->getContainer()->get( 'rucss_filesystem' ) ); + $this->getContainer()->share( 'rucss_option_subscriber', OptionSubscriber::class ) + ->addArgument( $this->getContainer()->get( 'rucss_settings' ) ); $this->getContainer()->share( 'rucss_admin_subscriber', AdminSubscriber::class ) ->addArgument( $this->getContainer()->get( 'rucss_settings' ) ) ->addArgument( $this->getContainer()->get( 'rucss_database' ) ) diff --git a/wp-content/plugins/wp-rocket/inc/Plugin.php b/wp-content/plugins/wp-rocket/inc/Plugin.php index 1546c237f..0c1e6571f 100755 --- a/wp-content/plugins/wp-rocket/inc/Plugin.php +++ b/wp-content/plugins/wp-rocket/inc/Plugin.php @@ -226,6 +226,7 @@ private function init_admin_subscribers() { 'actionscheduler_admin_subscriber', 'domain_change_subscriber', 'lazyload_css_admin_subscriber', + 'post_edit_options_subscriber', ]; } @@ -292,6 +293,7 @@ private function init_common_subscribers() { $common_subscribers = [ 'license_subscriber', 'cdn_subscriber', + 'cdn_admin_subscriber', 'critical_css_subscriber', 'sucuri_subscriber', 'common_extractcss_subscriber', @@ -323,6 +325,7 @@ private function init_common_subscribers() { 'pdfembedder', 'delay_js_admin_subscriber', 'rucss_admin_subscriber', + 'rucss_option_subscriber', 'rucss_frontend_subscriber', 'rucss_cron_subscriber', 'divi', @@ -376,6 +379,7 @@ private function init_common_subscribers() { 'themify', 'wpgeotargeting', 'lazyload_css_subscriber', + 'shoptimizer', ]; $host_type = HostResolver::get_host_service(); diff --git a/wp-content/plugins/wp-rocket/inc/ThirdParty/Hostings/SpinUpWP.php b/wp-content/plugins/wp-rocket/inc/ThirdParty/Hostings/SpinUpWP.php index bda40093b..7bf01ab9b 100755 --- a/wp-content/plugins/wp-rocket/inc/ThirdParty/Hostings/SpinUpWP.php +++ b/wp-content/plugins/wp-rocket/inc/ThirdParty/Hostings/SpinUpWP.php @@ -1,10 +1,10 @@ 'return_false', - 'rocket_display_varnish_options_tab' => 'return_false', - 'rocket_cache_mandatory_cookies' => 'return_empty_array', - 'after_rocket_clean_domain' => 'purge_site', - 'wp_rocket_loaded' => 'remove_actions', + 'do_rocket_generate_caching_files' => 'return_false', + 'rocket_display_varnish_options_tab' => 'return_false', + 'rocket_cache_mandatory_cookies' => 'return_empty_array', + 'after_rocket_clean_domain' => 'purge_site', + 'wp_rocket_loaded' => 'remove_actions', + 'after_rocket_clean_file' => 'purge_url', + 'rocket_rucss_after_clearing_usedcss' => 'purge_url', + 'rocket_rucss_complete_job_status' => 'purge_url', + 'after_rocket_clean_term' => [ 'purge_term_urls', 10, 2 ], + 'rocket_after_clean_terms' => 'purge_urls', ]; } @@ -35,6 +40,8 @@ public static function get_subscribed_events() { * Purge SpinUpWP cache after clean domain. * * @since 3.6.2 + * + * @return void */ public function purge_site() { if ( ! function_exists( 'spinupwp_purge_site' ) ) { @@ -48,9 +55,50 @@ public function purge_site() { * Remove rocket_clean_domain which prevents a double clear of the cache. * * @since 3.6.2 + * + * @return void */ public function remove_actions() { remove_action( 'switch_theme', 'rocket_clean_domain' ); } + /** + * Purge URL in SpinUpWP + * + * @param string $url URL. + * + * @return void + */ + public function purge_url( $url ) { + if ( ! function_exists( 'spinupwp_purge_url' ) ) { + return; + } + + spinupwp_purge_url( trailingslashit( $url ) ); + } + + /** + * Purge multiple URLs + * + * @param array $urls Array of URLs. + * + * @return void + */ + public function purge_urls( $urls ) { + foreach ( $urls as $url ) { + $this->purge_url( $url ); + } + } + + /** + * Purge URLs related to a term + * + * @param WP_Term $term The term object. + * @param array $urls Array of URLs. + * + * @return void + */ + public function purge_term_urls( $term, $urls ) { + $this->purge_urls( $urls ); + } } diff --git a/wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/CDN/Cloudflare.php b/wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/CDN/Cloudflare.php index 239f9dbd5..45cc881e3 100755 --- a/wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/CDN/Cloudflare.php +++ b/wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/CDN/Cloudflare.php @@ -5,12 +5,13 @@ use WP_Rocket\Admin\{Options,Options_Data}; use WP_Rocket\Engine\Admin\Beacon\Beacon; +use WP_Rocket\Engine\Deactivation\DeactivationInterface; use WP_Rocket\Event_Management\Subscriber_Interface; /** * Compatibility class for cloudflare. */ -class Cloudflare implements Subscriber_Interface { +class Cloudflare implements Subscriber_Interface, DeactivationInterface { /** * Options instance. * @@ -75,6 +76,7 @@ public static function get_subscribed_events() { 'rocket_rucss_after_clearing_usedcss' => 'purge_cloudflare_after_usedcss', 'admin_post_rocket_enable_separate_mobile_cache' => 'enable_separate_mobile_cache', 'rocket_cdn_helper_addons' => 'add_cdn_helper_message', + 'init' => 'unregister_cloudflare_clean_on_post', ]; } @@ -448,4 +450,54 @@ public function add_cdn_helper_message( array $addons ): array { $addons[] = 'Cloudflare'; return $addons; } + + /** + * Purge Cloudflare on deactivate. + * + * @return void + */ + public function deactivate() { + $this->purge_cloudflare(); + } + + /** + * Unregister Call on clean posts. + * + * @return void + */ + public function unregister_cloudflare_clean_on_post() { + $this->unregister_callback( 'deleted_post', 'purgeCacheByRelevantURLs' ); + $this->unregister_callback( 'transition_post_status', 'purgeCacheOnPostStatusChange', PHP_INT_MAX ); + } + + /** + * Unregister a callback. + * + * @param string $hook Hook on which to unregister. + * @param string $method The callback to unregister. + * @param int $priority the priority from the callback. + * @return void + */ + protected function unregister_callback( string $hook, string $method, int $priority = 10 ) { + global $wp_filter; + + if ( ! key_exists( $hook, $wp_filter ) ) { + return; + } + + $original_wp_filter = $wp_filter[ $hook ]->callbacks; + + if ( ! key_exists( $priority, $original_wp_filter ) ) { + return; + } + + foreach ( $original_wp_filter[ $priority ] as $key => $config ) { + + if ( substr( $key, - strlen( $method ) ) !== $method ) { + continue; + } + + unset( $wp_filter[ $hook ]->callbacks[ $priority ][ $key ] ); + } + } } diff --git a/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/ServiceProvider.php index 44965ec0d..8822eb5d3 100755 --- a/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/ServiceProvider.php +++ b/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/ServiceProvider.php @@ -26,6 +26,7 @@ class ServiceProvider extends AbstractServiceProvider { 'uncode', 'xstore', 'themify', + 'shoptimizer', ]; /** @@ -73,5 +74,6 @@ public function register() { $this->getContainer()->share( 'themify', Themify::class ) ->addArgument( $options ); + $this->getContainer()->share( 'shoptimizer', Shoptimizer::class ); } } diff --git a/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/Shoptimizer.php b/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/Shoptimizer.php new file mode 100755 index 000000000..d2917dc5b --- /dev/null +++ b/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/Shoptimizer.php @@ -0,0 +1,56 @@ + 'method_name') + * * array('hook_name' => array('method_name', $priority)) + * * array('hook_name' => array('method_name', $priority, $accepted_args)) + * * array('hook_name' => array(array('method_name_1', $priority_1, $accepted_args_1)), array('method_name_2', $priority_2, $accepted_args_2))) + * + * @return array + */ + public static function get_subscribed_events() { + if ( ! self::is_current_theme() ) { + return []; + } + + return [ + 'rocket_exclude_defer_js' => 'exclude_jquery_deferjs_with_cart_drawer', + ]; + } + + /** + * Exclude Jquery from defer JS. + * + * @param array $exclusions Excluded values from defer JS. + * + * @return array + */ + public function exclude_jquery_deferjs_with_cart_drawer( $exclusions ) { + if ( ! function_exists( 'shoptimizer_get_option' ) || ! shoptimizer_get_option( 'shoptimizer_layout_woocommerce_enable_sidebar_cart' ) ) { + return $exclusions; + } + + $exclusions[] = '\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\?(.*))?'; + return $exclusions; + } +} diff --git a/wp-content/plugins/wp-rocket/inc/admin/ui/meta-boxes.php b/wp-content/plugins/wp-rocket/inc/admin/ui/meta-boxes.php index a57591e18..494e8345f 100755 --- a/wp-content/plugins/wp-rocket/inc/admin/ui/meta-boxes.php +++ b/wp-content/plugins/wp-rocket/inc/admin/ui/meta-boxes.php @@ -39,201 +39,3 @@ function rocket_post_submitbox_start() { } } add_action( 'post_submitbox_start', 'rocket_post_submitbox_start' ); - -/** - * Add "Cache options" metabox - * - * @since 2.5 - */ -function rocket_cache_options_meta_boxes() { - - if ( ! rocket_can_display_options() ) { - return; - } - - if ( current_user_can( 'rocket_manage_options' ) ) { - $cpts = get_post_types( - [ - 'public' => true, - ], - 'objects' - ); - unset( $cpts['attachment'] ); - - $cpts = apply_filters( 'rocket_metabox_options_post_types', $cpts ); - - foreach ( $cpts as $cpt => $cpt_object ) { - $label = $cpt_object->labels->singular_name; - add_meta_box( 'rocket_post_exclude', sprintf( __( 'WP Rocket Options', 'rocket' ), $label ), 'rocket_display_cache_options_meta_boxes', $cpt, 'side', 'core' ); - } - } -} -add_action( 'add_meta_boxes', 'rocket_cache_options_meta_boxes' ); - -/** - * Displays some checkbox to de/activate some cache options - * - * @since 2.5 - */ -function rocket_display_cache_options_meta_boxes() { - if ( current_user_can( 'rocket_manage_options' ) ) { - global $post, $pagenow; - wp_nonce_field( 'rocket_box_option', '_rocketnonce', false, true ); - ?> - -
    - ID ) ); - - if ( isset( $rejected_uris[ $path ] ) ) { - $reject_current_uri = true; - } - } - ?> - > -
    - -
    -

    - __( 'LazyLoad for images', 'rocket' ), - 'lazyload_iframes' => __( 'LazyLoad for iframes/videos', 'rocket' ), - 'minify_css' => __( 'Minify CSS', 'rocket' ), - 'remove_unused_css' => __( 'Remove Unused CSS', 'rocket' ), - 'minify_js' => __( 'Minify/combine JS', 'rocket' ), - 'cdn' => __( 'CDN', 'rocket' ), - 'async_css' => __( 'Load CSS asynchronously', 'rocket' ), - 'defer_all_js' => __( 'Defer JS', 'rocket' ), - 'delay_js' => __( 'Delay JavaScript execution', 'rocket' ), - ]; - - $old_fields = $fields; - - /** - * Metaboxes fields. - * - * @param string[] $fields Metaboxes fields. - */ - $fields = apply_filters( 'rocket_meta_boxes_fields', $fields ); - - if ( ! is_array( $fields ) ) { - $fields = $old_fields; - } - - foreach ( $fields as $field => $label ) { - $disabled = disabled( ! get_rocket_option( $field ), true, false ); - // translators: %s is the name of the option. - $title = $disabled ? ' title="' . esc_attr( sprintf( __( 'Activate first the %s option.', 'rocket' ), $label ) ) . '"' : ''; - $class = $disabled ? ' class="rkt-disabled"' : ''; - $checked = ! $disabled ? checked( ! get_post_meta( $post->ID, '_rocket_exclude_' . $field, true ), true, false ) : ''; - ?> - - - > -
    - - - -

    - ', '' ); - ?> -

    -
    - - '', - 'lazyload_iframes' => '', - 'minify_css' => '', - 'minify_js' => '', - 'cdn' => '', - 'async_css' => '', - 'defer_all_js' => '', - 'delay_js' => '', - 'remove_unused_css' => '', - ]; - - $old_fields = $fields; - - /** - * Metaboxes fields. - * - * @param string[] $fields Metaboxes fields. - */ - $fields = apply_filters( 'rocket_meta_boxes_fields', $fields ); - - if ( ! is_array( $old_fields ) ) { - $fields = $old_fields; - } - - $fields = array_keys( $fields ); - - foreach ( $fields as $field ) { - if ( isset( $_POST['rocket_post_exclude_hidden'][ $field ] ) ) { - if ( isset( $_POST['rocket_post_exclude'][ $field ] ) ) { - delete_post_meta( (int) $_POST['post_ID'], '_rocket_exclude_' . $field ); - } else { - if ( get_rocket_option( $field ) ) { - update_post_meta( (int) $_POST['post_ID'], '_rocket_exclude_' . $field, true ); - } - } - } - } - } -} -add_action( 'save_post', 'rocket_save_metabox_options' ); diff --git a/wp-content/plugins/wp-rocket/inc/admin/upgrader.php b/wp-content/plugins/wp-rocket/inc/admin/upgrader.php index 9ae886e7c..947ce0134 100755 --- a/wp-content/plugins/wp-rocket/inc/admin/upgrader.php +++ b/wp-content/plugins/wp-rocket/inc/admin/upgrader.php @@ -25,8 +25,6 @@ function rocket_upgrader() { if ( did_action( 'wp_rocket_first_install' ) || did_action( 'wp_rocket_upgrade' ) ) { flush_rocket_htaccess(); - rocket_renew_all_boxes( 0, [ 'rocket_warning_plugin_modification' ] ); - $options = get_option( WP_ROCKET_SLUG ); // do not use get_rocket_option() here. $options['version'] = WP_ROCKET_VERSION; diff --git a/wp-content/plugins/wp-rocket/inc/deprecated/3.15.php b/wp-content/plugins/wp-rocket/inc/deprecated/3.15.php new file mode 100755 index 000000000..48c93464f --- /dev/null +++ b/wp-content/plugins/wp-rocket/inc/deprecated/3.15.php @@ -0,0 +1,179 @@ + true, + ], + 'objects' + ); + unset( $cpts['attachment'] ); + + $cpts = apply_filters( 'rocket_metabox_options_post_types', $cpts ); + + foreach ( $cpts as $cpt => $cpt_object ) { + $label = $cpt_object->labels->singular_name; + add_meta_box( 'rocket_post_exclude', sprintf( __( 'WP Rocket Options', 'rocket' ), $label ), 'rocket_display_cache_options_meta_boxes', $cpt, 'side', 'core' ); + } + } +} + +/** + * Displays some checkbox to de/activate some cache options + * + * @since 3.15 deprecated + * @since 2.5 + */ +function rocket_display_cache_options_meta_boxes() { + if ( current_user_can( 'rocket_manage_options' ) ) { + global $post, $pagenow; + wp_nonce_field( 'rocket_box_option', '_rocketnonce', false, true ); + ?> + +
    + ID ) ); + + if ( isset( $rejected_uris[ $path ] ) ) { + $reject_current_uri = true; + } + } + ?> + > +
    + +
    +

    + $label ) { + $disabled = disabled( ! get_rocket_option( $field ), true, false ); + // translators: %s is the name of the option. + $title = $disabled ? ' title="' . esc_attr( sprintf( __( 'Activate first the %s option.', 'rocket' ), $label ) ) . '"' : ''; + $class = $disabled ? ' class="rkt-disabled"' : ''; + $checked = ! $disabled ? checked( ! get_post_meta( $post->ID, '_rocket_exclude_' . $field, true ), true, false ) : ''; + ?> + + + > +
    + + + +

    + ', '' ); + ?> +

    +
    + + z3P=$FYpP^SlmSynmHY1kEWkXu?WVSDax6&g;r zVJEDJJ+U*6MtaFwjoicf6m@~dBg_TTQRR790&k#hR4CEhxUypl$38fQ@`)IOdoipV zT_jQ%8;qn|u^FmCZSijGgxl~%RF|ePPWR$@%)->srrt-W@)3;B6LwJuN!V7qYUoB^7sa7Oh3b__$yY&GULo#XojlSA60Jx*29@t8rNen+=jaT zi&z5>;Tk-Rnk%94^nWywh2u@dRalhtV^|8GLCxM>$irC2Q5SB=M9_^}q0Uc0)gOb5 zg5^au@Br?>lcl8j>kB>A8X=qY@_x69T8oiw#Rg74BDjoVQrj@8oR}) zC)tSVk%Oq7I*Og}G^(LhQ%zSl!8=LEVmAz7aomL((t}t->;GdS8p~^_*GQCHT;GzBrJ{6W|V7ofU+8>;JG$GUh18)8A9>6xY&LplMQ;w-F(8?hxGLpDk4 zCXU2`e)^w1!+P3pPP~a)X3erJYZ5L*CaU!>RMH zY@Cc`@k>-ge!{s}IcSFJks$qFii{m(48wz17|VssYN&!mN#B8GuqkTxcE$u8gZ*$L zs;91EA*{yTi(_raCKye+9qM{W0OqnX#*mx=~%!T*$K~>L_PVpsD|FeCR+cc?=f8zi>i=> zopA>00=tnVZoQ6d5mwA>GX$$q%W5+g!xvBu+=sRBL#&L~P^%@Hd&OfbRM$^Ku!6%N5psL8wpHTzd!1&D>~%QRMeV zt%`xDo^v}+#VVxdqMrCsOu@I1&b49|^K%rDZHvv=MLl39jwA6aOu%rbhs^rC57jk?u_iWH z!J7`_u{It=t&TGonbmj)>FAZF!7VY1bU$o}d$9wa!@^i?m1(GrWk@&0IE_MQBD&xl z)Yw0aTA$}pExv~8iJPb=s=C_D=C-JP<1TE9sn`=&V0}D=rSK2bb&9Vs^~+%~(zUUS zW&b}4;`oVE;VUQo1C}TMH!O$Ixn={hv7*kyLO2A~@I)+)X&8gku?aqly8e4O z5kJR@+~4Z_uzA8^s4?*&^U2zWRj?0BpaM=pbzL^AZhJ)xrHoG~TN8IKTbi4%8SH+h8tO1vLaQsQez- z9*3YBwg`2jU8n}U;`lLY%zr?gcLUpEktgVXbw%eVOxFy@G}6gf509d5_#@WEf=`-v zKtuG9eh~HKzhGr_J!L*ttD+jz9;;$9ssZ<)hH?>V=pG9@k!`q!j6*6ld zg+E4h)j8COS5cF%<0kWN=!cz1Pr+8W5qsb#H~_0}Hs_^b9n#xSJ$VB4G{UEA~b5ULSH0lBeQ2W6NRF8d!nyjwp%%rP>38WiiL!5@X&U&nY z&tXxm|2K(fnZ1Wi@seYu=S|o3#Fpe|U>vSPUEnNgo&SZ*TdUMobAzp@>+Hou{00kS z=WX;d_QYuX5F@|;e??>n8P&I&9WcW&ACt*1u*1CXQ!$gHYEUi&3}<)#Kaq>3^;BH^~TKofl2lu0l_~bOj>5B87w>#kYl+V=?2MZTd3^gR*pl~|VdZ5Y&p_b1W)ND`3 z+PDW>;fL5Ci@t3dJ{&8Mo`AYf5R2e^)Zd@1B}DW@7f>xvKWe^SXP`~G)iE|79EN4_ z64t^$u?bc`ZicWos)zj89PdR9(GFCP7JbLq9lMgAfxUF&d?NSbP1F-Ede^*$S7H^? z8?iDT!czD#md0Qjb;LcCY?`+HPc}}!HGc7-k%}5vj-2CFv0TW0+j2rN4jK_ti zjYn}9=`vrK&+lZ^kTpGH{&X|)4E^7Tj3Z>|$uDCHmjBXhl{4@T(wnge4LyeHnGepI zE&B=%Al>~OD+ZUKADf&vA2g4mZukRgE>!)>Y&=u35b0%MB3fpva27s_)3DOlJOwVr zd$Gbd=1-`(sM&kc@lz~G`W&jES5ULP+_z>9HAKywPFMqnqv~g&=2rL~B3k!ruqE!r z>i8WN!6FyTSeC{p($!EcuY)hrBMtB;(q}H38=t(y`Q(3#&yrv8GJhe%EvQMF_B}mL z`Flvi!q)FUn3j~gVp`l3ms7DD9>Ej13s?PUcEWyF`AZn-&A1)ga`%S#73u*>{%l^; zT~H4)7j0aJnuG_iFMfbaweV~HVwTHu*n@(p*UWD|c{ql2%&*J|T6{mI;SbkMmyZ0+ z?07zmr`|@KgO{-Y^)i3w_eIiKf6!y3uizm3kF`i z9#%cvhwX~G!q#3QSBttLf1`cAm@BfiUPe86iQ=xvjyDk1@^M%m{ip`dLyhq!Y=^Hp z`M+Z`(zV%T+F$~<#yMCT^RO%)DG@dqr^wI+zsAj2yrk*sT^LRJIO@qi!(wMp-jNjZi%olkp+917W zZ9tv)TzOaI&uNEIPyQN~#CM(i&rw73C8{AmJLP|)=1j>7Cchl2;kED(c0jHdwr&vV zL`H#%riES6CcPdz<3Uu5|HQgjwvsEdqqRfL;(=&m5Ub)UR0Fr6dUPLl!{eyA6J6OA z`IWB@_SO3DNJPtJE*8fxP#3z0>Vbk)Ov|gH=0IyKgR$5U2VfHnq8hXwHTJLK96W-ZQ3v3fO^H4~TN-B^tMRI_{`HozyH^jl8)YgE^k!EIRC#tLaVlAA6vrzTg;2&5ATQoMadnoEc$+!r!P(ykHwJggvF+ErhHMDab zmthv^@H!%zT&0>Co1hxd8^_=TRKs3EEx$KWJ#`u5uyivsG{dnA>7}TyKZ;rnKcO02 zrMX#lv8WyziY1tTmY;|w)2tYmbs6{IaD1wTd9v%M$yunSd7?6?3)DqDQ4eg2gRwTw zLiOlcR1fYzo&PRs2tLDtcnvFP{r^Vfc`{11GCi;lwQ+oey6{E36DzhhPcRq*pyqlPBBtt;~TK?AJL{jCv1G%K@k1U`c5fgex}>DkT< z!3fmQBs=L@ScCLpR9A1rVR#$|qTSxidLQZmHlnuhvp595!?1R=&K*pP;!zh2pw{m) z)TBFvTGzjz8d|rbSl()j+1{L zH5Y#F7B;gpy1V&6Xo1rxNWzWy32MWc+r!L_?@*JfNKezH4Nw=JgqnQWs0OS?_1rT! z4?n>xI6lt2j0VP=2VNQ`5>G+LUM}k<-h+Ax&FXC?*Fw|{9>Jox4Rxb@wDBXS{01&1 z9o@(518Y%FShug4d|j{)=>bl9C2FX{PY}`iK7i_~57JHHY2{r3G z4m9Z@s3BN`n!LMFPx3O__$ju=KTyjqW{~Of&N!X)-Pi$t!76&BW`oVL=!NR)!Kf2c zusjCvATC4=P46LQLm7%%|Km~TWucbq0@OOsMSTbCK<)WQo%9LR9Qh7gt4seNqRA37 z)Lb|Tr;_%ep7cvpm;Q}Eg|a=7|quCGt<|*OY0TKFR?x8zrsXn6KOZmv@8+Tpj6b8%tM`+i+Q*k)wSM9 zrrr|N5N<|2so!n(lWnM;{29k#fh6NZ%p|=Z^-c&kNj6`vDcGNkWvFkpPf=t0H`>@B z#k>RhpeENe)D7lhZ(NS*+K;daUU2fudra4l!9nD&#W8pZM{s|uSE{+;qo}Swh1OgZz*^+@MD3(*Ow;T*E$|K0vb>ICF?O=4zXrA34&ih78EPY2G{xNS zarA2aA0bj0n`f9UwGC>6xP}_j!kOm6@i?0F1{{gMp?0((KJ(gr6PJ>%;WxjAZ^10m zowLlZ;ahPi>84X%)&{%>!!Ho26)?YOoWNMp1A}JF??b(>H=`!sH5{yT$V|%LusP|< z*=B?3g*NH!sIflbSbLfoIv=WM=QysL#`@Q!*-M6AHb+tKf)>-wn6^hvmITzY+lU&f zS~JWX>4|EqVK8dh zRk+*yR@@pj6p!O<`~p2V{vKE450FPNm2{ce=50A0)!>(KKDOjOayNFv*g2+tPMFAh zwCpUZ#d-HSzlfloC~BU`?}X}^DR>?O*ak<=Hw{^g+DCpweIb=uVAlH>Y)U#GH{p3? z+3{aonEK(fL^M{eMW#!Jpjy5ZwfqX*XL@EJwj{j}yJJ2U!yBmmpuqiR$fEHn(sfZA z)f-p`FQN9Al8enM8-={4!&Wkp917N82+KZT*6~8r4W2_yn%$`7a}ssKOQ;^Zh83{> z60_W5Q5#btreO-k;4$ohf1p-Pm!;a;S%15UXu~;%I`K=?hs704!t1yi$2@52{fK)> z7g}a+co4Ue{uK2+aNlw>N!MZr(g#sPc^<%^os4W;~A5`hS3k_Tmc|hj*+nze=Uz zaMDksUcWa`8`J|U&5d(WUAz<3#iuYDucIEM@GA2)T>o#L*3Yq`*8&xz`>80Z^2TJn%8xE)X+SG`WW4d z#h+2R&@*PX7kJkEfuR$s zf!k3RK8@DH`>_(fjoJ~< zqOKdhM5F|fpHN%zUsxJTZ#NZdqrPezVI7Qh^2a%PP|MMW8q=9r5EmjHVtvGqQTQ=# zL`~#dM|Z9NR;tBOpKvr1pW{JdI|&~-Io&8LP=NL4C(?+_ON1*?sBW#UYg$cKw2o{ldFW65WgTNepEiO&c-C!Hfh6KNW0Cb@Of$=^X<2hz+Z z>rLWkQJcxFqZE<%s5^}OyRb3omkIhL+e-Qfwj=1!it2}-lb=akhxQ-qZ~btNXDIy3 ziO(f|oG_1c6+dJBV*1JV1UC^5St5X_mQl9na&h1Rb?WHzLj^$-tWba^h3sYl-W~ zCmtaD?-cS7maG1Vzj;@-h%v!ky6$% zdHcz8;d_Km4ZYmc@o*ztmcGgN%ue<4-k($|6(FKwm3#n;er$IMBGhT zRea3JQ(f(fI({NNcw2rX)A_NI{8u<{fm8k&aUCu331pWKNB+k`%G7Swk&16SmGemV zqGA)mA>t=d$3DY9KZ`iAC6s^foU5!)2>MK)LjFDEkHw0FX$0+zzmRuY&!0zz4t<~1 zbK>*x8tL8mG&UgU*yWU`6Yolx&P5iIw^@Z8H%ONt@ZlRdCORtd2l+Zi5c)dtNdG61 zm`LVPr}7Eaa*p>fjqn9^`r?z$iC*ez+pR^=(TjY&>2w60Iv?Y1!nf2-ck-%XI_VBh zI{Ye;Ax>f!@*x}fFJNxsLBj3FQqp`|SPv5R5FVlM1SWFcUIOo=e~#as_~%Z}ddjam zd0mL>n5^-iVd9bh>6N1T4M#_3r?QL6)d{bY_XB?7oLnVR%ly!rZ!IA}SzRaJk2%gY zmJpAo>`^RE-cTHek8AzCNrB#6ACS=v2NHAy2|n_^B-}a*5kKcNpd#|JjQra$mx+7> z7R4&J)!#{6pLP}SN9vCvj3!JVB$IbhC#Dc?5crCUd~jZ-a5d@MkDiq214Tz`!#_W3 zP`@6jbAeca5nx$-iuDTvS*Th96uv3mH4e=JCP^IJFW585l_N)PMnO3s63vqhIldj0H+ep zQ`bjmP5f@GLnuwSNO}=A#15E%Ijcr!0}6 z!$WwBI2I(+zRB+&))f*((qd!hoYnXx=`QFd>~zliQr~~GD45|?%p_fobPd9<#NWkv_!Ry^oqL^nmGDkN z6Uua~!h20L^7Ch>UTsp1DfZ$4ikT$_^o5RiHEIfMCwzaEG2CS&4_m+^d-Lq z;T`gdlWs=58Sz}=yYM^GXNl{0h7e79pXw8IjKRZ{w{_|$uZ&Yx2cwkX>_67_+bV6K za6aKVik~M8A^hN+INkAC@}?3WPUuN|Bj=watR#Lnd3RtX($$Hdz&{E5$-9g28(|tD zaxnj_PpGtjkU+?y;%xku{OYEP^)%@tgoh~8@in0U=~9HNgyH0$a>`VmM&6Hvu1;PL z@?Id6and<>Ct(70!ln7~H{n|{4iPjV`xA5wCI3@ggE5hu|NrAY$_6;~2V+yxwFx@9 zJ7(c#$}X5}Yc8HLWnt?9BKw>RsJtxkIfTRH-%og*_%f$Fj`GXoRaQQs4fzj~S5+t8 zcC2yYsg$=Q_z0V+|0rfrHWaUsUZwRvm5lqH6EY}xnsDp5i%Pj9UM2iR{-31ZCccI6 z3Skmy9p6#*Glp;-A)0tU%7TO^ojMcAzja(Ceun&eH2z)^B}ufyg@g|YUy*(Ub<}b! zk4>F;f6CK{*T-AOM^4!UG8&K{L)cBcF!|3DI+AXM<(+fZQ5O04pYhHWx>J}yyfikX z(i?=cq+h}q@^XleLmkV>)6s);3gK?TG4e`~capHtDX&BRi^M&+hhW+DTh$AW8e$Lg zCr|N&lI{Af>jmq#sTZ`pLEAme?ago}Wq4xj`fck46FlyK&(8D*JoVdA!JXvK4%wk} zkDZ;B;tqMp@uk=vU%K0u?8)@_LP6V~N;wzGbWipN>}j4r(ChcDy!uYV_L;WdXV3I! z2khydq@XwCX=bPRedp#p60$SBLC(w$)v@chuNNHV@p-1(gZ$HV&%77At#qx-cp`e` zxl85pPIhloaOH~0_m)?Cb*W%>R+c{yQd{$G#uX|W9_6u9JRwhV$df`t+@`h84Y^;Y z+v~H_-9bBP^cIxI;A7PW5K+WSQB)ke%eQ1D-V6LlGBD<&pIC zS?)AWawij22e>mbY(Mz{+uu4X zS027mDbJO#Co0_B?&phKKj=x$4tPT|?W~OKG_S9j?M+qB+3o;6AN2at=t_@uTlD}P z-7rYY1D@%$CdR%?os;h85t7|JuqPuca)IgIPpt zWAyA&H8cF#DXAHe+xa{*vP^ddJi#o#FX-8s{#b#$u2b$SQ9f??a68GJJS8pQ&!!)| zneMc_7pKiBkk@bKsseeP@9th8Z~p8f#VclJ(IHGK=Xrv5f;Sk->v8|z1xED?*+Gvd zlbMA7@zl1{*+I{LJ)NBu@Jx$LwtptEof`0G+V13JPcYIwp_O)g#j(!7`2#U_zac?8 zgPSsln*EHGhaq9k1(+1c*_ykNG1FSGgX#Y4j1&#NJB1cru2XIK`?LTl5>TtFrPI_asT!sotK>v${W2RP;}?ob%pEv+w}i6`F#HAc@J&K zE|KSbzPc-K&DKc;^DgXoz1jG9?=-I+@?>UZFdyyd%qz1HnO1QbtkuZuNet3vHH%rJ z*_z>|^&wW9C+JP%nFEo+U}&bM`E>P!Sqyp4o<3Q`)h=(=*O{(xd}OJ_+JVR>QG9gs zK4um81F`m~AfXp{$Jb4?Yl`x>p%6#{n6qPu@jvwMKft+9Zw*MvGfG8S*1Re6Sw=iv$I0Zo|3zCg{xs=kQ3e6sXUvP zMQV>SJBv*!=n3U;W=^&}<;WhN&%-L>%q%xM4Ug^fCZ{{wO@AteXq3;B%?~wd=f$b6 z+}R~uRaV}AsZ#EtI9HY2iSe$AksYYRrSA$>jpwfMjDRo6?VA#ECwVfM+nPGLf7q^? z&6?4x8QL6t{?K$*y*G`mHDuEh=1F^JbC!0Rob1fpm=dnaZ5dJxN{rpp8`8jPtKgxN z)7f7l8%8$ILzmgZZ`<#x{cvZomHwY=hJ&i8E;NHiXZ+g}X`UlbbFn~(T`v@4tK|c3 z-|d3h$Gu!R^T>Yso82$cO5MuC9_=%`oW_LNAKC6A?HC-{=gjcb_TAbfy}A!GDn-4W z;?DH4xV@g-S+iX=E1He(KPQ0pzN&d6uSXZv-j`_)=RrJybZ#8HwezKN+n}A2ts!OH zl03d_hRf`Idd}X?mZ#ZGleJX@c}!~CecAq~F~#lE1fuI1D6jUyRF9ASZ-hHd`yY6$ z4tasUk4EKZM7jEwbtUE=PI8qmJ&ghScLDSN;SlAjnt!;8>q>$A)Ecgh(G?l6=6$uV z2hy0PDM{W88kGNMW7mxW`GuOh>K4r3($e*8f&2+=T(wG8)0U?_XNv#UZWyqKM7H<* zoNlfe1;fL6b}ut3^43iEnnBZZ{J&nY{d#f@`2Tu(^*odO-wnpB51;+d3TEB~>|VZ5 zD)XK7W$Q_^!#<~P%~YgLTEOF_t0Em}W=>@5WRSIWni&~j&Q1BR?UVbZc_N!F^Cz;#YA3Od!y36GlD%y!ly*$K`o mCEj_Z-0H01AsWKa-r94f>*Br`E3zI<*T?0bdCGOO$o~P+XRJK{ delta 18252 zcma*u2Y3}l-}mv|gh1%MmmGRaLT{lHdJTl$LP!oFker0%gpLR4f+$UbG(nJ}Gzk(E zkd7iCDk6%4BA{Xe6h&_o-tX_s=9cGvuj_uEy{^e;{BjX+`enY za=l=&Jq)m{3V6RX`9RA$S5Kvub)c}yE$aauKn}I`bg-;4 z_%0U5>o@^_!%R$ww5&n+7@xH)pEanXWxY(nO{|FXJ6TqBdmXd$B+;E zpYdZH)sr6Lz$U#c>rdi-z0Do>>|z zIG1%9b%Gjw%?aE{r&xP1KmLZgkloK*xP)VCYHKsNWrvJ;6*-wF<{YR(+?xGIJ#Q>;=Ay^nYVqWZzy3k0}pdEuNaW)pk za&$vM3`Nz8z+mivg|G*f!J$Lxe~z)zDbR_}V>!HxI>9ff1FT_O6bhpn7>|2!GOA&< zhnt>gfqGPf9pmvFaVn}|tw(Sy_CeL#=Od$Mbri$#v=je^y3j-9v0H^1k&0tcU6+BS zaUs%1>t*}`|3)?VN(_$)Z=-JPCoF&uobp_w%p>vzlTn4Ts0vk44XTeiQB%~Y?Sva} z7-}&6g>^A7*0Pw&Rz0kU>DUODqK-d>Jm4qt0rJe zoQ)bxM^Ih;0k*)euq~F0v#fkL6!lEqSOK3xU3d)^!~Ll9oWUx1#jlSpBjcjL#e<`x2#$?9`z_zpt^DgR>f0T6K|sni_$$BtPQa)#$q*GjP-FZviMmykR`)v zl+294g{b3hpk`e$5A%N%nIsS0jptF%ync%5>Lhd#FT!TH1J&g>F$}AuG7~Tgb%&=> z4fzzG#=lXI&Nsmf#+At8XT5?!_{RkLKQEa_6a-^%n(4x#sL@;ndty86hKo@>bs2M^ zm2L)KkYf=nNO5`8`D&vY&=5yqH>`uNq6X(BADJR#?xLQd?KKz5i^Ykfu>dBZdd7>o z@E+8K-auAo>jdf%m8Cn1VtXu!(bxkM(O(}m22MEoZjfnALEuC)Z<}K%aS~R>7g0TN z5Ow0uuoV7)Ut+){^Y;82&k&cNOmE>W%#Ssum>X<}x{*l7DC9goYXq5M?C_#mHXqeB zTd^!2cj7OwF!2M&JX6gIR~prW<#7pyVo5xVYVbu=m)}D5P?2e7e{*c5_kV9PI>92; zJYI_l_z;<@R@`*+DBeRoqHCxz^9`26yQp;`KXX^Jrw(e?bij@{2K5MDLp_2AsGbRW ziXPzlR#7s#vs$PVHAi**Ak+n?U@LqYH3;9vCK$}Y^{@@9K^~04$*9qN1~nTlU5Y*0{hM~FQMIdfH>c5(-S9< zVPSoaZ7_O{xy~}|PJCt#{U1lB#9UJ_8JP&y349To&11^php0ysGvADrRLo608#PN7 zqIz(><1Q>i{5I;2FJnCBUZ4@jLWhI!hXq6x$wWS5D#oHtv;=j64XDBSCN{!z$Qs2J zS*#!hBeC@&1};90>dCy%nsuQas^L9Qk6<`zU6_F7ajK7u?qDS{qpVjk6)SVw8eGdT zAMV74c)*E&aQ6R>8cao>Gh?M94kWIQJ#jiV$1|uN2zcJyZ~`(REZYssVj)J&r;(?6I>y-wG3#z~UMW zA!LeCp%IqF&ZwRkg}HDds>Rb#V`DLf<2tN^=TH}TfH4^Gf;oOP>c%Fc9>oe|cv#m_ zJ(|3dF~Rk%d1Tb$HK@U{19ibSZ~(r8C9z^As~I-J4VY(@Dc^=_*xOhN-^cxU3)68e zQ>i!>S#26r4fV*|p|1&-dS|P1K|O1*5UjS~I=V*3$ojDJZbcJX1I7gkIDmS?H9n!=}VLPz}9-x=;}wuXNM-BDwtKQ_iV)Qzn|_0(=mz$5GFe+{~tFPRJW#Hz$GsI`AKy77C|AdA{yM)L@) zK%9XZGs{pH-hm}>Kk5;lb-aoziSM8qJa3~p&sraur4;N#t?`{-Hq&Z0>VyYz2%d5b z*<@Ni1shU+9cyEW%^Ztuup-XIO1KGKcpPgWYo2%QC)cv zb%LL;96m;MS-EXy)Yiv5#8KE22V+fq1$CbDs7G@JgYf~DL2J7igk>E&VQtO-31sTC ze+@?BIn)V?ylMtZ7&2b0)~E}7ff~)XaR8Ql&8&dqaXIk>tbsv0Ob>>l2J2YVAfAX( zxD&f`ed`gK;n-~_BNew`H_W$-gRnnN$HO=fBX*nD@lxzXd>b&UN}XZ;G+!JViReu}ou2Pi&G zd_CKAZQKE~6tBi`9fu5f>tj>{r@U#VbtX0>e)J~&ua-1;%lu-n8P!D(a45DrXx4`{ zm`;2YXJF$)WR5T8fgVSy87thB{;#4n=;?+vVq zzQQNXg3}0tC>W3VZ~_*?>8J}mk43QXDKnZ~*qk^VwWKCs6P$$Vxt%x?gHM}joq&0X zpGKW$5$4ya*E&14VKsK_MGdaYrh;`73liT&4Z=qlf<50c3sVwyCtiq*7M;>`EVQo0Q55WkMK@C#HA1)Vj& zjFv$?qR!Y1*E@cKdL)I;@o|E^@EKf=`PGt&=gs@MHtLzT#?m+t3!w+q#WS!AF2+Q> zgd?!+`@A1;9nQqK3%roFEm;`7)O!>^bxplR5VxWebgSnNl<1$q3|pQuN6>ti|=bb2FSdPv#`?*^QYB!F%NOzO=Es6KwKQvP#5Y^ zL}GCqj2bgZSOMpt>Tg7isa>c?`3~xaf57tSt8mL)pgHOpwnGh$9+(UJ;r2l83UxvI zHV4|gFYpj?!|%;tyo0qUAM%4~$gCgDg;%2*n1xI59Xx@9fATMMtp7jzf19$V<8F53 zxno{J*{GI&iIG_3u4!?9bP=bb2H8^Vid%6p-o;b+)IIaT((xDbo6bBOO1b?jzX{RM z;h13i7##Oai);UGRy@XGArO9)FX+-NUm>9CDR+<#uP00w`sr(98P>32V=-1^Sj<;EJi#Bt79gH z;9;zWS8)^uJT`+a4mFk%QIB>4&c?~;V-2zXBC{0VvuyuwvBP<{&LF;tFXHF`+yBAv z7ak;jA<(wo!oGAzTP(mNuY^5OcRC&m;Z9UT5241u1yloXV0jGAP5+0Jsg~RJzdWK* z6`sLR+=Y$sb8Lu(nVW^N0~W=8P8^Rq&WqdeMN}6@2HXC3$8b~+jKjQ`hB|(Fu+R3- z)8{BipkN0Uz!G_F|NO6v1&LdsF5Df*;ZW4zJB6R%=cp6z&1d^xuP0GGa2G@HF*4q) z5SBqTtat(2Kc+%`Wb#w+8U|rDstXT0@nh75f(qLHUoOj|rr|VH`4UuDZowoxj$F&C zSIF#-C~RASlt-cNyg%v&M>^%c@nrOjQcw+<&mGR@C+{;k{7}UW8R~18Si@Bb@g>QE3+!rvk*47K)0 z<4p8mFy2A6{14PKEmG1PS06QfhhaLtic_#sDck?qz6$k-N|v_$AGHlo@nFSV-|~`C z3)f&@+=m-6cNx>A+i)Loa9MLlhjA70MU26ua_0DRs7H7UHE8dl-gb|%1J+{Q)(wnD ztsAq^_Xe5mWFjzz|Ge1*SEF7sAE2h^uUH?eR5YVI8a3T~s1t9-ruZ$^#7g}4Rh_3Z z4#MdeiyxyNRnrjL|JA%ag!!LH!FdYQbT!iwm|_Bb0g z=uV*qS)uB-|1DVyHE6?7$3>tn)Cbk&BT*~lM4W~%U?VK*t6^J}$#g=E_5{?4rr>;> zhZ-A&YMNHXQ2jHwOYn@s0Iwjq3A_5>;h^!`mT{tR|V9z{jb^T z*n&6_TjM5F*I!39G`NnLesxei(;oG07lRr@<9Q|ih+8lkmxr1g`WCf<-bW46Tw(qj z@>xa5=tNafchny1Vjm2_X{at;gX+RPs1sa3J%Z0sE8K6WdVk^$EEH~f;2^4JFQd+T z8+C&v>*+>(T!>5`3dW#T!u>c4&)`PvS>N{mN2Z@qT^ZlNtc=r94W5O1L`yIXx1%1x zWz_Wh75ig_hNed*pc-@v3vqqxG8vut8x`Oqtbhd@nR!|Vb)hKiha<5UzK)s&k5PBj zys`6k!zkkEs1@%#s$rK<=M8LPrn3uu8ijqygyURPi}#`C_f^M$rY5e5dZs-cH=r7F zAG>3RW@dUW#@)o9p~lQJ&28&dd=1sGfi27|+S-EoKc0fS6fDEx5w`y?A9wJ1;ubA! z|6elCU^em0R%Q@2Z*A;~`l1<(diF6+xfeAy=Aas|9vk9OoQS{TRvg!c`L6}2SX(o= zrlY!Y4eErKP=oM$)acFE&dl3#IGeaP-ocNsEgo-g?lho-?f-_{iFzshf*M*7vh(l_2yc2IlrnArbiA)}L6zFd5qy*|&HNb)xkLubqoP>L^8P@4xrrl`N zhsZQk56(p$w;GG%HavodP>*7IPqTi^$71S>vmQQraIU@o+KnK(CU zEL28+Ls7FR9TTHH2Ao&!7fnrsEc@O#B9Fa9$q3 z{Qrtf=Yh8W&+Ih^nHDZa-N8mDK7cObbEpRXgzYeNuo-O0sBgWeP_tnLY7D&YlpjHT zkX%B4&kQm3s|@j(1)(_ws<0b1-ELthKE|mSI@ElxZ$(|G#xV2JYUMZ-)l-wP2(Cgk zWIL+MPorLPS1=3zK=tSj-*8j$0-mDaN7Nne9bp!bd#EmKI?}xNJ2}3L$&^1vEm+Ah z=3{g#b|?M_wS-q3W#)MYbP*?FI4(quG2feHbb*uD884#lpj@muVO>=DKx~KWus2@A zp%^yWyxkU{|DA#Ap@2AZ=Vee|OrfYTmVy3RhRiyjb)Jl#)z_#4@1jnWJKl`ax~RA# zYS1O3rqx^w#?6?3JFzO3ben0|0`&+wq0T=VYhx-l#nsqc^Z!FK^(e?U#>~$M97a3? zb--t+X&0Da`~Nyt3AK{Fhq~a`sOgz|tobfT#bd-1QC;0U(ezjXYTek6dc>!3nC5@b zINSgGeJrLDzlB=q>W(+B+fBHb_yI1(xk;v8>16Y3`U31rd2WwwZNR~}75~KPxG}|i znpH}*{bOJV_Mm(!`ZO9(lj);^31*bOhhfCuq3*0ynmKSL>e+8}yo-94ZPQIx_jUB3 z#?T_v%V#a>-C%jmBhG^wI~Bdm|A}NKQ=qQAgPJbIGfV?&Vq@X~7=#N^k7^0(*&oIB zHlJ#kNt}O@`K5Cc>VjXPzL37fljxdkZtxZ+5eH6T{_9z!PBHU)H@b<#r`rBMG_Jrg z#MiMscAaL{i-kCc*q&~jhi!@T&oK3S;D2Y15ElsD82>LYB0mFJj-k3>z!OQ@dl zRhnzwFKlPkHv=R&9tC$Dh#L;*RU(o!ow#Za`3*TbL`=|>(^Q>*{#LcL0w|cTDX5Dv$;vFu9oZTKmAh^q7>BIat@Bb^{Dgxg<3!It}dassxRcgC}*b1iB*b$3h6c)xeQn&UX?(CH5@#Jhg1*D`Pt)Vc?Im_zWykv@ZB2+zlRV^8DI4n? ze1rUIr;fiOKQ5CJNS{09PdhsXI>%I|T<;QX+f5n&{!bZpbS4cVf1C6P`97pQy7;X9Q_u>wQ{Ose&>*Kj#{Agn$dQ_aRl{}NzYOC2k9B|&tOgVzeYZV{Bzg< zefSmS`ah0V5I;a|pP;V~KaR7rp>yKO#CoanZuP%9z9Q~U+?5neSrOtiQbm%s>7)?K zvoYN%JFXpUt%%d{o^$RF#6LK7&QMlW%aPmJ*_w)Pl3c_~sC1Ten>gIruV1Khwj<6- zMzC)wh3lMH`%3C`Q?M z>c2zM))Bj4oTlRrc5ZYI;)Biq^1R{1&8YOV4s_yNGyC_D|A@r5mGwDs z&X$K*TOq85uTsCNbDlbQl=4|x4hE5#NI{Tuz%cS-$$!m3ACpFra<)&&Tx6e{I)zEu z&M^-u@9O05QOqf3W`>K#$ zCw<30eXNziKDYoij)sv=I7jWnyVQLiH<6xV-$~+vq#ne_Q5*Nq8(ll7pzoRQN&QKK zNRvoSC~t)8NE=9}s5^ypmhx|jhdU=aNxam_PbaSvm&UG?og=T!CVzyouQ8r@qUQer zGQU&!02i^NE}p^ml*N<6h(9DfOIZyZN7_%?Mtp+QioCY*A@!m>!yj>O@@+{kvj06j|4yXQ6vSW(#*(xZaa6tx`?Oud-|+>k#{SpIS0Kfb z1`zKhec;sniLx1_bCeyT>`l}*g4CFJ46*NXGU24T1VeBoDToRcoXVkCi?omOp_Jz% ze-pjf6kowV*>{fg4e{IfpRDU5PFNWDls|6^pLsgyw)O1?PeoMTx|hJ)@q z`LgU!C7+wJZKMG5A*5!cCd5Z^2X&@lKGJRSQKW_B%d$Ub`h5&22N~)v*$BF?@q`h}4pFmeh;#1kye7Ia@fH3Y4|TDZrA%A3N80gM34h zwt=Medj8khd6i(RO4-g+;X9M{|67;<_OEi{0_?l%oJ>Vyo$~U|NjE#rro56TYY>knEupNuzyB#LL6An;LYhGQE-9F_hLp4Q<)D)Ub4m9}O^F9nzY8`bUQIef zDo)aNkbSS1tpA@ceNR1Y9~k^UPix)oPU`LK976sF(sklUsw9)|OUiWie~i&iz5x64 zIQcKAqwN<`UVrYNAETXYH|qXLy?Vsc$!C##mz)Dj5&TMOL0U3$X%2a9 zyU1sdo@al~HiP(A;wvN%DTW=N;cUutwnQ@hDch4%fTM_?+=8herS<JbfDXp1af0jKZEg*08cvr7PPlnf>HGbOKfQtRx$te@vt_)8`x;tL&b0wy`+@9FcN$&XY ztWz^)1>_nX8#g{Ha^^evvZ^ooGaz$GeY@oHhtGv)b$I^MpsXe@qy&d0deXgW<(OFR zDL&kaO3Fw`^tha2&YPYQ7w1k-ACr-kG$m`zx-CIjo=u7Qhoz*YO$pV#xnk4YE>DVA z_nI<^1GvTb6qk2wtT)_>{;$LywU>9?(=e;po_2v*qp}W! zX3hBOy*z=9!W(6E{Vv(|b#Z&#X|djvvuM0*JiI}Je1pSG9M&N=-JKfi z9UI{a5C5mMhkMGTl(hKto{8z+2vrD;tf7;ka)I=WN2y4w?%_&-j{gotxTj*U&@ z79(5(`gabi(41@bcTe`lrzFQFdcva3bct|H;lQj9zn@@d-Tv|Qz^p#^8syEI{jf-I zc3>|1O74=HB2zQcW0RBJo-yh&&(|~8W>(5?m&?AI&+b~Z(*Iw<)ry&2>+6~8*_G+7 zU^i|v(498kbK+3y82^a(uM1%vW4-P~w}+Fv+^iL8`Z+Z*fszbQyerKepD{Jjo#u6= zr)2JEXIBglclAz;8|!tslT*i}j7@TTLS2*G9*-+tN4ugEy>3_6{{5rsHFPoCr)I97 zYnRQWg=Mp2E7*4eddDZaUHxN6yOWaKuIde|rPF&Hn&wh7JfmYh<6Rze`m}VfDtW?P z9qCgy>jT$J8^aWErzKIvHRi;jw9MNt*fm>(yE-I#xi0O9ce~=XGuGq!kF_bolkQIA zuAC0{uTR-sL+srJvnz(#-v$(J?{8AhGUdq*tZ!Ef%p5t*E|WYs|*8}xtaOVF*b+d4?`(J@np#uC zYj{Sdr?%`6!9z-l&+MIMyQ)s41LEDu{*o{k^D)hpI3_JN*&P;1K=TvbnQJ_DXy(dP wyL9#kY4(b86}zajCM9~}6BD>&uYYt-Oia(vAW6?&u-KkgHhbPyJ6G`k1F4=*g8%>k diff --git a/wp-content/plugins/wp-rocket/languages/rocket-de_DE.po b/wp-content/plugins/wp-rocket/languages/rocket-de_DE.po index c276388ed..0484bfc69 100755 --- a/wp-content/plugins/wp-rocket/languages/rocket-de_DE.po +++ b/wp-content/plugins/wp-rocket/languages/rocket-de_DE.po @@ -1,18 +1,17 @@ -# Copyright (C) 2016 WP Rocket -# This file is distributed under the same license as the WP Rocket package. +# Copyright (C) 2023 WP Media +# This file is distributed under the same license as the WP Rocket plugin. # Translators: # Ben_Mew , 2019 -# Caspar Hübinger, 2020 # Romain • WP Rocket , 2020 +# Caspar Hübinger, 2020 # Rico Michael , 2021 # Christian Herrmann, 2023 -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: WP Rocket 3.13.3\n" +"Project-Id-Version: WP Rocket 3.15\n" "Report-Msgid-Bugs-To: http://wp-rocket.me/\n" -"POT-Creation-Date: 2023-06-12 13:56-0400\n" +"POT-Creation-Date: 2023-08-28T12:32:53+03:00\n" "PO-Revision-Date: 2019-08-26 15:14+0000\n" "Last-Translator: Christian Herrmann, 2023\n" "Language-Team: German (Germany) (https://app.transifex.com/wp-media/teams/18133/de_DE/)\n" @@ -21,22 +20,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.11\n" -"X-Poedit-Basepath: ..\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPathExcluded-0: assets\n" -"X-Poedit-SearchPathExcluded-1: src\n" -"X-Poedit-SearchPathExcluded-2: vendor\n" -"X-Poedit-SearchPathExcluded-3: node_modules\n" -"X-Poedit-SearchPathExcluded-4: tests\n" -"X-Poedit-SearchPathExcluded-5: inc/Dependencies\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Textdomain-Support: yes\n" +"X-Domain: rocket\n" +"X-Generator: WP-CLI 2.7.1\n" +#. Translators: %s = Hosting name. #: inc/3rd-party/hosting/flywheel.php:18 #: inc/3rd-party/hosting/pressidium.php:18 -#: inc/3rd-party/hosting/wp-serveur.php:27 +#: inc/3rd-party/hosting/wp-serveur.php:27 inc/deprecated/3.6.php:697 +#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22 #: inc/ThirdParty/Hostings/Cloudways.php:90 #: inc/ThirdParty/Hostings/Dreampress.php:44 #: inc/ThirdParty/Hostings/Godaddy.php:63 @@ -44,9 +35,7 @@ msgstr "" #: inc/ThirdParty/Hostings/OneCom.php:137 #: inc/ThirdParty/Hostings/ProIsp.php:51 inc/ThirdParty/Hostings/Savvii.php:50 #: inc/ThirdParty/Hostings/WPEngine.php:47 -#: inc/ThirdParty/Hostings/WPXCloud.php:51 inc/deprecated/3.6.php:697 -#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22 -#, php-format +#: inc/ThirdParty/Hostings/WPXCloud.php:51 msgid "" "Your site is hosted on %s, we have enabled Varnish auto-purge for " "compatibility." @@ -59,28 +48,38 @@ msgid "Cloudflare did not provide any reply. Please try again later." msgstr "" "Cloudflare hat keine Antwort zurückgegeben. Bitte versuche es später erneut." -#: inc/Addon/Cloudflare/API/Client.php:186 inc/deprecated/3.5.php:112 +#: inc/Addon/Cloudflare/API/Client.php:135 +msgid "Cloudflare unexpected response" +msgstr "Unerwartete Antwort von Cloudflare" + +#: inc/Addon/Cloudflare/API/Client.php:143 +msgid "Missing Cloudflare result." +msgstr "Fehlende Antwort von Cloudflare." + +#: inc/Addon/Cloudflare/API/Client.php:194 inc/deprecated/3.5.php:112 #: inc/deprecated/3.5.php:169 msgid "Incorrect Cloudflare email address or API key." msgstr "Ungültige Cloudflare-E-Mail-Adresse oder API-Schlüssel." -#: inc/Addon/Cloudflare/API/Client.php:190 -#: inc/Addon/Cloudflare/API/Client.php:204 -#: inc/Addon/Cloudflare/Cloudflare.php:74 -#: inc/Addon/Cloudflare/Cloudflare.php:109 +#. translators: %1$s = opening link; %2$s = closing link +#: inc/Addon/Cloudflare/API/Client.php:198 +#: inc/Addon/Cloudflare/API/Client.php:212 +#: inc/Addon/Cloudflare/Cloudflare.php:75 +#: inc/Addon/Cloudflare/Cloudflare.php:108 #: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:157 #: inc/deprecated/3.5.php:92 inc/deprecated/3.5.php:116 #: inc/deprecated/3.5.php:129 inc/deprecated/3.5.php:157 #: inc/deprecated/3.5.php:173 -#, php-format msgid "Read the %1$sdocumentation%2$s for further guidance." msgstr "Lies die %1$sDokumentation%2$s für weitere Hinweise." -#: inc/Addon/Cloudflare/API/Client.php:192 -#: inc/Addon/Cloudflare/API/Client.php:206 +#. translators: Documentation exists in EN, FR; use localized URL if +#. applicable. +#: inc/Addon/Cloudflare/API/Client.php:200 +#: inc/Addon/Cloudflare/API/Client.php:214 #: inc/Addon/Cloudflare/Auth/APIKey.php:63 -#: inc/Addon/Cloudflare/Cloudflare.php:76 -#: inc/Addon/Cloudflare/Cloudflare.php:111 inc/deprecated/3.5.php:81 +#: inc/Addon/Cloudflare/Cloudflare.php:77 +#: inc/Addon/Cloudflare/Cloudflare.php:110 inc/deprecated/3.5.php:81 #: inc/deprecated/3.5.php:94 inc/deprecated/3.5.php:118 #: inc/deprecated/3.5.php:131 inc/deprecated/3.5.php:159 #: inc/deprecated/3.5.php:175 inc/deprecated/3.5.php:208 @@ -91,12 +90,12 @@ msgstr "" "https://docs.wp-rocket.me/article/18-using-wp-rocket-with-" "cloudflare/?utm_source=wp_plugin&utm_medium=wp_rocket#add-on" -#: inc/Addon/Cloudflare/API/Client.php:200 inc/deprecated/3.5.php:125 +#: inc/Addon/Cloudflare/API/Client.php:208 inc/deprecated/3.5.php:125 msgid "Incorrect Cloudflare Zone ID." msgstr "Ungültige Cloudflare Zone ID." +#. translators: %1$s = opening link; %2$s = closing link #: inc/Addon/Cloudflare/Auth/APIKey.php:61 -#, php-format msgid "" "Cloudflare email and/or API key are not set. Read the %1$sdocumentation%2$s " "for further guidance." @@ -104,103 +103,104 @@ msgstr "" "Cloudflare-E-Mail und/oder API-Schlüssel sind nicht eingerichtet. Lies die " "%1$sDokumentation%2$s für weitere Anleitung." -#: inc/Addon/Cloudflare/Cloudflare.php:70 inc/deprecated/3.5.php:88 +#: inc/Addon/Cloudflare/Cloudflare.php:71 inc/deprecated/3.5.php:88 msgid "Missing Cloudflare Zone ID." msgstr "Fehlende Cloudflare Zone ID." -#: inc/Addon/Cloudflare/Cloudflare.php:105 inc/deprecated/3.5.php:153 +#: inc/Addon/Cloudflare/Cloudflare.php:104 inc/deprecated/3.5.php:153 msgid "It looks like your domain is not set up on Cloudflare." msgstr "Wie es aussieht, ist deine Domain nicht auf Cloudflare eingerichtet." -#: inc/Addon/Cloudflare/Cloudflare.php:205 +#: inc/Addon/Cloudflare/Cloudflare.php:200 msgid "days" msgstr "Tage" -#: inc/Addon/Cloudflare/Cloudflare.php:208 +#: inc/Addon/Cloudflare/Cloudflare.php:203 msgid "seconds" msgstr "Sekunden" -#: inc/Addon/Cloudflare/Cloudflare.php:210 +#: inc/Addon/Cloudflare/Cloudflare.php:205 msgid "minutes" msgstr "Minuten" -#: inc/Addon/Cloudflare/Cloudflare.php:212 +#: inc/Addon/Cloudflare/Cloudflare.php:207 msgid "hours" msgstr "Stunden" -#: inc/Addon/Cloudflare/Subscriber.php:224 -#: inc/Addon/Cloudflare/Subscriber.php:253 -#, php-format +#. translators: %1$s = , %2$s = , %3$s = CloudFare API return +#. message. +#: inc/Addon/Cloudflare/Subscriber.php:232 +#: inc/Addon/Cloudflare/Subscriber.php:261 msgid "%1$sWP Rocket:%2$s %3$s" msgstr "%1$sWP Rocket:%2$s %3$s" -#: inc/Addon/Cloudflare/Subscriber.php:242 -#, php-format +#. translators: %1$s = , %2$s = . +#: inc/Addon/Cloudflare/Subscriber.php:250 msgid "%1$sWP Rocket:%2$s Cloudflare cache successfully purged." msgstr "%1$sWP Rocket:%2$s Cloudflare-Cache erfolgreich geleert." -#: inc/Addon/Cloudflare/Subscriber.php:297 -#, php-format +#. translators: %s is the message returned by the CloudFlare API. +#: inc/Addon/Cloudflare/Subscriber.php:311 msgid "Cloudflare development mode error: %s" msgstr "Fehler mit Cloudflare Development Mode: %s" -#: inc/Addon/Cloudflare/Subscriber.php:304 -#, php-format +#. translators: %s is the message returned by the CloudFlare API. +#: inc/Addon/Cloudflare/Subscriber.php:318 msgid "Cloudflare development mode %s" msgstr "Cloudflare Development Mode: %s" -#: inc/Addon/Cloudflare/Subscriber.php:321 -#, php-format +#. translators: %s is the message returned by the CloudFlare API. +#: inc/Addon/Cloudflare/Subscriber.php:337 msgid "Cloudflare cache level error: %s" msgstr "Fehler mit Cloudflare Cache Level: %s" -#: inc/Addon/Cloudflare/Subscriber.php:328 +#: inc/Addon/Cloudflare/Subscriber.php:344 msgctxt "Cloudflare caching level" msgid "standard" msgstr "Standard" -#: inc/Addon/Cloudflare/Subscriber.php:334 -#, php-format +#. translators: %s is the caching level returned by the CloudFlare API. +#: inc/Addon/Cloudflare/Subscriber.php:350 msgid "Cloudflare cache level set to %s" msgstr "Cloudflare Cache Level: %s" -#: inc/Addon/Cloudflare/Subscriber.php:350 -#, php-format +#. translators: %s is the message returned by the CloudFlare API. +#: inc/Addon/Cloudflare/Subscriber.php:368 msgid "Cloudflare minification error: %s" msgstr "Fehler mit Cloudflare Minification: %s" -#: inc/Addon/Cloudflare/Subscriber.php:357 -#, php-format +#. translators: %s is the message returned by the CloudFlare API. +#: inc/Addon/Cloudflare/Subscriber.php:375 msgid "Cloudflare minification %s" msgstr "Cloudflare Minification: %s" -#: inc/Addon/Cloudflare/Subscriber.php:373 -#, php-format +#. translators: %s is the message returned by the CloudFlare API. +#: inc/Addon/Cloudflare/Subscriber.php:393 msgid "Cloudflare rocket loader error: %s" msgstr "Fehler mit Cloudflare RocketLoader: %s" -#: inc/Addon/Cloudflare/Subscriber.php:380 -#, php-format +#. translators: %s is the message returned by the CloudFlare API. +#: inc/Addon/Cloudflare/Subscriber.php:400 msgid "Cloudflare rocket loader %s" msgstr "Cloudflare RocketLoader: %s" -#: inc/Addon/Cloudflare/Subscriber.php:396 -#, php-format +#. translators: %s is the message returned by the CloudFlare API. +#: inc/Addon/Cloudflare/Subscriber.php:418 msgid "Cloudflare browser cache error: %s" msgstr "Fehler mit CloudFlare Browser Cache: %s" -#: inc/Addon/Cloudflare/Subscriber.php:403 -#, php-format +#. translators: %s is the message returned by the CloudFlare API. +#: inc/Addon/Cloudflare/Subscriber.php:425 msgid "Cloudflare browser cache set to %s" msgstr "Cloudflare-Browsercache auf %s eingestellt" -#: inc/Addon/Cloudflare/Subscriber.php:512 -#, php-format +#. translators: %1$s = strong opening tag, %2$s = strong closing tag. +#: inc/Addon/Cloudflare/Subscriber.php:536 msgid "%1$sWP Rocket:%2$s Optimal settings activated for Cloudflare:" msgstr "%1$sWP Rocket:%2$s Optimale Einstellungen für Cloudflare aktiviert:" -#: inc/Addon/Cloudflare/Subscriber.php:521 -#, php-format +#. translators: %1$s = strong opening tag, %2$s = strong closing tag. +#: inc/Addon/Cloudflare/Subscriber.php:545 msgid "" "%1$sWP Rocket:%2$s Optimal settings deactivated for Cloudflare, reverted to " "previous settings:" @@ -208,17 +208,17 @@ msgstr "" "%1$sWP Rocket:%2$s Optimale Einstellungen für Cloudflare wurden deaktiviert " "und die vorherigen Einstellungen wiederhergestellt:" -#: inc/Addon/Cloudflare/Subscriber.php:632 inc/admin/options.php:184 +#: inc/Addon/Cloudflare/Subscriber.php:661 inc/admin/options.php:144 #: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:148 msgid "WP Rocket: " msgstr "WP Rocket: " -#: inc/Addon/Sucuri/Subscriber.php:95 -#, php-format +#. translators: %s is the error message returned by the API. +#: inc/Addon/Sucuri/Subscriber.php:96 msgid "Sucuri cache purge error: %s" msgstr "Sucuri-Cache Fehler beim Leeren: %s" -#: inc/Addon/Sucuri/Subscriber.php:100 +#: inc/Addon/Sucuri/Subscriber.php:101 msgid "" "The Sucuri cache is being cleared. Note that it may take up to two minutes " "for it to be fully flushed." @@ -226,42 +226,43 @@ msgstr "" "Der Sucuri-Cache wird geleert. Bedenke, dass es bis zu zwei Minuten dauern " "kann, bis er völlig geleert ist." -#: inc/Addon/Sucuri/Subscriber.php:217 +#: inc/Addon/Sucuri/Subscriber.php:218 msgid "Sucuri firewall API key was not found." msgstr "Sucuri Firewall API-Schlüssel wurde nicht gefunden." -#: inc/Addon/Sucuri/Subscriber.php:230 +#: inc/Addon/Sucuri/Subscriber.php:231 msgid "Sucuri firewall API key is invalid." msgstr "Sucuri Firewall API-Schlüssel ist ungültig." -#: inc/Addon/Sucuri/Subscriber.php:285 -#, php-format +#. translators: %s is an error message. +#: inc/Addon/Sucuri/Subscriber.php:286 msgid "Error when contacting Sucuri firewall API. Error message was: %s" msgstr "" "Fehler beim Versuch, die Sucuri Firewall API zu kontaktieren. Fehlermeldung " "war: %s" -#: inc/Addon/Sucuri/Subscriber.php:300 +#: inc/Addon/Sucuri/Subscriber.php:301 msgid "Could not get a response from the Sucuri firewall API." msgstr "Konnte keine Antwort von der Sucuri Firewall API erhalten." -#: inc/Addon/Sucuri/Subscriber.php:315 +#: inc/Addon/Sucuri/Subscriber.php:316 msgid "Got an invalid response from the Sucuri firewall API." msgstr "Ungültige Antwort von der Sucuri Firewall API erhalten." -#: inc/Addon/Sucuri/Subscriber.php:329 +#: inc/Addon/Sucuri/Subscriber.php:330 msgid "The Sucuri firewall API returned an unknown error." msgstr "Die Sucuri Firewall API hat einen unbekannten Fehler gemeldet." -#: inc/Addon/Sucuri/Subscriber.php:333 -#, php-format +#. translators: %s is an error message. +#: inc/Addon/Sucuri/Subscriber.php:334 msgid "The Sucuri firewall API returned the following error: %s" msgid_plural "The Sucuri firewall API returned the following errors: %s" msgstr[0] "Die Sucuri Firewall API hat folgenden Fehler zurückgegeben: %s" msgstr[1] "Die Sucuri Firewall API hat folgende Fehler zurückgegeben: %s" +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:93 -#, php-format msgid "" "You are using %1$s to serve WebP images so you do not need to enable this " "option. %2$sMore info%3$s %4$s If you prefer to have WP Rocket serve WebP " @@ -285,9 +286,10 @@ msgstr[1] "" msgid "WebP cache is disabled by filter." msgstr "WebP-Cache wurde durch einen Filter deaktiviert." +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:115 #: inc/Addon/WebP/AdminSubscriber.php:141 -#, php-format msgid "" "You are using %1$s to convert images to WebP. If you want WP Rocket to serve" " them for you, activate this option. %2$sMore info%3$s" @@ -301,9 +303,10 @@ msgstr[1] "" "Du benutzt %1$s, um Bilder nach WebP umzuwandeln. Falls du möchtest, dass WP" " Rocket sie ausliefert, aktiviere diese Option. %2$sMehr erfahren%3$s" +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:127 #: inc/Addon/WebP/AdminSubscriber.php:153 -#, php-format msgid "" "You are using %1$s to convert images to WebP. WP Rocket will create separate" " cache files to serve your WebP images. %2$sMore info%3$s" @@ -319,8 +322,8 @@ msgstr[1] "" "Cache-Dateien anlegen, um deine WebP-Bilder auszuliefern. %2$sMehr " "erfahren%3$s" +#. Translators: %1$s = opening tag, %2$s = closing tag. #: inc/Addon/WebP/AdminSubscriber.php:173 -#, php-format msgid "" "%5$sWe have not detected any compatible WebP plugin!%6$s%4$s If you don’t " "already have WebP images on your site consider using %3$sImagify%2$s or " @@ -339,3357 +342,3161 @@ msgstr "" "WP Rocket wird separate Cache-Dateien erstellen, um deine WebP-Bilder " "auszuliefern." -#: inc/Engine/Admin/Database/Optimization.php:30 -#: inc/Engine/Admin/Settings/Page.php:1475 -msgid "Revisions" -msgstr "Revisionen" +#: inc/admin/admin.php:18 inc/common/admin-bar.php:266 +#: inc/deprecated/deprecated.php:1787 +msgid "Support" +msgstr "Hilfe" -#: inc/Engine/Admin/Database/Optimization.php:31 -#: inc/Engine/Admin/Settings/Page.php:1485 -msgid "Auto Drafts" -msgstr "Automatisch erstellte Entwürfe" +#: inc/admin/admin.php:20 +msgid "Docs" +msgstr "Dokumentation" -#: inc/Engine/Admin/Database/Optimization.php:32 -#: inc/Engine/Admin/Settings/Page.php:1495 -msgid "Trashed Posts" -msgstr "Gelöschte Einträge (Papierkorb)" +#: inc/admin/admin.php:22 inc/common/admin-bar.php:254 +msgid "FAQ" +msgstr "FAQ" -#: inc/Engine/Admin/Database/Optimization.php:33 -#: inc/Engine/Admin/Settings/Page.php:1505 -msgid "Spam Comments" -msgstr "Spam-Kommentare" +#: inc/admin/admin.php:24 inc/common/admin-bar.php:63 +msgid "Settings" +msgstr "Einstellungen" -#: inc/Engine/Admin/Database/Optimization.php:34 -#: inc/Engine/Admin/Settings/Page.php:1515 -msgid "Trashed Comments" -msgstr "Gelöschte Kommentare (Papierkorb)" +#: inc/admin/admin.php:96 inc/admin/admin.php:118 inc/deprecated/3.5.php:898 +#: inc/Engine/Cache/AdminSubscriber.php:134 +msgid "Clear this cache" +msgstr "Diesen Cache leeren" -#: inc/Engine/Admin/Database/Optimization.php:35 -msgid "Transients" -msgstr "Transients" +#: inc/admin/admin.php:397 +msgid "Settings import failed: you do not have the permissions to do this." +msgstr "" +"Importieren der Einstellungen fehlgeschlagen: Dir fehlen die entsprechenden " +"Berechtigungen." -#: inc/Engine/Admin/Database/Optimization.php:36 -msgid "Tables" -msgstr "Tabellen" +#: inc/admin/admin.php:401 +msgid "Settings import failed: no file uploaded." +msgstr "Import fehlgeschlagen: keine Datei hochgeladen." -#: inc/Engine/Admin/Database/Subscriber.php:79 -#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92 -#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137 -msgid "weekly" -msgstr "wöchentlich" +#: inc/admin/admin.php:405 +msgid "Settings import failed: incorrect filename." +msgstr "Import fehlgeschlagen: nicht unterstützter Dateiname." -#: inc/Engine/Admin/Database/Subscriber.php:85 -msgid "monthly" -msgstr "monatlich" +#: inc/admin/admin.php:416 +msgid "Settings import failed: incorrect filetype." +msgstr "Import fehlgeschlagen: nicht unterstütztes Dateiformat." -#: inc/Engine/Admin/Database/Subscriber.php:194 -msgid "Database optimization process is running" -msgstr "Datenbank wird optimiert." +#: inc/admin/admin.php:426 +msgid "Settings import failed: " +msgstr "Import der Einstellungen fehlgeschlagen: " -#: inc/Engine/Admin/Database/Subscriber.php:224 -msgid "" -"Database optimization process is complete. Everything was already optimized!" -msgstr "Datenbank-Optimierung abgeschlossen. Alles war bereits optimiert!" +#: inc/admin/admin.php:442 +msgid "Settings import failed: unexpected file content." +msgstr "Import der Einstellungen fehlgeschlagen: Unerwarteter Dateiinhalt." -#: inc/Engine/Admin/Database/Subscriber.php:227 -msgid "" -"Database optimization process is complete. List of optimized items below:" -msgstr "" -"Datenbank-Optimierung abgeschlossen. Folgende Elemente wurden optimiert:" +#: inc/admin/admin.php:472 +msgid "Settings imported and saved." +msgstr "Einstellungen importiert und gespeichert." -#: inc/Engine/Admin/Database/Subscriber.php:235 -#, php-format -msgid "%1$d %2$s optimized." -msgstr "%1$d %2$s optimiert." +#: inc/admin/options.php:84 inc/Engine/Admin/Settings/Page.php:684 +msgid "Excluded CSS Files" +msgstr "CSS-Ausnahmen" -#: inc/Engine/Admin/Settings/Page.php:201 -msgid "Save Changes" -msgstr "Änderungen speichern" +#: inc/admin/options.php:85 inc/Engine/Admin/Settings/Page.php:838 +msgid "Excluded Inline JavaScript" +msgstr "Ausgenommenes Inline JavaScript" -#: inc/Engine/Admin/Settings/Page.php:201 -msgid "Validate License" -msgstr "Lizenz prüfen" +#: inc/admin/options.php:86 inc/Engine/Admin/Settings/Page.php:856 +#: inc/Engine/Admin/Settings/Page.php:889 +#: inc/Engine/Admin/Settings/Page.php:936 +msgid "Excluded JavaScript Files" +msgstr "JavaScript-Ausnahmen" -#: inc/Engine/Admin/Settings/Page.php:257 -#: inc/Engine/Admin/Settings/Page.php:258 -msgid "Unavailable" -msgstr "Server nicht erreichbar" +#: inc/admin/options.php:87 +msgid "Defer JavaScript Files" +msgstr "JavaScript-Dateien aufschieben" -#: inc/Engine/Admin/Settings/Page.php:352 inc/deprecated/deprecated.php:1789 -#: views/settings/page-sections/dashboard.php:80 -msgid "License" -msgstr "Lizenz" +#: inc/admin/options.php:88 +msgid "Excluded Delay JavaScript Files" +msgstr "Ausgenommene verzögerte JavaScript-Dateien" -#: inc/Engine/Admin/Settings/Page.php:369 -msgid "API key" -msgstr "API-Schlüssel" +#: inc/admin/options.php:89 inc/Engine/Admin/Settings/Page.php:1329 +msgid "Never Cache URL(s)" +msgstr "Nie cachen (URLs)" -#: inc/Engine/Admin/Settings/Page.php:384 -msgid "Email address" -msgstr "E-Mail-Adresse" +#: inc/admin/options.php:90 inc/Engine/Admin/Settings/Page.php:1343 +msgid "Never Cache User Agent(s)" +msgstr "Nie cachen (User Agents)" -#: inc/Engine/Admin/Settings/Page.php:410 -msgid "Dashboard" -msgstr "Dashboard" +#: inc/admin/options.php:91 inc/Engine/Admin/Settings/Page.php:1349 +msgid "Always Purge URL(s)" +msgstr "Immer löschen (URLs)" -#: inc/Engine/Admin/Settings/Page.php:411 -msgid "Get help, account info" -msgstr "Konto-Übersicht, Hilfe" +#: inc/admin/options.php:92 inc/Engine/Admin/Settings/Page.php:1616 +msgid "Exclude files from CDN" +msgstr "Dateien vom CDN ausschließen" -#: inc/Engine/Admin/Settings/Page.php:420 -msgid "My Status" -msgstr "Mein Status" +#. translators: 1 and 2 can be anything. +#: inc/admin/options.php:110 +msgid "%1$s: %2$s" +msgstr "%1$s: %2$s" -#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75 -msgid "Rocket Analytics" -msgstr "Rocket Analytics" +#: inc/admin/options.php:120 +msgid "The following pattern is invalid and has been removed:" +msgid_plural "The following patterns are invalid and have been removed:" +msgstr[0] "Folgendes Muster ist ungültig und wurde entfernt:" +msgstr[1] "Folgende Muster sind ungültig und wurden entfernt:" -#: inc/Engine/Admin/Settings/Page.php:432 -#, php-format -msgid "" -"I agree to share anonymous data with the development team to help improve WP" -" Rocket. %1$sWhat info will we collect?%2$s" -msgstr "" -"Ich erlaube dem Entwicklungsteam von WP Rocket, anonyme Daten aus meiner " -"Installation zum Zweck der Produktverbesserung zu erheben. %1$sWelche Daten " -"werden gesammelt?%2$s" +#: inc/admin/options.php:136 +msgid "More info" +msgstr "Mehr erfahren" -#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354 -msgid "Cache" -msgstr "Cache" +#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:671 +#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147 +#: views/settings/page-sections/dashboard.php:150 +msgid "Clear cache" +msgstr "Cache leeren" -#: inc/Engine/Admin/Settings/Page.php:457 -msgid "Basic cache options" -msgstr "Cache-Grundfunktionen" +#: inc/admin/ui/meta-boxes.php:67 +msgid "WP Rocket Options" +msgstr "WP-Rocket-Optionen" -#: inc/Engine/Admin/Settings/Page.php:464 -msgid "Mobile Cache" -msgstr "Mobiler Cache" +#: inc/admin/ui/meta-boxes.php:96 +msgid "Never cache this page" +msgstr "Diese Seite niemals cachen" -#: inc/Engine/Admin/Settings/Page.php:466 -msgid "Speed up your site for mobile visitors." -msgstr "Beschleunige deine Site auf mobilen Geräten." +#: inc/admin/ui/meta-boxes.php:100 +msgid "Activate these options on this post:" +msgstr "Aktiviere diese Einstellungen für diesen Beitrag:" -#: inc/Engine/Admin/Settings/Page.php:471 -msgid "" -"We detected you use a plugin that requires a separate cache for mobile, and " -"automatically enabled this option for compatibility." -msgstr "" -"Anscheinend nutzt du ein anderes Plugin, das einen separaten mobilen Cache " -"erfordert. Daher wurde diese Einstellung automatisch aktiviert." +#: inc/admin/ui/meta-boxes.php:103 +msgid "LazyLoad for images" +msgstr "LazyLoad für Bilder" -#: inc/Engine/Admin/Settings/Page.php:475 -msgid "User Cache" -msgstr "Personalisierter Cache" +#: inc/admin/ui/meta-boxes.php:104 +msgid "LazyLoad for iframes/videos" +msgstr "LazyLoad für iframes und Videos" -#: inc/Engine/Admin/Settings/Page.php:478 -#, php-format -msgid "" -"%1$sUser cache%2$s is great when you have user-specific or restricted " -"content on your website." -msgstr "" -"%1$sPersonalisierter Cache%2$s ist nützlich, wenn du personalisierte oder " -"eingeschränkte Inhalte zur Verfügung stellst." +#: inc/admin/ui/meta-boxes.php:105 +msgid "Minify CSS" +msgstr "CSS minifizieren" -#: inc/Engine/Admin/Settings/Page.php:486 -msgid "Cache Lifespan" -msgstr "Cache-Dauer" +#: inc/admin/ui/meta-boxes.php:106 inc/Engine/Admin/Settings/Page.php:736 +msgid "Remove Unused CSS" +msgstr "Nicht benutztes CSS entfernen" -#: inc/Engine/Admin/Settings/Page.php:489 -#, php-format -msgid "" -"Cache files older than the specified lifespan will be deleted.
    Enable " -"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan " -"expiration." -msgstr "" -"Cache-Dateien, die älter als die angegebene Lebensdauer sind, werden " -"gelöscht.
    Aktiviere %1$sCache füllen%2$s, um den Cache nach dem Ablauf " -"der Lebensdauer automatisch neu zu generieren." +#: inc/admin/ui/meta-boxes.php:107 +msgid "Minify/combine JS" +msgstr "JS minifizieren/zusammenfassen" -#: inc/Engine/Admin/Settings/Page.php:503 -msgid "Enable caching for logged-in WordPress users" -msgstr "Caching für angemeldete WordPress-Benutzer/-innen aktivieren" +#: inc/admin/ui/meta-boxes.php:108 inc/deprecated/deprecated.php:1773 +#: inc/Engine/Admin/Settings/Page.php:1586 +#: inc/Engine/Admin/Settings/Page.php:1597 +msgid "CDN" +msgstr "CDN" -#: inc/Engine/Admin/Settings/Page.php:511 -msgid "Enable caching for mobile devices" -msgstr "Caching für mobile Geräte aktivieren" +#: inc/admin/ui/meta-boxes.php:109 inc/Engine/Admin/Settings/Page.php:765 +msgid "Load CSS asynchronously" +msgstr "CSS-Dateien asynchron laden" -#: inc/Engine/Admin/Settings/Page.php:526 -msgid "Separate cache files for mobile devices" -msgstr "Separater Cache für mobile Geräte" +#: inc/admin/ui/meta-boxes.php:110 +msgid "Defer JS" +msgstr "Verzögertes JS (defer)" -#: inc/Engine/Admin/Settings/Page.php:528 -#, php-format +#: inc/admin/ui/meta-boxes.php:111 inc/Engine/Admin/Settings/Page.php:907 +msgid "Delay JavaScript execution" +msgstr "JavaScript-Ausführung verzögern" + +#. translators: %s is the name of the option. +#: inc/admin/ui/meta-boxes.php:130 +msgid "Activate first the %s option." +msgstr "Aktiviere zuerst die Einstellung %s." + +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/admin/ui/meta-boxes.php:146 msgid "" -"Most modern themes are responsive and should work without a separate cache. " -"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore " -"info%2$s" +"%1$sNote:%2$s None of these options will be applied if this post has been " +"excluded from cache in the global cache settings." msgstr "" -"Die meisten modernen Themes sind responsiv und sollten ohne einen separaten " -"Cache arbeiten. Aktiviere dies nur, falls du ein spezielles Mobil-Theme oder" -" -Plugin benutzt. %1$sMehr erfahren%2$s" +"%1$sHinweis:%2$s Keine dieser Optionen wird angewendet, falls dieser Beitrag" +" in den globalen Cache-Einstellungen vom Cache ausgenommen wurde." -#: inc/Engine/Admin/Settings/Page.php:544 +#. translators: %1$s WP Rocket plugin name; %2$s = file name. +#: inc/admin/ui/notices.php:30 inc/admin/ui/notices.php:43 msgid "" -"Specify time after which the global cache is cleared
    (0 = unlimited )" +"%1$s has not been deactivated due to missing writing permissions.
    \n" +"Make %2$s writeable and retry deactivation, or force deactivation now:" msgstr "" -"Zeitangabe, nach welcher der globale Cache geleert wird
    (0 = unbegrenzt)" +"%1$s wurde nicht aktiviert wegen fehlender Schreibrechte.
    \n" +"Erteile Schreibrechte für %2$s und versuche die Deaktivierung erneut, oder forciere die Deaktivierung jetzt:" -#: inc/Engine/Admin/Settings/Page.php:546 -#, php-format +#. translators: %s is WP Rocket plugin name. +#: inc/admin/ui/notices.php:97 msgid "" -"Reduce lifespan to 10 hours or less if you notice issues that seem to appear" -" periodically. %1$sWhy?%2$s" +"%s: One or more plugins have been enabled or disabled, " +"clear the cache if they affect the front end of your site." msgstr "" -"Reduziere auf 10 Stunden oder weniger, falls du Probleme bemerkst, die " -"periodisch aufzutreten scheinen. %1$sWarum?%2$s" - -#: inc/Engine/Admin/Settings/Page.php:552 -#: inc/Engine/License/views/promo-banner.php:30 -#: inc/Engine/License/views/renewal-soon-banner.php:13 -msgid "Hours" -msgstr "Stunden" - -#: inc/Engine/Admin/Settings/Page.php:553 -#: inc/Engine/License/views/promo-banner.php:29 -#: inc/Engine/License/views/renewal-soon-banner.php:12 -msgid "Days" -msgstr "Tage" - -#: inc/Engine/Admin/Settings/Page.php:602 -msgid "File Optimization" -msgstr "Datei-Optimierung" - -#: inc/Engine/Admin/Settings/Page.php:603 -msgid "Optimize CSS & JS" -msgstr "CSS und JS optimieren" +"%s: Plugin(s) aktiviert oder deaktiviert. Falls dies die " +"Darstellung deiner Website betrifft, lösche jetzt den Cache." -#: inc/Engine/Admin/Settings/Page.php:611 -#: inc/Engine/Admin/Settings/Page.php:637 -#, php-format +#. translators: %s is WP Rocket plugin name. +#: inc/admin/ui/notices.php:141 msgid "" -"%1$s Minification is currently activated in Autoptimize. If" -" you want to use %2$s’s minification, disable those options in Autoptimize." +"%s: The following plugins are not compatible with this " +"plugin and may cause unexpected results:" msgstr "" -"%1$s Minifizierung ist momentan in Autoptimize aktiviert. " -"Wenn du die Minifizierung von %2$s nutzen möchtest, deaktiviere die " -"entsprechenden Einstellungen in Autoptimize." - -#: inc/Engine/Admin/Settings/Page.php:621 -msgid "CSS Files" -msgstr "CSS-Dateien" - -#: inc/Engine/Admin/Settings/Page.php:630 -msgid "JavaScript Files" -msgstr "JavaScript-Dateien" +"%s: Folgende Plugins sind mit diesem Plugin nicht " +"kompatibel und können unerwartete Ergebnisse hervorrufen:" -#: inc/Engine/Admin/Settings/Page.php:642 -msgid "" -"If you have problems after activating this option, copy and paste the " -"default exclusions to quickly resolve issues:" -msgstr "" -"Falls du nach dem Aktivieren dieser Funktion Probleme bekommst, kopiere die " -"Standardexklusionen und füge sie ein, um diese schnell zu beheben:" +#: inc/admin/ui/notices.php:147 +msgid "Deactivate" +msgstr "Deaktivieren" -#: inc/Engine/Admin/Settings/Page.php:646 -#, php-format +#: inc/admin/ui/notices.php:189 msgid "" -"Also, please check our %1$sdocumentation%2$s for a list of compatibility " -"exclusions." +"WP Rocket Footer JS is not an official add-on. It prevents some options in " +"WP Rocket from working correctly. Please deactivate it if you have problems." msgstr "" -"Bitte lies auch unsere %1$sDokumentation%2$s mit einer Liste von Exklusionen" -" aus Kompatibilitätsgründen." +"WP Rocket Footer JS ist kein offizielles Add-on. Es verhindert, dass manche " +"Optionen in WP Rocket korrekt funktionieren. Bitte deaktiviere es, falls du" +" Probleme damit hast." -#: inc/Engine/Admin/Settings/Page.php:651 +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/admin/ui/notices.php:229 msgid "" -"Internal scripts are excluded by default to prevent issues. Remove them to " -"take full advantage of this option." +"Endurance Cache is currently enabled, which will conflict with WP Rocket " +"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the " +"%1$sSettings > General%2$s page to prevent any issues." msgstr "" -"Interne Skripte werden standardmäßig ausgeschlossen, um Probleme zu " -"verhindern. Entferne sie, um diese Funktion voll auszureizen." +"Endurance Cache ist momentan aktiviert, was Probleme mit dem Cache von WP " +"Rocket verursacht. Bitte stelle den Endurance Cache cache level auf der " +"Seite %1$sEinstellungen > Allgemein%2$sauf „Aus“ (Level 0), um Probleme zu " +"verhindern." -#: inc/Engine/Admin/Settings/Page.php:654 -#, php-format +#. translators: %1$s WP Rocket plugin name; %2$s = opening link; %3$s = +#. closing link +#: inc/admin/ui/notices.php:250 msgid "" -"If this causes trouble, restore the default exclusions, found %1$shere%2$s" +"%1$s: A custom permalink structure is required for the plugin to work " +"properly. %2$sGo to permalinks settings%3$s" msgstr "" -"Falls das zu Schwierigkeiten führt, stelle die Standardexklusionen wieder " -"her, die du %1$shier%2$s findest" - -#: inc/Engine/Admin/Settings/Page.php:663 -msgid "Minify CSS files" -msgstr "CSS minifizieren" - -#: inc/Engine/Admin/Settings/Page.php:664 -msgid "Minify CSS removes whitespace and comments to reduce the file size." -msgstr "Entfernt Leerzeilen und Kommentare zur Reduzierung der Datei-Größe." - -#: inc/Engine/Admin/Settings/Page.php:677 -#: inc/Engine/Admin/Settings/Page.php:701 -#: inc/Engine/Admin/Settings/Page.php:765 -#: inc/Engine/Admin/Settings/Page.php:831 -#: inc/Engine/Admin/Settings/Page.php:855 -msgid "This could break things!" -msgstr "Dies könnte Probleme bereiten!" +"%1$s: Eine angepasste Permalink-Struktur ist erforderlich für die korrekte " +"Funktionsweise des Plugins. %2$sPermalink-Einstellungen aufrufen%3$s" -#: inc/Engine/Admin/Settings/Page.php:678 -#: inc/Engine/Admin/Settings/Page.php:702 -#: inc/Engine/Admin/Settings/Page.php:766 -#: inc/Engine/Admin/Settings/Page.php:832 -#: inc/Engine/Admin/Settings/Page.php:856 +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:297 msgid "" -"If you notice any errors on your website after having activated this " -"setting, just deactivate it again, and your site will be back to normal." +"%s could not modify the .htaccess file due to missing writing permissions." msgstr "" -"Falls du nach der Aktivierung dieser Einstellung Unregelmäßigkeiten auf " -"deiner Website bemerken solltest, deaktiviere sie einfach wieder, und deine " -"Site wird wieder normal aussehen." - -#: inc/Engine/Admin/Settings/Page.php:679 -msgid "Activate minify CSS" -msgstr "Verstanden, aktiviere „CSS minifizieren“" +"%s konnte die .htaccess-Datei nicht ändern aufgrund fehlender " +"Schreibberechtigungen." -#: inc/Engine/Admin/Settings/Page.php:684 -msgid "Combine CSS files (Enable Minify CSS files to select)" +#. translators: This is a doc title! %1$s = opening link; %2$s = closing link +#: inc/admin/ui/notices.php:303 inc/admin/ui/notices.php:788 +msgid "Troubleshoot: %1$sHow to make system files writeable%2$s" msgstr "" -"CSS zusammenfassen („CSS minifizieren“ erforderlich zur " -"Aktivierung)" +"Fehlerbehebung: %1$sFehlende Schreibrechte für System-Dateien beheben%2$s" -#: inc/Engine/Admin/Settings/Page.php:686 -#, php-format +#. translators: Documentation exists in EN, DE, FR, ES, IT; use loaclised URL +#. if applicable +#: inc/admin/ui/notices.php:305 inc/admin/ui/notices.php:790 msgid "" -"Combine CSS merges all your files into 1, reducing HTTP requests. Not " -"recommended if your site uses HTTP/2. %1$sMore info%2$s" +"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" +"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" msgstr "" -"Verknüpft alle CSS-Dateien zu einer einzigen und reduziert so die Anzahl von" -" HTTP-Anfragen. Nicht empfohlen, wenn deine Site HTTP/2 nutzt. %1$sMehr " -"erfahren%2$s" +"https://de.docs.wp-rocket.me/article/1042-fehlende-schreibrechte-fuer-" +"system-dateien-beheben-htaccess-wp-" +"configphp?utm_source=wp_plugin&utm_medium=wp_rocket" -#: inc/Engine/Admin/Settings/Page.php:687 +#: inc/admin/ui/notices.php:311 msgid "" -"For compatibility and best results, this option is disabled when Remove " -"unused CSS is enabled." +"Don’t worry, WP Rocket’s page caching and settings will still function " +"correctly." msgstr "" -"Diese Option ist aus Gründen der Kompatibilität und für beste Ergebnisse " -"deaktiviert, wenn Unbenutztes CSS entfernen aktiv ist." - -#: inc/Engine/Admin/Settings/Page.php:703 -msgid "Activate combine CSS" -msgstr "Verstanden, aktiviere „CSS zusammenfassen“" - -#: inc/Engine/Admin/Settings/Page.php:708 inc/admin/options.php:124 -msgid "Excluded CSS Files" -msgstr "CSS-Ausnahmen" +"Keine Bange. Das Cachen der Seiten durch WP Rocket und die Einstellungen " +"werden weiterhin korrekt funktionieren." -#: inc/Engine/Admin/Settings/Page.php:709 +#: inc/admin/ui/notices.php:311 msgid "" -"Specify URLs of CSS files to be excluded from minification and concatenation" -" (one per line)." +"For optimal performance, adding the following lines into your .htaccess is " +"recommended (not required):" msgstr "" -"URLs von CSS-Dateien, die von der Minifizierung und Zusammenführung " -"ausgenommen werden sollen (eine pro Zeile)." +"Für optimale Leistung wird das Hinzufügen folgender Zeilen in deine " +".htaccess-Datei empfohlen (nicht erforderlich):" -#: inc/Engine/Admin/Settings/Page.php:710 +#. translators: %1$s = plugin name, %2$s + %3$s = opening links, %4$s = +#. closing link +#: inc/admin/ui/notices.php:458 msgid "" -"Internal: The domain part of the URL will be stripped " -"automatically. Use (.*).css wildcards to exclude all CSS files located at a " -"specific path." +"%1$s is good to go! %2$sTest your load time%4$s, or visit your " +"%3$ssettings%4$s." msgstr "" -"Intern: Der Domain-Teil der URL wird automatisch entfernt. " -"Benutze den Platzhalter (.*).css, um alle CSS-Dateien auszunehmen, die sich " -"in einem angegebenen Pfad befinden." +"%1$s ist fertig aktiviert! %2$sTeste deine Ladezeiten%4$s, oder schau dir " +"deine %3$sEinstellungen%4$s an." -#: inc/Engine/Admin/Settings/Page.php:712 -#, php-format +#: inc/admin/ui/notices.php:499 msgid "" -"3rd Party: Use either the full URL path or only the domain " -"name, to exclude external CSS. %1$sMore info%2$s" +"Would you allow WP Rocket to collect non-sensitive diagnostic data from this" +" website?" msgstr "" -"Drittanbieter: Benutze entweder den vollständigen URL-Pfad " -"oder nur den Domainnamen, um externes CSS auszunehmen. %1$sMehr erfahren%2$s" - -#: inc/Engine/Admin/Settings/Page.php:725 -#: inc/Engine/Admin/Settings/Page.php:747 -msgid "Optimize CSS delivery" -msgstr "CSS-Darstellung optimieren" +"Würdest du WP Rocket erlauben, anonymisierte technische Daten von dieser " +"Website zu sammeln?" -#: inc/Engine/Admin/Settings/Page.php:730 -msgid "" -"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " -"one method can be selected. Remove Unused CSS is recommended for optimal " -"performance, but limited only to the users with active license." +#: inc/admin/ui/notices.php:500 +msgid "This would help us to improve WP Rocket for you in the future." msgstr "" -"CSS-Darstellung optimieren eliminiert rendering-blockierendes CSS auf deiner" -" Website. Nur eine Methode kann ausgewählt werden. Unbenutztes CSS entfernen" -" wird für die beste Leistung empfohlen, aber kann nur von Benutzern mit " -"einer aktiven Lizenz eingesetzt werden." +"Das würde uns dabei unterstützen, WP Rocket in Zukunft weiter zu verbessern." -#: inc/Engine/Admin/Settings/Page.php:730 -msgid "" -"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " -"one method can be selected. Remove Unused CSS is recommended for optimal " -"performance." -msgstr "" -"CSS-Darstellung optimieren eliminiert rendering-blockierendes CSS auf deiner" -" Website. Nur eine Methode kann ausgewählt werden. Nicht benutztes CSS " -"entfernen wird für die beste Leistung empfohlen." +#. translators: button text, click will expand data collection preview +#: inc/admin/ui/notices.php:506 +msgid "What info will we collect?" +msgstr "Um welche Art Daten geht es genau?" -#: inc/Engine/Admin/Settings/Page.php:740 -#, php-format +#: inc/admin/ui/notices.php:511 msgid "" -"Optimize CSS Delivery features are disabled on local environments. %1$sLearn" -" more%2$s" +"Below is a detailed view of all data WP Rocket will collect if granted " +"permission. WP Rocket will never transmit any domain names or email " +"addresses (except for license validation), IP addresses, or third-party API " +"keys." msgstr "" -"Funktionen zur optimierten CSS-Darstellung sind auf lokalen Umgebungen " -"deaktiviert. %1$sMehr erfahren%2$s" +"Hier findest du eine genaue Auflistung der Daten, die WP Rocket nach Hause " +"sendet, wenn du die Erlaubnis dazu erteilst. WP Rocket wird niemals Domain-" +"Namen, E-Mail-Adressen (außer zur Lizenzprüfung), IP-Adressen oder API-" +"Schlüssel von Drittanbietern übermitteln." -#: inc/Engine/Admin/Settings/Page.php:760 inc/admin/ui/meta-boxes.php:106 -msgid "Remove Unused CSS" -msgstr "Nicht benutztes CSS entfernen" +#. translators: button text for data collection opt-in +#: inc/admin/ui/notices.php:520 +msgid "Yes, allow" +msgstr "Ja, erlauben" -#: inc/Engine/Admin/Settings/Page.php:763 -#, php-format -msgid "" -"Removes unused CSS per page and helps to reduce page size and HTTP requests." -" Recommended for best performance. Test thoroughly! %1$sMore info%2$s" -msgstr "" -"Entfernt nicht benutztes CSS pro Seite und hilft, die Größe der Seite und " -"die Anzahl von HTTP-Anfragen zu reduzieren. Empfohlen für die beste " -"Leistung. Ausführlich testen! %1$sMehr erfahren%2$s" +#. translators: button text for data collection opt-in +#: inc/admin/ui/notices.php:523 +msgid "No, thanks" +msgstr "Nein, danke" -#: inc/Engine/Admin/Settings/Page.php:767 -msgid "Activate Remove Unused CSS" -msgstr "Unbenutztes CSS entfernen aktivieren" +#: inc/admin/ui/notices.php:562 +msgid "Thank you!" +msgstr "Danke!" -#: inc/Engine/Admin/Settings/Page.php:773 -msgid "CSS safelist" -msgstr "CSS-Safelist" +#: inc/admin/ui/notices.php:567 +msgid "WP Rocket now collects these metrics from your website:" +msgstr "WP Rocket erhebt jetzt die folgenden Kennzahlen von deiner Website:" -#: inc/Engine/Admin/Settings/Page.php:774 -msgid "" -"Specify CSS filenames, IDs or classes that should not be removed (one per " -"line)." -msgstr "" -"Gib CSS-Dateinamen, IDs oder Klassen an, die nicht entfernt werden sollen " -"(eine pro Zeile)." +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:605 +msgid "%s: Cache cleared." +msgstr "%s: Cache geleert." -#: inc/Engine/Admin/Settings/Page.php:789 inc/admin/ui/meta-boxes.php:109 -msgid "Load CSS asynchronously" -msgstr "CSS-Dateien asynchron laden" +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:612 +msgid "%s: Post cache cleared." +msgstr "%s: Cache für Beitrag/Seite geleert." -#: inc/Engine/Admin/Settings/Page.php:792 -#, php-format -msgctxt "WP Critical CSS compatibility" -msgid "" -"Load CSS asynchronously is currently handled by the %1$s plugin. If you want" -" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin." -msgstr "" -"CSS-Dateien asynchron laden wird momentan durch das Plugin %1$s realisiert. " -"Wenn du die Option zur optimierten CSS-Darstellung von WP Rocket benutzen " -"willst, deaktiviere das Plugin %1$s." +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:619 +msgid "%s: Term cache cleared." +msgstr "%s: Cache für Begriff geleert." -#: inc/Engine/Admin/Settings/Page.php:794 -#, php-format -msgid "" -"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s" -msgstr "" -"Erzeugt CSS für den kritischen Pfad und lädt CSS asynchron. %1$sMehr " -"erfahren%2$s" +#. translators: %s = plugin name). +#: inc/admin/ui/notices.php:626 +msgid "%s: User cache cleared." +msgstr "%s: Cache für Benutzer/-in geleert." -#: inc/Engine/Admin/Settings/Page.php:800 -msgid "Fallback critical CSS" -msgstr "Alternatives Kritisches CSS" +#: inc/admin/ui/notices.php:662 inc/Engine/License/views/promo-banner.php:36 +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32 +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42 +#: inc/Engine/License/views/renewal-expired-banner.php:30 +#: views/settings/page-sections/dashboard.php:46 +msgid "Dismiss this notice" +msgstr "Diese Meldung ausblenden" -#: inc/Engine/Admin/Settings/Page.php:802 -#, php-format -msgid "" -"Provides a fallback if auto-generated critical path CSS is incomplete. " -"%1$sMore info%2$s" -msgstr "" -"Für den Fall, dass das automatisch erstellte Kritische CSS unvollständig " -"ist. %1$sMehr erfahren%2$s" +#: inc/admin/ui/notices.php:682 +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131 +#: views/settings/page-sections/dashboard.php:188 +msgid "Clear Used CSS" +msgstr "Benutztes CSS leeren" -#: inc/Engine/Admin/Settings/Page.php:817 -msgid "Minify JavaScript files" -msgstr "JavaScript minifizieren" +#: inc/admin/ui/notices.php:685 +msgid "Stop Preload" +msgstr "Vorladen beenden" -#: inc/Engine/Admin/Settings/Page.php:818 -msgid "" -"Minify JavaScript removes whitespace and comments to reduce the file size." -msgstr "Entfernt Leerzeilen und Kommentare zur Reduzierung der Datei-Größe." +#: inc/admin/ui/notices.php:691 +msgid "Turn on Remove Unused CSS" +msgstr "Unbenutztes CSS entfernen aktivieren" -#: inc/Engine/Admin/Settings/Page.php:833 -msgid "Activate minify JavaScript" -msgstr "Verstanden, aktiviere „JavaScript minifizieren“" +#: inc/admin/ui/notices.php:697 +msgid "Enable “Separate Cache Files for Mobile Devices” now" +msgstr "„Separater Cache für mobile Geräte“ jetzt aktivieren" -#: inc/Engine/Admin/Settings/Page.php:838 -msgid "" -"Combine JavaScript files (Enable Minify JavaScript files to select)" -msgstr "" -"JavaScript zusammenfassen („JavaScript minifizieren“ erforderlich zur " -"Aktivierung)" +#: inc/admin/ui/notices.php:715 +msgid "Force deactivation " +msgstr "Deaktivierung forcieren" -#: inc/Engine/Admin/Settings/Page.php:840 -#, php-format -msgid "" -"Combine JavaScript files combines your site’s internal, 3rd party and inline" -" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. " -"%1$sMore info%2$s" -msgstr "" -"JavaScript zusammenfassen kombiniert internes, externes und inline JS, um " -"HTTP-Anfragen zu verringern. nicht empfohlen, falls deine Website mit HTTP/2" -" läuft. %1$sMehr erfahren%2$s" +#: inc/admin/ui/notices.php:745 +msgid "The following code should have been written to this file:" +msgstr "Folgender Code hätte in diese Datei geschrieben werden sollen:" -#: inc/Engine/Admin/Settings/Page.php:841 -msgid "" -"For compatibility and best results, this option is disabled when delay " -"javascript execution is enabled." +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:776 +msgid "%s cannot configure itself due to missing writing permissions." msgstr "" -"Diese Option ist aus Gründen der Kompatibilität und für beste Ergebnisse " -"deaktiviert, wenn die Option zum Verzögern der Ausführung von JavaScript " -"aktiv ist." - -#: inc/Engine/Admin/Settings/Page.php:857 -msgid "Activate combine JavaScript" -msgstr "Verstanden, aktiviere „JavaScript zusammenfassen“" +"%s kann sich wegen fehlender Schreibrechte nicht selbst konfigurieren." -#: inc/Engine/Admin/Settings/Page.php:862 inc/admin/options.php:125 -msgid "Excluded Inline JavaScript" -msgstr "Ausgenommenes Inline JavaScript" +#. translators: %s = file/folder name +#: inc/admin/ui/notices.php:782 +msgid "Affected file/folder: %s" +msgstr "Betroffene Dateien/Ordner: %s" -#: inc/Engine/Admin/Settings/Page.php:864 -#, php-format -msgid "" -"Specify patterns of inline JavaScript to be excluded from concatenation (one" -" per line). %1$sMore info%2$s" -msgstr "" -"Muster von Inline JavaScript, die von der Zusammenführung ausgenommen werden" -" sollen (eine pro Zeile). %1$sMehr erfahren%2$s" +#: inc/classes/admin/class-logs.php:124 +msgid "The debug file could not be deleted." +msgstr "Die Fehlerbehebungs-Protokolldatei konnte nicht gelöscht werden." -#: inc/Engine/Admin/Settings/Page.php:880 -#: inc/Engine/Admin/Settings/Page.php:913 -#: inc/Engine/Admin/Settings/Page.php:960 inc/admin/options.php:126 -msgid "Excluded JavaScript Files" -msgstr "JavaScript-Ausnahmen" +#. Translators: %1$s = Plugin name, %2$s = Plugin version. +#: inc/classes/class-wp-rocket-requirements-check.php:147 +msgid "To function properly, %1$s %2$s requires at least:" +msgstr "Um richtig zu funktionieren, erfordert %1$s %2$s mindestens:" -#: inc/Engine/Admin/Settings/Page.php:881 +#. Translators: %1$s = PHP version required. +#: inc/classes/class-wp-rocket-requirements-check.php:151 msgid "" -"Specify URLs of JavaScript files to be excluded from minification and " -"concatenation (one per line)." +"PHP %1$s. To use this WP Rocket version, please ask your web host how to " +"upgrade your server to PHP %1$s or higher." msgstr "" -"URLs von JavaScript-Dateien, die von der Minifizierung und Zusammenführung " -"ausgenommen werden sollen (eine pro Zeile)." +"PHP %1$s. Um diese Version von WP Rocket zu nutzen, frage bei deinem " +"Webhosting nach einer Aktualisierung deines Servers auf PHP %1$s oder höher." -#: inc/Engine/Admin/Settings/Page.php:882 +#. Translators: %1$s = WordPress version required. +#: inc/classes/class-wp-rocket-requirements-check.php:156 msgid "" -"Internal: The domain part of the URL will be stripped " -"automatically. Use (.*).js wildcards to exclude all JS files located at a " -"specific path." +"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to " +"version %1$s or higher." msgstr "" -"Intern: Der Domain-Teil der URL wird automatisch entfernt. " -"Benutze den Platzhalter (.*).css, um alle JS-Dateien auszunehmen, die sich " -"in einem angegebenen Pfad befinden." +"WordPress %1$s. Um diese Version von WP Rocket zu nutzen, aktualisiere " +"WordPress auf version %1$s oder höher." -#: inc/Engine/Admin/Settings/Page.php:884 -#, php-format +#: inc/classes/class-wp-rocket-requirements-check.php:159 msgid "" -"3rd Party: Use either the full URL path or only the domain " -"name, to exclude external JS. %1$sMore info%2$s" +"If you are not able to upgrade, you can rollback to the previous version by " +"using the button below." msgstr "" -"Drittanbieter: Benutze entweder den vollständigen URL-Pfad " -"oder nur den Domainnamen, um externes JS auszunehmen. %1$sMehr erfahren%2$s" +"Wenn eine Aktualisierung nicht möglich ist, kannst du das Button weiter " +"unten klicken, um die vorherige Version von WP Rocket wiederherzustellen." -#: inc/Engine/Admin/Settings/Page.php:900 -msgid "Load JavaScript deferred" -msgstr "JavaScript verzögert laden" +#. Translators: %s = Previous plugin version. +#: inc/classes/class-wp-rocket-requirements-check.php:161 +#: inc/deprecated/deprecated.php:1947 +msgid "Re-install version %s" +msgstr " Version %s wiederherstellen" -#: inc/Engine/Admin/Settings/Page.php:902 -#, php-format -msgid "" -"Load JavaScript deferred eliminates render-blocking JS on your site and can " -"improve load time. %1$sMore info%2$s" -msgstr "" -"Entfernt rendering-blockierendes JavaScript, kann die Ladezeit verbessern. " -"%1$sMehr erfahren%2$s" +#. translators: %s is the plugin name. +#: inc/classes/class-wp-rocket-requirements-check.php:203 +#: inc/classes/class-wp-rocket-requirements-check.php:214 +#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251 +#: inc/Engine/Plugin/UpdaterSubscriber.php:483 +#: inc/Engine/Plugin/UpdaterSubscriber.php:497 +msgid "%s Update Rollback" +msgstr "%s Update zurückrollen" -#: inc/Engine/Admin/Settings/Page.php:915 -#, php-format +#. translators: %1$s = missing tags; +#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151 msgid "" -"Specify URLs or keywords of JavaScript files to be excluded from defer (one " -"per line). %1$sMore info%2$s" -msgstr "" -"URLs oder Schlüsselwörter von JavaScript-Dateien, die von der Verzögerung " -"ausgenommen werden sollen (eine pro Zeile) %1$sMehr erfahren%2$s" - -#: inc/Engine/Admin/Settings/Page.php:931 inc/admin/ui/meta-boxes.php:111 -msgid "Delay JavaScript execution" -msgstr "JavaScript-Ausführung verzögern" +"Failed to detect the following requirement in your theme: closing %1$s." +msgid_plural "" +"Failed to detect the following requirements in your theme: closing %1$s." +msgstr[0] "" +"Erkennung des folgenden Erfordernisses in deinem Theme fehlgeschlagen: " +"Schließe %1$s." +msgstr[1] "" +"Erkennung der folgenden Erfordernisse in deinem Theme fehlgeschlagen: " +"Schließe %1$s." -#: inc/Engine/Admin/Settings/Page.php:933 -#, php-format +#. translators: Documentation exists in EN, FR; use localized URL if +#. applicable. +#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159 msgid "" -"Improves performance by delaying the loading of JavaScript files until user " -"interaction (e.g. scroll, click). %1$sMore info%2$s" +"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" +"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" msgstr "" -"Verbessert die Leistung durch das Verzögern des Ladens von JavaScript-" -"Dateien bis zur ersten Benutzerinteraktion (z. B: Scrollen, Klicken). " -"%1$sMehr erfahren%2$s" +"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" +"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" -#: inc/Engine/Admin/Settings/Page.php:942 -msgid "One-click exclusions" -msgstr "Ein-Klick-Exklusionen" +#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147 +#: views/settings/page-sections/dashboard.php:150 +msgid "Clear and preload cache" +msgstr "Cache leeren und vorladen" -#: inc/Engine/Admin/Settings/Page.php:943 -msgid "" -"When using the Delay JavaScript Execution, you might experience delay " -"loading elements located in the viewport that need to appear immediately - " -"e.g. slider, header, menu." -msgstr "" -"Wenn du die Ausführung von JavaScript verzögerst, kann es zu Verzögerungen " -"beim Laden von Elementen im Viewport kommen, die sofort angezeigt werden " -"müssen, z. B. Slider, Header, Menü." +#: inc/common/admin-bar.php:135 inc/functions/i18n.php:40 +#: inc/functions/i18n.php:50 +msgid "All languages" +msgstr "Alle Sprachen" -#: inc/Engine/Admin/Settings/Page.php:944 -msgid "" -"If you need instant visibility, click below on files that should NOT be " -"delayed. This selection will help users interact with the elements straight " -"away." -msgstr "" -"Wenn du sofortige Sichtbarkeit brauchst, klicke unten auf die Dateien, die " -"NICHT verzögert werden sollten. Diese Auswahl hilft den Nutzern, sofort mit " -"den Elementen zu interagieren." +#: inc/common/admin-bar.php:171 +msgid "Clear this post" +msgstr "Lösche diesen Eintrag" -#: inc/Engine/Admin/Settings/Page.php:961 -msgid "" -"Specify URLs or keywords that can identify inline or JavaScript files to be " -"excluded from delaying execution (one per line)." -msgstr "" -"URLs oder Schlüsselwörter, die Inline- oder JavaScript-Dateien " -"identifizieren, die nicht verzögert ausgeführt werden sollen (eine pro " -"Zeile)." +#: inc/common/admin-bar.php:185 +msgid "Purge this URL" +msgstr "Entferne diese URL aus dem Cache" -#: inc/Engine/Admin/Settings/Page.php:993 -msgid "Media" -msgstr "Medien" +#: inc/common/admin-bar.php:205 +msgid "Purge Sucuri cache" +msgstr "Sucuri-Cache leeren" -#: inc/Engine/Admin/Settings/Page.php:994 -msgid "LazyLoad, image dimensions" -msgstr "LazyLoad, Bildabmessungen" +#: inc/common/admin-bar.php:229 views/settings/fields/rocket-cdn.php:55 +msgid "Purge RocketCDN cache" +msgstr "RocketCDN-Cache leeren" -#: inc/Engine/Admin/Settings/Page.php:1003 -msgid "Autoptimize" -msgstr "Autoptimize" +#: inc/common/admin-bar.php:242 views/settings/partials/documentation.php:14 +msgid "Documentation" +msgstr "Dokumentation" -#: inc/Engine/Admin/Settings/Page.php:1048 -msgid "LazyLoad" -msgstr "LazyLoad" +#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36 +msgid "Activate Imagify" +msgstr "Imagify aktivieren" -#: inc/Engine/Admin/Settings/Page.php:1051 -#, php-format -msgid "" -"It can improve actual and perceived loading time as images, iframes, and " -"videos will be loaded only as they enter (or about to enter) the viewport " -"and reduces the number of HTTP requests. %1$sMore Info%2$s" -msgstr "" -"Es kann die tatsächliche und empfundene Ladezeit verbessern, weil Bilder, " -"iframes und Videos erst geladen werden, wenn sie in den Viewport kommen " -"(oder in die Nähe). Das verringert auch die Anzahl der HTTP-Anfragen. " -"%1$sMehr erfahren%2$s" +#: inc/deprecated/3.2.php:52 +msgid "Install Imagify for Free" +msgstr "Imagify kostenfrei installieren" -#: inc/Engine/Admin/Settings/Page.php:1058 -#, php-format +#: inc/deprecated/3.2.php:67 msgid "" -"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s " -"LazyLoad, disable this option in %2$s." +"Speed up your website and boost your SEO by reducing image file sizes " +"without losing quality with Imagify." msgstr "" -"LazyLoad ist momentan in %2$s aktiviert. Wenn du die LazyLoad-Funktion von " -"WP Rocket benutzen willst, deaktiviere diese Option in %2$s." +"Beschleunige deine Website und booste dein SEO, indem du deine Bilder mit " +"Imagify verlustfrei optimierst." -#: inc/Engine/Admin/Settings/Page.php:1061 -msgid "Image Dimensions" -msgstr "Bildabmessungen" +#: inc/deprecated/3.2.php:72 +msgid "More details" +msgstr "Weitere Einzelheiten" + +#. translators: %d is the number of pages preloaded. +#: inc/deprecated/3.2.php:228 +msgid "Sitemap preload: %d pages have been cached." +msgstr "Sitemap-Preload: %d Seiten gecacht." -#: inc/Engine/Admin/Settings/Page.php:1064 -#, php-format +#. translators: %d = Number of pages preloaded. +#: inc/deprecated/3.2.php:261 msgid "" -"Add missing width and height attributes to images. Helps prevent layout " -"shifts and improve the reading experience for your visitors. %1$sMore " -"info%2$s" +"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see " +"progress)" msgstr "" -"Fügt Bildern fehlende width und height Attribute hinzu. Hilft, Layout-" -"Sprünge zu verhindern und verbessert die Leseerfahrung für deine Besucher. " -"%1$sMehr erfahren%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1083 -msgid "Enable for images" -msgstr "Für Bilder aktivieren" +"Sitemap-Preload: %d Seiten wurden bis jetzt in den Cache geladen. (Seite " +"neu laden für aktuellen Stand)" -#: inc/Engine/Admin/Settings/Page.php:1095 -#, php-format +#. translators: %s is an URL. +#: inc/deprecated/3.3.php:761 inc/deprecated/3.3.php:770 +#: inc/Engine/Plugin/UpdaterApiTools.php:32 msgid "" -"LazyLoad for images is currently activated in %2$s. If you want to use " -"%1$s’s LazyLoad, disable this option in %2$s." +"An unexpected error occurred. Something may be wrong with WP-Rocket.me or " +"this server’s configuration. If you continue to have problems, contact support." msgstr "" -"LazyLoad für Bilder ist aktuell aktiviert in %2$s. Falls du die LazyLoad-" -"Funktion von %1$s benutzen willst, deaktivere diese Option in %2$s." +"Ein unerwarteter Fehler ist aufgetreten. Vielleicht ist etwas auf wp-" +"rocket.me oder mit dieser Server-Einstellung schief gelaufen. Falls es " +"weiterhin Probleme geben sollte, kontaktiere den Support." -#: inc/Engine/Admin/Settings/Page.php:1103 -msgid "Enable for iframes and videos" -msgstr "Für iframes und Video aktivieren" +#: inc/deprecated/3.4.php:18 +msgid "Choose a domain from the list" +msgstr "Wähle eine Domain aus der Liste" -#: inc/Engine/Admin/Settings/Page.php:1118 -msgid "Replace YouTube iframe with preview image" -msgstr "YouTube iframe durch Vorschaubild ersetzen" +#: inc/deprecated/3.4.php:31 +msgid "No domain available in your Cloudflare account" +msgstr "Keine Domain in deinem Cloudflare-Konto verfügbar" -#: inc/Engine/Admin/Settings/Page.php:1120 -#, php-format -msgid "Replace YouTube iframe with preview image is not compatible with %2$s." +#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195 +msgid "" +"Curl is disabled on your server. Please ask your host to enable it. This is " +"required for the Cloudflare Add-on to work correctly." msgstr "" -"YouTube-iframe mit Vorschaubild austauschen ist nicht kompatibel mit %2$s." +"Curl ist auf deinem Server deaktiviert. Bitte deinen Hoster, es zu " +"aktivieren. Dies ist erforderlich, damit das Cloudflare Add-on korrekt " +"funktioniert." -#: inc/Engine/Admin/Settings/Page.php:1120 +#. translators: %1$s = opening link; %2$s = closing link +#: inc/deprecated/3.5.php:79 msgid "" -"This can significantly improve your loading time if you have a lot of " -"YouTube videos on a page." +"Cloudflare email, API key and Zone ID are not set. Read the " +"%1$sdocumentation%2$s for further guidance." msgstr "" -"Kann deine Ladezeit entscheidend verbessern, wenn du viele YouTube Videos " -"auf einer Seite einbettest." - -#: inc/Engine/Admin/Settings/Page.php:1135 -msgid "Excluded images or iframes" -msgstr "Bilder- oder iframes-Ausnahmen" +"Cloudflare-E-Mail, API-Schlüssel und Zone ID sind nicht eingestellt. Lies " +"die %1$sDokumentation%2$s für weitere Anleitung." -#: inc/Engine/Admin/Settings/Page.php:1137 -#, php-format +#. translators: %1$s = opening link; %2$s = closing link +#: inc/deprecated/3.5.php:206 msgid "" -"Specify keywords (e.g. image filename, CSS class, domain) from the image or " -"iframe code to be excluded (one per line). %1$sMore info%2$s" +"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for" +" further guidance." msgstr "" -"Schlüsselwörter (z. B: Bild-Dateiname, CSS-Klasse, Domain) von dem " -"Bild- oder iframe-Code, die ausgenommen werden sollen (eine pro Zeile). " -"%1$sMehr erfahren%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1145 -msgid "Add missing image dimensions" -msgstr "Fehlende Bildabmessungen hinzufügen" +"Cloudflare-E-Mail und API-Schlüssel sind nicht eingestellt. Lies die " +"%1$sDokumentation%2$s für weitere Anleitung." -#: inc/Engine/Admin/Settings/Page.php:1164 inc/deprecated/deprecated.php:1776 -msgid "Preload" -msgstr "Cache füllen" +#: inc/deprecated/3.5.php:271 +msgid "Connection to Cloudflare failed" +msgstr "Keine Verbindung mit Cloudflare möglich" -#: inc/Engine/Admin/Settings/Page.php:1165 -msgid "Generate cache files, preload fonts" -msgstr "Cache-Dateien generieren, Fonts vorladen" +#. translators: %s = CloudFare API return message. +#: inc/deprecated/3.5.php:587 +msgid "WP Rocket: %s" +msgstr "WP Rocket: %s" -#: inc/Engine/Admin/Settings/Page.php:1177 -msgid "Preload Cache" -msgstr "Cache füllen" +#: inc/deprecated/3.5.php:592 +msgid "WP Rocket: Cloudflare cache successfully purged." +msgstr "WP Rocket: Cloudflare-Cache erfolgreich geleert." -#: inc/Engine/Admin/Settings/Page.php:1180 +#: inc/deprecated/3.5.php:858 inc/Engine/HealthCheck/HealthCheck.php:81 msgid "" -"When you enable preloading WP Rocket will automatically detect your sitemaps" -" and save all URLs to the database. The plugin will make sure that your " -"cache is always preloaded." -msgstr "" -"Wenn du das Vorladen aktivierst, wird WP Rocket deine Sitemaps automatisch " -"erkennen und alle URLs in der Datenbank speichern. Das Plugin stellt sicher," -" dass dein Cache immer vorgeladen wird." +"The following scheduled event failed to run. This may indicate the CRON " +"system is not running properly, which can prevent some WP Rocket features " +"from working as intended:" +msgid_plural "" +"The following scheduled events failed to run. This may indicate the CRON " +"system is not running properly, which can prevent some WP Rocket features " +"from working as intended:" +msgstr[0] "" +"Folgendes geplantes Ereigniss hat nicht stattgefunden. Dies könnte ein " +"Hinweis darauf sein, dass das CRON-System nicht korrekt läuft, was dazu " +"führen kann, dass manche Funktionen von WP Rocket nicht wie gewünscht " +"funktionieren:" +msgstr[1] "" +"Folgende geplante Ereignisse haben nicht stattgefunden. Dies könnte ein " +"Hinweis darauf sein, dass das CRON-System nicht korrekt läuft, was dazu " +"führen kann, dass manche Funktionen von WP Rocket nicht wie gewünscht " +"funktionieren:" -#: inc/Engine/Admin/Settings/Page.php:1188 -msgid "Preload Links" -msgstr "Links vorladen" +#: inc/deprecated/3.5.php:867 inc/Engine/HealthCheck/HealthCheck.php:88 +msgid "Please contact your host to check if CRON is working." +msgstr "Bitte kontaktiere deinen Hoster, um zu prüfen, ob CRON funktioniert." -#: inc/Engine/Admin/Settings/Page.php:1191 -#, php-format -msgid "" -"Link preloading improves the perceived load time by downloading a page when " -"a user hovers over the link. %1$sMore info%2$s" -msgstr "" -"Links vorladen optimiert die wahrgenommene Ladezeit, indem eine verlinkte " -"Seite bereits geladen wird, sobald sich der Mauszeiger eines Benutzers über " -"einem Link befindet. %1$sMehr erfahren%2$s" +#: inc/deprecated/3.10.php:163 +msgid "OPcache purge failed." +msgstr "OPcache leeren fehlgeschlagen." -#: inc/Engine/Admin/Settings/Page.php:1199 -msgid "Prefetch DNS Requests" -msgstr "DNS-Prefetch" +#: inc/deprecated/3.10.php:168 +msgid "OPcache successfully purged" +msgstr "OPcache erfolgreich geleert" -#: inc/Engine/Admin/Settings/Page.php:1201 +#: inc/deprecated/3.11.php:81 +msgid "Yoast SEO XML sitemap" +msgstr "Yoast SEO XML Sitemap" + +#. translators: %s = Name of the plugin. +#. translators: %s = plugin name, e.g. Yoast SEO. +#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58 +#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186 +#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342 msgid "" -"DNS prefetching can make external files load faster, especially on mobile " -"networks" +"We automatically detected the sitemap generated by the %s plugin. You can " +"check the option to preload it." msgstr "" -"Kann das Laden externer Dateien beschleunigen, besonders über eine mobilen " -"Netzwerkverbindung." +"Offensichtlich existiert eine durch das Plugin %s generierte Sitemap. " +"Aktiviere diese Option, um den Cache damit zu füllen." -#: inc/Engine/Admin/Settings/Page.php:1206 -msgid "Preload Fonts" -msgstr "Fonts vorladen" +#. translators: 1 and 3 are link openings, 2 is a link closing. +#: inc/deprecated/3.11.php:279 inc/Engine/Plugin/UpdaterSubscriber.php:520 +msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s" +msgstr "%1$sZurück zu WP Rocket%2$s oder %3$szur Plugins-Seite gehen%2$s" -#: inc/Engine/Admin/Settings/Page.php:1209 -#, php-format -msgid "" -"Improves performance by helping browsers discover fonts in CSS files. " -"%1$sMore info%2$s" -msgstr "" -"Optimiert die Leistung, indem es Browsern hilft, Fonts in CSS-Dateien zu " -"entdecken. %1$sMehr erfahren%2$s" +#: inc/deprecated/3.12.php:56 +msgid "All in One SEO XML sitemap" +msgstr "All in One SEO XML Sitemap" -#: inc/Engine/Admin/Settings/Page.php:1223 -msgid "Activate Preloading" -msgstr "Vorladen aktivieren" +#: inc/deprecated/3.12.php:85 +msgid "Rank Math XML sitemap" +msgstr "Rank Math XML Sitemap" -#: inc/Engine/Admin/Settings/Page.php:1234 -msgid "Exclude URLs" -msgstr "URLs ausschließen" +#: inc/deprecated/3.12.php:184 +msgid "SEOPress XML sitemap" +msgstr "SEOPress XML Sitemap" -#: inc/Engine/Admin/Settings/Page.php:1239 -#, php-format -msgid "" -"Specify URLs to be excluded from the preload feature (one per line). " -"%1$sMore info%2$s" -msgstr "" -"Gib URLs ein, die von der Vorladen-Funktion ausgeschlossen werden sollen " -"(eine pro Zeile). %1$sMehr erfahren%2$s" +#: inc/deprecated/3.12.php:251 +msgid "The SEO Framework XML sitemap" +msgstr "The SEO Framework XML Sitemap" -#: inc/Engine/Admin/Settings/Page.php:1250 -msgid "URLs to prefetch" -msgstr "Vorzeitig aufzulösende URLs" +#: inc/deprecated/3.12.php:332 +msgid "Jetpack XML Sitemaps" +msgstr "Jetpack XML Sitemaps" -#: inc/Engine/Admin/Settings/Page.php:1251 -msgid "" -"Specify external hosts to be prefetched (no http:, one per " -"line)" -msgstr "" -"Vorzeitig aufzulösende externe Domains (kein http:, eine pro " -"Zeile)" +#: inc/deprecated/3.12.php:334 +msgid "Preload the sitemap from the Jetpack plugin" +msgstr "Cache füllen via Jetpack-Sitemap" -#: inc/Engine/Admin/Settings/Page.php:1260 -msgid "Fonts to preload" -msgstr "Vorzuladende Fonts" +#: inc/deprecated/deprecated.php:240 +msgid "JS files with Deferred Loading JavaScript" +msgstr "JS-Dateien mit verzögert geladenem JavaScript" -#: inc/Engine/Admin/Settings/Page.php:1261 -msgid "" -"Specify urls of the font files to be preloaded (one per line). Fonts must be" -" hosted on your own domain, or the domain you have specified on the CDN tab." -msgstr "" -"URLs von Font-Dateien, die vorgeladen werden sollen (eine pro Zeile). Fonts " -"müssen auf deiner eigenen Domain gehostet sein, oder auf der Domain, die du " -"im CDN-Tab angegeben hast." +#: inc/deprecated/deprecated.php:293 +msgid "Add URL" +msgstr "URL hinzufügen" -#: inc/Engine/Admin/Settings/Page.php:1262 +#: inc/deprecated/deprecated.php:1245 +#: inc/Engine/Admin/Settings/Settings.php:451 +msgid "Settings saved." +msgstr "Einstellungen gespeichert." + +#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22 msgid "" -"The domain part of the URL will be stripped automatically.
    Allowed font " -"extensions: otf, ttf, svg, woff, woff2." +"Before you can upload your import file, you will need to fix the following " +"error:" msgstr "" -"Der Domain-Teil der URL wird automatisch entfernt.
    Mögliche Font-" -"Dateiendungen sind: otf, ttf, svg, woff, woff2." +"Bevor du deine Einstellungsdatei importieren kannst, musst du den folgenden " +"Fehler korrigieren." -#: inc/Engine/Admin/Settings/Page.php:1271 -msgid "Enable link preloading" -msgstr "Vorladen von Links aktivieren" +#. translators: %s is the maximum upload size set on the current server. +#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35 +msgid "Choose a file from your computer (maximum size: %s)" +msgstr "Wähle eine Datei von deinem Computer (maximale Größe: %s)" -#: inc/Engine/Admin/Settings/Page.php:1290 -msgid "Advanced Rules" -msgstr "Erweiterte Regeln" +#: inc/deprecated/deprecated.php:1294 inc/Engine/Admin/Settings/Render.php:422 +msgid "Upload file and import settings" +msgstr "Datei hochladen und Einstellungen importieren." -#: inc/Engine/Admin/Settings/Page.php:1291 -msgid "Fine-tune cache rules" -msgstr "Cache-Regeln abstimmen" +#: inc/deprecated/deprecated.php:1385 +msgid "Your Cloudflare credentials are valid." +msgstr "Deine Cloudflare-Zugangsdaten sind gültig." -#: inc/Engine/Admin/Settings/Page.php:1302 -msgid "" -"Sensitive pages like custom login/logout URLs should be excluded from cache." -msgstr "" -"Sensible Seiten, wie zum Beispiel eigene Login-/Logout-Seiten, sollten vom " -"Cache ausgeschlossen werden." +#: inc/deprecated/deprecated.php:1389 +msgid "Your Cloudflare credentials are invalid!" +msgstr "Deine Cloudflare-Zugangsdaten sind ungültig." -#: inc/Engine/Admin/Settings/Page.php:1305 -msgctxt "plugin name" -msgid "WooCommerce" -msgstr "WooCommerce" +#: inc/deprecated/deprecated.php:1453 +msgid "Save and optimize" +msgstr "Speichern und optimieren" -#: inc/Engine/Admin/Settings/Page.php:1307 -msgctxt "plugin name" -msgid "Easy Digital Downloads" -msgstr "Easy Digital Downloads" +#: inc/deprecated/deprecated.php:1453 +msgid "Optimize" +msgstr "Optimieren" -#: inc/Engine/Admin/Settings/Page.php:1309 -msgctxt "plugin name" -msgid "iThemes Exchange" -msgstr "iThemes Exchange" +#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666 +msgctxt "screen-reader-text" +msgid "Note:" +msgstr "Hinweis:" -#: inc/Engine/Admin/Settings/Page.php:1311 -msgctxt "plugin name" -msgid "Jigoshop" -msgstr "Jigoshop" +#: inc/deprecated/deprecated.php:1470 +msgctxt "screen-reader-text" +msgid "Performance tip:" +msgstr "Performance-Tipp:" -#: inc/Engine/Admin/Settings/Page.php:1313 -msgctxt "plugin name" -msgid "WP-Shop" -msgstr "WP-Shop" +#: inc/deprecated/deprecated.php:1476 +msgctxt "screen-reader-text" +msgid "Third-party feature detected:" +msgstr "Drittanbieter-Funktion ermittelt:" -#: inc/Engine/Admin/Settings/Page.php:1319 -#, php-format -msgid "" -"
    Cart, checkout and \"my account\" pages set in " -"%1$s%2$s%3$s will be detected and never cached by default." -msgstr "" -"
    Warenkorb-, Kassen- und „Mein Konto“-Seiten von " -"%1$s%2$s%3$s werden automatisch ermittelt und nie gecacht." +#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672 +msgctxt "screen-reader-text" +msgid "Warning:" +msgstr "Warnung:" -#: inc/Engine/Admin/Settings/Page.php:1329 inc/admin/options.php:129 -msgid "Never Cache URL(s)" -msgstr "Nie cachen (URLs)" +#: inc/deprecated/deprecated.php:1501 +msgctxt "button text" +msgid "Download settings" +msgstr "Einstellungen herunterladen" -#: inc/Engine/Admin/Settings/Page.php:1337 -msgid "Never Cache Cookies" -msgstr "Nie cachen (Cookies)" +#: inc/deprecated/deprecated.php:1531 +msgid "Replace site's hostname with:" +msgstr "Ersetze den Hostnamen der Seite mit:" -#: inc/Engine/Admin/Settings/Page.php:1343 inc/admin/options.php:130 -msgid "Never Cache User Agent(s)" -msgstr "Nie cachen (User Agents)" +#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587 +#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41 +#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105 +msgid "reserved for" +msgstr "reserviert für" -#: inc/Engine/Admin/Settings/Page.php:1349 inc/admin/options.php:131 -msgid "Always Purge URL(s)" -msgstr "Immer löschen (URLs)" +#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589 +#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44 +#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108 +msgid "All files" +msgstr "Alle Dateien" -#: inc/Engine/Admin/Settings/Page.php:1355 -msgid "Cache Query String(s)" -msgstr "Cache für Query Strings" +#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594 +#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56 +#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120 +msgid "Images" +msgstr "Bilder" -#: inc/Engine/Admin/Settings/Page.php:1358 -#, php-format -msgid "" -"%1$sCache for query strings%2$s enables you to force caching for specific " -"GET parameters." -msgstr "%1$sErstellt gesonderte Caches%2$s anhand bestimmter GET-Parameter." +#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132 +msgid "Add CNAME" +msgstr "CNAME hinzufügen" -#: inc/Engine/Admin/Settings/Page.php:1369 -msgid "" -"Specify URLs of pages or posts that should never be cached (one per line)" -msgstr "" -"URLs von Seiten oder Beiträgen, die niemals gecacht werden sollen (eine pro " -"Zeile)" +#: inc/deprecated/deprecated.php:1706 +msgid "Watch the video" +msgstr "Video ansehen." -#: inc/Engine/Admin/Settings/Page.php:1370 -#: inc/Engine/Admin/Settings/Page.php:1398 +#: inc/deprecated/deprecated.php:1771 +msgid "Basic" +msgstr "Basis" + +#: inc/deprecated/deprecated.php:1772 +msgid "Static Files" +msgstr "Statische Dateien" + +#: inc/deprecated/deprecated.php:1774 +msgid "Advanced" +msgstr "Erweitert" + +#: inc/deprecated/deprecated.php:1775 inc/Engine/Admin/Settings/Page.php:1431 +msgid "Database" +msgstr "Datenbank" + +#: inc/deprecated/deprecated.php:1776 inc/Engine/Admin/Settings/Page.php:1164 +msgid "Preload" +msgstr "Cache füllen" + +#: inc/deprecated/deprecated.php:1786 +#: inc/Engine/Admin/Settings/Subscriber.php:168 +#: views/settings/page-sections/tools.php:33 +msgid "Tools" +msgstr "Werkzeuge" + +#: inc/deprecated/deprecated.php:1789 inc/Engine/Admin/Settings/Page.php:352 +#: views/settings/page-sections/dashboard.php:80 +msgid "License" +msgstr "Lizenz" + +#. Translators: %1$s = Plugin name, %2$s = Plugin version, %3$s = PHP version +#. required. +#: inc/deprecated/deprecated.php:1944 msgid "" -"The domain part of the URL will be stripped automatically.
    Use (.*) " -"wildcards to address multiple URLs under a given path." +"%1$s %2$s requires at least PHP %3$s to function properly. To use this " +"version, please ask your web host how to upgrade your server to PHP %3$s or " +"higher. If you are not able to upgrade, you can rollback to the previous " +"version by using the button below." msgstr "" -"Der Domain-Teil der URL wird automatisch entfernt.
    Nutze den Platzhalter " -"(.*), um alle URLs eines bestimmten Pfades anzusprechen." +"%1$s %2$s erfordert mindestens PHP %3$s, um korrekt zu funktionieren. Frage " +"dein Webhosting nach einer Aktualisierung der PHP-Version auf %3$s oder " +"höher auf deinem Server. Falls eine Aktualisierung nicht möglich ist, nutze " +"das Button, um auf eine frühere Version zurückzusetzen." -#: inc/Engine/Admin/Settings/Page.php:1379 +#. translators: 1: PHP class name, 2: version number, 3: replacement class +#. name. +#: inc/deprecated/DeprecatedClassTrait.php:54 msgid "" -"Specify full or partial IDs of cookies that, when set in the visitor's " -"browser, should prevent a page from getting cached (one per line)" +"The called class %1$s is deprecated since version %2$s! Use" +" %3$s instead." msgstr "" -"Gib vollständige oder Teile von Cookie-IDs an, die das Caching einer Seite " -"verhindern sollen, sobald sie im Browser des Besuchers gesetzt sind (eine " -"pro Zeile)" +"Die aufgerufene Klasse %1$s ist veraltet seit Version %2$s!" +" Benutze %3$s stattdessen." -#: inc/Engine/Admin/Settings/Page.php:1387 +#. translators: 1: PHP class name, 2: version number. +#: inc/deprecated/DeprecatedClassTrait.php:65 msgid "" -"Specify user agent strings that should never see cached pages (one per line)" +"The called class %1$s is deprecated since version %2$s!" msgstr "" -"User Agent Strings, die niemals gecachte Seiten sehen sollten (einer pro " -"Zeile)" +"Die aufgerufene Klasse %1$s ist veraltet seit Version %2$s!" -#: inc/Engine/Admin/Settings/Page.php:1388 -msgid "Use (.*) wildcards to detect parts of UA strings." -msgstr "Nutze den Platzhalter (.*), um Teile von UA Strings zu ermitteln." +#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92 +#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137 +#: inc/Engine/Admin/Database/Subscriber.php:79 +msgid "weekly" +msgstr "wöchentlich" -#: inc/Engine/Admin/Settings/Page.php:1397 -msgid "" -"Specify URLs you always want purged from cache whenever you update any post " -"or page (one per line)" -msgstr "" -"URLs, deren Cache immer mit gelöscht werden sollte, sobald andere Beiträge " -"oder Seiten aktualisiert werden (eine pro Zeile)" +#: inc/Engine/Admin/Database/Optimization.php:30 +#: inc/Engine/Admin/Settings/Page.php:1475 +msgid "Revisions" +msgstr "Revisionen" -#: inc/Engine/Admin/Settings/Page.php:1406 -msgid "Specify query strings for caching (one per line)" -msgstr "Query Strings, die gecacht werden sollen (einer pro Zeile)" +#: inc/Engine/Admin/Database/Optimization.php:31 +#: inc/Engine/Admin/Settings/Page.php:1485 +msgid "Auto Drafts" +msgstr "Automatisch erstellte Entwürfe" -#: inc/Engine/Admin/Settings/Page.php:1431 inc/deprecated/deprecated.php:1775 -msgid "Database" -msgstr "Datenbank" +#: inc/Engine/Admin/Database/Optimization.php:32 +#: inc/Engine/Admin/Settings/Page.php:1495 +msgid "Trashed Posts" +msgstr "Gelöschte Einträge (Papierkorb)" -#: inc/Engine/Admin/Settings/Page.php:1432 -msgid "Optimize, reduce bloat" -msgstr "Aufräumen, optimieren" +#: inc/Engine/Admin/Database/Optimization.php:33 +#: inc/Engine/Admin/Settings/Page.php:1505 +msgid "Spam Comments" +msgstr "Spam-Kommentare" -#: inc/Engine/Admin/Settings/Page.php:1439 -msgid "Post Cleanup" -msgstr "Beiträge/Seiten bereinigen" +#: inc/Engine/Admin/Database/Optimization.php:34 +#: inc/Engine/Admin/Settings/Page.php:1515 +msgid "Trashed Comments" +msgstr "Gelöschte Kommentare (Papierkorb)" -#: inc/Engine/Admin/Settings/Page.php:1441 -msgid "" -"Post revisions and drafts will be permanently deleted. Do not use this " -"option if you need to retain revisions or drafts." -msgstr "" -"Revisionen, Entwürfe und Papierkorb werden endgültig gelöscht. Nicht " -"aktivieren, wenn du Revisionen und Entwürfe noch benötigst!" +#: inc/Engine/Admin/Database/Optimization.php:35 +msgid "Transients" +msgstr "Transients" -#: inc/Engine/Admin/Settings/Page.php:1446 -msgid "Comments Cleanup" -msgstr "Kommentare bereinigen" +#: inc/Engine/Admin/Database/Optimization.php:36 +msgid "Tables" +msgstr "Tabellen" -#: inc/Engine/Admin/Settings/Page.php:1448 -msgid "Spam and trashed comments will be permanently deleted." -msgstr "Spam und Kommentare im Papierkorb werden endgültig gelöscht." +#: inc/Engine/Admin/Database/Subscriber.php:85 +msgid "monthly" +msgstr "monatlich" -#: inc/Engine/Admin/Settings/Page.php:1452 -msgid "Transients Cleanup" -msgstr "Transients bereinigen" +#: inc/Engine/Admin/Database/Subscriber.php:194 +msgid "Database optimization process is running" +msgstr "Datenbank wird optimiert." -#: inc/Engine/Admin/Settings/Page.php:1454 +#: inc/Engine/Admin/Database/Subscriber.php:224 msgid "" -"Transients are temporary options; they are safe to remove. They will be " -"automatically regenerated as your plugins require them." -msgstr "" -"Transients sind zeitlich begrenzte Optionen; sie können problemlos gelöscht " -"werden. Sobald deine Plugins sie benötigen, werden sie automatisch erneut " -"generiert." +"Database optimization process is complete. Everything was already optimized!" +msgstr "Datenbank-Optimierung abgeschlossen. Alles war bereits optimiert!" -#: inc/Engine/Admin/Settings/Page.php:1458 -msgid "Database Cleanup" -msgstr "Datenbank bereinigen" +#: inc/Engine/Admin/Database/Subscriber.php:227 +msgid "" +"Database optimization process is complete. List of optimized items below:" +msgstr "" +"Datenbank-Optimierung abgeschlossen. Folgende Elemente wurden optimiert:" -#: inc/Engine/Admin/Settings/Page.php:1460 -msgid "Reduces overhead of database tables" -msgstr "Reduziert den Umfang von Datenbank-Tabellen." +#. translators: %1$d = number of items optimized, %2$s = type of optimization +#: inc/Engine/Admin/Database/Subscriber.php:235 +msgid "%1$d %2$s optimized." +msgstr "%1$d %2$s optimiert." -#: inc/Engine/Admin/Settings/Page.php:1464 -msgid "Automatic Cleanup" -msgstr "Automatische Bereinigung" +#. translators: %1$s = , %2$s = , %3$s = , %4$s = . +#: inc/Engine/Admin/DomainChange/Subscriber.php:143 +msgid "" +"%1$sWP Rocket:%2$s We detected that the website domain has changed. The " +"configuration files must be regenerated for the page cache and all other " +"optimizations to work as intended. %3$sLearn More%4$s" +msgstr "" +"%1$sWP Rocket:%2$s Wir haben festgestellt, dass sich die Domain der Website " +"geändert hat. Die Konfigurationsdateien müssen für den Seitencache und alle " +"anderen Optimierungen regeneriert werden, damit sie wie gewünscht " +"funktionieren. %3$sMehr erfahren%4$s" -#: inc/Engine/Admin/Settings/Page.php:1477 -#, php-format -msgid "%s revision in your database." -msgid_plural "%s revisions in your database." -msgstr[0] "%s Revision in deiner Datenbank." -msgstr[1] "%s Revisionen in deiner Datenbank." +#: inc/Engine/Admin/DomainChange/Subscriber.php:171 +msgid "Regenerate WP Rocket configuration files now" +msgstr "Konfigurationsdateien von WP-Rocket jetzt regenerieren" -#: inc/Engine/Admin/Settings/Page.php:1487 -#, php-format -msgid "%s draft in your database." -msgid_plural "%s drafts in your database." -msgstr[0] "%s Entwurf in deiner Datenbank." -msgstr[1] "%s Entwürfe in deiner Datenbank." +#: inc/Engine/Admin/Settings/Page.php:201 +msgid "Save Changes" +msgstr "Änderungen speichern" -#: inc/Engine/Admin/Settings/Page.php:1497 -#, php-format -msgid "%s trashed post in your database." -msgid_plural "%s trashed posts in your database." -msgstr[0] "%s gelöschter Beitrag in deiner Datenbank." -msgstr[1] "%s gelöschte Beiträge in deiner Datenbank." - -#: inc/Engine/Admin/Settings/Page.php:1507 -#, php-format -msgid "%s spam comment in your database." -msgid_plural "%s spam comments in your database." -msgstr[0] "%s Spam-Kommentar in deiner Datenbank." -msgstr[1] "%s Spam-Kommentare in deiner Datenbank." +#: inc/Engine/Admin/Settings/Page.php:201 +msgid "Validate License" +msgstr "Lizenz prüfen" -#: inc/Engine/Admin/Settings/Page.php:1517 -#, php-format -msgid "%s trashed comment in your database." -msgid_plural "%s trashed comments in your database." -msgstr[0] "%s gelöschter Kommentare in deiner Datenbank." -msgstr[1] "%s gelöschte Kommentare in deiner Datenbank." +#: inc/Engine/Admin/Settings/Page.php:257 +#: inc/Engine/Admin/Settings/Page.php:258 +msgid "Unavailable" +msgstr "Server nicht erreichbar" -#: inc/Engine/Admin/Settings/Page.php:1525 -msgid "All transients" -msgstr "Alle Transients" +#: inc/Engine/Admin/Settings/Page.php:369 +msgid "API key" +msgstr "API-Schlüssel" -#: inc/Engine/Admin/Settings/Page.php:1527 -#, php-format -msgid "%s transient in your database." -msgid_plural "%s transients in your database." -msgstr[0] "%s Transient in deiner Datenbank." -msgstr[1] "%s Transients in deiner Datenbank." +#: inc/Engine/Admin/Settings/Page.php:384 +msgid "Email address" +msgstr "E-Mail-Adresse" -#: inc/Engine/Admin/Settings/Page.php:1535 -msgid "Optimize Tables" -msgstr "Tabellen optimieren" +#: inc/Engine/Admin/Settings/Page.php:410 +msgid "Dashboard" +msgstr "Dashboard" -#: inc/Engine/Admin/Settings/Page.php:1537 -#, php-format -msgid "%s table to optimize in your database." -msgid_plural "%s tables to optimize in your database." -msgstr[0] "%s Tabelle in deiner Datenbank kann optimiert werden." -msgstr[1] "%s Tabellen in deiner Datenbank können optimiert werden." +#: inc/Engine/Admin/Settings/Page.php:411 +msgid "Get help, account info" +msgstr "Konto-Übersicht, Hilfe" -#: inc/Engine/Admin/Settings/Page.php:1548 -msgid "Schedule Automatic Cleanup" -msgstr "Automatische Bereinigung terminieren" +#: inc/Engine/Admin/Settings/Page.php:420 +msgid "My Status" +msgstr "Mein Status" -#: inc/Engine/Admin/Settings/Page.php:1560 -msgid "Frequency" -msgstr "Durchführung" +#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75 +msgid "Rocket Analytics" +msgstr "Rocket Analytics" -#: inc/Engine/Admin/Settings/Page.php:1568 -msgid "Daily" -msgstr "täglich" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:432 +msgid "" +"I agree to share anonymous data with the development team to help improve WP" +" Rocket. %1$sWhat info will we collect?%2$s" +msgstr "" +"Ich erlaube dem Entwicklungsteam von WP Rocket, anonyme Daten aus meiner " +"Installation zum Zweck der Produktverbesserung zu erheben. %1$sWelche Daten " +"werden gesammelt?%2$s" -#: inc/Engine/Admin/Settings/Page.php:1569 -msgid "Weekly" -msgstr "wöchentlich" +#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354 +msgid "Cache" +msgstr "Cache" -#: inc/Engine/Admin/Settings/Page.php:1570 -msgid "Monthly" -msgstr "monatlich" +#: inc/Engine/Admin/Settings/Page.php:457 +msgid "Basic cache options" +msgstr "Cache-Grundfunktionen" -#: inc/Engine/Admin/Settings/Page.php:1586 -#: inc/Engine/Admin/Settings/Page.php:1597 inc/admin/ui/meta-boxes.php:108 -#: inc/deprecated/deprecated.php:1773 -msgid "CDN" -msgstr "CDN" +#: inc/Engine/Admin/Settings/Page.php:464 +msgid "Mobile Cache" +msgstr "Mobiler Cache" -#: inc/Engine/Admin/Settings/Page.php:1587 -msgid "Integrate your CDN" -msgstr "CDN integrieren" +#: inc/Engine/Admin/Settings/Page.php:466 +msgid "Speed up your site for mobile visitors." +msgstr "Beschleunige deine Site auf mobilen Geräten." -#: inc/Engine/Admin/Settings/Page.php:1599 +#: inc/Engine/Admin/Settings/Page.php:471 msgid "" -"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)" -" you provide." +"We detected you use a plugin that requires a separate cache for mobile, and " +"automatically enabled this option for compatibility." msgstr "" -"Alle URLs statischer Dateien (CSS, JS, Bilder) werden auf den/die " -"eingetragenen CNAME(s) umgeschrieben." +"Anscheinend nutzt du ein anderes Plugin, das einen separaten mobilen Cache " +"erfordert. Daher wurde diese Einstellung automatisch aktiviert." -#: inc/Engine/Admin/Settings/Page.php:1601 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:475 +msgid "User Cache" +msgstr "Personalisierter Cache" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:478 msgid "" -"Not required for services like Cloudflare and Sucuri. Please see our " -"available %1$sAdd-ons%2$s." +"%1$sUser cache%2$s is great when you have user-specific or restricted " +"content on your website." msgstr "" -"Nicht erforderlich für Dienste wie Cloudflare und Sucuri. Bitte sieh dir " -"unsere verfügbaren %1$sAdd-ons%2$s an." +"%1$sPersonalisierter Cache%2$s ist nützlich, wenn du personalisierte oder " +"eingeschränkte Inhalte zur Verfügung stellst." -#: inc/Engine/Admin/Settings/Page.php:1616 inc/admin/options.php:132 -msgid "Exclude files from CDN" -msgstr "Dateien vom CDN ausschließen" +#: inc/Engine/Admin/Settings/Page.php:486 +msgid "Cache Lifespan" +msgstr "Cache-Dauer" -#: inc/Engine/Admin/Settings/Page.php:1642 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:489 msgid "" -"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings " -"is not required for %2$l to work on your site." -msgid_plural "" -"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN " -"settings is not required for %2$l to work on your site." -msgstr[0] "" -"%1$s%2$l Add-ons%3$s ist momentan aktiviert. Konfiguration der CDN-" -"Einstellungen ist nicht erforderlich für %2$l, um auf deiner Website zu " -"laufen." -msgstr[1] "" -"%1$s%2$l Add-ons%3$s sind momentan aktiviert. Konfiguration der CDN-" -"Einstellungen ist nicht erforderlich für %2$l, um auf deiner Website zu " -"laufen." +"Cache files older than the specified lifespan will be deleted.
    Enable " +"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan " +"expiration." +msgstr "" +"Cache-Dateien, die älter als die angegebene Lebensdauer sind, werden " +"gelöscht.
    Aktiviere %1$sCache füllen%2$s, um den Cache nach dem Ablauf " +"der Lebensdauer automatisch neu zu generieren." -#: inc/Engine/Admin/Settings/Page.php:1667 -msgid "Enable Content Delivery Network" -msgstr "Content Delivery Network aktivieren" +#: inc/Engine/Admin/Settings/Page.php:503 +msgid "Enable caching for logged-in WordPress users" +msgstr "Caching für angemeldete WordPress-Benutzer/-innen aktivieren" -#: inc/Engine/Admin/Settings/Page.php:1676 -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159 -msgid "CDN CNAME(s)" -msgstr "CDN CNAME(s)" +#: inc/Engine/Admin/Settings/Page.php:511 +msgid "Enable caching for mobile devices" +msgstr "Caching für mobile Geräte aktivieren" -#: inc/Engine/Admin/Settings/Page.php:1677 -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160 -msgid "Specify the CNAME(s) below" -msgstr "CNAME(s) des CDNs hier eintragen" +#: inc/Engine/Admin/Settings/Page.php:526 +msgid "Separate cache files for mobile devices" +msgstr "Separater Cache für mobile Geräte" -#: inc/Engine/Admin/Settings/Page.php:1684 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:528 msgid "" -"Specify URL(s) of files that should not get served via CDN (one per line)." +"Most modern themes are responsive and should work without a separate cache. " +"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore " +"info%2$s" msgstr "" -"URL(s) von Dateien, die nicht von einem CDN ausgeliefert werden sollen (eine" -" pro Zeile)." +"Die meisten modernen Themes sind responsiv und sollten ohne einen separaten " +"Cache arbeiten. Aktiviere dies nur, falls du ein spezielles Mobil-Theme oder" +" -Plugin benutzt. %1$sMehr erfahren%2$s" -#: inc/Engine/Admin/Settings/Page.php:1685 +#: inc/Engine/Admin/Settings/Page.php:544 msgid "" -"The domain part of the URL will be stripped automatically.
    Use (.*) " -"wildcards to exclude all files of a given file type located at a specific " -"path." +"Specify time after which the global cache is cleared
    (0 = unlimited )" msgstr "" -"Der Domain-Teil der URL wird automatisch entfernt.
    Nutze den Platzhalter " -"(.*), um alle URLs eines bestimmten Pfades anzusprechen." +"Zeitangabe, nach welcher der globale Cache geleert wird
    (0 = unbegrenzt)" -#: inc/Engine/Admin/Settings/Page.php:1708 -#: inc/Engine/Admin/Settings/Page.php:1716 -msgid "Heartbeat" -msgstr "Heartbeat" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:546 +msgid "" +"Reduce lifespan to 10 hours or less if you notice issues that seem to appear" +" periodically. %1$sWhy?%2$s" +msgstr "" +"Reduziere auf 10 Stunden oder weniger, falls du Probleme bemerkst, die " +"periodisch aufzutreten scheinen. %1$sWarum?%2$s" -#: inc/Engine/Admin/Settings/Page.php:1709 -msgid "Control WordPress Heartbeat API" -msgstr "WordPress-Heartbeat-API kontrollieren" +#: inc/Engine/Admin/Settings/Page.php:552 +#: inc/Engine/License/views/promo-banner.php:30 +#: inc/Engine/License/views/renewal-soon-banner.php:13 +msgid "Hours" +msgstr "Stunden" + +#: inc/Engine/Admin/Settings/Page.php:553 +#: inc/Engine/License/views/promo-banner.php:29 +#: inc/Engine/License/views/renewal-soon-banner.php:12 +msgid "Days" +msgstr "Tage" + +#: inc/Engine/Admin/Settings/Page.php:602 +msgid "File Optimization" +msgstr "Datei-Optimierung" -#: inc/Engine/Admin/Settings/Page.php:1717 +#: inc/Engine/Admin/Settings/Page.php:603 +msgid "Optimize CSS & JS" +msgstr "CSS und JS optimieren" + +#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP +#. Rocket”. +#: inc/Engine/Admin/Settings/Page.php:611 msgid "" -"Reducing or disabling the Heartbeat API’s activity can help save some of " -"your server’s resources." +"%1$s Minification is currently activated in Autoptimize. If" +" you want to use %2$s’s minification, disable this option in Autoptimize." msgstr "" -"Das Verringern oder Deaktivieren der Heartbeat-API-Aktivität kann dabei " -"helfen, manche Ressourcen deines Servers einzusparen." +"%1$s Minifizierung ist momentan in Autoptimizeaktiviert. " +"Falls du die Minifizierung von %2$sbenutzen willst, deaktiviere diese Option" +" in Autoptimize." -#: inc/Engine/Admin/Settings/Page.php:1723 -msgid "Reduce or disable Heartbeat activity" -msgstr "Verringern oder Deaktivieren der Heartbeat-Aktivität" +#: inc/Engine/Admin/Settings/Page.php:621 +msgid "CSS Files" +msgstr "CSS-Dateien" -#: inc/Engine/Admin/Settings/Page.php:1724 +#: inc/Engine/Admin/Settings/Page.php:630 +msgid "JavaScript Files" +msgstr "JavaScript-Dateien" + +#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP +#. Rocket”. +#: inc/Engine/Admin/Settings/Page.php:637 msgid "" -"Reducing activity will change Heartbeat frequency from one hit each minute " -"to one hit every 2 minutes." +"%1$s Minification is currently activated in Autoptimize. If" +" you want to use %2$s’s minification, disable those options in Autoptimize." msgstr "" -"Das Verringern der Aktivität wird die Heartbeat-Frequenz von einem Schlag " -"pro Minute auf einen alle 2 Minuten verringern." +"%1$s Minifizierung ist momentan in Autoptimize aktiviert. " +"Wenn du die Minifizierung von %2$s nutzen möchtest, deaktiviere die " +"entsprechenden Einstellungen in Autoptimize." -#: inc/Engine/Admin/Settings/Page.php:1724 +#: inc/Engine/Admin/Settings/Page.php:642 msgid "" -"Disabling Heartbeat entirely may break plugins and themes using this API." +"If you have problems after activating this option, copy and paste the " +"default exclusions to quickly resolve issues:" msgstr "" -"Das Deaktivieren der Heartbeat-Aktivität kann dazu führen, dass Plugins und " -"Themes, die diese API benutzen, nicht mehr funktionieren." +"Falls du nach dem Aktivieren dieser Funktion Probleme bekommst, kopiere die " +"Standardexklusionen und füge sie ein, um diese schnell zu beheben:" -#: inc/Engine/Admin/Settings/Page.php:1738 -msgid "Do not limit" -msgstr "Nicht beschränken" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:646 +msgid "" +"Also, please check our %1$sdocumentation%2$s for a list of compatibility " +"exclusions." +msgstr "" +"Bitte lies auch unsere %1$sDokumentation%2$s mit einer Liste von Exklusionen" +" aus Kompatibilitätsgründen." -#: inc/Engine/Admin/Settings/Page.php:1739 -msgid "Reduce activity" -msgstr "Aktivität verringern" - -#: inc/Engine/Admin/Settings/Page.php:1740 -msgid "Disable" -msgstr "Deaktivieren" - -#: inc/Engine/Admin/Settings/Page.php:1748 -msgid "Control Heartbeat" -msgstr "Heartbeat kontrollieren" - -#: inc/Engine/Admin/Settings/Page.php:1757 -msgid "Behavior in backend" -msgstr "Verhalten im Backend" - -#: inc/Engine/Admin/Settings/Page.php:1764 -msgid "Behavior in post editor" -msgstr "Verhalten im Beitragseditor" +#: inc/Engine/Admin/Settings/Page.php:651 +msgid "" +"Internal scripts are excluded by default to prevent issues. Remove them to " +"take full advantage of this option." +msgstr "" +"Interne Skripte werden standardmäßig ausgeschlossen, um Probleme zu " +"verhindern. Entferne sie, um diese Funktion voll auszureizen." -#: inc/Engine/Admin/Settings/Page.php:1770 -msgid "Behavior in frontend" -msgstr "Verhalten im Frontend" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:654 +msgid "" +"If this causes trouble, restore the default exclusions, found %1$shere%2$s" +msgstr "" +"Falls das zu Schwierigkeiten führt, stelle die Standardexklusionen wieder " +"her, die du %1$shier%2$s findest" -#: inc/Engine/Admin/Settings/Page.php:1787 -#: views/settings/page-sections/tutorials.php:39 -msgid "Add-ons" -msgstr "Add-ons" +#: inc/Engine/Admin/Settings/Page.php:663 +msgid "Minify CSS files" +msgstr "CSS minifizieren" -#: inc/Engine/Admin/Settings/Page.php:1788 -msgid "Add more features" -msgstr "Erweiterungen aktivieren" +#: inc/Engine/Admin/Settings/Page.php:664 +msgid "Minify CSS removes whitespace and comments to reduce the file size." +msgstr "Entfernt Leerzeilen und Kommentare zur Reduzierung der Datei-Größe." -#: inc/Engine/Admin/Settings/Page.php:1795 -msgid "One-click Rocket Add-ons" -msgstr "One-click Rocket Add-ons" +#: inc/Engine/Admin/Settings/Page.php:677 +#: inc/Engine/Admin/Settings/Page.php:741 +#: inc/Engine/Admin/Settings/Page.php:807 +#: inc/Engine/Admin/Settings/Page.php:831 +msgid "This could break things!" +msgstr "Dies könnte Probleme bereiten!" -#: inc/Engine/Admin/Settings/Page.php:1796 +#: inc/Engine/Admin/Settings/Page.php:678 +#: inc/Engine/Admin/Settings/Page.php:742 +#: inc/Engine/Admin/Settings/Page.php:808 +#: inc/Engine/Admin/Settings/Page.php:832 msgid "" -"One-Click Add-ons are features extending available options without " -"configuration needed. Switch the option \"on\" to enable from this screen." +"If you notice any errors on your website after having activated this " +"setting, just deactivate it again, and your site will be back to normal." msgstr "" -"One-Click Add-ons erweitern den Funktionsumfang ohne weitere Konfiguration. " -"Aktiviere sie einfach, indem du den Schalter auf „An“ umlegst." - -#: inc/Engine/Admin/Settings/Page.php:1806 -msgid "Rocket Add-ons" -msgstr "Rocket Add-ons" - -#: inc/Engine/Admin/Settings/Page.php:1807 -msgid "Rocket Add-ons are complementary features extending available options." -msgstr "Rocket Add-ons erweitern den Funktionsumfang um zusätzliche Features." +"Falls du nach der Aktivierung dieser Einstellung Unregelmäßigkeiten auf " +"deiner Website bemerken solltest, deaktiviere sie einfach wieder, und deine " +"Site wird wieder normal aussehen." -#: inc/Engine/Admin/Settings/Page.php:1817 -#: inc/Engine/Admin/Settings/Page.php:1986 -msgid "Cloudflare" -msgstr "Cloudflare" +#: inc/Engine/Admin/Settings/Page.php:679 +msgid "Activate minify CSS" +msgstr "Verstanden, aktiviere „CSS minifizieren“" -#: inc/Engine/Admin/Settings/Page.php:1823 -msgid "Integrate your Cloudflare account with this add-on." -msgstr "Integriere dein Cloudflare-Konto mit diesem Add-on." +#: inc/Engine/Admin/Settings/Page.php:685 +msgid "" +"Specify URLs of CSS files to be excluded from minification (one per line)." +msgstr "" +"Gib die URLs der CSS-Dateien an, die nicht minifiziert werden sollen (eine " +"pro Zeile)." -#: inc/Engine/Admin/Settings/Page.php:1824 +#: inc/Engine/Admin/Settings/Page.php:686 msgid "" -"Provide your account email, global API key, and domain to use options such " -"as clearing the Cloudflare cache and enabling optimal settings with WP " -"Rocket." +"Internal: The domain part of the URL will be stripped " +"automatically. Use (.*).css wildcards to exclude all CSS files located at a " +"specific path." msgstr "" -"Damit du den Cloudflare-Cache leeren und die optimalen Einstellungen für WP " -"Rocket auswählen kannst, gib hier die folgenden in deinem Cloudflare-Konto " -"hinterlegten Daten ein: E-Mail-Adresse, globaler API-Schlüssel, Domain" +"Intern: Der Domain-Teil der URL wird automatisch entfernt. " +"Benutze den Platzhalter (.*).css, um alle CSS-Dateien auszunehmen, die sich " +"in einem angegebenen Pfad befinden." -#: inc/Engine/Admin/Settings/Page.php:1827 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:688 msgid "" -"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just " -"activate the official Cloudflare plugin and configure it. WP Rocket will " -"automatically enable compatibility." +"3rd Party: Use either the full URL path or only the domain " +"name, to exclude external CSS. %1$sMore info%2$s" msgstr "" -"%1$sPlanst du, Automatic Platform Optimization (APO) einzusetzen?%2$s " -"Aktiviere einfach das offizielle Cloudflare-Plugin und konfiguriere es. WP " -"Rocket wird automatisch für Kompatibilität sorgen." +"Drittanbieter: Benutze entweder den vollständigen URL-Pfad " +"oder nur den Domainnamen, um externes CSS auszunehmen. %1$sMehr erfahren%2$s" -#: inc/Engine/Admin/Settings/Page.php:1875 -msgid "Varnish" -msgstr "Varnish" +#: inc/Engine/Admin/Settings/Page.php:701 +#: inc/Engine/Admin/Settings/Page.php:723 +msgid "Optimize CSS delivery" +msgstr "CSS-Darstellung optimieren" -#: inc/Engine/Admin/Settings/Page.php:1881 -msgid "If Varnish runs on your server, you must activate this add-on." +#: inc/Engine/Admin/Settings/Page.php:706 +msgid "" +"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " +"one method can be selected. Remove Unused CSS is recommended for optimal " +"performance, but limited only to the users with active license." msgstr "" -"Du musst diese Einstellung aktivieren, wenn Varnish auf deinem Server aktiv " -"ist." +"CSS-Darstellung optimieren eliminiert rendering-blockierendes CSS auf deiner" +" Website. Nur eine Methode kann ausgewählt werden. Unbenutztes CSS entfernen" +" wird für die beste Leistung empfohlen, aber kann nur von Benutzern mit " +"einer aktiven Lizenz eingesetzt werden." -#: inc/Engine/Admin/Settings/Page.php:1883 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:706 msgid "" -"Varnish cache will be purged each time WP Rocket clears its cache to ensure " -"content is always up-to-date.
    %1$sLearn more%2$s" +"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " +"one method can be selected. Remove Unused CSS is recommended for optimal " +"performance." msgstr "" -"Der Varnish-Cache wird automatisch jedes Mal geleert, wenn der Cache von WP " -"Rocket geleert wird, damit er immer aktuell ist.
    %1$sMehr erfahren%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1918 -msgid "WebP Compatibility" -msgstr "WebP-Kompatibilität" - -#: inc/Engine/Admin/Settings/Page.php:1924 -msgid "Improve browser compatibility for WebP images." -msgstr "Browserkompatibilität für WebP-Bilder verbessern" +"CSS-Darstellung optimieren eliminiert rendering-blockierendes CSS auf deiner" +" Website. Nur eine Methode kann ausgewählt werden. Nicht benutztes CSS " +"entfernen wird für die beste Leistung empfohlen." -#: inc/Engine/Admin/Settings/Page.php:1928 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:716 msgid "" -"Enable this option if you would like WP Rocket to serve WebP images to " -"compatible browsers. Please note that WP Rocket cannot create WebP images " -"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore " -"info%2$s" +"Optimize CSS Delivery features are disabled on local environments. %1$sLearn" +" more%2$s" msgstr "" -"Aktiviere diese Option, falls du möchtest, dass WP Rocket WebP-Bilder an " -"kompatible Browser ausliefert. Bitte bedenke, dass WP Rocket keine WebP-" -"Bilder für dich erstellen kann. Dür das Erstellen von WebP-Bildern empfehlen" -" wir %1$sImagify%2$s. %3$sMehr erfahren%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1948 -msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared." -msgstr "Sucuri-Cache leeren, wenn der Cache von WP Rocket geleert wird." +"Funktionen zur optimierten CSS-Darstellung sind auf lokalen Umgebungen " +"deaktiviert. %1$sMehr erfahren%2$s" -#: inc/Engine/Admin/Settings/Page.php:1951 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:739 msgid "" -"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is " -"cleared." +"Removes unused CSS per page and helps to reduce page size and HTTP requests." +" Recommended for best performance. Test thoroughly! %1$sMore info%2$s" msgstr "" -"Gib deinen API-Schlüssel an, um auch den Sucuri-Cache zu leeren, sobald der " -"Cache von WP Rocket geleert wird." - -#: inc/Engine/Admin/Settings/Page.php:1959 -#: inc/Engine/Admin/Settings/Page.php:2103 -msgid "Sucuri" -msgstr "Sucuri" - -#: inc/Engine/Admin/Settings/Page.php:1965 -msgid "Synchronize Sucuri cache with this add-on." -msgstr "Sucuri-Cache mit diesem Add-on synchronisieren." - -#: inc/Engine/Admin/Settings/Page.php:2003 -msgid "Cloudflare credentials" -msgstr "Cloudflare-Zugangsdaten" - -#: inc/Engine/Admin/Settings/Page.php:2012 -msgid "Cloudflare settings" -msgstr "Cloudflare-Einstellungen" - -#: inc/Engine/Admin/Settings/Page.php:2026 -msgctxt "Cloudflare" -msgid "Global API key:" -msgstr "Globaler API-Schlüssel:" +"Entfernt nicht benutztes CSS pro Seite und hilft, die Größe der Seite und " +"die Anzahl von HTTP-Anfragen zu reduzieren. Empfohlen für die beste " +"Leistung. Ausführlich testen! %1$sMehr erfahren%2$s" -#: inc/Engine/Admin/Settings/Page.php:2027 -msgctxt "Cloudflare" -msgid "Find your API key" -msgstr "API-Schlüssel finden" +#: inc/Engine/Admin/Settings/Page.php:743 +msgid "Activate Remove Unused CSS" +msgstr "Unbenutztes CSS entfernen aktivieren" -#: inc/Engine/Admin/Settings/Page.php:2039 -msgctxt "Cloudflare" -msgid "Account email" -msgstr "E-Mail-Adresse des Kontos" +#: inc/Engine/Admin/Settings/Page.php:749 +msgid "CSS safelist" +msgstr "CSS-Safelist" -#: inc/Engine/Admin/Settings/Page.php:2048 -msgctxt "Cloudflare" -msgid "Zone ID" -msgstr "Zone ID" +#: inc/Engine/Admin/Settings/Page.php:750 +msgid "" +"Specify CSS filenames, IDs or classes that should not be removed (one per " +"line)." +msgstr "" +"Gib CSS-Dateinamen, IDs oder Klassen an, die nicht entfernt werden sollen " +"(eine pro Zeile)." -#: inc/Engine/Admin/Settings/Page.php:2058 -msgid "Development mode" -msgstr "Entwicklungsmodus" +#. translators: %1$s = plugin name. +#: inc/Engine/Admin/Settings/Page.php:768 +msgctxt "WP Critical CSS compatibility" +msgid "" +"Load CSS asynchronously is currently handled by the %1$s plugin. If you want" +" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin." +msgstr "" +"CSS-Dateien asynchron laden wird momentan durch das Plugin %1$s realisiert. " +"Wenn du die Option zur optimierten CSS-Darstellung von WP Rocket benutzen " +"willst, deaktiviere das Plugin %1$s." -#: inc/Engine/Admin/Settings/Page.php:2060 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:770 msgid "" -"Temporarily activate development mode on your website. This setting will " -"automatically turn off after 3 hours. %1$sLearn more%2$s" +"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s" msgstr "" -"Aktiviert vorübergehend den Entwicklungsmodus auf deiner Website. Diese " -"Einstellung wird nach 3 Stunden automatisch deaktiviert. %1$sMehr " +"Erzeugt CSS für den kritischen Pfad und lädt CSS asynchron. %1$sMehr " "erfahren%2$s" -#: inc/Engine/Admin/Settings/Page.php:2068 -msgid "Optimal settings" -msgstr "Optimale Einstellungen" +#: inc/Engine/Admin/Settings/Page.php:776 +msgid "Fallback critical CSS" +msgstr "Alternatives Kritisches CSS" -#: inc/Engine/Admin/Settings/Page.php:2069 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:778 msgid "" -"Automatically enhances your Cloudflare configuration for speed, performance " -"grade and compatibility." +"Provides a fallback if auto-generated critical path CSS is incomplete. " +"%1$sMore info%2$s" msgstr "" -"Verbessert deine Cloudflare-Konfiguration automatischen hinsichtlich " -"Geschwindigkeit, Leistungsfähigkeit und Kompatibilität." +"Für den Fall, dass das automatisch erstellte Kritische CSS unvollständig " +"ist. %1$sMehr erfahren%2$s" -#: inc/Engine/Admin/Settings/Page.php:2077 -msgid "Relative protocol" -msgstr "Relatives Protokoll" +#: inc/Engine/Admin/Settings/Page.php:793 +msgid "Minify JavaScript files" +msgstr "JavaScript minifizieren" -#: inc/Engine/Admin/Settings/Page.php:2078 +#: inc/Engine/Admin/Settings/Page.php:794 msgid "" -"Should only be used with Cloudflare's flexible SSL feature. URLs of static " -"files (CSS, JS, images) will be rewritten to use // instead of http:// or " -"https://." -msgstr "" -"Sollte ausschließlich mit Flexible SSL von Cloudflare genutzt werden. URLs " -"statischer Dateien (CSS, JS, Bilder) werden auf // anstatt http:// oder " -"https:// umgeschrieben." +"Minify JavaScript removes whitespace and comments to reduce the file size." +msgstr "Entfernt Leerzeilen und Kommentare zur Reduzierung der Datei-Größe." -#: inc/Engine/Admin/Settings/Page.php:2116 -msgid "Sucuri credentials" -msgstr "Sucuri-Zugangsdaten" +#: inc/Engine/Admin/Settings/Page.php:809 +msgid "Activate minify JavaScript" +msgstr "Verstanden, aktiviere „JavaScript minifizieren“" -#: inc/Engine/Admin/Settings/Page.php:2129 -msgctxt "Sucuri" +#: inc/Engine/Admin/Settings/Page.php:814 msgid "" -"Firewall API key (for plugin), must be in format {32 characters}/{32 " -"characters}:" +"Combine JavaScript files (Enable Minify JavaScript files to select)" msgstr "" -"Firewall-API-Schlüssel (für Plugin) muss das Format {32 Zeichen}/{32 " -"Zeichen} aufweisen:" - -#: inc/Engine/Admin/Settings/Page.php:2130 -msgctxt "Sucuri" -msgid "Find your API key" -msgstr "API-Schlüssel finden" - -#: inc/Engine/Admin/Settings/Render.php:422 inc/deprecated/deprecated.php:1294 -msgid "Upload file and import settings" -msgstr "Datei hochladen und Einstellungen importieren." +"JavaScript zusammenfassen („JavaScript minifizieren“ erforderlich zur " +"Aktivierung)" -#: inc/Engine/Admin/Settings/Settings.php:362 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:816 msgid "" -"Sucuri Add-on: The API key for the Sucuri firewall must be in format " -"{32 characters}/{32 characters}." +"Combine JavaScript files combines your site’s internal, 3rd party and inline" +" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. " +"%1$sMore info%2$s" msgstr "" -"Sucuri Add-on: Der API-Schlüssel für die Sucuri-Firewall muss im Format " -"{32 Zeichen}/{32 Zeichen} sein:" - -#: inc/Engine/Admin/Settings/Settings.php:452 -#: inc/deprecated/deprecated.php:1245 -msgid "Settings saved." -msgstr "Einstellungen gespeichert." +"JavaScript zusammenfassen kombiniert internes, externes und inline JS, um " +"HTTP-Anfragen zu verringern. nicht empfohlen, falls deine Website mit HTTP/2" +" läuft. %1$sMehr erfahren%2$s" -#: inc/Engine/Admin/Settings/Settings.php:668 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:817 msgid "" -"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved " -"because it disables caching and optimizations for every page on your site." +"For compatibility and best results, this option is disabled when delay " +"javascript execution is enabled." msgstr "" -"Entschuldigung! Das Hinzufügen von /(.*) in Erweiterte Regeln > Nie cachen " -"(URLs) wurde nicht gespeichert, weil es das Caching und die Optimierungen " -"für jede Seite deiner Website deaktiviert." - -#: inc/Engine/Admin/Settings/Subscriber.php:168 -#: inc/deprecated/deprecated.php:1786 -#: views/settings/page-sections/tools.php:33 -msgid "Tools" -msgstr "Werkzeuge" - -#: inc/Engine/Admin/Settings/Subscriber.php:169 -msgid "Import, Export, Rollback" -msgstr "Import, Export, Wiederherstellung" - -#: inc/Engine/Admin/Settings/Subscriber.php:194 -#: views/settings/page-sections/imagify.php:14 -msgid "Image Optimization" -msgstr "Bildoptimierung" - -#: inc/Engine/Admin/Settings/Subscriber.php:195 -msgid "Compress your images" -msgstr "Komprimiere deine Bilder" +"Diese Option ist aus Gründen der Kompatibilität und für beste Ergebnisse " +"deaktiviert, wenn die Option zum Verzögern der Ausführung von JavaScript " +"aktiv ist." -#: inc/Engine/Admin/Settings/Subscriber.php:212 -#: views/settings/page-sections/tutorials.php:48 -msgid "Tutorials" -msgstr "Tutorials" +#: inc/Engine/Admin/Settings/Page.php:833 +msgid "Activate combine JavaScript" +msgstr "Verstanden, aktiviere „JavaScript zusammenfassen“" -#: inc/Engine/Admin/Settings/Subscriber.php:213 -msgid "Getting started and how to videos" -msgstr "Erste Schritte und Einführungsvideos" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:840 +msgid "" +"Specify patterns of inline JavaScript to be excluded from concatenation (one" +" per line). %1$sMore info%2$s" +msgstr "" +"Muster von Inline JavaScript, die von der Zusammenführung ausgenommen werden" +" sollen (eine pro Zeile). %1$sMehr erfahren%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:134 +#: inc/Engine/Admin/Settings/Page.php:857 msgid "" -"We could not fetch the current price because RocketCDN API returned an " -"unexpected error code." +"Specify URLs of JavaScript files to be excluded from minification and " +"concatenation (one per line)." msgstr "" -"Wir konnten den aktuellen Preis nicht abrufen, weil die RocketCDN-API einen " -"unerwarteten Fehlercode zurückgegeben hat." +"URLs von JavaScript-Dateien, die von der Minifizierung und Zusammenführung " +"ausgenommen werden sollen (eine pro Zeile)." -#: inc/Engine/CDN/RocketCDN/APIClient.php:140 -msgid "RocketCDN is not available at the moment. Please retry later." +#: inc/Engine/Admin/Settings/Page.php:858 +msgid "" +"Internal: The domain part of the URL will be stripped " +"automatically. Use (.*).js wildcards to exclude all JS files located at a " +"specific path." msgstr "" -"RocketCDN ist momentan nicht verfügbar. Bitte später erneut versuchen." +"Intern: Der Domain-Teil der URL wird automatisch entfernt. " +"Benutze den Platzhalter (.*).css, um alle JS-Dateien auszunehmen, die sich " +"in einem angegebenen Pfad befinden." -#: inc/Engine/CDN/RocketCDN/APIClient.php:177 -msgid "RocketCDN cache purge failed: Missing identifier parameter." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:860 +msgid "" +"3rd Party: Use either the full URL path or only the domain " +"name, to exclude external JS. %1$sMore info%2$s" msgstr "" -"RocketCDN Cache leeren fehlgeschlagen: Fehlender Identifier-Parameter." +"Drittanbieter: Benutze entweder den vollständigen URL-Pfad " +"oder nur den Domainnamen, um externes JS auszunehmen. %1$sMehr erfahren%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:186 -msgid "RocketCDN cache purge failed: Missing user token." -msgstr "RocketCDN Cache leeren fehlgeschlagen: Fehlendes Benutzer-Token." +#: inc/Engine/Admin/Settings/Page.php:876 +msgid "Load JavaScript deferred" +msgstr "JavaScript verzögert laden" -#: inc/Engine/CDN/RocketCDN/APIClient.php:212 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:878 msgid "" -"RocketCDN cache purge failed: The API returned an unexpected response code." +"Load JavaScript deferred eliminates render-blocking JS on your site and can " +"improve load time. %1$sMore info%2$s" msgstr "" -"RocketCDN Cache leeren fehlgeschlagen: Die API gab einen unerwarteten " -"Antwortcode zurück." +"Entfernt rendering-blockierendes JavaScript, kann die Ladezeit verbessern. " +"%1$sMehr erfahren%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:221 -msgid "RocketCDN cache purge failed: The API returned an empty response." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:891 +msgid "" +"Specify URLs or keywords of JavaScript files to be excluded from defer (one " +"per line). %1$sMore info%2$s" msgstr "" -"RocketCDN Cache leeren fehlgeschlagen: Die API gab eine leere Antwort " -"zurück." +"URLs oder Schlüsselwörter von JavaScript-Dateien, die von der Verzögerung " +"ausgenommen werden sollen (eine pro Zeile) %1$sMehr erfahren%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:230 -msgid "RocketCDN cache purge failed: The API returned an unexpected response." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:909 +msgid "" +"Improves performance by delaying the loading of JavaScript files until user " +"interaction (e.g. scroll, click). %1$sMore info%2$s" msgstr "" -"RocketCDN Cache leeren fehlgeschlagen: Die API gab eine unerwartete Antwort " -"zurück." - -#: inc/Engine/CDN/RocketCDN/APIClient.php:239 -#, php-format -msgid "RocketCDN cache purge failed: %s." -msgstr "RocketCDN Cache leeren fehlgeschlagen: %s." - -#: inc/Engine/CDN/RocketCDN/APIClient.php:247 -msgid "RocketCDN cache purge successful." -msgstr "RocketCDN-Cache erfolgreich geleert." - -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90 -msgid "Next Billing Date" -msgstr "Nächste Rechnungsstellung" +"Verbessert die Leistung durch das Verzögern des Ladens von JavaScript-" +"Dateien bis zur ersten Benutzerinteraktion (z. B: Scrollen, Klicken). " +"%1$sMehr erfahren%2$s" -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99 -msgid "No Subscription" -msgstr "Kein Abonnement" +#: inc/Engine/Admin/Settings/Page.php:918 +msgid "One-click exclusions" +msgstr "Ein-Klick-Exklusionen" -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135 -msgid "Your RocketCDN subscription is currently active." -msgstr "Dein RocketCDN-Abonnement ist momentan aktiv." +#: inc/Engine/Admin/Settings/Page.php:919 +msgid "" +"When using the Delay JavaScript Execution, you might experience delay " +"loading elements located in the viewport that need to appear immediately - " +"e.g. slider, header, menu." +msgstr "" +"Wenn du die Ausführung von JavaScript verzögerst, kann es zu Verzögerungen " +"beim Laden von Elementen im Viewport kommen, die sofort angezeigt werden " +"müssen, z. B. Slider, Header, Menü." -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141 -#, php-format -msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s." -msgstr "Um RocketCDN zu benutzen, ersetze deinen CNAME mit %1$s%2$s%3$s." +#: inc/Engine/Admin/Settings/Page.php:920 +msgid "" +"If you need instant visibility, click below on files that should NOT be " +"delayed. This selection will help users interact with the elements straight " +"away." +msgstr "" +"Wenn du sofortige Sichtbarkeit brauchst, klicke unten auf die Dateien, die " +"NICHT verzögert werden sollten. Diese Auswahl hilft den Nutzern, sofort mit " +"den Elementen zu interagieren." -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152 -#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230 -#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334 -#, php-format -msgid "%1$sMore Info%2$s" -msgstr "%1$sMehr erfahren%2$s" +#: inc/Engine/Admin/Settings/Page.php:937 +msgid "" +"Specify URLs or keywords that can identify inline or JavaScript files to be " +"excluded from delaying execution (one per line)." +msgstr "" +"URLs oder Schlüsselwörter, die Inline- oder JavaScript-Dateien " +"identifizieren, die nicht verzögert ausgeführt werden sollen (eine pro " +"Zeile)." -#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137 -msgid "RocketCDN enabled" -msgstr "RocketCDN aktiviert" +#: inc/Engine/Admin/Settings/Page.php:969 +msgid "Media" +msgstr "Medien" -#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160 -msgid "RocketCDN disabled" -msgstr "RocketCDN deaktiviert" +#: inc/Engine/Admin/Settings/Page.php:970 +msgid "LazyLoad, image dimensions" +msgstr "LazyLoad, Bildabmessungen" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27 -#, php-format -msgid "Valid until %s only!" -msgstr "Nur gültig bis %s!" +#: inc/Engine/Admin/Settings/Page.php:979 +msgid "Autoptimize" +msgstr "Autoptimize" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36 -msgid "Speed up your website thanks to:" -msgstr "Beschleunige deine Website dank:" +#: inc/Engine/Admin/Settings/Page.php:1033 +msgid "LazyLoad" +msgstr "LazyLoad" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1036 msgid "" -"High performance Content Delivery Network (CDN) with %1$sunlimited " -"bandwidth%2$s" +"It can improve actual and perceived loading time as images, iframes, and " +"videos will be loaded only as they enter (or about to enter) the viewport " +"and reduces the number of HTTP requests. %1$sMore Info%2$s" msgstr "" -"Hochleistungs-Content-Delivery-Network (CDN) mit %1$sunbegrenzter " -"Bandbreite%2$s" +"Es kann die tatsächliche und empfundene Ladezeit verbessern, weil Bilder, " +"iframes und Videos erst geladen werden, wenn sie in den Viewport kommen " +"(oder in die Nähe). Das verringert auch die Anzahl der HTTP-Anfragen. " +"%1$sMehr erfahren%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48 -#, php-format +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names. +#: inc/Engine/Admin/Settings/Page.php:1043 msgid "" -"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied" +"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s " +"LazyLoad, disable this option in %2$s." msgstr "" -"Einfache Konfiguration: Die %1$sbesten CDN-Einstellungen%2$s werden " -"automatisch angewendet" +"LazyLoad ist momentan in %2$s aktiviert. Wenn du die LazyLoad-Funktion von " +"WP Rocket benutzen willst, deaktiviere diese Option in %2$s." -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1046 +msgid "Image Dimensions" +msgstr "Bildabmessungen" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1049 msgid "" -"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in" -" our plugin" +"Add missing width and height attributes to images. Helps prevent layout " +"shifts and improve the reading experience for your visitors. %1$sMore " +"info%2$s" msgstr "" -"WP-Rocket-Integration: Die CDN-Option ist in unserem Plugin %1$sautomatisch " -"konfiguriert%2$s" +"Fügt Bildern fehlende width und height Attribute hinzu. Hilft, Layout-" +"Sprünge zu verhindern und verbessert die Leseerfahrung für deine Besucher. " +"%1$sMehr erfahren%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58 -msgid "Learn more about RocketCDN" -msgstr "Erfahre mehr über RocketCDN" +#: inc/Engine/Admin/Settings/Page.php:1068 +msgid "Enable for images" +msgstr "Für Bilder aktivieren" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65 -#, php-format +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names. +#: inc/Engine/Admin/Settings/Page.php:1080 msgid "" -"*$%1$s/month for 12 months then $%2$s/month. You can cancel your " -"subscription at any time." +"LazyLoad for images is currently activated in %2$s. If you want to use " +"%1$s’s LazyLoad, disable this option in %2$s." msgstr "" -"*$%1$s/Monat für 12 Monate, danach $%2$s/Monat. Sie können Ihr Abonnement " -"jederzeit kündigen." +"LazyLoad für Bilder ist aktuell aktiviert in %2$s. Falls du die LazyLoad-" +"Funktion von %1$s benutzen willst, deaktivere diese Option in %2$s." -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86 -msgid "Billed monthly" -msgstr "Monatliche Abrechnung" +#: inc/Engine/Admin/Settings/Page.php:1088 +msgid "Enable for CSS background images" +msgstr "Für CSS-Hintergrundbilder aktivieren" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87 -msgid "Get Started" -msgstr "Erste Schritte" +#: inc/Engine/Admin/Settings/Page.php:1103 +msgid "Enable for iframes and videos" +msgstr "Für iframes und Video aktivieren" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92 -msgid "Reduce this banner" -msgstr "Dieses Banner verkleinern" +#: inc/Engine/Admin/Settings/Page.php:1118 +msgid "Replace YouTube iframe with preview image" +msgstr "YouTube iframe durch Vorschaubild ersetzen" -#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17 -msgid "" -"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network." +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names. +#: inc/Engine/Admin/Settings/Page.php:1120 +msgid "Replace YouTube iframe with preview image is not compatible with %2$s." msgstr "" -"Beschleunige deine Website mit RocketCDN, WP Rockets Content Delivery " -"Network." - -#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20 -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13 -msgid "Learn More" -msgstr "Mehr erfahren" - -#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23 -msgid "RocketCDN is unavailable on local domains and staging sites." -msgstr "RocketCDN ist nicht für lokale Domains und Staging-Sites verfügbar." +"YouTube-iframe mit Vorschaubild austauschen ist nicht kompatibel mit %2$s." -#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32 -msgid "Get RocketCDN" -msgstr "Hol dir RocketCDN" +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names. +#: inc/Engine/Admin/Settings/Page.php:1120 +msgid "" +"This can significantly improve your loading time if you have a lot of " +"YouTube videos on a page." +msgstr "" +"Kann deine Ladezeit entscheidend verbessern, wenn du viele YouTube Videos " +"auf einer Seite einbettest." -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11 -msgid "New!" -msgstr "Neu!" +#: inc/Engine/Admin/Settings/Page.php:1135 +msgid "Excluded images or iframes" +msgstr "Bilder- oder iframes-Ausnahmen" -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1137 msgid "" -"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!" +"Specify keywords (e.g. image filename, CSS filename, CSS class, domain) from" +" the image or iframe code to be excluded (one per line). %1$sMore info%2$s" msgstr "" -"Beschleunige deine Website mit RocketCDN, WP Rockets Content Delivery " -"Network!" +"Gib Schlüsselwörter (z. B. Bild-Dateiname, CSS-Dateiname, CSS-Klasse, " +"Domain) des auszuschließenden Bildes oder iframe-Code an (eins pro Zeile). " +"%1$sWeitere Informationen%2$s" -#: inc/Engine/Cache/AdminSubscriber.php:118 inc/admin/admin.php:96 -#: inc/admin/admin.php:118 inc/deprecated/3.5.php:898 -msgid "Clear this cache" -msgstr "Diesen Cache leeren" +#: inc/Engine/Admin/Settings/Page.php:1145 +msgid "Add missing image dimensions" +msgstr "Fehlende Bildabmessungen hinzufügen" -#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75 -msgid "WP Rocket Expired Cache Interval" -msgstr "WP Rocket Cache-Ablaufzeit" +#: inc/Engine/Admin/Settings/Page.php:1165 +msgid "Generate cache files, preload fonts" +msgstr "Cache-Dateien generieren, Fonts vorladen" -#: inc/Engine/Cache/WPCache.php:337 -msgid "WP_CACHE value" -msgstr "WP_CACHE-Wert" +#: inc/Engine/Admin/Settings/Page.php:1177 +msgid "Preload Cache" +msgstr "Cache füllen" -#: inc/Engine/Cache/WPCache.php:358 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1180 msgid "" -"The WP_CACHE constant needs to be set to true for WP Rocket cache to work " -"properly" +"When you enable preloading WP Rocket will automatically detect your sitemaps" +" and save all URLs to the database. The plugin will make sure that your " +"cache is always preloaded." msgstr "" -"Die Konstante WP_CACHE muss auf true gesetzt sein, damit der Cache von WP " -"Rocket korrekt funktioniert" +"Wenn du das Vorladen aktivierst, wird WP Rocket deine Sitemaps automatisch " +"erkennen und alle URLs in der Datenbank speichern. Das Plugin stellt sicher," +" dass dein Cache immer vorgeladen wird." -#: inc/Engine/Cache/WPCache.php:367 -msgid "WP_CACHE is set to true" -msgstr "WP_CACHE ist auf true eingestellt" +#: inc/Engine/Admin/Settings/Page.php:1188 +msgid "Preload Links" +msgstr "Links vorladen" -#: inc/Engine/Cache/WPCache.php:375 -msgid "WP_CACHE is not set" -msgstr "WP_CACHE ist nicht gesetzt" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1191 +msgid "" +"Link preloading improves the perceived load time by downloading a page when " +"a user hovers over the link. %1$sMore info%2$s" +msgstr "" +"Links vorladen optimiert die wahrgenommene Ladezeit, indem eine verlinkte " +"Seite bereits geladen wird, sobald sich der Mauszeiger eines Benutzers über " +"einem Link befindet. %1$sMehr erfahren%2$s" -#: inc/Engine/Cache/WPCache.php:383 -msgid "WP_CACHE is set to false" -msgstr "WP_CACHE ist auf false eingestellt" +#: inc/Engine/Admin/Settings/Page.php:1199 +msgid "Prefetch DNS Requests" +msgstr "DNS-Prefetch" -#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253 -msgid "Every minute" -msgstr "Jede Minute" +#: inc/Engine/Admin/Settings/Page.php:1201 +msgid "" +"DNS prefetching can make external files load faster, especially on mobile " +"networks" +msgstr "" +"Kann das Laden externer Dateien beschleunigen, besonders über eine mobilen " +"Netzwerkverbindung." -#: inc/Engine/CriticalPath/APIClient.php:64 -#, php-format -msgid "Critical CSS for %1$s not generated. Error: %2$s" -msgstr "Kritisches CSS für %1$s nicht erstellt. Fehler: %2$s" +#: inc/Engine/Admin/Settings/Page.php:1206 +msgid "Preload Fonts" +msgstr "Fonts vorladen" -#: inc/Engine/CriticalPath/APIClient.php:170 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1209 msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The API returned an " -"empty response." +"Improves performance by helping browsers discover fonts in CSS files. " +"%1$sMore info%2$s" msgstr "" -"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Die API gab " -"eine leere Antwort zurück." +"Optimiert die Leistung, indem es Browsern hilft, Fonts in CSS-Dateien zu " +"entdecken. %1$sMehr erfahren%2$s" -#: inc/Engine/CriticalPath/APIClient.php:173 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1223 +msgid "Activate Preloading" +msgstr "Vorladen aktivieren" + +#: inc/Engine/Admin/Settings/Page.php:1234 +msgid "Exclude URLs" +msgstr "URLs ausschließen" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1239 msgid "" -"Critical CSS for %1$s not generated. Error: The API returned an empty " -"response." +"Specify URLs to be excluded from the preload feature (one per line). " +"%1$sMore info%2$s" msgstr "" -"Kritisches CSS für %1$s nicht erzeugt. Fehler: Die API gab eine leere " -"Antwort zurück." - -#: inc/Engine/CriticalPath/APIClient.php:185 -#, php-format -msgid "Critical CSS for %1$s on mobile not generated." -msgstr "Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt." +"Gib URLs ein, die von der Vorladen-Funktion ausgeschlossen werden sollen " +"(eine pro Zeile). %1$sMehr erfahren%2$s" -#: inc/Engine/CriticalPath/APIClient.php:187 -#: inc/Engine/CriticalPath/ProcessorService.php:194 -#, php-format -msgid "Critical CSS for %1$s not generated." -msgstr "Kritisches CSS für %1$s nicht erzeugt." +#: inc/Engine/Admin/Settings/Page.php:1250 +msgid "URLs to prefetch" +msgstr "Vorzeitig aufzulösende URLs" -#: inc/Engine/CriticalPath/APIClient.php:195 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1251 msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The API returned an " -"invalid response code." +"Specify external hosts to be prefetched (no http:, one per " +"line)" msgstr "" -"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Die API gab " -"einen ungültige Antwortcode zurück." +"Vorzeitig aufzulösende externe Domains (kein http:, eine pro " +"Zeile)" -#: inc/Engine/CriticalPath/APIClient.php:197 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1260 +msgid "Fonts to preload" +msgstr "Vorzuladende Fonts" + +#: inc/Engine/Admin/Settings/Page.php:1261 msgid "" -"Critical CSS for %1$s not generated. Error: The API returned an invalid " -"response code." +"Specify urls of the font files to be preloaded (one per line). Fonts must be" +" hosted on your own domain, or the domain you have specified on the CDN tab." msgstr "" -"Kritisches CSS für %1$s nicht erzeugt. Fehler: Die API gab einen ungültige " -"Antwortcode zurück." +"URLs von Font-Dateien, die vorgeladen werden sollen (eine pro Zeile). Fonts " +"müssen auf deiner eigenen Domain gehostet sein, oder auf der Domain, die du " +"im CDN-Tab angegeben hast." -#: inc/Engine/CriticalPath/APIClient.php:205 -#: inc/Engine/CriticalPath/ProcessorService.php:201 -#, php-format -msgid "Error: %1$s" -msgstr "Fehler: %1$s" +#: inc/Engine/Admin/Settings/Page.php:1262 +msgid "" +"The domain part of the URL will be stripped automatically.
    Allowed font " +"extensions: otf, ttf, svg, woff, woff2." +msgstr "" +"Der Domain-Teil der URL wird automatisch entfernt.
    Mögliche Font-" +"Dateiendungen sind: otf, ttf, svg, woff, woff2." -#: inc/Engine/CriticalPath/Admin/Admin.php:264 -msgid "Regenerate Critical Path CSS" -msgstr "Kritisches CSS neu generieren" +#: inc/Engine/Admin/Settings/Page.php:1271 +msgid "Enable link preloading" +msgstr "Vorladen von Links aktivieren" -#: inc/Engine/CriticalPath/Admin/Post.php:144 -#: views/cpcss/metabox/generate.php:47 -msgid "Generate Specific CPCSS" -msgstr "Spezifisches CPCSS erzeugen" +#: inc/Engine/Admin/Settings/Page.php:1290 +msgid "Advanced Rules" +msgstr "Erweiterte Regeln" -#: inc/Engine/CriticalPath/Admin/Post.php:145 -#: views/cpcss/metabox/generate.php:45 -msgid "Regenerate specific CPCSS" -msgstr "Spezifisches CPCSS neu erzeugen" +#: inc/Engine/Admin/Settings/Page.php:1291 +msgid "Fine-tune cache rules" +msgstr "Cache-Regeln abstimmen" -#: inc/Engine/CriticalPath/Admin/Post.php:216 -msgid "This feature is not available for non-public post types." +#: inc/Engine/Admin/Settings/Page.php:1302 +msgid "" +"Sensitive pages like custom login/logout URLs should be excluded from cache." msgstr "" -"Diese Funktion ist für nicht-öffentliche Inhaltstypen nicht verfügbar." - -#: inc/Engine/CriticalPath/Admin/Post.php:219 -msgid "%l to use this feature." -msgstr "%l, um diese Funktion zu nutzen." +"Sensible Seiten, wie zum Beispiel eigene Login-/Logout-Seiten, sollten vom " +"Cache ausgeschlossen werden." -#: inc/Engine/CriticalPath/Admin/Post.php:222 -#, php-format -msgid "Publish the %s" -msgstr "%s veröffentlichen" +#: inc/Engine/Admin/Settings/Page.php:1305 +msgctxt "plugin name" +msgid "WooCommerce" +msgstr "WooCommerce" -#: inc/Engine/CriticalPath/Admin/Post.php:223 -msgid "Enable Load CSS asynchronously in WP Rocket settings" -msgstr "Asynchrones Laden von CSS in den WP-Rocket-Einstellungen aktivieren" +#: inc/Engine/Admin/Settings/Page.php:1307 +msgctxt "plugin name" +msgid "Easy Digital Downloads" +msgstr "Easy Digital Downloads" -#: inc/Engine/CriticalPath/Admin/Post.php:224 -msgid "Enable Load CSS asynchronously in the options above" -msgstr "Asynchrones Laden von CSS in den Optionen oben aktivieren" +#: inc/Engine/Admin/Settings/Page.php:1309 +msgctxt "plugin name" +msgid "iThemes Exchange" +msgstr "iThemes Exchange" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176 -msgid "Critical CSS generation is currently running." -msgstr "Kritisches CSS wird gerade neu erstellt." +#: inc/Engine/Admin/Settings/Page.php:1311 +msgctxt "plugin name" +msgid "Jigoshop" +msgstr "Jigoshop" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181 -#, php-format -msgid "Go to the %1$sWP Rocket settings%2$s page to track progress." -msgstr "" -"Gehe zu den %1$sEinstellungen von WP Rocket%2$s, um den Fortschritt zu " -"beobachten." +#: inc/Engine/Admin/Settings/Page.php:1313 +msgctxt "plugin name" +msgid "WP-Shop" +msgstr "WP-Shop" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396 -#, php-format +#. translators: %1$s = opening tag, %2$s = plugin name, %3$s closing +#. tag. +#: inc/Engine/Admin/Settings/Page.php:1319 msgid "" -"Critical CSS generation is currently running: %1$d of %2$d page types " -"completed. (Refresh this page to view progress)" +"
    Cart, checkout and \"my account\" pages set in " +"%1$s%2$s%3$s will be detected and never cached by default." msgstr "" -"Kritisches CSS wird gerade neu erstellt: %1$d von %2$d Seiten-Typen " -"komplett. (Seite neu laden für aktuellen Stand)" +"
    Warenkorb-, Kassen- und „Mein Konto“-Seiten von " +"%1$s%2$s%3$s werden automatisch ermittelt und nie gecacht." -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472 -#, php-format -msgid "Critical CSS generation finished for %1$d of %2$d page types." -msgstr "Kritisches CSS erstellt für %1$d von %2$d Seiten-Typen." +#: inc/Engine/Admin/Settings/Page.php:1337 +msgid "Never Cache Cookies" +msgstr "Nie cachen (Cookies)" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 -msgid "Critical CSS generation encountered one or more errors." -msgstr "" -"Bei der Erzeugung von Kritischem CSS sind ein oder mehr Fehler aufgetreten." +#: inc/Engine/Admin/Settings/Page.php:1355 +msgid "Cache Query String(s)" +msgstr "Cache für Query Strings" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 -msgid "Learn more." -msgstr "Mehr erfahren." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1358 +msgid "" +"%1$sCache for query strings%2$s enables you to force caching for specific " +"GET parameters." +msgstr "%1$sErstellt gesonderte Caches%2$s anhand bestimmter GET-Parameter." -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1369 msgid "" -"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS " -"optimization. Load CSS Asynchronously is always available as a back-up." +"Specify URLs of pages or posts that should never be cached (one per line)" msgstr "" -"Wir empfehlen dringend das %1$saktualisierte Entfernen von unbenutzem " -"CSS%2$s für eine bessere CSS-Optimierung. CSS-Dateien asynchron laden ist " -"als Ersatz immer verfügbar." +"URLs von Seiten oder Beiträgen, die niemals gecacht werden sollen (eine pro " +"Zeile)" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845 -msgid "Stay with the old option" -msgstr "Bei der alten Option bleiben" +#: inc/Engine/Admin/Settings/Page.php:1370 +#: inc/Engine/Admin/Settings/Page.php:1398 +msgid "" +"The domain part of the URL will be stripped automatically.
    Use (.*) " +"wildcards to address multiple URLs under a given path." +msgstr "" +"Der Domain-Teil der URL wird automatisch entfernt.
    Nutze den Platzhalter " +"(.*), um alle URLs eines bestimmten Pfades anzusprechen." -#: inc/Engine/CriticalPath/DataManager.php:68 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1379 msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The destination folder" -" could not be created." +"Specify full or partial IDs of cookies that, when set in the visitor's " +"browser, should prevent a page from getting cached (one per line)" msgstr "" -"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Der " -"Zielordner konnte nicht erstellt werden." +"Gib vollständige oder Teile von Cookie-IDs an, die das Caching einer Seite " +"verhindern sollen, sobald sie im Browser des Besuchers gesetzt sind (eine " +"pro Zeile)" -#: inc/Engine/CriticalPath/DataManager.php:71 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1387 msgid "" -"Critical CSS for %1$s not generated. Error: The destination folder could not" -" be created." +"Specify user agent strings that should never see cached pages (one per line)" msgstr "" -"Kritisches CSS für %1$s nicht erzeugt. Fehler: Der Zielordner konnte nicht " -"erstellt werden." +"User Agent Strings, die niemals gecachte Seiten sehen sollten (einer pro " +"Zeile)" -#: inc/Engine/CriticalPath/DataManager.php:106 -msgid "Critical CSS file for mobile does not exist" -msgstr "Kritisches-CSS-Datei für Mobilgeräte existiert nicht" +#: inc/Engine/Admin/Settings/Page.php:1388 +msgid "Use (.*) wildcards to detect parts of UA strings." +msgstr "Nutze den Platzhalter (.*), um Teile von UA Strings zu ermitteln." -#: inc/Engine/CriticalPath/DataManager.php:108 -msgid "Critical CSS file does not exist" -msgstr "Kritisches-CSS-Datei existiert nicht" +#: inc/Engine/Admin/Settings/Page.php:1397 +msgid "" +"Specify URLs you always want purged from cache whenever you update any post " +"or page (one per line)" +msgstr "" +"URLs, deren Cache immer mit gelöscht werden sollte, sobald andere Beiträge " +"oder Seiten aktualisiert werden (eine pro Zeile)" -#: inc/Engine/CriticalPath/DataManager.php:120 -msgid "Critical CSS file for mobile cannot be deleted" -msgstr "Kritisches-CSS-Datei für Mobilgeräte kann nicht gelöscht werden" +#: inc/Engine/Admin/Settings/Page.php:1406 +msgid "Specify query strings for caching (one per line)" +msgstr "Query Strings, die gecacht werden sollen (einer pro Zeile)" -#: inc/Engine/CriticalPath/DataManager.php:122 -msgid "Critical CSS file cannot be deleted" -msgstr "Kritisches-CSS-Datei kann nicht gelöscht werden" +#: inc/Engine/Admin/Settings/Page.php:1432 +msgid "Optimize, reduce bloat" +msgstr "Aufräumen, optimieren" -#: inc/Engine/CriticalPath/ProcessorService.php:187 -#, php-format -msgid "Mobile Critical CSS for %1$s not generated." -msgstr "Kritisches-CSS-Datei für Mobilgeräte für %1$s nicht erzeugt." +#: inc/Engine/Admin/Settings/Page.php:1439 +msgid "Post Cleanup" +msgstr "Beiträge/Seiten bereinigen" -#: inc/Engine/CriticalPath/ProcessorService.php:228 -#, php-format -msgid "Critical CSS for %s in progress." -msgstr "Kritisches CSS für %s in Bearbeitung." +#: inc/Engine/Admin/Settings/Page.php:1441 +msgid "" +"Post revisions and drafts will be permanently deleted. Do not use this " +"option if you need to retain revisions or drafts." +msgstr "" +"Revisionen, Entwürfe und Papierkorb werden endgültig gelöscht. Nicht " +"aktivieren, wenn du Revisionen und Entwürfe noch benötigst!" -#: inc/Engine/CriticalPath/ProcessorService.php:262 -#, php-format -msgid "Mobile Critical CSS for %s generated." -msgstr "Kritisches-CSS-Datei für Mobilgeräte für %s erzeugt." +#: inc/Engine/Admin/Settings/Page.php:1446 +msgid "Comments Cleanup" +msgstr "Kommentare bereinigen" -#: inc/Engine/CriticalPath/ProcessorService.php:273 -#, php-format -msgid "Critical CSS for %s generated." -msgstr "Kritisches CSS für %s erstellt." +#: inc/Engine/Admin/Settings/Page.php:1448 +msgid "Spam and trashed comments will be permanently deleted." +msgstr "Spam und Kommentare im Papierkorb werden endgültig gelöscht." -#: inc/Engine/CriticalPath/ProcessorService.php:295 -msgid "Critical CSS file deleted successfully." -msgstr "Kritisches-CSS-Datei erfolgreich gelöscht." +#: inc/Engine/Admin/Settings/Page.php:1452 +msgid "Transients Cleanup" +msgstr "Transients bereinigen" -#: inc/Engine/CriticalPath/ProcessorService.php:317 -#, php-format -msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later." +#: inc/Engine/Admin/Settings/Page.php:1454 +msgid "" +"Transients are temporary options; they are safe to remove. They will be " +"automatically regenerated as your plugins require them." msgstr "" -"Kritisches-CSS-Datei für Mobilgeräte für %1$s hat die Zeit überschritten. " -"Bitte ein wenig später erneut versuchen." +"Transients sind zeitlich begrenzte Optionen; sie können problemlos gelöscht " +"werden. Sobald deine Plugins sie benötigen, werden sie automatisch erneut " +"generiert." -#: inc/Engine/CriticalPath/ProcessorService.php:330 -#, php-format -msgid "Critical CSS for %1$s timeout. Please retry a little later." -msgstr "" -"Kritisches CSS für %1$s hat die Zeit überschritten. Bitte ein wenig später " -"erneut versuchen." +#: inc/Engine/Admin/Settings/Page.php:1458 +msgid "Database Cleanup" +msgstr "Datenbank bereinigen" -#: inc/Engine/CriticalPath/RESTWP.php:141 -msgid "Mobile CPCSS generation not enabled." -msgstr "CPCSS-Erzeugung für Mobilgeräte nicht aktiviert." +#: inc/Engine/Admin/Settings/Page.php:1460 +msgid "Reduces overhead of database tables" +msgstr "Reduziert den Umfang von Datenbank-Tabellen." -#: inc/Engine/CriticalPath/RESTWPPost.php:36 -#: inc/Engine/CriticalPath/RESTWPPost.php:69 -msgid "Requested post does not exist." -msgstr "Angeforderter Beitrag existiert nicht." +#: inc/Engine/Admin/Settings/Page.php:1464 +msgid "Automatic Cleanup" +msgstr "Automatische Bereinigung" -#: inc/Engine/CriticalPath/RESTWPPost.php:46 -msgid "Cannot generate CPCSS for unpublished post." -msgstr "Kann kein CPCSS für unveröffentlichte Beiträge erzeugen." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1477 +msgid "%s revision in your database." +msgid_plural "%s revisions in your database." +msgstr[0] "%s Revision in deiner Datenbank." +msgstr[1] "%s Revisionen in deiner Datenbank." -#: inc/Engine/HealthCheck/HealthCheck.php:82 inc/deprecated/3.5.php:858 -msgid "" -"The following scheduled event failed to run. This may indicate the CRON " -"system is not running properly, which can prevent some WP Rocket features " -"from working as intended:" -msgid_plural "" -"The following scheduled events failed to run. This may indicate the CRON " -"system is not running properly, which can prevent some WP Rocket features " -"from working as intended:" -msgstr[0] "" -"Folgendes geplantes Ereigniss hat nicht stattgefunden. Dies könnte ein " -"Hinweis darauf sein, dass das CRON-System nicht korrekt läuft, was dazu " -"führen kann, dass manche Funktionen von WP Rocket nicht wie gewünscht " -"funktionieren:" -msgstr[1] "" -"Folgende geplante Ereignisse haben nicht stattgefunden. Dies könnte ein " -"Hinweis darauf sein, dass das CRON-System nicht korrekt läuft, was dazu " -"führen kann, dass manche Funktionen von WP Rocket nicht wie gewünscht " -"funktionieren:" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1487 +msgid "%s draft in your database." +msgid_plural "%s drafts in your database." +msgstr[0] "%s Entwurf in deiner Datenbank." +msgstr[1] "%s Entwürfe in deiner Datenbank." -#: inc/Engine/HealthCheck/HealthCheck.php:88 inc/deprecated/3.5.php:867 -msgid "Please contact your host to check if CRON is working." -msgstr "Bitte kontaktiere deinen Hoster, um zu prüfen, ob CRON funktioniert." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1497 +msgid "%s trashed post in your database." +msgid_plural "%s trashed posts in your database." +msgstr[0] "%s gelöschter Beitrag in deiner Datenbank." +msgstr[1] "%s gelöschte Beiträge in deiner Datenbank." -#: inc/Engine/HealthCheck/HealthCheck.php:142 -msgid "Scheduled Cache Purge" -msgstr "Geplantes Leeren des Caches" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1507 +msgid "%s spam comment in your database." +msgid_plural "%s spam comments in your database." +msgstr[0] "%s Spam-Kommentar in deiner Datenbank." +msgstr[1] "%s Spam-Kommentare in deiner Datenbank." -#: inc/Engine/HealthCheck/HealthCheck.php:143 -msgid "Scheduled Database Optimization" -msgstr "Geplante Datenbank-Optimierung" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1517 +msgid "%s trashed comment in your database." +msgid_plural "%s trashed comments in your database." +msgstr[0] "%s gelöschter Kommentare in deiner Datenbank." +msgstr[1] "%s gelöschte Kommentare in deiner Datenbank." -#: inc/Engine/HealthCheck/HealthCheck.php:144 -msgid "Database Optimization Process" -msgstr "Datenbank-Optimierungsprozess" +#: inc/Engine/Admin/Settings/Page.php:1525 +msgid "All transients" +msgstr "Alle Transients" -#: inc/Engine/HealthCheck/HealthCheck.php:145 -msgctxt "noun" -msgid "Preload" -msgstr "Cache füllen" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1527 +msgid "%s transient in your database." +msgid_plural "%s transients in your database." +msgstr[0] "%s Transient in deiner Datenbank." +msgstr[1] "%s Transients in deiner Datenbank." -#: inc/Engine/HealthCheck/HealthCheck.php:146 -msgid "Critical Path CSS Generation Process" -msgstr "Erzeugung des Kritischen-CSS-Pfads" +#: inc/Engine/Admin/Settings/Page.php:1535 +msgid "Optimize Tables" +msgstr "Tabellen optimieren" -#: inc/Engine/License/Renewal.php:76 -#, php-format -msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!" -msgstr "Erneuere, bevor es zu spät ist, du bezahlst nur %1$s%2$s%3$s!" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1537 +msgid "%s table to optimize in your database." +msgid_plural "%s tables to optimize in your database." +msgstr[0] "%s Tabelle in deiner Datenbank kann optimiert werden." +msgstr[1] "%s Tabellen in deiner Datenbank können optimiert werden." -#: inc/Engine/License/Renewal.php:85 -#, php-format -msgid "" -"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " -"%4$s%5$s%6$s!" -msgstr "" -"Erneuere mit einen %1$s%2$s Rabatt%3$s, bevor es zu spät ist. Du bezahlst " -"nur %4$s%5$s%6$s!" +#: inc/Engine/Admin/Settings/Page.php:1548 +msgid "Schedule Automatic Cleanup" +msgstr "Automatische Bereinigung terminieren" -#: inc/Engine/License/Renewal.php:139 -#, php-format -msgid "Renew your license for 1 year now at %1$s%3$s%2$s." -msgstr "Erneuere deine Lizenz jetzt für 1 Jahr auf %1$s%3$s%2$s." +#: inc/Engine/Admin/Settings/Page.php:1560 +msgid "Frequency" +msgstr "Durchführung" -#: inc/Engine/License/Renewal.php:152 -#, php-format -msgid "" -"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you " -"will only pay %1$s%4$s%2$s!" -msgstr "" -"Erneuere deine Lizenz jetzt für 1 Jahr und erhalte sofort %1$s%3$s%2$s " -"Rabatt: Du bezahlst nur %1$s%4$s%2$s!" +#: inc/Engine/Admin/Settings/Page.php:1568 +msgid "Daily" +msgstr "täglich" -#: inc/Engine/License/Renewal.php:218 -#, php-format -msgid "Renew before it is too late, you will pay %1$s%3$s%2$s." -msgstr "Jetzt erneuern, bevor es zu spät ist. Du bezahlst nur %1$s%3$s%2$s." +#: inc/Engine/Admin/Settings/Page.php:1569 +msgid "Weekly" +msgstr "wöchentlich" -#: inc/Engine/License/Renewal.php:227 -#, php-format -msgid "" -"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " -"%1$s%4$s%3$s!" -msgstr "" -"Erneuere mit einem %1$s%2$s Rabatt%3$s, bevor es zu spät ist, du bezahlst " -"nur %1$s%4$s%3$s!" +#: inc/Engine/Admin/Settings/Page.php:1570 +msgid "Monthly" +msgstr "monatlich" -#: inc/Engine/License/Renewal.php:546 -#, php-format -msgid "" -"You need a valid license to continue using this feature. %1$sRenew now%2$s " -"before losing access." -msgstr "" -"Du benötigst eine gültige Lizenz, um diese Funktion weiter benutzen zu " -"können. %1$sJetzt erneuern%2$s, bevor du den Zugang verlierst." +#: inc/Engine/Admin/Settings/Page.php:1587 +msgid "Integrate your CDN" +msgstr "CDN integrieren" -#: inc/Engine/License/Renewal.php:567 -#, php-format -msgid "You need an active license to enable this option. %1$sRenew now%2$s." +#: inc/Engine/Admin/Settings/Page.php:1599 +msgid "" +"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)" +" you provide." msgstr "" -"Du benötigst eine gültige Lizenz, um diese Funktion zu aktivieren. %1$sJetzt" -" erneuern%2$s." +"Alle URLs statischer Dateien (CSS, JS, Bilder) werden auf den/die " +"eingetragenen CNAME(s) umgeschrieben." -#: inc/Engine/License/Renewal.php:595 -#, php-format -msgid "You need an active license to enable this option. %1$sMore info%2$s." +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Admin/Settings/Page.php:1601 +msgid "" +"Not required for services like Cloudflare and Sucuri. Please see our " +"available %1$sAdd-ons%2$s." msgstr "" -"Du benötigst eine gültige Lizenz, um diese Funktion zu aktivieren. " -"%1$sWeitere Informationen%2$s." +"Nicht erforderlich für Dienste wie Cloudflare und Sucuri. Bitte sieh dir " +"unsere verfügbaren %1$sAdd-ons%2$s an." -#: inc/Engine/License/Upgrade.php:252 -#, php-format +#. translators: %1$s = opening em tag, %2$l = list of add-on name(s), %3$s = +#. closing em tag. +#: inc/Engine/Admin/Settings/Page.php:1647 msgid "" -"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" -" for %3$supgrading your license to Plus or Infinite!%5$s" +"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings " +"is not required for %2$l to work on your site." msgid_plural "" -"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" -" for %3$supgrading your license to Infinite!%5$s" +"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN " +"settings is not required for %2$l to work on your site." msgstr[0] "" -"Nutze den Vorteil von %1$s, um mehrere Websites zu beschleunigen: " -"%2$sErhalte einen%3$s%4$s Rabatt%5$s für %3$sein Upgrade deiner Lizenz auf " -"Plus oder Infinite!%5$s" +"%1$s%2$l Add-ons%3$s ist momentan aktiviert. Konfiguration der CDN-" +"Einstellungen ist nicht erforderlich für %2$l, um auf deiner Website zu " +"laufen." msgstr[1] "" -"Nutze den Vorteil von %1$s, um mehrere Websites zu beschleunigen:%2$s " -"Erhalte einen%3$s%4$s Rabatt%5$s für %3$sein Upgrade deiner Lizenz auf " -"Infinite!%5$s" - -#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405 -msgid "Unlimited" -msgstr "Unbegrenzt" - -#: inc/Engine/License/views/promo-banner.php:16 -#, php-format -msgid "%s off" -msgstr "%s Rabatt" - -#: inc/Engine/License/views/promo-banner.php:21 -#, php-format -msgid "%s promotion is live!" -msgstr "%s Werbeaktion ist live!" - -#: inc/Engine/License/views/promo-banner.php:27 -msgid "Hurry Up! Deal ends in:" -msgstr "Beeil dich! Das Angebot endet in:" - -#: inc/Engine/License/views/promo-banner.php:31 -#: inc/Engine/License/views/renewal-soon-banner.php:14 -msgid "Minutes" -msgstr "Minuten" - -#: inc/Engine/License/views/promo-banner.php:32 -#: inc/Engine/License/views/renewal-soon-banner.php:15 -msgid "Seconds" -msgstr "Sekunden" - -#: inc/Engine/License/views/promo-banner.php:34 -#: inc/Engine/License/views/upgrade-section.php:11 -msgid "Upgrade now" -msgstr "Upgrade jetzt durchführen" - -#: inc/Engine/License/views/promo-banner.php:36 -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32 -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42 -#: inc/Engine/License/views/renewal-expired-banner.php:30 -#: inc/admin/ui/notices.php:739 views/settings/page-sections/dashboard.php:46 -msgid "Dismiss this notice" -msgstr "Diese Meldung ausblenden" - -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11 -msgid "The Optimize CSS Delivery feature is disabled." -msgstr "Die Funktion CSS-Darstellung optimieren ist deaktiviert." - -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15 -msgid "" -"You can no longer use the Remove Unused CSS or Load CSS asynchronously " -"options." -msgstr "" -"Du kannst Unbenutztes CSS entfernen oder CSS-Dateien asynchron laden nicht " -"länger benutzen." - -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20 -#, php-format -msgid "" -"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, " -"which addresses a PageSpeed Insights recommendation and improves your page " -"performance." -msgstr "" -"Du benötigst eine %1$saktive Lizenz%2$s, um dein CSS weiter optimieren zu " -"können. Dies ist eine Empfehlung von PageSpeed Insights und verbessert die " -"Leistung deiner Seiten." +"%1$s%2$l Add-ons%3$s sind momentan aktiviert. Konfiguration der CDN-" +"Einstellungen ist nicht erforderlich für %2$l, um auf deiner Website zu " +"laufen." -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29 -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39 -#: inc/Engine/License/views/renewal-expired-banner.php:27 -#: inc/Engine/License/views/renewal-soon-banner.php:31 -msgid "Renew now" -msgstr "Jetzt erneuern" +#: inc/Engine/Admin/Settings/Page.php:1673 +msgid "Enable Content Delivery Network" +msgstr "Content Delivery Network aktivieren" -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11 -msgid "You will soon lose access to some features" -msgstr "Du wirst bald den Zugang zu einigen Funktionen verlieren" +#: inc/Engine/Admin/Settings/Page.php:1682 +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159 +msgid "CDN CNAME(s)" +msgstr "CDN CNAME(s)" -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1683 +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160 +msgid "Specify the CNAME(s) below" +msgstr "CNAME(s) des CDNs hier eintragen" + +#: inc/Engine/Admin/Settings/Page.php:1690 msgid "" -"You need an %1$sactive license to continue optimizing your CSS delivery%2$s." +"Specify URL(s) of files that should not get served via CDN (one per line)." msgstr "" -"Du benötigst eine %1$saktive Lizenz, um dein CSS weiter optimieren zu " -"können%2$s." +"URL(s) von Dateien, die nicht von einem CDN ausgeliefert werden sollen (eine" +" pro Zeile)." -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24 +#: inc/Engine/Admin/Settings/Page.php:1691 msgid "" -"The Remove Unused CSS and Load CSS asynchronously features are great options" -" to address the PageSpeed Insights recommendations and improve your website " -"performance." +"The domain part of the URL will be stripped automatically.
    Use (.*) " +"wildcards to exclude all files of a given file type located at a specific " +"path." msgstr "" -"Die Funktionen Unbenutztes CSS entfernen und CSS-Dateien asynchron laden " -"sind großartige Optionen, um Empfehlungen von PageSpeed Insights umzusetzen " -"und die Leistung deiner Website zu verbessern." - -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29 -#, php-format -msgid "They will be %1$sautomatically disabled on %3$s%2$s." -msgstr "Sie werden %1$sautomatisch deaktiviert am %3$s%2$s." +"Der Domain-Teil der URL wird automatisch entfernt.
    Nutze den Platzhalter " +"(.*), um alle URLs eines bestimmten Pfades anzusprechen." -#: inc/Engine/License/views/renewal-expired-banner.php:11 -msgid "Your WP Rocket license is expired!" -msgstr "Deine Lizenz für WP Rocket ist abgelaufen!" +#: inc/Engine/Admin/Settings/Page.php:1714 +#: inc/Engine/Admin/Settings/Page.php:1722 +msgid "Heartbeat" +msgstr "Heartbeat" -#: inc/Engine/License/views/renewal-expired-banner.php:18 -#, php-format -msgid "" -"Your website could be much faster if it could take advantage of our %1$snew " -"features and enhancements%2$s. 🚀" -msgstr "" -"Deine Website könnte viel schneller sein, wenn du die Vorteile unserer " -"%1$sneuen Funktionen und Verbesserungen%2$s nutzen würdest. 🚀" +#: inc/Engine/Admin/Settings/Page.php:1715 +msgid "Control WordPress Heartbeat API" +msgstr "WordPress-Heartbeat-API kontrollieren" -#: inc/Engine/License/views/renewal-soon-banner.php:22 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1723 msgid "" -"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access" -" to product updates and support." +"Reducing or disabling the Heartbeat API’s activity can help save some of " +"your server’s resources." msgstr "" -"Deine %1$sWP-Rocket-Lizenz läuft bald ab%2$s: Du verlierst bald den Zugang " -"zu Produktaktualisierungen und Support." +"Das Verringern oder Deaktivieren der Heartbeat-API-Aktivität kann dabei " +"helfen, manche Ressourcen deines Servers einzusparen." -#: inc/Engine/License/views/upgrade-popin.php:12 -msgid "Speed Up More Websites" -msgstr "Weitere Websites beschleuigen" +#: inc/Engine/Admin/Settings/Page.php:1729 +msgid "Reduce or disable Heartbeat activity" +msgstr "Verringern oder Deaktivieren der Heartbeat-Aktivität" -#: inc/Engine/License/views/upgrade-popin.php:19 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1730 msgid "" -"You can use WP Rocket on more websites by upgrading your license. To " -"upgrade, simply pay the %1$sprice difference%2$s between your current and " -"new licenses, as shown below." +"Reducing activity will change Heartbeat frequency from one hit each minute " +"to one hit every 2 minutes." msgstr "" -"Du kannst WP Rocket auf mehr Websites benutzen, wenn du ein Upgrade deiner " -"Lizenz durchführst. Um das zu tun, bezahle nur die%1$sPreisdifferenz%2$s " -"zwischen deiner jetzigen und neuen Lizenzen, wie unten zu sehen." +"Das Verringern der Aktivität wird die Heartbeat-Frequenz von einem Schlag " +"pro Minute auf einen alle 2 Minuten verringern." -#: inc/Engine/License/views/upgrade-popin.php:25 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1730 msgid "" -"%1$sN.B.%2$s: Upgrading your license does not change your expiration date" +"Disabling Heartbeat entirely may break plugins and themes using this API." msgstr "" -"%1$sHinweis%2$s: Ein Upgrade deiner Lizenz ändert das Ablaufdatum nicht" +"Das Deaktivieren der Heartbeat-Aktivität kann dazu führen, dass Plugins und " +"Themes, die diese API benutzen, nicht mehr funktionieren." -#: inc/Engine/License/views/upgrade-popin.php:35 -#, php-format -msgid "Save $%s" -msgstr "$%s speichern" +#: inc/Engine/Admin/Settings/Page.php:1744 +msgid "Do not limit" +msgstr "Nicht beschränken" -#: inc/Engine/License/views/upgrade-popin.php:48 -#, php-format -msgid "%s websites" -msgstr "%s Websites" +#: inc/Engine/Admin/Settings/Page.php:1745 +msgid "Reduce activity" +msgstr "Aktivität verringern" -#: inc/Engine/License/views/upgrade-popin.php:54 -#, php-format -msgid "Upgrade to %s" -msgstr "Upgrade auf %s" +#: inc/Engine/Admin/Settings/Page.php:1746 +msgid "Disable" +msgstr "Deaktivieren" -#: inc/Engine/License/views/upgrade-section.php:11 -msgid "" -"You can use WP Rocket on more websites by upgrading your license (you will " -"only pay the price difference between your current and new licenses)." -msgstr "" -"Du kannst WP Rocket auf mehr Websites benutzen, wenn du ein Upgrade deiner " -"Lizenz durchführst (bezahle nur die Preisdifferenz zwischen deiner jetzigen" -" und neuen Lizenzen)-" +#: inc/Engine/Admin/Settings/Page.php:1754 +msgid "Control Heartbeat" +msgstr "Heartbeat kontrollieren" -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195 -msgid "Analytics & Ads" -msgstr "Analytics und Ads" +#: inc/Engine/Admin/Settings/Page.php:1763 +msgid "Behavior in backend" +msgstr "Verhalten im Backend" -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200 -msgid "Plugins" -msgstr "Plugins" +#: inc/Engine/Admin/Settings/Page.php:1770 +msgid "Behavior in post editor" +msgstr "Verhalten im Beitragseditor" -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205 -msgid "Themes" -msgstr "Themes" +#: inc/Engine/Admin/Settings/Page.php:1776 +msgid "Behavior in frontend" +msgstr "Verhalten im Frontend" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101 -msgid "" -"You need an active license to get the latest version of the lists from our " -"server." -msgstr "" -"Du benötigst eine aktive Lizenz, um die neueste Version der Listen von " -"unseren Servern zu erhalten." +#: inc/Engine/Admin/Settings/Page.php:1793 +#: views/settings/page-sections/tutorials.php:39 +msgid "Add-ons" +msgstr "Add-ons" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115 -msgid "Could not get updated lists from server." -msgstr "Konnte aktualisierte Listen nicht von Server abrufen." +#: inc/Engine/Admin/Settings/Page.php:1794 +msgid "Add more features" +msgstr "Erweiterungen aktivieren" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124 -msgid "Lists are up to date." -msgstr "Listen sind aktuell." +#: inc/Engine/Admin/Settings/Page.php:1801 +msgid "One-click Rocket Add-ons" +msgstr "One-click Rocket Add-ons" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133 -msgid "Could not update lists." -msgstr "Konnte Listen nicht aktualisieren." +#: inc/Engine/Admin/Settings/Page.php:1802 +msgid "" +"One-Click Add-ons are features extending available options without " +"configuration needed. Switch the option \"on\" to enable from this screen." +msgstr "" +"One-Click Add-ons erweitern den Funktionsumfang ohne weitere Konfiguration. " +"Aktiviere sie einfach, indem du den Schalter auf „An“ umlegst." -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142 -msgid "Lists are successfully updated." -msgstr "Listen wurden erfolgreich aktualisiert." +#: inc/Engine/Admin/Settings/Page.php:1812 +msgid "Rocket Add-ons" +msgstr "Rocket Add-ons" -#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:52 -msgid "Default Lists" -msgstr "Standardlisten" +#: inc/Engine/Admin/Settings/Page.php:1813 +msgid "Rocket Add-ons are complementary features extending available options." +msgstr "Rocket Add-ons erweitern den Funktionsumfang um zusätzliche Features." -#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:58 -msgid "Delay JavaScript Execution Exclusion Lists" -msgstr "JavaScript-Ausführung verzögern Exklusions-Listen" +#: inc/Engine/Admin/Settings/Page.php:1823 +#: inc/Engine/Admin/Settings/Page.php:1992 +msgid "Cloudflare" +msgstr "Cloudflare" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131 -#: views/settings/page-sections/dashboard.php:188 -msgid "Clear Used CSS" -msgstr "Benutztes CSS leeren" +#: inc/Engine/Admin/Settings/Page.php:1829 +msgid "Integrate your Cloudflare account with this add-on." +msgstr "Integriere dein Cloudflare-Konto mit diesem Add-on." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:219 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1830 msgid "" -"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing " -"your pages." +"Provide your account email, global API key, and domain to use options such " +"as clearing the Cloudflare cache and enabling optimal settings with WP " +"Rocket." msgstr "" -"%1$s: Bitte warte %2$s Sekunden. Der Unbenutztes-CSS-entfernen-Dienst " -"verarbeitet deine Seiten." +"Damit du den Cloudflare-Cache leeren und die optimalen Einstellungen für WP " +"Rocket auswählen kannst, gib hier die folgenden in deinem Cloudflare-Konto " +"hinterlegten Daten ein: E-Mail-Adresse, globaler API-Schlüssel, Domain" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:264 -#, php-format +#. translators: %1$s = opening span tag, %2$s = closing span tag. +#: inc/Engine/Admin/Settings/Page.php:1833 msgid "" -"%1$s: The Used CSS of your homepage has been processed. WP Rocket will " -"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)." +"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just " +"activate the official Cloudflare plugin and configure it. WP Rocket will " +"automatically enable compatibility." msgstr "" -"%1$s: Das benutzte CSS deiner Homepage wurde verarbeitet. WP Rocket wird " -"benutztes CSS erzeugen für bis zu %2$s URLs pro %3$s Sekunde(n)." +"%1$sPlanst du, Automatic Platform Optimization (APO) einzusetzen?%2$s " +"Aktiviere einfach das offizielle Cloudflare-Plugin und konfiguriere es. WP " +"Rocket wird automatisch für Kompatibilität sorgen." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:273 -#, php-format -msgid "We suggest enabling %1$sPreload%2$s for the fastest results." +#: inc/Engine/Admin/Settings/Page.php:1881 +msgid "Varnish" +msgstr "Varnish" + +#: inc/Engine/Admin/Settings/Page.php:1887 +msgid "If Varnish runs on your server, you must activate this add-on." msgstr "" -"Wir empfehlen das Aktivieren von %1$sVorladen%2$s für die schnellsten " -"Ergebnisse." +"Du musst diese Einstellung aktivieren, wenn Varnish auf deinem Server aktiv " +"ist." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283 -#, php-format -msgid "To learn more about the process check our %1$sdocumentation%2$s." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1889 +msgid "" +"Varnish cache will be purged each time WP Rocket clears its cache to ensure " +"content is always up-to-date.
    %1$sLearn more%2$s" msgstr "" -"Um mehr über den Ablauf zu erfahren, lies unsere %1$sDokumentation%2$s." +"Der Varnish-Cache wird automatisch jedes Mal geleert, wenn der Cache von WP " +"Rocket geleert wird, damit er immer aktuell ist.
    %1$sMehr erfahren%2$s" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:481 +#: inc/Engine/Admin/Settings/Page.php:1924 +msgid "WebP Compatibility" +msgstr "WebP-Kompatibilität" + +#: inc/Engine/Admin/Settings/Page.php:1930 +msgid "Improve browser compatibility for WebP images." +msgstr "Browserkompatibilität für WebP-Bilder verbessern" + +#. translators: %1$s and %3$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1934 msgid "" -"We couldn't generate the used CSS because you're using a nulled version of " -"WP Rocket. You need an active license to use the Remove Unused CSS feature " -"and further improve your website's performance." +"Enable this option if you would like WP Rocket to serve WebP images to " +"compatible browsers. Please note that WP Rocket cannot create WebP images " +"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore " +"info%2$s" msgstr "" -"Wir konnten das benutze CSS nicht erstellen, weil du eine nicht lizenzierte " -"Version von WP Rocket benutzt. Du benötigst eine aktive Lizenz, um die " -"Funktion Unbenutztes CSS entfernen benutzen zu können und die Leistung " -"deiner Website damit noch weiter zu steigern." +"Aktiviere diese Option, falls du möchtest, dass WP Rocket WebP-Bilder an " +"kompatible Browser ausliefert. Bitte bedenke, dass WP Rocket keine WebP-" +"Bilder für dich erstellen kann. Dür das Erstellen von WebP-Bildern empfehlen" +" wir %1$sImagify%2$s. %3$sMehr erfahren%2$s" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:484 -#, php-format -msgid "Click here to get a WP Rocket single license at %1$s off!" +#: inc/Engine/Admin/Settings/Page.php:1954 +msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared." +msgstr "Sucuri-Cache leeren, wenn der Cache von WP Rocket geleert wird." + +#: inc/Engine/Admin/Settings/Page.php:1957 +msgid "" +"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is " +"cleared." msgstr "" -"Klicke hier, um eine Lizenz für WP Rocket mit %1$s Rabbatt zu erhalten!" +"Gib deinen API-Schlüssel an, um auch den Sucuri-Cache zu leeren, sobald der " +"Cache von WP Rocket geleert wird." + +#: inc/Engine/Admin/Settings/Page.php:1965 +#: inc/Engine/Admin/Settings/Page.php:2109 +msgid "Sucuri" +msgstr "Sucuri" + +#: inc/Engine/Admin/Settings/Page.php:1971 +msgid "Synchronize Sucuri cache with this add-on." +msgstr "Sucuri-Cache mit diesem Add-on synchronisieren." + +#: inc/Engine/Admin/Settings/Page.php:2009 +msgid "Cloudflare credentials" +msgstr "Cloudflare-Zugangsdaten" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:521 -#, php-format -msgid "" -"Could not create the %2$s table in the database which is necessary for the " -"Remove Unused CSS feature to work. Please reach out to our " -"support." -msgstr "" -"Konnte die Tabelle %2$s in der Datenbank nicht erstellen. Diese ist " -"erforderlich für die Funktion Unbenutztes CSS entfernen. Bitte wende dich an" -" unseren Support." +#: inc/Engine/Admin/Settings/Page.php:2018 +msgid "Cloudflare settings" +msgstr "Cloudflare-Einstellungen" -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:322 -#, php-format -msgid "%1$s: Used CSS option is not enabled!" -msgstr "%1$s: Option für benutztes CSS ist nicht aktiv!" +#: inc/Engine/Admin/Settings/Page.php:2032 +msgctxt "Cloudflare" +msgid "Global API key:" +msgstr "Globaler API-Schlüssel:" -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:343 -#, php-format -msgid "%1$s: Used CSS cache cleared!" -msgstr "%1$s: Cache für benutztes CSS geleert!" +#: inc/Engine/Admin/Settings/Page.php:2033 +msgctxt "Cloudflare" +msgid "Find your API key" +msgstr "API-Schlüssel finden" -#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:776 -msgid "Clear Used CSS of this URL" -msgstr "Benutztes CSS für diese URL leeren" +#: inc/Engine/Admin/Settings/Page.php:2045 +msgctxt "Cloudflare" +msgid "Account email" +msgstr "E-Mail-Adresse des Kontos" -#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160 -msgid "WP Rocket Remove Unused CSS pending jobs" -msgstr "WP-Rocket-Unbenutztes-CSS-entfernen ausstehende Jobs" +#: inc/Engine/Admin/Settings/Page.php:2054 +msgctxt "Cloudflare" +msgid "Zone ID" +msgstr "Zone ID" -#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174 -msgid "WP Rocket clear Remove Unused CSS failed jobs" -msgstr "WP Rocket - fehlgeschlagene Jobs für Unbenutztes CSS entfernen leeren" +#: inc/Engine/Admin/Settings/Page.php:2064 +msgid "Development mode" +msgstr "Entwicklungsmodus" -#: inc/Engine/Plugin/UpdaterApiTools.php:32 inc/deprecated/3.3.php:761 -#: inc/deprecated/3.3.php:770 -#, php-format +#. translators: %1$s = link opening tag, %2$s = link closing tag. +#: inc/Engine/Admin/Settings/Page.php:2066 msgid "" -"An unexpected error occurred. Something may be wrong with WP-Rocket.me or " -"this server’s configuration. If you continue to have problems, contact support." +"Temporarily activate development mode on your website. This setting will " +"automatically turn off after 3 hours. %1$sLearn more%2$s" msgstr "" -"Ein unerwarteter Fehler ist aufgetreten. Vielleicht ist etwas auf wp-" -"rocket.me oder mit dieser Server-Einstellung schief gelaufen. Falls es " -"weiterhin Probleme geben sollte, kontaktiere den Support." - -#: inc/Engine/Plugin/UpdaterSubscriber.php:472 -#: inc/Engine/Plugin/UpdaterSubscriber.php:486 -#: inc/classes/class-wp-rocket-requirements-check.php:203 -#: inc/classes/class-wp-rocket-requirements-check.php:214 -#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251 -#, php-format -msgid "%s Update Rollback" -msgstr "%s Update zurückrollen" +"Aktiviert vorübergehend den Entwicklungsmodus auf deiner Website. Diese " +"Einstellung wird nach 3 Stunden automatisch deaktiviert. %1$sMehr " +"erfahren%2$s" -#: inc/Engine/Plugin/UpdaterSubscriber.php:509 inc/deprecated/3.11.php:279 -#, php-format -msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s" -msgstr "%1$sZurück zu WP Rocket%2$s oder %3$szur Plugins-Seite gehen%2$s" +#: inc/Engine/Admin/Settings/Page.php:2074 +msgid "Optimal settings" +msgstr "Optimale Einstellungen" -#: inc/Engine/Preload/Admin/Settings.php:57 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2075 msgid "" -"%1$s: The preload service is now active. After the initial preload it will " -"continue to cache all your pages whenever they are purged. No further action" -" is needed." +"Automatically enhances your Cloudflare configuration for speed, performance " +"grade and compatibility." msgstr "" -"%1$s: Der Dienst zum Vorladen ist jetzt aktiv. Nach dem ersten Vorladen wird" -" er all deine Seiten cachen, sobald sie bereinigt werden. Es ist keine " -"weitere Aktion erforderlich." - -#: inc/Engine/Preload/Cron/Subscriber.php:138 -msgid "WP Rocket Preload pending jobs" -msgstr "WP-Rocket-Vorladen ausstehende Jobs" +"Verbessert deine Cloudflare-Konfiguration automatischen hinsichtlich " +"Geschwindigkeit, Leistungsfähigkeit und Kompatibilität." -#: inc/Engine/Preload/Cron/Subscriber.php:166 -msgid "WP Rocket Preload revert stuck failed jobs" -msgstr "WP-Rocket-Vorladen setzt steckengebliebene Jobs zurück" +#: inc/Engine/Admin/Settings/Page.php:2083 +msgid "Relative protocol" +msgstr "Relatives Protokoll" -#: inc/ThirdParty/Hostings/Cloudways.php:82 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2084 msgid "" -"Varnish auto-purge will be automatically enabled once Varnish is enabled on " -"your %s server." +"Should only be used with Cloudflare's flexible SSL feature. URLs of static " +"files (CSS, JS, images) will be rewritten to use // instead of http:// or " +"https://." msgstr "" -"Varnish-Auto-Leeren wird automatisch aktiviert, sobald Varnish auf deinem %s" -" Server aktiviert ist." +"Sollte ausschließlich mit Flexible SSL von Cloudflare genutzt werden. URLs " +"statischer Dateien (CSS, JS, Bilder) werden auf // anstatt http:// oder " +"https:// umgeschrieben." -#: inc/ThirdParty/Hostings/Kinsta.php:158 -#, php-format -msgid "" -"Your installation seems to be missing core Kinsta files managing Cache " -"clearing, which will prevent your Kinsta installation and WP Rocket from " -"working correctly. Please get in touch with Kinsta support through your " -"%1$sMyKinsta%2$s account to resolve this issue." -msgstr "" -"In deiner Installation fehlen scheinbar Kinsta-Core-Dateien für das Löschen " -"des Caches. Dies verhindert das reibungslose Zusammenspiel zwischen Kinsta " -"und WP Rocket. Kontaktiere bitte den Support bei Kinsta über dein " -"%1$sMyKinsta%2$s-Konto, um dieses Problem zu lösen." +#: inc/Engine/Admin/Settings/Page.php:2122 +msgid "Sucuri credentials" +msgstr "Sucuri-Zugangsdaten" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:114 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2135 +msgctxt "Sucuri" msgid "" -"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of " -"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it." +"Firewall API key (for plugin), must be in format {32 characters}/{32 " +"characters}:" msgstr "" -"%1$s: HTTP/2 Server Push von Cloudflare ist mit den Funktionen zum Entfernen" -" unbenötigten CSS und dem Zusammenfassen von CSS-Dateien nicht kompatibel. " -"Wir empfehlen dringend, es zu deaktivieren." +"Firewall-API-Schlüssel (für Plugin) muss das Format {32 Zeichen}/{32 " +"Zeichen} aufweisen:" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:157 -msgid "" -"Your site is using the official Cloudflare plugin. We have enabled " -"Cloudflare auto-purge for compatibility. If you have APO activated, it is " -"also compatible." -msgstr "" -"Deine Website benutzt das offizielle Cloudflare-Plugin. Wir haben das " -"automatische Leeren für Cloudflare aus Kompatibilitätsgründen aktiviert. " -"Wenn du APO aktiviert hast, ist es auch kompatibel." +#: inc/Engine/Admin/Settings/Page.php:2136 +msgctxt "Sucuri" +msgid "Find your API key" +msgstr "API-Schlüssel finden" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:158 +#: inc/Engine/Admin/Settings/Settings.php:361 msgid "" -"Cloudflare cache will be purged each time WP Rocket clears its cache to " -"ensure content is always up-to-date." +"Sucuri Add-on: The API key for the Sucuri firewall must be in format " +"{32 characters}/{32 characters}." msgstr "" -"Der Cloudflare-Cache wird jedes Mal geleert, wenn WP Rocket seinen Cache " -"leert, damit Inhalte immer auf dem neuesten Stand sind." +"Sucuri Add-on: Der API-Schlüssel für die Sucuri-Firewall muss im Format " +"{32 Zeichen}/{32 Zeichen} sein:" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:202 -#, php-format +#: inc/Engine/Admin/Settings/Settings.php:667 msgid "" -"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO " -"is not yet compatible with that feature." +"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved " +"because it disables caching and optimizations for every page on your site." msgstr "" -"%1$sWP Rocket:%2$s Du nutzt den „Dynamischen Cookie-Cache\". Cloudflare-APO " -"ist derzeit nicht mit dieser Funktion kompatibel." +"Entschuldigung! Das Hinzufügen von /(.*) in Erweiterte Regeln > Nie cachen " +"(URLs) wurde nicht gespeichert, weil es das Caching und die Optimierungen " +"für jede Seite deiner Website deaktiviert." -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:208 -#, php-format -msgid "" -"You should either disable Cloudflare APO or check with the theme/plugin " -"requiring the use of “Dynamic Cookies Cache” developers for an alternative " -"way to be page-cache friendly. %1$sMore info%2$s" -msgstr "" -"Du solltest Cloudflare-APO entweder deaktivieren oder dich beim Anbieter des" -" Themes/Plugins, das „Dynamischen Cookie-Cache“ erfordert nach alternativen " -"Methoden erkundigen, das Caching von Seiten zu ermöglichen. %1$sMehr " -"erfahren%2$s" +#: inc/Engine/Admin/Settings/Subscriber.php:169 +msgid "Import, Export, Rollback" +msgstr "Import, Export, Wiederherstellung" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:259 -#, php-format -msgid "" -"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile " -"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on " -"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s" -msgstr "" -"%1$sWP Rocket:%2$s Du benutzt die Funktion „Separater Cache für mobile " -"Geräte“. Damit die richtige Version des Caches ausgeliefert wird, musst du " -"die %3$sEinstellung%5$s „Cache nach Gerätetyp“ bei der Cloudflare-APO " -"aktivieren. %4$sMehr erfahren%5$s" +#: inc/Engine/Admin/Settings/Subscriber.php:194 +#: views/settings/page-sections/imagify.php:14 +msgid "Image Optimization" +msgstr "Bildoptimierung" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:280 -#, php-format -msgid "" -"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare " -"APO. If you judge it necessary for the website to have a different cache on " -"mobile and desktop, we suggest you enable our “Separate Cache Files for " -"Mobiles Devices” to ensure the generated cache is accurate." -msgstr "" -"%1$sWP Rocket:%2$s Du hast „Cache nach Gerätetyp“ bei der Cloudflare-APO " -"aktiviert. Falls du es für die Website für notwendig hältst, verschiedene " -"Caches für Mobilgeräte und Desktop zu haben, schlagen wir vor, „Separater " -"Cache für mobile Geräte“ zu aktivieren, um sicherzustellen, dass der Cache " -"korrekt erzeugt wird." +#: inc/Engine/Admin/Settings/Subscriber.php:195 +msgid "Compress your images" +msgstr "Komprimiere deine Bilder" -#: inc/ThirdParty/Plugins/ModPagespeed.php:102 -#, php-format -msgid "" -"%1$s: Mod PageSpeed is not compatible with this plugin and " -"may cause unexpected results. %2$sMore Info%3$s" -msgstr "" -"%1$s: Mod PageSpeed ist mit diesem Plugin nicht kompatibel " -"und könnte unerwartete Ergebnisse verursachen. %2$sMehr erfahren%3$s" +#: inc/Engine/Admin/Settings/Subscriber.php:212 +#: views/settings/page-sections/tutorials.php:48 +msgid "Tutorials" +msgstr "Tutorials" -#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:76 -#, php-format -msgid "" -"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript " -"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will " -"not be applied to the file it creates. We suggest disabling %1$sJavaScript " -"Aggregation%2$s to take full advantage of Delay JavaScript Execution." -msgstr "" -"%1$sWP Rocket:%2$s Wir haben festgestellt, dass die Autoptimize-Funktion zum" -" Zusammenführen von JavaScript aktiviert ist. WP Rocket's verzögerte " -"Javascript-Ausführung wird nicht auf die erstellte Datei angewendet. Wir " -"empfehlen, o.g. %1$sJavaScript-Zusammenführung%2$s zu deaktivieren, um alle " -"Vorteile der verzögerten JavaScript-Ausführung zu erhalten." +#: inc/Engine/Admin/Settings/Subscriber.php:213 +msgid "Getting started and how to videos" +msgstr "Erste Schritte und Einführungsvideos" -#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:131 -#, php-format -msgid "" -"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS " -"feature is enabled. WP Rocket's Load CSS Asynchronously will not work " -"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full " -"advantage of Load CSS Asynchronously Execution." -msgstr "" -"%1$sWP Rocket:%2$s Wir haben festgestellt, dass die Autoptimize-Funktion zum" -" Zusammenführen von Inline-CSS aktiviert ist. Das asynchrone Laden durch WP-" -"Rocket wird nicht korrekt funktionieren. Wir empfehlen, o.g. " -"%1$sZusammenführung von Inline-CSS%2$s zu deaktivieren, um alle Vorteile der" -" asynchronen CSS-Ausführung durch WP Rocket voll auszuschöpfen." +#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75 +msgid "WP Rocket Expired Cache Interval" +msgstr "WP Rocket Cache-Ablaufzeit" -#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45 -#, php-format +#: inc/Engine/Cache/WPCache.php:337 +msgid "WP_CACHE value" +msgstr "WP_CACHE-Wert" + +#: inc/Engine/Cache/WPCache.php:358 msgid "" -"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and " -"use %1$sEzoic's nameserver integration%2$s instead." +"The WP_CACHE constant needs to be set to true for WP Rocket cache to work " +"properly" msgstr "" -"Dieses Plugin blockiert das Caching und die Optimierungen von WP Rocket. " -"Deaktivieren Sie es und verwenden Sie stattdessen die %1$sNameserver-" -"Integration von Ezoic%2$s." +"Die Konstante WP_CACHE muss auf true gesetzt sein, damit der Cache von WP " +"Rocket korrekt funktioniert" + +#: inc/Engine/Cache/WPCache.php:367 +msgid "WP_CACHE is set to true" +msgstr "WP_CACHE ist auf true eingestellt" + +#: inc/Engine/Cache/WPCache.php:375 +msgid "WP_CACHE is not set" +msgstr "WP_CACHE ist nicht gesetzt" + +#: inc/Engine/Cache/WPCache.php:383 +msgid "WP_CACHE is set to false" +msgstr "WP_CACHE ist auf false eingestellt" + +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90 +msgid "Next Billing Date" +msgstr "Nächste Rechnungsstellung" + +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99 +msgid "No Subscription" +msgstr "Kein Abonnement" + +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135 +msgid "Your RocketCDN subscription is currently active." +msgstr "Dein RocketCDN-Abonnement ist momentan aktiv." + +#. translators: %1$s = opening tag, %2$s = CDN URL, %3$s = closing +#. tag. +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141 +msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s." +msgstr "Um RocketCDN zu benutzen, ersetze deinen CNAME mit %1$s%2$s%3$s." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"Please deactivate the following %s option which conflicts with WP Rocket " -"features:" -msgid_plural "" -"Please deactivate the following %s options which conflict with WP Rocket " -"features:" -msgstr[0] "" -"Bitte deaktiviere die folgende %s Option, die mit Funktionen von WP Rocket " -"kollidert:" -msgstr[1] "" -"Bitte deaktiviere die folgenden %s Optionen, die mit Funktionen von WP " -"Rocket kollideren:" +#. translators: %1$is = opening link tag, %2$s = closing link tag. +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152 +#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230 +#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334 +msgid "%1$sMore Info%2$s" +msgstr "%1$sMehr erfahren%2$s" -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151 -#, php-format -msgctxt "Hummingbird notice" +#: inc/Engine/CDN/RocketCDN/APIClient.php:134 msgid "" -"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s" +"We could not fetch the current price because RocketCDN API returned an " +"unexpected error code." msgstr "" -"%1$s %2$sdisable emoji%3$s kollidiert mit WP Rockets %2$sdisable emoji%3$s" +"Wir konnten den aktuellen Preis nicht abrufen, weil die RocketCDN-API einen " +"unerwarteten Fehlercode zurückgegeben hat." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP " -"compression%3$s" +#: inc/Engine/CDN/RocketCDN/APIClient.php:140 +msgid "RocketCDN is not available at the moment. Please retry later." msgstr "" -"%1$s %2$sGZIP-Komprimierung%3$s kollidiert mit WP Rocket %2$sGZIP-" -"Komprimierung%3$s" +"RocketCDN ist momentan nicht verfügbar. Bitte später erneut versuchen." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser " -"caching%3$s" +#: inc/Engine/CDN/RocketCDN/APIClient.php:177 +msgid "RocketCDN cache purge failed: Missing identifier parameter." msgstr "" -"%1$s %2$sBrowser-Caching%3$s kollidiert mit WP Rocket %2$sBrowser-" -"Caching%3$s" +"RocketCDN Cache leeren fehlgeschlagen: Fehlender Identifier-Parameter." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s" -msgstr "" -"%1$s %2$sSeiten-Caching%3$s kollidiert mit WP Rocket %2$sSeiten-Caching%3$s" +#: inc/Engine/CDN/RocketCDN/APIClient.php:186 +msgid "RocketCDN cache purge failed: Missing user token." +msgstr "RocketCDN Cache leeren fehlgeschlagen: Fehlendes Benutzer-Token." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289 -#, php-format -msgctxt "Hummingbird notice" +#: inc/Engine/CDN/RocketCDN/APIClient.php:212 msgid "" -"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile " -"optimization%3$s" +"RocketCDN cache purge failed: The API returned an unexpected response code." msgstr "" -"%1$s %2$sasset optimization%3$s kollidiert mir WP Rockets %2$sDatei-" -"Optimierung%3$s" +"RocketCDN Cache leeren fehlgeschlagen: Die API gab einen unerwarteten " +"Antwortcode zurück." -#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38 -msgid "" -"Remove Unused CSS is currently activated in Perfmatters. If you want to use " -"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters." +#: inc/Engine/CDN/RocketCDN/APIClient.php:221 +msgid "RocketCDN cache purge failed: The API returned an empty response." msgstr "" -"Unbenutztes-CSS-entfernen ist derzeit in Perfmatters aktiv. Falls du die " -"Funktion Unbenutztes-CSS-entfernen von WP Rocket benutzen willst, " -"deaktiviere diese Option in Perfmatters." +"RocketCDN Cache leeren fehlgeschlagen: Die API gab eine leere Antwort " +"zurück." -#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39 -msgid "" -"Automated unused CSS removal is currently activated in RapidLoad Power-Up " -"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, " -"disable the RapidLoad Power-Up for Autoptimize plugin." +#: inc/Engine/CDN/RocketCDN/APIClient.php:230 +msgid "RocketCDN cache purge failed: The API returned an unexpected response." msgstr "" -"Automatisiertes Entfernen von unbenutzem CSS ist derzeit in RapidLoad Power-" -"Up for Autoptimize aktiviert. Falls du die Funktion Unbenutztes-CSS-" -"entfernen von WP Rocket benutzen willst, deaktiviere das Plugin RapidLoad " -"Power-Up for Autoptimize." +"RocketCDN Cache leeren fehlgeschlagen: Die API gab eine unerwartete Antwort " +"zurück." -#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42 -#, php-format -msgid "" -"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s " -"delay JS, disable %1$s" -msgstr "" -"JS verzögern ist momentan in %1$s aktiviert. Wenn du das Verzögern von JS " -"von WP Rocket benutzen willst, deaktiviere %1$s" +#. translators: %s = message returned by the API. +#: inc/Engine/CDN/RocketCDN/APIClient.php:239 +msgid "RocketCDN cache purge failed: %s." +msgstr "RocketCDN Cache leeren fehlgeschlagen: %s." -#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126 -msgid "Smush" -msgstr "Smush" +#: inc/Engine/CDN/RocketCDN/APIClient.php:247 +msgid "RocketCDN cache purge successful." +msgstr "RocketCDN-Cache erfolgreich geleert." -#: inc/ThirdParty/Themes/Avada.php:116 -msgid "Avada" -msgstr "Avada" +#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137 +msgid "RocketCDN enabled" +msgstr "RocketCDN aktiviert" -#: inc/admin/admin.php:18 inc/common/admin-bar.php:255 -#: inc/deprecated/deprecated.php:1787 -msgid "Support" -msgstr "Hilfe" +#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160 +msgid "RocketCDN disabled" +msgstr "RocketCDN deaktiviert" -#: inc/admin/admin.php:20 -msgid "Docs" -msgstr "Dokumentation" +#. Translators: %s = date formatted using date_i18n() and get_option( +#. 'date_format' ). +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27 +msgid "Valid until %s only!" +msgstr "Nur gültig bis %s!" -#: inc/admin/admin.php:22 inc/common/admin-bar.php:243 -msgid "FAQ" -msgstr "FAQ" +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36 +msgid "Speed up your website thanks to:" +msgstr "Beschleunige deine Website dank:" -#: inc/admin/admin.php:24 inc/common/admin-bar.php:63 -msgid "Settings" -msgstr "Einstellungen" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42 +msgid "" +"High performance Content Delivery Network (CDN) with %1$sunlimited " +"bandwidth%2$s" +msgstr "" +"Hochleistungs-Content-Delivery-Network (CDN) mit %1$sunbegrenzter " +"Bandbreite%2$s" -#: inc/admin/admin.php:458 -msgid "Settings import failed: you do not have the permissions to do this." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48 +msgid "" +"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied" msgstr "" -"Importieren der Einstellungen fehlgeschlagen: Dir fehlen die entsprechenden " -"Berechtigungen." +"Einfache Konfiguration: Die %1$sbesten CDN-Einstellungen%2$s werden " +"automatisch angewendet" -#: inc/admin/admin.php:462 -msgid "Settings import failed: no file uploaded." -msgstr "Import fehlgeschlagen: keine Datei hochgeladen." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54 +msgid "" +"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in" +" our plugin" +msgstr "" +"WP-Rocket-Integration: Die CDN-Option ist in unserem Plugin %1$sautomatisch " +"konfiguriert%2$s" -#: inc/admin/admin.php:466 -msgid "Settings import failed: incorrect filename." -msgstr "Import fehlgeschlagen: nicht unterstützter Dateiname." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58 +msgid "Learn more about RocketCDN" +msgstr "Erfahre mehr über RocketCDN" -#: inc/admin/admin.php:477 -msgid "Settings import failed: incorrect filetype." -msgstr "Import fehlgeschlagen: nicht unterstütztes Dateiformat." +#. translators: %1$s = discounted price, %2$s = regular price. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65 +msgid "" +"*$%1$s/month for 12 months then $%2$s/month. You can cancel your " +"subscription at any time." +msgstr "" +"*$%1$s/Monat für 12 Monate, danach $%2$s/Monat. Sie können Ihr Abonnement " +"jederzeit kündigen." -#: inc/admin/admin.php:487 -msgid "Settings import failed: " -msgstr "Import der Einstellungen fehlgeschlagen: " +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86 +msgid "Billed monthly" +msgstr "Monatliche Abrechnung" -#: inc/admin/admin.php:503 -msgid "Settings import failed: unexpected file content." -msgstr "Import der Einstellungen fehlgeschlagen: Unerwarteter Dateiinhalt." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87 +msgid "Get Started" +msgstr "Erste Schritte" -#: inc/admin/admin.php:533 -msgid "Settings imported and saved." -msgstr "Einstellungen importiert und gespeichert." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92 +msgid "Reduce this banner" +msgstr "Dieses Banner verkleinern" -#: inc/admin/options.php:127 -msgid "Defer JavaScript Files" -msgstr "JavaScript-Dateien aufschieben" +#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17 +msgid "" +"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network." +msgstr "" +"Beschleunige deine Website mit RocketCDN, WP Rockets Content Delivery " +"Network." -#: inc/admin/options.php:128 -msgid "Excluded Delay JavaScript Files" -msgstr "Ausgenommene verzögerte JavaScript-Dateien" +#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20 +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13 +msgid "Learn More" +msgstr "Mehr erfahren" -#: inc/admin/options.php:150 -#, php-format -msgid "%1$s: %2$s" -msgstr "%1$s: %2$s" +#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23 +msgid "RocketCDN is unavailable on local domains and staging sites." +msgstr "RocketCDN ist nicht für lokale Domains und Staging-Sites verfügbar." -#: inc/admin/options.php:160 -msgid "The following pattern is invalid and has been removed:" -msgid_plural "The following patterns are invalid and have been removed:" -msgstr[0] "Folgendes Muster ist ungültig und wurde entfernt:" -msgstr[1] "Folgende Muster sind ungültig und wurden entfernt:" +#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32 +msgid "Get RocketCDN" +msgstr "Hol dir RocketCDN" -#: inc/admin/options.php:176 -msgid "More info" -msgstr "Mehr erfahren" +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11 +msgid "New!" +msgstr "Neu!" -#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:748 -#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136 -#: views/settings/page-sections/dashboard.php:150 -msgid "Clear cache" -msgstr "Cache leeren" +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12 +msgid "" +"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!" +msgstr "" +"Beschleunige deine Website mit RocketCDN, WP Rockets Content Delivery " +"Network!" -#: inc/admin/ui/meta-boxes.php:67 -msgid "WP Rocket Options" -msgstr "WP-Rocket-Optionen" +#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253 +msgid "Every minute" +msgstr "Jede Minute" -#: inc/admin/ui/meta-boxes.php:96 -msgid "Never cache this page" -msgstr "Diese Seite niemals cachen" +#: inc/Engine/CriticalPath/Admin/Admin.php:264 +msgid "Regenerate Critical Path CSS" +msgstr "Kritisches CSS neu generieren" -#: inc/admin/ui/meta-boxes.php:100 -msgid "Activate these options on this post:" -msgstr "Aktiviere diese Einstellungen für diesen Beitrag:" +#: inc/Engine/CriticalPath/Admin/Post.php:144 +#: views/cpcss/metabox/generate.php:47 +msgid "Generate Specific CPCSS" +msgstr "Spezifisches CPCSS erzeugen" -#: inc/admin/ui/meta-boxes.php:103 -msgid "LazyLoad for images" -msgstr "LazyLoad für Bilder" +#: inc/Engine/CriticalPath/Admin/Post.php:145 +#: views/cpcss/metabox/generate.php:45 +msgid "Regenerate specific CPCSS" +msgstr "Spezifisches CPCSS neu erzeugen" + +#: inc/Engine/CriticalPath/Admin/Post.php:216 +msgid "This feature is not available for non-public post types." +msgstr "" +"Diese Funktion ist für nicht-öffentliche Inhaltstypen nicht verfügbar." -#: inc/admin/ui/meta-boxes.php:104 -msgid "LazyLoad for iframes/videos" -msgstr "LazyLoad für iframes und Videos" +#: inc/Engine/CriticalPath/Admin/Post.php:219 +msgid "%l to use this feature." +msgstr "%l, um diese Funktion zu nutzen." -#: inc/admin/ui/meta-boxes.php:105 -msgid "Minify CSS" -msgstr "CSS minifizieren" +#. translators: %s = post type. +#: inc/Engine/CriticalPath/Admin/Post.php:222 +msgid "Publish the %s" +msgstr "%s veröffentlichen" -#: inc/admin/ui/meta-boxes.php:107 -msgid "Minify/combine JS" -msgstr "JS minifizieren/zusammenfassen" +#. translators: %s = post type. +#: inc/Engine/CriticalPath/Admin/Post.php:223 +msgid "Enable Load CSS asynchronously in WP Rocket settings" +msgstr "Asynchrones Laden von CSS in den WP-Rocket-Einstellungen aktivieren" -#: inc/admin/ui/meta-boxes.php:110 -msgid "Defer JS" -msgstr "Verzögertes JS (defer)" +#: inc/Engine/CriticalPath/Admin/Post.php:224 +msgid "Enable Load CSS asynchronously in the options above" +msgstr "Asynchrones Laden von CSS in den Optionen oben aktivieren" -#: inc/admin/ui/meta-boxes.php:117 -#, php-format -msgid "Activate first the %s option." -msgstr "Aktiviere zuerst die Einstellung %s." +#. translators: %1$s = type of content, %2$s = error message. +#: inc/Engine/CriticalPath/APIClient.php:64 +msgid "Critical CSS for %1$s not generated. Error: %2$s" +msgstr "Kritisches CSS für %1$s nicht erstellt. Fehler: %2$s" -#: inc/admin/ui/meta-boxes.php:133 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:170 msgid "" -"%1$sNote:%2$s None of these options will be applied if this post has been " -"excluded from cache in the global cache settings." +"Critical CSS for %1$s on mobile not generated. Error: The API returned an " +"empty response." msgstr "" -"%1$sHinweis:%2$s Keine dieser Optionen wird angewendet, falls dieser Beitrag" -" in den globalen Cache-Einstellungen vom Cache ausgenommen wurde." +"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Die API gab " +"eine leere Antwort zurück." -#: inc/admin/ui/notices.php:31 inc/admin/ui/notices.php:44 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:173 msgid "" -"%1$s has not been deactivated due to missing writing permissions.
    \n" -"Make %2$s writeable and retry deactivation, or force deactivation now:" +"Critical CSS for %1$s not generated. Error: The API returned an empty " +"response." msgstr "" -"%1$s wurde nicht aktiviert wegen fehlender Schreibrechte.
    \n" -"Erteile Schreibrechte für %2$s und versuche die Deaktivierung erneut, oder forciere die Deaktivierung jetzt:" +"Kritisches CSS für %1$s nicht erzeugt. Fehler: Die API gab eine leere " +"Antwort zurück." -#: inc/admin/ui/notices.php:97 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:185 +msgid "Critical CSS for %1$s on mobile not generated." +msgstr "Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt." + +#. translators: %s = item URL. +#. translators: %1$s = item URL or item type. +#: inc/Engine/CriticalPath/APIClient.php:187 +#: inc/Engine/CriticalPath/ProcessorService.php:194 +msgid "Critical CSS for %1$s not generated." +msgstr "Kritisches CSS für %1$s nicht erzeugt." + +#. translators: %s = URL. +#: inc/Engine/CriticalPath/APIClient.php:195 msgid "" -"%s: One or more plugins have been enabled or disabled, " -"clear the cache if they affect the front end of your site." +"Critical CSS for %1$s on mobile not generated. Error: The API returned an " +"invalid response code." msgstr "" -"%s: Plugin(s) aktiviert oder deaktiviert. Falls dies die " -"Darstellung deiner Website betrifft, lösche jetzt den Cache." +"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Die API gab " +"einen ungültige Antwortcode zurück." -#: inc/admin/ui/notices.php:218 -#, php-format +#. translators: %s = URL. +#: inc/Engine/CriticalPath/APIClient.php:197 msgid "" -"%s: The following plugins are not compatible with this " -"plugin and may cause unexpected results:" +"Critical CSS for %1$s not generated. Error: The API returned an invalid " +"response code." msgstr "" -"%s: Folgende Plugins sind mit diesem Plugin nicht " -"kompatibel und können unerwartete Ergebnisse hervorrufen:" +"Kritisches CSS für %1$s nicht erzeugt. Fehler: Die API gab einen ungültige " +"Antwortcode zurück." -#: inc/admin/ui/notices.php:224 -msgid "Deactivate" -msgstr "Deaktivieren" +#. translators: %1$s = error message. +#: inc/Engine/CriticalPath/APIClient.php:205 +#: inc/Engine/CriticalPath/ProcessorService.php:201 +msgid "Error: %1$s" +msgstr "Fehler: %1$s" -#: inc/admin/ui/notices.php:266 -msgid "" -"WP Rocket Footer JS is not an official add-on. It prevents some options in " -"WP Rocket from working correctly. Please deactivate it if you have problems." -msgstr "" -"WP Rocket Footer JS ist kein offizielles Add-on. Es verhindert, dass manche " -"Optionen in WP Rocket korrekt funktionieren. Bitte deaktiviere es, falls du" -" Probleme damit hast." +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176 +msgid "Critical CSS generation is currently running." +msgstr "Kritisches CSS wird gerade neu erstellt." -#: inc/admin/ui/notices.php:306 -#, php-format -msgid "" -"Endurance Cache is currently enabled, which will conflict with WP Rocket " -"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the " -"%1$sSettings > General%2$s page to prevent any issues." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181 +msgid "Go to the %1$sWP Rocket settings%2$s page to track progress." msgstr "" -"Endurance Cache ist momentan aktiviert, was Probleme mit dem Cache von WP " -"Rocket verursacht. Bitte stelle den Endurance Cache cache level auf der " -"Seite %1$sEinstellungen > Allgemein%2$sauf „Aus“ (Level 0), um Probleme zu " -"verhindern." +"Gehe zu den %1$sEinstellungen von WP Rocket%2$s, um den Fortschritt zu " +"beobachten." -#: inc/admin/ui/notices.php:327 -#, php-format +#. Translators: %1$d = number of critical CSS generated, %2$d = total number +#. of critical CSS to generate. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396 msgid "" -"%1$s: A custom permalink structure is required for the plugin to work " -"properly. %2$sGo to permalinks settings%3$s" +"Critical CSS generation is currently running: %1$d of %2$d page types " +"completed. (Refresh this page to view progress)" msgstr "" -"%1$s: Eine angepasste Permalink-Struktur ist erforderlich für die korrekte " -"Funktionsweise des Plugins. %2$sPermalink-Einstellungen aufrufen%3$s" +"Kritisches CSS wird gerade neu erstellt: %1$d von %2$d Seiten-Typen " +"komplett. (Seite neu laden für aktuellen Stand)" -#: inc/admin/ui/notices.php:374 -#, php-format -msgid "" -"%s could not modify the .htaccess file due to missing writing permissions." -msgstr "" -"%s konnte die .htaccess-Datei nicht ändern aufgrund fehlender " -"Schreibberechtigungen." +#. Translators: %1$d = number of critical CSS generated, %2$d = total number +#. of critical CSS to generate. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472 +msgid "Critical CSS generation finished for %1$d of %2$d page types." +msgstr "Kritisches CSS erstellt für %1$d von %2$d Seiten-Typen." -#: inc/admin/ui/notices.php:380 inc/admin/ui/notices.php:843 -#, php-format -msgid "Troubleshoot: %1$sHow to make system files writeable%2$s" +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 +msgid "Critical CSS generation encountered one or more errors." msgstr "" -"Fehlerbehebung: %1$sFehlende Schreibrechte für System-Dateien beheben%2$s" +"Bei der Erzeugung von Kritischem CSS sind ein oder mehr Fehler aufgetreten." -#: inc/admin/ui/notices.php:382 inc/admin/ui/notices.php:845 -msgid "" -"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" -"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" -msgstr "" -"https://de.docs.wp-rocket.me/article/1042-fehlende-schreibrechte-fuer-" -"system-dateien-beheben-htaccess-wp-" -"configphp?utm_source=wp_plugin&utm_medium=wp_rocket" +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 +msgid "Learn more." +msgstr "Mehr erfahren." -#: inc/admin/ui/notices.php:388 +#. translators: %1$ = opening bold tag, %2$ = closing bold tag. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840 msgid "" -"Don’t worry, WP Rocket’s page caching and settings will still function " -"correctly." +"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS " +"optimization. Load CSS Asynchronously is always available as a back-up." msgstr "" -"Keine Bange. Das Cachen der Seiten durch WP Rocket und die Einstellungen " -"werden weiterhin korrekt funktionieren." +"Wir empfehlen dringend das %1$saktualisierte Entfernen von unbenutzem " +"CSS%2$s für eine bessere CSS-Optimierung. CSS-Dateien asynchron laden ist " +"als Ersatz immer verfügbar." -#: inc/admin/ui/notices.php:388 -msgid "" -"For optimal performance, adding the following lines into your .htaccess is " -"recommended (not required):" -msgstr "" -"Für optimale Leistung wird das Hinzufügen folgender Zeilen in deine " -".htaccess-Datei empfohlen (nicht erforderlich):" +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845 +msgid "Stay with the old option" +msgstr "Bei der alten Option bleiben" -#: inc/admin/ui/notices.php:535 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/DataManager.php:68 msgid "" -"%1$s is good to go! %2$sTest your load time%4$s, or visit your " -"%3$ssettings%4$s." +"Critical CSS for %1$s on mobile not generated. Error: The destination folder" +" could not be created." msgstr "" -"%1$s ist fertig aktiviert! %2$sTeste deine Ladezeiten%4$s, oder schau dir " -"deine %3$sEinstellungen%4$s an." +"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Der " +"Zielordner konnte nicht erstellt werden." -#: inc/admin/ui/notices.php:576 +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/DataManager.php:71 msgid "" -"Would you allow WP Rocket to collect non-sensitive diagnostic data from this" -" website?" +"Critical CSS for %1$s not generated. Error: The destination folder could not" +" be created." msgstr "" -"Würdest du WP Rocket erlauben, anonymisierte technische Daten von dieser " -"Website zu sammeln?" +"Kritisches CSS für %1$s nicht erzeugt. Fehler: Der Zielordner konnte nicht " +"erstellt werden." -#: inc/admin/ui/notices.php:577 -msgid "This would help us to improve WP Rocket for you in the future." -msgstr "" -"Das würde uns dabei unterstützen, WP Rocket in Zukunft weiter zu verbessern." +#: inc/Engine/CriticalPath/DataManager.php:106 +msgid "Critical CSS file for mobile does not exist" +msgstr "Kritisches-CSS-Datei für Mobilgeräte existiert nicht" -#: inc/admin/ui/notices.php:583 -msgid "What info will we collect?" -msgstr "Um welche Art Daten geht es genau?" +#: inc/Engine/CriticalPath/DataManager.php:108 +msgid "Critical CSS file does not exist" +msgstr "Kritisches-CSS-Datei existiert nicht" -#: inc/admin/ui/notices.php:588 -msgid "" -"Below is a detailed view of all data WP Rocket will collect if granted " -"permission. WP Rocket will never transmit any domain names or email " -"addresses (except for license validation), IP addresses, or third-party API " -"keys." -msgstr "" -"Hier findest du eine genaue Auflistung der Daten, die WP Rocket nach Hause " -"sendet, wenn du die Erlaubnis dazu erteilst. WP Rocket wird niemals Domain-" -"Namen, E-Mail-Adressen (außer zur Lizenzprüfung), IP-Adressen oder API-" -"Schlüssel von Drittanbietern übermitteln." +#: inc/Engine/CriticalPath/DataManager.php:120 +msgid "Critical CSS file for mobile cannot be deleted" +msgstr "Kritisches-CSS-Datei für Mobilgeräte kann nicht gelöscht werden" -#: inc/admin/ui/notices.php:597 -msgid "Yes, allow" -msgstr "Ja, erlauben" +#: inc/Engine/CriticalPath/DataManager.php:122 +msgid "Critical CSS file cannot be deleted" +msgstr "Kritisches-CSS-Datei kann nicht gelöscht werden" -#: inc/admin/ui/notices.php:600 -msgid "No, thanks" -msgstr "Nein, danke" +#. translators: %1$s = item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:187 +msgid "Mobile Critical CSS for %1$s not generated." +msgstr "Kritisches-CSS-Datei für Mobilgeräte für %1$s nicht erzeugt." -#: inc/admin/ui/notices.php:639 -msgid "Thank you!" -msgstr "Danke!" +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:228 +msgid "Critical CSS for %s in progress." +msgstr "Kritisches CSS für %s in Bearbeitung." -#: inc/admin/ui/notices.php:644 -msgid "WP Rocket now collects these metrics from your website:" -msgstr "WP Rocket erhebt jetzt die folgenden Kennzahlen von deiner Website:" +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:262 +msgid "Mobile Critical CSS for %s generated." +msgstr "Kritisches-CSS-Datei für Mobilgeräte für %s erzeugt." -#: inc/admin/ui/notices.php:682 -#, php-format -msgid "%s: Cache cleared." -msgstr "%s: Cache geleert." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:273 +msgid "Critical CSS for %s generated." +msgstr "Kritisches CSS für %s erstellt." -#: inc/admin/ui/notices.php:689 -#, php-format -msgid "%s: Post cache cleared." -msgstr "%s: Cache für Beitrag/Seite geleert." +#: inc/Engine/CriticalPath/ProcessorService.php:295 +msgid "Critical CSS file deleted successfully." +msgstr "Kritisches-CSS-Datei erfolgreich gelöscht." -#: inc/admin/ui/notices.php:696 -#, php-format -msgid "%s: Term cache cleared." -msgstr "%s: Cache für Begriff geleert." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:317 +msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later." +msgstr "" +"Kritisches-CSS-Datei für Mobilgeräte für %1$s hat die Zeit überschritten. " +"Bitte ein wenig später erneut versuchen." -#: inc/admin/ui/notices.php:703 -#, php-format -msgid "%s: User cache cleared." -msgstr "%s: Cache für Benutzer/-in geleert." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:330 +msgid "Critical CSS for %1$s timeout. Please retry a little later." +msgstr "" +"Kritisches CSS für %1$s hat die Zeit überschritten. Bitte ein wenig später " +"erneut versuchen." -#: inc/admin/ui/notices.php:751 -msgid "Stop Preload" -msgstr "Vorladen beenden" +#: inc/Engine/CriticalPath/RESTWP.php:141 +msgid "Mobile CPCSS generation not enabled." +msgstr "CPCSS-Erzeugung für Mobilgeräte nicht aktiviert." -#: inc/admin/ui/notices.php:757 -msgid "Turn on Remove Unused CSS" -msgstr "Unbenutztes CSS entfernen aktivieren" +#: inc/Engine/CriticalPath/RESTWPPost.php:36 +#: inc/Engine/CriticalPath/RESTWPPost.php:69 +msgid "Requested post does not exist." +msgstr "Angeforderter Beitrag existiert nicht." -#: inc/admin/ui/notices.php:763 -msgid "Enable “Separate Cache Files for Mobile Devices” now" -msgstr "„Separater Cache für mobile Geräte“ jetzt aktivieren" +#: inc/Engine/CriticalPath/RESTWPPost.php:46 +msgid "Cannot generate CPCSS for unpublished post." +msgstr "Kann kein CPCSS für unveröffentlichte Beiträge erzeugen." -#: inc/admin/ui/notices.php:781 -msgid "Force deactivation " -msgstr "Deaktivierung forcieren" +#: inc/Engine/HealthCheck/HealthCheck.php:142 +msgid "Scheduled Cache Purge" +msgstr "Geplantes Leeren des Caches" -#: inc/admin/ui/notices.php:800 -msgid "The following code should have been written to this file:" -msgstr "Folgender Code hätte in diese Datei geschrieben werden sollen:" +#: inc/Engine/HealthCheck/HealthCheck.php:143 +msgid "Scheduled Database Optimization" +msgstr "Geplante Datenbank-Optimierung" -#: inc/admin/ui/notices.php:831 -#, php-format -msgid "%s cannot configure itself due to missing writing permissions." -msgstr "" -"%s kann sich wegen fehlender Schreibrechte nicht selbst konfigurieren." +#: inc/Engine/HealthCheck/HealthCheck.php:144 +msgid "Database Optimization Process" +msgstr "Datenbank-Optimierungsprozess" -#: inc/admin/ui/notices.php:837 -#, php-format -msgid "Affected file/folder: %s" -msgstr "Betroffene Dateien/Ordner: %s" +#: inc/Engine/HealthCheck/HealthCheck.php:145 +msgctxt "noun" +msgid "Preload" +msgstr "Cache füllen" -#: inc/classes/admin/class-logs.php:124 -msgid "The debug file could not be deleted." -msgstr "Die Fehlerbehebungs-Protokolldatei konnte nicht gelöscht werden." +#: inc/Engine/HealthCheck/HealthCheck.php:146 +msgid "Critical Path CSS Generation Process" +msgstr "Erzeugung des Kritischen-CSS-Pfads" -#: inc/classes/class-wp-rocket-requirements-check.php:147 -#, php-format -msgid "To function properly, %1$s %2$s requires at least:" -msgstr "Um richtig zu funktionieren, erfordert %1$s %2$s mindestens:" +#. translators: %1$s = , %2$s = price, %3$s = . +#: inc/Engine/License/Renewal.php:76 +msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!" +msgstr "Erneuere, bevor es zu spät ist, du bezahlst nur %1$s%2$s%3$s!" -#: inc/classes/class-wp-rocket-requirements-check.php:151 -#, php-format +#. translators: %1$s = , %2$s = discount, %3$s = ,%4$s = +#. , %5$s = price, %6$s=. +#: inc/Engine/License/Renewal.php:85 msgid "" -"PHP %1$s. To use this WP Rocket version, please ask your web host how to " -"upgrade your server to PHP %1$s or higher." +"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " +"%4$s%5$s%6$s!" msgstr "" -"PHP %1$s. Um diese Version von WP Rocket zu nutzen, frage bei deinem " -"Webhosting nach einer Aktualisierung deines Servers auf PHP %1$s oder höher." +"Erneuere mit einen %1$s%2$s Rabatt%3$s, bevor es zu spät ist. Du bezahlst " +"nur %4$s%5$s%6$s!" -#: inc/classes/class-wp-rocket-requirements-check.php:156 -#, php-format -msgid "" -"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to " -"version %1$s or higher." -msgstr "" -"WordPress %1$s. Um diese Version von WP Rocket zu nutzen, aktualisiere " -"WordPress auf version %1$s oder höher." +#. translators: %1$s = , %2$s = , %3$s = price. +#: inc/Engine/License/Renewal.php:139 +msgid "Renew your license for 1 year now at %1$s%3$s%2$s." +msgstr "Erneuere deine Lizenz jetzt für 1 Jahr auf %1$s%3$s%2$s." -#: inc/classes/class-wp-rocket-requirements-check.php:159 +#. translators: %1$s = , %2$s = , %3$s = discount percentage, +#. %4$s = price. +#: inc/Engine/License/Renewal.php:152 msgid "" -"If you are not able to upgrade, you can rollback to the previous version by " -"using the button below." +"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you " +"will only pay %1$s%4$s%2$s!" msgstr "" -"Wenn eine Aktualisierung nicht möglich ist, kannst du das Button weiter " -"unten klicken, um die vorherige Version von WP Rocket wiederherzustellen." +"Erneuere deine Lizenz jetzt für 1 Jahr und erhalte sofort %1$s%3$s%2$s " +"Rabatt: Du bezahlst nur %1$s%4$s%2$s!" -#: inc/classes/class-wp-rocket-requirements-check.php:161 -#: inc/deprecated/deprecated.php:1947 -#, php-format -msgid "Re-install version %s" -msgstr " Version %s wiederherstellen" +#. translators: %1$s = , %2$s = , %3$s = discount price. +#: inc/Engine/License/Renewal.php:218 +msgid "Renew before it is too late, you will pay %1$s%3$s%2$s." +msgstr "Jetzt erneuern, bevor es zu spät ist. Du bezahlst nur %1$s%3$s%2$s." -#: inc/classes/dependencies/wp-media/background-processing/wp-background-process.php:447 -#, php-format -msgid "Every %d Minutes" -msgstr "Alle %d Minuten" +#. translators: %1$s = , %2$s = discount percentage, %3$s = , +#. %4$s = discount price. +#: inc/Engine/License/Renewal.php:227 +msgid "" +"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " +"%1$s%4$s%3$s!" +msgstr "" +"Erneuere mit einem %1$s%2$s Rabatt%3$s, bevor es zu spät ist, du bezahlst " +"nur %1$s%4$s%3$s!" -#: inc/classes/logger/class-logger.php:260 -#: inc/classes/logger/class-logger.php:292 -msgid "The log file does not exist." -msgstr "Es existiert keine Protokolldatei." +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:546 +msgid "" +"You need a valid license to continue using this feature. %1$sRenew now%2$s " +"before losing access." +msgstr "" +"Du benötigst eine gültige Lizenz, um diese Funktion weiter benutzen zu " +"können. %1$sJetzt erneuern%2$s, bevor du den Zugang verlierst." -#: inc/classes/logger/class-logger.php:266 -#: inc/classes/logger/class-logger.php:298 -msgid "The log file could not be read." -msgstr "Die Protokolldatei konnte nicht gelesen werden." +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:567 +msgid "You need an active license to enable this option. %1$sRenew now%2$s." +msgstr "" +"Du benötigst eine gültige Lizenz, um diese Funktion zu aktivieren. %1$sJetzt" +" erneuern%2$s." -#: inc/classes/logger/class-logger.php:285 -msgid "The logs are not saved into a file." -msgstr "Das Protokoll wurde nicht in eine Datei gespeichert." +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:595 +msgid "You need an active license to enable this option. %1$sMore info%2$s." +msgstr "" +"Du benötigst eine gültige Lizenz, um diese Funktion zu aktivieren. " +"%1$sWeitere Informationen%2$s." -#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151 -#, php-format +#. translators: %1$s = promotion name, %2$s =
    , %3$s = , %4$s = +#. promotion discount percentage, %5$s = . +#: inc/Engine/License/Upgrade.php:251 msgid "" -"Failed to detect the following requirement in your theme: closing %1$s." +"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" +" for %3$supgrading your license to Plus or Infinite!%5$s" msgid_plural "" -"Failed to detect the following requirements in your theme: closing %1$s." +"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" +" for %3$supgrading your license to Infinite!%5$s" msgstr[0] "" -"Erkennung des folgenden Erfordernisses in deinem Theme fehlgeschlagen: " -"Schließe %1$s." +"Nutze den Vorteil von %1$s, um mehrere Websites zu beschleunigen: " +"%2$sErhalte einen%3$s%4$s Rabatt%5$s für %3$sein Upgrade deiner Lizenz auf " +"Plus oder Infinite!%5$s" msgstr[1] "" -"Erkennung der folgenden Erfordernisse in deinem Theme fehlgeschlagen: " -"Schließe %1$s." - -#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159 -msgid "" -"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" -"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" -msgstr "" -"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" -"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" - -#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136 -#: views/settings/page-sections/dashboard.php:150 -msgid "Clear and preload cache" -msgstr "Cache leeren und vorladen" - -#: inc/common/admin-bar.php:124 inc/functions/i18n.php:41 -#: inc/functions/i18n.php:51 -msgid "All languages" -msgstr "Alle Sprachen" +"Nutze den Vorteil von %1$s, um mehrere Websites zu beschleunigen:%2$s " +"Erhalte einen%3$s%4$s Rabatt%5$s für %3$sein Upgrade deiner Lizenz auf " +"Infinite!%5$s" -#: inc/common/admin-bar.php:160 -msgid "Clear this post" -msgstr "Lösche diesen Eintrag" +#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405 +msgid "Unlimited" +msgstr "Unbegrenzt" -#: inc/common/admin-bar.php:174 -msgid "Purge this URL" -msgstr "Entferne diese URL aus dem Cache" +#. translators: %s = promotion discount percentage. +#: inc/Engine/License/views/promo-banner.php:16 +msgid "%s off" +msgstr "%s Rabatt" -#: inc/common/admin-bar.php:194 -msgid "Purge Sucuri cache" -msgstr "Sucuri-Cache leeren" +#. translators: %s = promotion name. +#: inc/Engine/License/views/promo-banner.php:21 +msgid "%s promotion is live!" +msgstr "%s Werbeaktion ist live!" -#: inc/common/admin-bar.php:218 views/settings/fields/rocket-cdn.php:55 -msgid "Purge RocketCDN cache" -msgstr "RocketCDN-Cache leeren" +#: inc/Engine/License/views/promo-banner.php:27 +msgid "Hurry Up! Deal ends in:" +msgstr "Beeil dich! Das Angebot endet in:" -#: inc/common/admin-bar.php:231 views/settings/partials/documentation.php:14 -msgid "Documentation" -msgstr "Dokumentation" +#: inc/Engine/License/views/promo-banner.php:31 +#: inc/Engine/License/views/renewal-soon-banner.php:14 +msgid "Minutes" +msgstr "Minuten" -#: inc/deprecated/3.10.php:163 -msgid "OPcache purge failed." -msgstr "OPcache leeren fehlgeschlagen." +#: inc/Engine/License/views/promo-banner.php:32 +#: inc/Engine/License/views/renewal-soon-banner.php:15 +msgid "Seconds" +msgstr "Sekunden" -#: inc/deprecated/3.10.php:168 -msgid "OPcache successfully purged" -msgstr "OPcache erfolgreich geleert" +#: inc/Engine/License/views/promo-banner.php:34 +#: inc/Engine/License/views/upgrade-section.php:11 +msgid "Upgrade now" +msgstr "Upgrade jetzt durchführen" -#: inc/deprecated/3.11.php:81 -msgid "Yoast SEO XML sitemap" -msgstr "Yoast SEO XML Sitemap" +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11 +msgid "The Optimize CSS Delivery feature is disabled." +msgstr "Die Funktion CSS-Darstellung optimieren ist deaktiviert." -#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58 -#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186 -#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342 -#, php-format +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15 msgid "" -"We automatically detected the sitemap generated by the %s plugin. You can " -"check the option to preload it." +"You can no longer use the Remove Unused CSS or Load CSS asynchronously " +"options." msgstr "" -"Offensichtlich existiert eine durch das Plugin %s generierte Sitemap. " -"Aktiviere diese Option, um den Cache damit zu füllen." - -#: inc/deprecated/3.12.php:56 -msgid "All in One SEO XML sitemap" -msgstr "All in One SEO XML Sitemap" - -#: inc/deprecated/3.12.php:85 -msgid "Rank Math XML sitemap" -msgstr "Rank Math XML Sitemap" - -#: inc/deprecated/3.12.php:184 -msgid "SEOPress XML sitemap" -msgstr "SEOPress XML Sitemap" - -#: inc/deprecated/3.12.php:251 -msgid "The SEO Framework XML sitemap" -msgstr "The SEO Framework XML Sitemap" - -#: inc/deprecated/3.12.php:332 -msgid "Jetpack XML Sitemaps" -msgstr "Jetpack XML Sitemaps" +"Du kannst Unbenutztes CSS entfernen oder CSS-Dateien asynchron laden nicht " +"länger benutzen." -#: inc/deprecated/3.12.php:334 -msgid "Preload the sitemap from the Jetpack plugin" -msgstr "Cache füllen via Jetpack-Sitemap" +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20 +msgid "" +"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, " +"which addresses a PageSpeed Insights recommendation and improves your page " +"performance." +msgstr "" +"Du benötigst eine %1$saktive Lizenz%2$s, um dein CSS weiter optimieren zu " +"können. Dies ist eine Empfehlung von PageSpeed Insights und verbessert die " +"Leistung deiner Seiten." -#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36 -msgid "Activate Imagify" -msgstr "Imagify aktivieren" +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29 +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39 +#: inc/Engine/License/views/renewal-expired-banner.php:27 +#: inc/Engine/License/views/renewal-soon-banner.php:31 +msgid "Renew now" +msgstr "Jetzt erneuern" -#: inc/deprecated/3.2.php:52 -msgid "Install Imagify for Free" -msgstr "Imagify kostenfrei installieren" +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11 +msgid "You will soon lose access to some features" +msgstr "Du wirst bald den Zugang zu einigen Funktionen verlieren" -#: inc/deprecated/3.2.php:67 +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18 msgid "" -"Speed up your website and boost your SEO by reducing image file sizes " -"without losing quality with Imagify." +"You need an %1$sactive license to continue optimizing your CSS delivery%2$s." msgstr "" -"Beschleunige deine Website und booste dein SEO, indem du deine Bilder mit " -"Imagify verlustfrei optimierst." - -#: inc/deprecated/3.2.php:72 -msgid "More details" -msgstr "Weitere Einzelheiten" - -#: inc/deprecated/3.2.php:228 -#, php-format -msgid "Sitemap preload: %d pages have been cached." -msgstr "Sitemap-Preload: %d Seiten gecacht." +"Du benötigst eine %1$saktive Lizenz, um dein CSS weiter optimieren zu " +"können%2$s." -#: inc/deprecated/3.2.php:261 -#, php-format +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24 msgid "" -"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see " -"progress)" +"The Remove Unused CSS and Load CSS asynchronously features are great options" +" to address the PageSpeed Insights recommendations and improve your website " +"performance." msgstr "" -"Sitemap-Preload: %d Seiten wurden bis jetzt in den Cache geladen. (Seite " -"neu laden für aktuellen Stand)" +"Die Funktionen Unbenutztes CSS entfernen und CSS-Dateien asynchron laden " +"sind großartige Optionen, um Empfehlungen von PageSpeed Insights umzusetzen " +"und die Leistung deiner Website zu verbessern." -#: inc/deprecated/3.4.php:18 -msgid "Choose a domain from the list" -msgstr "Wähle eine Domain aus der Liste" +#. translators: %1$s = , %2$s = , %3$s = date. +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29 +msgid "They will be %1$sautomatically disabled on %3$s%2$s." +msgstr "Sie werden %1$sautomatisch deaktiviert am %3$s%2$s." -#: inc/deprecated/3.4.php:31 -msgid "No domain available in your Cloudflare account" -msgstr "Keine Domain in deinem Cloudflare-Konto verfügbar" +#: inc/Engine/License/views/renewal-expired-banner.php:11 +msgid "Your WP Rocket license is expired!" +msgstr "Deine Lizenz für WP Rocket ist abgelaufen!" -#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195 +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner.php:18 msgid "" -"Curl is disabled on your server. Please ask your host to enable it. This is " -"required for the Cloudflare Add-on to work correctly." +"Your website could be much faster if it could take advantage of our %1$snew " +"features and enhancements%2$s. 🚀" msgstr "" -"Curl ist auf deinem Server deaktiviert. Bitte deinen Hoster, es zu " -"aktivieren. Dies ist erforderlich, damit das Cloudflare Add-on korrekt " -"funktioniert." +"Deine Website könnte viel schneller sein, wenn du die Vorteile unserer " +"%1$sneuen Funktionen und Verbesserungen%2$s nutzen würdest. 🚀" -#: inc/deprecated/3.5.php:79 -#, php-format +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-soon-banner.php:22 msgid "" -"Cloudflare email, API key and Zone ID are not set. Read the " -"%1$sdocumentation%2$s for further guidance." +"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access" +" to product updates and support." msgstr "" -"Cloudflare-E-Mail, API-Schlüssel und Zone ID sind nicht eingestellt. Lies " -"die %1$sDokumentation%2$s für weitere Anleitung." +"Deine %1$sWP-Rocket-Lizenz läuft bald ab%2$s: Du verlierst bald den Zugang " +"zu Produktaktualisierungen und Support." -#: inc/deprecated/3.5.php:206 -#, php-format +#: inc/Engine/License/views/upgrade-popin.php:12 +msgid "Speed Up More Websites" +msgstr "Weitere Websites beschleuigen" + +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/License/views/upgrade-popin.php:19 msgid "" -"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for" -" further guidance." +"You can use WP Rocket on more websites by upgrading your license. To " +"upgrade, simply pay the %1$sprice difference%2$s between your current and " +"new licenses, as shown below." msgstr "" -"Cloudflare-E-Mail und API-Schlüssel sind nicht eingestellt. Lies die " -"%1$sDokumentation%2$s für weitere Anleitung." +"Du kannst WP Rocket auf mehr Websites benutzen, wenn du ein Upgrade deiner " +"Lizenz durchführst. Um das zu tun, bezahle nur die%1$sPreisdifferenz%2$s " +"zwischen deiner jetzigen und neuen Lizenzen, wie unten zu sehen." -#: inc/deprecated/3.5.php:271 -msgid "Connection to Cloudflare failed" -msgstr "Keine Verbindung mit Cloudflare möglich" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/License/views/upgrade-popin.php:25 +msgid "" +"%1$sN.B.%2$s: Upgrading your license does not change your expiration date" +msgstr "" +"%1$sHinweis%2$s: Ein Upgrade deiner Lizenz ändert das Ablaufdatum nicht" -#: inc/deprecated/3.5.php:587 -#, php-format -msgid "WP Rocket: %s" -msgstr "WP Rocket: %s" +#. translators: %s = price. +#: inc/Engine/License/views/upgrade-popin.php:35 +msgid "Save $%s" +msgstr "$%s speichern" -#: inc/deprecated/3.5.php:592 -msgid "WP Rocket: Cloudflare cache successfully purged." -msgstr "WP Rocket: Cloudflare-Cache erfolgreich geleert." +#. translators: %s = number of websites. +#: inc/Engine/License/views/upgrade-popin.php:48 +msgid "%s websites" +msgstr "%s Websites" -#: inc/deprecated/DeprecatedClassTrait.php:54 -#, php-format -msgid "" -"The called class %1$s is deprecated since version %2$s! Use" -" %3$s instead." -msgstr "" -"Die aufgerufene Klasse %1$s ist veraltet seit Version %2$s!" -" Benutze %3$s stattdessen." +#. translators: %s = license name. +#: inc/Engine/License/views/upgrade-popin.php:54 +msgid "Upgrade to %s" +msgstr "Upgrade auf %s" -#: inc/deprecated/DeprecatedClassTrait.php:65 -#, php-format +#: inc/Engine/License/views/upgrade-section.php:11 msgid "" -"The called class %1$s is deprecated since version %2$s!" +"You can use WP Rocket on more websites by upgrading your license (you will " +"only pay the price difference between your current and new licenses)." msgstr "" -"Die aufgerufene Klasse %1$s ist veraltet seit Version %2$s!" +"Du kannst WP Rocket auf mehr Websites benutzen, wenn du ein Upgrade deiner " +"Lizenz durchführst (bezahle nur die Preisdifferenz zwischen deiner jetzigen" +" und neuen Lizenzen)-" -#: inc/deprecated/deprecated.php:240 -msgid "JS files with Deferred Loading JavaScript" -msgstr "JS-Dateien mit verzögert geladenem JavaScript" +#: inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php:45 +msgid "LazyLoad CSS backgrounds" +msgstr "LazyLoad für CSS-Hintergründe" -#: inc/deprecated/deprecated.php:293 -msgid "Add URL" -msgstr "URL hinzufügen" +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195 +msgid "Analytics & Ads" +msgstr "Analytics und Ads" -#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22 +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200 +msgid "Plugins" +msgstr "Plugins" + +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205 +msgid "Themes" +msgstr "Themes" + +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101 msgid "" -"Before you can upload your import file, you will need to fix the following " -"error:" +"You need an active license to get the latest version of the lists from our " +"server." msgstr "" -"Bevor du deine Einstellungsdatei importieren kannst, musst du den folgenden " -"Fehler korrigieren." +"Du benötigst eine aktive Lizenz, um die neueste Version der Listen von " +"unseren Servern zu erhalten." -#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35 -#, php-format -msgid "Choose a file from your computer (maximum size: %s)" -msgstr "Wähle eine Datei von deinem Computer (maximale Größe: %s)" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115 +msgid "Could not get updated lists from server." +msgstr "Konnte aktualisierte Listen nicht von Server abrufen." -#: inc/deprecated/deprecated.php:1385 -msgid "Your Cloudflare credentials are valid." -msgstr "Deine Cloudflare-Zugangsdaten sind gültig." +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124 +msgid "Lists are up to date." +msgstr "Listen sind aktuell." -#: inc/deprecated/deprecated.php:1389 -msgid "Your Cloudflare credentials are invalid!" -msgstr "Deine Cloudflare-Zugangsdaten sind ungültig." +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133 +msgid "Could not update lists." +msgstr "Konnte Listen nicht aktualisieren." -#: inc/deprecated/deprecated.php:1453 -msgid "Save and optimize" -msgstr "Speichern und optimieren" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142 +msgid "Lists are successfully updated." +msgstr "Listen wurden erfolgreich aktualisiert." -#: inc/deprecated/deprecated.php:1453 -msgid "Optimize" -msgstr "Optimieren" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:60 +msgid "Default Lists" +msgstr "Standardlisten" -#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666 -msgctxt "screen-reader-text" -msgid "Note:" -msgstr "Hinweis:" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:66 +msgid "Delay JavaScript Execution Exclusion Lists" +msgstr "JavaScript-Ausführung verzögern Exklusions-Listen" -#: inc/deprecated/deprecated.php:1470 -msgctxt "screen-reader-text" -msgid "Performance tip:" -msgstr "Performance-Tipp:" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:72 +msgid "Incompatible plugins Lists" +msgstr "Liste inkompatibler Plugins" -#: inc/deprecated/deprecated.php:1476 -msgctxt "screen-reader-text" -msgid "Third-party feature detected:" -msgstr "Drittanbieter-Funktion ermittelt:" +#. translators: %1$s = plugin name, %2$s = number of seconds. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224 +msgid "" +"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing " +"your pages." +msgstr "" +"%1$s: Bitte warte %2$s Sekunden. Der Unbenutztes-CSS-entfernen-Dienst " +"verarbeitet deine Seiten." -#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672 -msgctxt "screen-reader-text" -msgid "Warning:" -msgstr "Warnung:" +#. translators: %1$s = plugin name, %2$s = number of URLs, %3$s = number of +#. seconds. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:274 +msgid "" +"%1$s: The Used CSS of your homepage has been processed. WP Rocket will " +"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)." +msgstr "" +"%1$s: Das benutzte CSS deiner Homepage wurde verarbeitet. WP Rocket wird " +"benutztes CSS erzeugen für bis zu %2$s URLs pro %3$s Sekunde(n)." -#: inc/deprecated/deprecated.php:1501 -msgctxt "button text" -msgid "Download settings" -msgstr "Einstellungen herunterladen" +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283 +msgid "We suggest enabling %1$sPreload%2$s for the fastest results." +msgstr "" +"Wir empfehlen das Aktivieren von %1$sVorladen%2$s für die schnellsten " +"Ergebnisse." -#: inc/deprecated/deprecated.php:1531 -msgid "Replace site's hostname with:" -msgstr "Ersetze den Hostnamen der Seite mit:" +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:293 +msgid "To learn more about the process check our %1$sdocumentation%2$s." +msgstr "" +"Um mehr über den Ablauf zu erfahren, lies unsere %1$sDokumentation%2$s." -#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587 -#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41 -#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105 -msgid "reserved for" -msgstr "reserviert für" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:443 +msgid "" +"We couldn't generate the used CSS because you're using a nulled version of " +"WP Rocket. You need an active license to use the Remove Unused CSS feature " +"and further improve your website's performance." +msgstr "" +"Wir konnten das benutze CSS nicht erstellen, weil du eine nicht lizenzierte " +"Version von WP Rocket benutzt. Du benötigst eine aktive Lizenz, um die " +"Funktion Unbenutztes CSS entfernen benutzen zu können und die Leistung " +"deiner Website damit noch weiter zu steigern." -#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589 -#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44 -#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108 -msgid "All files" -msgstr "Alle Dateien" +#. translators: %1$s = promo percentage. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:446 +msgid "Click here to get a WP Rocket single license at %1$s off!" +msgstr "" +"Klicke hier, um eine Lizenz für WP Rocket mit %1$s Rabbatt zu erhalten!" -#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594 -#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56 -#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120 -msgid "Images" -msgstr "Bilder" +#. translators: %1$s = open tag, %2$s = closing tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:499 +msgid "" +"It seems a security plugin or the server's firewall prevents WP Rocket from " +"accessing the Remove Unused CSS generator. IPs listed %1$shere in our " +"documentation%2$s should be added to your allowlists:" +msgstr "" +"Scheinbar verhindert ein Sicherheitsplugin oder die Firewall des Servers, " +"dass WP Rocket auf den Generator zur Entfernung von unbenutztem CSS " +"zugreifen kann. Die %1$shier in unserer Dokumentation%2$s aufgelisteten IPs " +"sollten zugänglich gemacht werden:" -#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132 -msgid "Add CNAME" -msgstr "CNAME hinzufügen" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:504 +msgid "- In the security plugin, if you are using one" +msgstr "- Im Sicherheitsplugin, falls du eines benutzt" -#: inc/deprecated/deprecated.php:1706 -msgid "Watch the video" -msgstr "Video ansehen." +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:505 +msgid "- In the server's firewall. Your host can help you with this" +msgstr "- In der Firewall des Servers. Dein Hoster kann dir dabei helfen" -#: inc/deprecated/deprecated.php:1771 -msgid "Basic" -msgstr "Basis" +#. translators: %1$s = plugin name, %2$s = table name, %3$s = open tag, +#. %4$s = closing tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:545 +msgid "" +"%1$s: Could not create the %2$s table in the database which is necessary for" +" the Remove Unused CSS feature to work. Please reach out to %3$sour " +"support%4$s." +msgstr "" +"%1$s: Die Datenbanktabelle %2$s konnte nicht erstellt werden, welche " +"notwendig ist für die Funktion zum Entfernen von unbenutztem CSS. Bitte " +"wende dich an %3$sunseren Support%4$s." -#: inc/deprecated/deprecated.php:1772 -msgid "Static Files" -msgstr "Statische Dateien" +#. translators: %1$s = plugin name. +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:314 +msgid "%1$s: Used CSS option is not enabled!" +msgstr "%1$s: Option für benutztes CSS ist nicht aktiv!" + +#. translators: %1$s = plugin name. +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:336 +msgid "%1$s: Used CSS cache cleared!" +msgstr "%1$s: Cache für benutztes CSS geleert!" + +#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:787 +msgid "Clear Used CSS of this URL" +msgstr "Benutztes CSS für diese URL leeren" + +#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160 +msgid "WP Rocket Remove Unused CSS pending jobs" +msgstr "WP-Rocket-Unbenutztes-CSS-entfernen ausstehende Jobs" -#: inc/deprecated/deprecated.php:1774 -msgid "Advanced" -msgstr "Erweitert" +#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174 +msgid "WP Rocket clear Remove Unused CSS failed jobs" +msgstr "WP Rocket - fehlgeschlagene Jobs für Unbenutztes CSS entfernen leeren" -#: inc/deprecated/deprecated.php:1944 -#, php-format +#. translators: %1$s = plugin name. +#: inc/Engine/Preload/Admin/Settings.php:57 msgid "" -"%1$s %2$s requires at least PHP %3$s to function properly. To use this " -"version, please ask your web host how to upgrade your server to PHP %3$s or " -"higher. If you are not able to upgrade, you can rollback to the previous " -"version by using the button below." +"%1$s: The preload service is now active. After the initial preload it will " +"continue to cache all your pages whenever they are purged. No further action" +" is needed." msgstr "" -"%1$s %2$s erfordert mindestens PHP %3$s, um korrekt zu funktionieren. Frage " -"dein Webhosting nach einer Aktualisierung der PHP-Version auf %3$s oder " -"höher auf deinem Server. Falls eine Aktualisierung nicht möglich ist, nutze " -"das Button, um auf eine frühere Version zurückzusetzen." +"%1$s: Der Dienst zum Vorladen ist jetzt aktiv. Nach dem ersten Vorladen wird" +" er all deine Seiten cachen, sobald sie bereinigt werden. Es ist keine " +"weitere Aktion erforderlich." + +#: inc/Engine/Preload/Cron/Subscriber.php:138 +msgid "WP Rocket Preload pending jobs" +msgstr "WP-Rocket-Vorladen ausstehende Jobs" + +#: inc/Engine/Preload/Cron/Subscriber.php:166 +msgid "WP Rocket Preload revert stuck failed jobs" +msgstr "WP-Rocket-Vorladen setzt steckengebliebene Jobs zurück" #: inc/functions/admin.php:21 msgid "" @@ -3749,11 +3556,13 @@ msgstr "Alle aktiven Einstellungen in WP Rocket" msgid "The provided license data are not valid." msgstr "Die angegebenen Lizenzdaten sind nicht gültig." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:432 -#, php-format msgid "To resolve, please %1$scontact support%2$s." msgstr "Bitte %1$skontaktiere den Support%2$s für eine Lösung." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:491 inc/functions/options.php:530 msgid "" "License validation failed. Our server could not resolve the request from " @@ -3762,8 +3571,9 @@ msgstr "" "Überprüfung der Lizenz fehlgeschlagen. Unser Server konnte die Anfrage von " "deiner Website nicht verarbeiten." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:491 -#, php-format msgid "" "Try clicking %1$sValidate License%2$s below. If the error persists, follow " "%3$sthis guide%4$s." @@ -3771,6 +3581,7 @@ msgstr "" "Versuche, %1$sLizenz prüfen%2$s unten anzuklicken. Falls der Fehler weiter " "besteht, folge %3$sdieser Anleitung%4$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 msgid "" "License validation failed. You may be using a nulled version of the plugin. " @@ -3779,26 +3590,29 @@ msgstr "" "Überprüfung der Lizenz fehlgeschlagen. Du benutzt möglicherweise eine " "„nulled“ Version des Plugins. Bitte tue folgendes:" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 -#, php-format msgid "Login to your WP Rocket %1$saccount%2$s" msgstr "Melde dich auf deinem WP-Rocket-%1$sKonto%2$s an" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 msgid "Download the zip file" msgstr "zip-Datei herunterladen" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 msgid "Reinstall" msgstr "Neu installieren" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 -#, php-format msgid "" "If you do not have a WP Rocket account, please %1$spurchase a license%2$s." msgstr "" "Falls du noch kein WP-Rocket-Konto hast, %1$skaufe bitte eine Lizenz%2$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:515 msgid "" "License validation failed. This user account does not exist in our database." @@ -3806,21 +3620,24 @@ msgstr "" "Überprüfung der Lizenz fehlgeschlagen. Dieses Benutzerkonto existiert nicht " "in unserer Datenbank." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:515 msgid "To resolve, please contact support." msgstr "Bitte kontaktiere den Support für eine Lösung." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:523 msgid "License validation failed. This user account is blocked." msgstr "Lizenzprüfung fehlgeschlagen. Dieses Benutzerkonto ist gesperrt." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:523 -#, php-format msgid "Please see %1$sthis guide%2$s for more info." msgstr "Lies bitte %1$sdiese Anleitung%2$s für weitere Informationen." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:530 -#, php-format msgid "" "Try clicking %1$sSave Changes%2$s below. If the error persists, follow " "%3$sthis guide%4$s." @@ -3828,22 +3645,26 @@ msgstr "" "Versuche %1$sÄnderungen speichern%2$s unten anzuklicken. Falls der Fehler " "weiter besteht, folge %3$sdieser Anleitung%4$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:543 msgid "Your license is not valid." msgstr "Deine Lizenz ist nicht gültig." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:543 -#, php-format msgid "Make sure you have an active %1$sWP Rocket license%2$s." msgstr "Stelle sicher, dass du eine aktive %1$sWP-Rocket-Lizenz%2$s hast." +#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s = +#. opening link tag. #: inc/functions/options.php:545 msgid "You have added as many sites as your current license allows." msgstr "" "Du hast so viele aktive Websites hinzugefügt, wie es deine Lizenz erlaubt." +#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s = +#. opening link tag. #: inc/functions/options.php:545 -#, php-format msgid "" "Upgrade your %1$saccount%2$s or %3$stransfer your license%2$s to this " "domain." @@ -3851,51 +3672,298 @@ msgstr "" "Führe ein Upgrade für dein %1$sKonto%2$s durch oder %3$sübertrage deine " "Lizenz%2$s zu dieser Domain." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:547 msgid "This website is not allowed." msgstr "Diese Domain ist nicht erlaubt." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:547 -#, php-format msgid "Please %1$scontact support%2$s." msgstr "%1$sKontaktiere bitte den Support%2$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:549 msgid "This license key is not recognized." msgstr "Dieser Lizenzschlüssel wird nicht erkannt." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:549 -#, php-format msgid "If the issue persists, please %1$scontact support%2$s." msgstr "" "Falls das Problem weiter besteht, %1$skontaktiere bitte den Support%2$s." +#. Translators: %s = error message returned. #: inc/functions/options.php:555 -#, php-format msgid "License validation failed: %s" msgstr "Prüfung der Lizenz fehlgeschlagen: %s" -#: inc/vendors/classes/class-imagify-partner.php:531 -msgid "Plugin installed successfully." -msgstr "Plugin erfolgreich installiert." +#: inc/Logger/Logger.php:260 inc/Logger/Logger.php:292 +msgid "The log file does not exist." +msgstr "Es existiert keine Protokolldatei." + +#: inc/Logger/Logger.php:266 inc/Logger/Logger.php:298 +msgid "The log file could not be read." +msgstr "Die Protokolldatei konnte nicht gelesen werden." + +#: inc/Logger/Logger.php:285 +msgid "The logs are not saved into a file." +msgstr "Das Protokoll wurde nicht in eine Datei gespeichert." + +#. Translators: %s = Hosting name. +#: inc/ThirdParty/Hostings/Cloudways.php:82 +msgid "" +"Varnish auto-purge will be automatically enabled once Varnish is enabled on " +"your %s server." +msgstr "" +"Varnish-Auto-Leeren wird automatisch aktiviert, sobald Varnish auf deinem %s" +" Server aktiviert ist." + +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/ThirdParty/Hostings/Kinsta.php:158 +msgid "" +"Your installation seems to be missing core Kinsta files managing Cache " +"clearing, which will prevent your Kinsta installation and WP Rocket from " +"working correctly. Please get in touch with Kinsta support through your " +"%1$sMyKinsta%2$s account to resolve this issue." +msgstr "" +"In deiner Installation fehlen scheinbar Kinsta-Core-Dateien für das Löschen " +"des Caches. Dies verhindert das reibungslose Zusammenspiel zwischen Kinsta " +"und WP Rocket. Kontaktiere bitte den Support bei Kinsta über dein " +"%1$sMyKinsta%2$s-Konto, um dieses Problem zu lösen." + +#. translators: %1$s = plugin name. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:125 +msgid "" +"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of " +"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it." +msgstr "" +"%1$s: HTTP/2 Server Push von Cloudflare ist mit den Funktionen zum Entfernen" +" unbenötigten CSS und dem Zusammenfassen von CSS-Dateien nicht kompatibel. " +"Wir empfehlen dringend, es zu deaktivieren." + +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:168 +msgid "" +"Your site is using the official Cloudflare plugin. We have enabled " +"Cloudflare auto-purge for compatibility. If you have APO activated, it is " +"also compatible." +msgstr "" +"Deine Website benutzt das offizielle Cloudflare-Plugin. Wir haben das " +"automatische Leeren für Cloudflare aus Kompatibilitätsgründen aktiviert. " +"Wenn du APO aktiviert hast, ist es auch kompatibel." + +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169 +msgid "" +"Cloudflare cache will be purged each time WP Rocket clears its cache to " +"ensure content is always up-to-date." +msgstr "" +"Der Cloudflare-Cache wird jedes Mal geleert, wenn WP Rocket seinen Cache " +"leert, damit Inhalte immer auf dem neuesten Stand sind." + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:213 +msgid "" +"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO " +"is not yet compatible with that feature." +msgstr "" +"%1$sWP Rocket:%2$s Du nutzt den „Dynamischen Cookie-Cache\". Cloudflare-APO " +"ist derzeit nicht mit dieser Funktion kompatibel." + +#. Translators:%1$s = opening tag, %2$s = closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:219 +msgid "" +"You should either disable Cloudflare APO or check with the theme/plugin " +"requiring the use of “Dynamic Cookies Cache” developers for an alternative " +"way to be page-cache friendly. %1$sMore info%2$s" +msgstr "" +"Du solltest Cloudflare-APO entweder deaktivieren oder dich beim Anbieter des" +" Themes/Plugins, das „Dynamischen Cookie-Cache“ erfordert nach alternativen " +"Methoden erkundigen, das Caching von Seiten zu ermöglichen. %1$sMehr " +"erfahren%2$s" + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag, %3$s = +#. opening tag, %4$s = closing tag, %5$s = opening tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:270 +msgid "" +"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile " +"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on " +"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s" +msgstr "" +"%1$sWP Rocket:%2$s Du benutzt die Funktion „Separater Cache für mobile " +"Geräte“. Damit die richtige Version des Caches ausgeliefert wird, musst du " +"die %3$sEinstellung%5$s „Cache nach Gerätetyp“ bei der Cloudflare-APO " +"aktivieren. %4$sMehr erfahren%5$s" + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:291 +msgid "" +"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare " +"APO. If you judge it necessary for the website to have a different cache on " +"mobile and desktop, we suggest you enable our “Separate Cache Files for " +"Mobiles Devices” to ensure the generated cache is accurate." +msgstr "" +"%1$sWP Rocket:%2$s Du hast „Cache nach Gerätetyp“ bei der Cloudflare-APO " +"aktiviert. Falls du es für die Website für notwendig hältst, verschiedene " +"Caches für Mobilgeräte und Desktop zu haben, schlagen wir vor, „Separater " +"Cache für mobile Geräte“ zu aktivieren, um sicherzustellen, dass der Cache " +"korrekt erzeugt wird." + +#. translators: %1$s is WP Rocket plugin name, %2$s is opening tag, %3$s +#. is closing tag. +#: inc/ThirdParty/Plugins/ModPagespeed.php:102 +msgid "" +"%1$s: Mod PageSpeed is not compatible with this plugin and " +"may cause unexpected results. %2$sMore Info%3$s" +msgstr "" +"%1$s: Mod PageSpeed ist mit diesem Plugin nicht kompatibel " +"und könnte unerwartete Ergebnisse verursachen. %2$sMehr erfahren%3$s" + +#. Translators: %1$s is an opening tag; %2$s is a closing +#. tag +#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:75 +msgid "" +"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript " +"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will " +"not be applied to the file it creates. We suggest disabling %1$sJavaScript " +"Aggregation%2$s to take full advantage of Delay JavaScript Execution." +msgstr "" +"%1$sWP Rocket:%2$s Wir haben festgestellt, dass die Autoptimize-Funktion zum" +" Zusammenführen von JavaScript aktiviert ist. WP Rocket's verzögerte " +"Javascript-Ausführung wird nicht auf die erstellte Datei angewendet. Wir " +"empfehlen, o.g. %1$sJavaScript-Zusammenführung%2$s zu deaktivieren, um alle " +"Vorteile der verzögerten JavaScript-Ausführung zu erhalten." + +#. Translators: %1$s is an opening tag; %2$s is a closing +#. tag +#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:130 +msgid "" +"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS " +"feature is enabled. WP Rocket's Load CSS Asynchronously will not work " +"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full " +"advantage of Load CSS Asynchronously Execution." +msgstr "" +"%1$sWP Rocket:%2$s Wir haben festgestellt, dass die Autoptimize-Funktion zum" +" Zusammenführen von Inline-CSS aktiviert ist. Das asynchrone Laden durch WP-" +"Rocket wird nicht korrekt funktionieren. Wir empfehlen, o.g. " +"%1$sZusammenführung von Inline-CSS%2$s zu deaktivieren, um alle Vorteile der" +" asynchronen CSS-Ausführung durch WP Rocket voll auszuschöpfen." + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45 +msgid "" +"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and " +"use %1$sEzoic's nameserver integration%2$s instead." +msgstr "" +"Dieses Plugin blockiert das Caching und die Optimierungen von WP Rocket. " +"Deaktivieren Sie es und verwenden Sie stattdessen die %1$sNameserver-" +"Integration von Ezoic%2$s." + +#. Translators: %s = Plugin name. +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78 +msgctxt "Hummingbird notice" +msgid "" +"Please deactivate the following %s option which conflicts with WP Rocket " +"features:" +msgid_plural "" +"Please deactivate the following %s options which conflict with WP Rocket " +"features:" +msgstr[0] "" +"Bitte deaktiviere die folgende %s Option, die mit Funktionen von WP Rocket " +"kollidert:" +msgstr[1] "" +"Bitte deaktiviere die folgenden %s Optionen, die mit Funktionen von WP " +"Rocket kollideren:" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s" +msgstr "" +"%1$s %2$sdisable emoji%3$s kollidiert mit WP Rockets %2$sdisable emoji%3$s" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP " +"compression%3$s" +msgstr "" +"%1$s %2$sGZIP-Komprimierung%3$s kollidiert mit WP Rocket %2$sGZIP-" +"Komprimierung%3$s" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser " +"caching%3$s" +msgstr "" +"%1$s %2$sBrowser-Caching%3$s kollidiert mit WP Rocket %2$sBrowser-" +"Caching%3$s" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s" +msgstr "" +"%1$s %2$sSeiten-Caching%3$s kollidiert mit WP Rocket %2$sSeiten-Caching%3$s" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile " +"optimization%3$s" +msgstr "" +"%1$s %2$sasset optimization%3$s kollidiert mir WP Rockets %2$sDatei-" +"Optimierung%3$s" + +#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38 +msgid "" +"Remove Unused CSS is currently activated in Perfmatters. If you want to use " +"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters." +msgstr "" +"Unbenutztes-CSS-entfernen ist derzeit in Perfmatters aktiv. Falls du die " +"Funktion Unbenutztes-CSS-entfernen von WP Rocket benutzen willst, " +"deaktiviere diese Option in Perfmatters." + +#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39 +msgid "" +"Automated unused CSS removal is currently activated in RapidLoad Power-Up " +"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, " +"disable the RapidLoad Power-Up for Autoptimize plugin." +msgstr "" +"Automatisiertes Entfernen von unbenutzem CSS ist derzeit in RapidLoad Power-" +"Up for Autoptimize aktiviert. Falls du die Funktion Unbenutztes-CSS-" +"entfernen von WP Rocket benutzen willst, deaktiviere das Plugin RapidLoad " +"Power-Up for Autoptimize." -#: inc/vendors/classes/class-imagify-partner.php:532 -msgid "Sorry, you are not allowed to install plugins on this site." +#. translators: %1$s = plugin name. +#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42 +msgid "" +"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s " +"delay JS, disable %1$s" msgstr "" -"Du hast leider keine Berechtigung, Plugins auf dieser Website zu " -"installieren." +"JS verzögern ist momentan in %1$s aktiviert. Wenn du das Verzögern von JS " +"von WP Rocket benutzen willst, deaktiviere %1$s" -#: inc/vendors/classes/class-imagify-partner.php:533 -msgid "Sorry, you are not allowed to do that." -msgstr "Du hast leider keine Berechtigung, das zu tun." +#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126 +msgid "Smush" +msgstr "Smush" -#: inc/vendors/classes/class-imagify-partner.php:534 -msgid "Plugin install failed." -msgstr "Plugin-Installation fehlgeschlagen." +#: inc/ThirdParty/Themes/Avada.php:116 +msgid "Avada" +msgstr "Avada" -#: inc/vendors/classes/class-imagify-partner.php:535 -msgid "Go back" -msgstr "Zurück gehen" +#: inc/ThirdParty/Themes/Divi.php:315 +msgid "" +"Your Divi template was updated. Clear the Used CSS if the layout, design or " +"CSS styles were changed." +msgstr "" +"Dein Dici-Template wurde aktualisiert. Leere das benutze CSS, falls das " +"Layout, Design oder CSS-Stile geändert wurden." #: views/cpcss/activate-cpcss-mobile.php:13 msgid "Load CSS asynchronously for mobile" @@ -3915,9 +3983,9 @@ msgstr "" "Klicke den Button, um spezifisches CPCSS für Mobilgeräte für deine Website " "zu aktivieren." +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/activate-cpcss-mobile.php:20 #: views/settings/enable-google-fonts.php:19 -#, php-format msgid "" "This is a one-time action and this button will be removed afterwards. " "%1$sMore info%2$s" @@ -3925,8 +3993,8 @@ msgstr "" "Dies ist eine einmalige Aktion und dieser Button wird danach entfernt. " "%1$sMehr erfahren%2$s" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/activate-cpcss-mobile.php:30 -#, php-format msgid "" "Your site is now using mobile-specific critical path CSS. %1$sMore info%2$s" msgstr "" @@ -3941,15 +4009,15 @@ msgstr "Spezifisches CPCSS für Mobilgeräte erzeugen" msgid "Critical Path CSS" msgstr "Kritischer-CSS-Pfad" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/metabox/generate.php:23 -#, php-format msgid "Generate specific Critical Path CSS for this post. %1$sMore info%2$s" msgstr "" "Spezifischen Kritischen-CSS-Pfad für diesen Beitrag erzeugen. %1$sMehr " "erfahren%2$s" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/metabox/generate.php:33 -#, php-format msgid "This post uses specific Critical Path CSS. %1$sMore info%2$s" msgstr "" "Dieser Beitrag benutzt einen spezifischen Kritischen-CSS-Pfad. %1$sMehr " @@ -3972,8 +4040,8 @@ msgstr "" "gibt. Die meisten Probleme können behoben werden, indem nur einige Optionen " "deaktiviert werden." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:29 -#, php-format msgid "" "Our advice? Instead of deactivating WP Rocket, use our %1$sSafe Mode%2$s to " "quickly disable LazyLoad, File Optimization, and CDN options. Then check to " @@ -3989,13 +4057,13 @@ msgstr "" "Möchtest du unseren abgesicherten Modus benutzen, um Probleme mit WP Rocket " "zu untersuchen?" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:55 -#, php-format msgid "Yes, apply \"%1$sSafe Mode%2$s\"" msgstr "Ja, „%1$sAbgesicherten Modus%2$s“ starten" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:68 -#, php-format msgid "" "and export WP Rocket settings %1$s(Recommended as current settings will be " "deleted)%2$s" @@ -4031,12 +4099,25 @@ msgstr "Abbrechen" msgid "Confirm" msgstr "Bestätigen" +#. translators: %1$s = , %2$s = plugin version, %3$s = , %4$s +#. = , %5$s = , %6$s = . +#: views/plugins/update-renewal-expired-notice.php:27 +msgid "" +" %1$sWP Rocket %2$s%3$s is available. %4$sLearn more%5$s about the updates " +"and enhancements of this major version. You need an active license to use " +"them on your website, don’t miss out! %6$sRenew Now%5$s" +msgstr "" +" %1$sWP Rocket %2$s%3$s ist verfügbar. %4$sMehr erfahren%5$s über die " +"Updates und Verbesserungen dieser Hauptversion. Du benötigst eine aktive " +"Lizenz, um sie auf deiner Website einsetzen zu können, verpass es nicht! " +"%6$sJetzt erneuern%5$s" + #: views/settings/dynamic-lists-update.php:14 msgid "Update Inclusion and Exclusion Lists" msgstr "Inklusions- und Exklusions-Listen aktualisieren" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/settings/dynamic-lists-update.php:19 -#, php-format msgid "" "Compatibility lists are downloaded automatically every week. Click the " "button if you want to update them manually. %1$sMore info%2$s" @@ -4061,8 +4142,8 @@ msgstr "" "Verbessert die Leistung von Fonts und kombiniert mehrere Font-Anfragen, um " "die Anzahl von HTTP-Anfragen zu verringern." +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/settings/enable-google-fonts.php:29 -#, php-format msgid "" "Google Fonts Optimization is now enabled for your site. %1$sMore info%2$s" msgstr "" @@ -4110,11 +4191,12 @@ msgstr "Einstellungen bearbeiten" msgid "CDN CNAME" msgstr "CDN CNAME" +#. translators: %s is a "Learn more" link. #: views/settings/fields/rocket-cdn.php:62 -#, php-format msgid "Purges RocketCDN cached resources for your website. %s" msgstr "Leert von RocketCDN gecachte Ressourcen für deine Website. %s" +#. translators: %s is a "Learn more" link. #: views/settings/fields/rocket-cdn.php:63 #: views/settings/page-sections/cloudflare.php:36 #: views/settings/page-sections/sucuri.php:37 @@ -4129,12 +4211,13 @@ msgstr "Alle RocketCDN Cache-Dateien löschen" msgid "Cloudflare Cache" msgstr "Cloudflare Cache" +#. translators: %s is a "Learn more" link. #: views/settings/page-sections/cloudflare.php:35 #: views/settings/page-sections/sucuri.php:36 -#, php-format msgid "Purges cached resources for your website. %s" msgstr "Löscht alle von Cloudflare gecachten Dateien deiner Website. %s" +#. translators: %s is a "Learn more" link. #: views/settings/page-sections/cloudflare.php:36 msgid "https://support.cloudflare.com/hc/en-us/articles/200169246" msgstr "https://support.cloudflare.com/hc/en-us/articles/200169246" @@ -4156,7 +4239,6 @@ msgid "Your website should be loading faster now!" msgstr "Deine Website sollte jetzt schneller laden!" #: views/settings/page-sections/dashboard.php:44 -#, php-format msgid "" "To guarantee fast websites, WP Rocket automatically applies 80% of web " "performance best practices." @@ -4244,8 +4326,9 @@ msgstr "Eine Datenbank-Optimierung kann nicht rückgängig gemacht werden." msgid "Save Changes and Optimize" msgstr "Änderungen speichern und optimieren" +#. Translators: %1$s = , %2$s = , %3$s = , %4$s = . #: views/settings/page-sections/imagify.php:21 -#, php-format msgid "" "%1$sWP ROCKET%2$s created %3$sIMAGIFY%4$s %1$sfor best-in-class image " "optimization.%2$s" @@ -4285,15 +4368,16 @@ msgstr "Imagify installieren" msgid "WP Rocket was not able to automatically validate your license." msgstr "WP Rocket konnte deine Lizenz nicht automatisch überprüfen." +#. translators: %1$s = tutorial URL, %2$s = support URL. #: views/settings/page-sections/license.php:29 -#, php-format msgid "Follow this %1$s, or contact %2$s to get the engine started." msgstr "" "Folge diesem %1$s oder kontaktiere %2$s, um die Maschine zum Laufen zu " "bringen." +#. translators: %1$s = , %4$s = . #: views/settings/page-sections/license.php:32 -#, php-format msgid "%1$s%2$s%3$stutorial%4$s" msgstr "%1$s%2$s%3$sTutorial%4$s" @@ -4305,8 +4389,9 @@ msgstr "" "https://de.docs.wp-rocket.me/article/534-probleme-mit-lizenz-validierung-" "beheben/?utm_source=wp_plugin&utm_medium=wp_rocket" +#. translators: %1$s = , %4$s = . #: views/settings/page-sections/license.php:40 -#, php-format msgid "%1$s%2$s%3$ssupport%4$s" msgstr "%1$s%2$s%3$sSupport%4$s" @@ -4314,18 +4399,19 @@ msgstr "%1$s%2$s%3$sSupport%4$s" msgid "Clear all Sucuri cache files" msgstr "Alle Sucuri-Cache-Dateien leeren" +#. translators: %1$s = formatted file size, %2$s = formatted number of entries +#. (don't use %2$d). #: views/settings/page-sections/tools.php:20 -#, php-format msgid "Files size: %1$s. Number of entries: %2$s." msgstr "Dateigröße: %1$s. Anzahl Einträge: %2$s." +#. translators: %1$s = opening tag, %2$s = closing tag. #: views/settings/page-sections/tools.php:23 -#, php-format msgid "%1$sDownload the file%2$s." msgstr "%1$sDie Datei herunterladen%2$s." +#. translators: %1$s = opening tag, %2$s = closing tag. #: views/settings/page-sections/tools.php:26 -#, php-format msgid "%1$sDelete the file%2$s." msgstr "%1$sDie Datei löschen%2$s." @@ -4345,13 +4431,13 @@ msgstr "Einstellungen herunterladen" msgid "Rollback" msgstr "Wiederherstellung" +#. translators: %s = WP Rocket version number. #: views/settings/page-sections/tools.php:64 -#, php-format msgid "Has version %s caused an issue on your website?" msgstr "Hat Version %s ein Problem auf deiner Website verursacht?" +#. translators: %s =
    . #: views/settings/page-sections/tools.php:69 -#, php-format msgid "" "You can rollback to the previous major version here.%sThen send us a support" " request." @@ -4359,8 +4445,8 @@ msgstr "" "Du kannst hier auf die vorherige Version zurückwechseln.%sSende uns dann " "eine Supportanfrage." +#. translators: %s = WP Rocket previous version. #: views/settings/page-sections/tools.php:80 -#, php-format msgid "Reinstall version %s" msgstr " Version %s wiederherstellen" @@ -4440,8 +4526,8 @@ msgstr "Cloudflare Add-on einrichten" msgid "WP Rocket Settings" msgstr "WP Rocket Einstellungen" +#. translators: %s = Plugin version number. #: views/settings/page.php:30 -#, php-format msgid "version %s" msgstr "Version %s" @@ -4449,8 +4535,8 @@ msgstr "Version %s" msgid "Show Sidebar" msgstr "Seitenleiste einblenden" +#. translators: %1$s = , %2$s = . #: views/settings/page.php:82 -#, php-format msgid "" "Below is a detailed view of all data WP Rocket will collect %1$sif granted " "permission.%2$s" @@ -4518,7 +4604,7 @@ msgstr "Personalisierter Cache ist nicht aktiviert." msgid "" "Use a private browser to check your website's speed and visual appearance." msgstr "" -"Nutze ein privates Browser-Fenster, um Geschwindigkeit und visuelles " +"Nutze ein privates Browser-Fenster, um die Geschwindigkeit und das visuelle " "Erscheinungsbild deiner Website zu prüfen." #: views/settings/sections/addons-container.php:24 diff --git a/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.mo b/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.mo index ac287efb2bf3b42b2e46c28656e9a397345fd368..4fa1c62a06140bde11f436e1be5853fcdb7f7d75 100755 GIT binary patch delta 17714 zcmZwN2YgT0-@x&6BUX&qvEA4tV(%4uWY{aM5lKYIk^~XsXC_993Sz4kLG2(mMOBO1 zB=)A&8ZAoEKA-PB*Z=Xnp8tLIuI?hHw!s0P;CD=DODQt z7FX&+Hl^Ozlv1Uhw^Zt9e1S#qus3b-5~kwCR!S|#@YYIo#T;#v`V0G@8+K`{6uVTR zSQsbb2%L|6-l1}|Q)(FnE3gkXZLd@^rr_6Tc2KGe9>q#{2m4{pj(W#|Sdusa3*rLo zglRYyU*L9(ps+ETos}AZ0oaG*t371$7<|}Asj^tcSD$$^KcyPcuqQUhFHk;s5|3kb ze|;q{@FHKr&$%{G(ylW~y8&1c$Dk{&z}&bQW&gXeG#(lCFZ9-@*cV`tiN7nB3_Lgt$av*UeO zg!l});e8Ci_jn!q4Av*?s28LZ%U!iWxv~zJ7rWWz15k!$uw5T(*N;b;Gc!@Hd@dHn zmG~9zM43aqxe5>Lk8N-Umci3lSJwX%GO~kmA-YSw&?N4JuqDQ!3+_M}(nDBU)_*1$8Ov8F%cnr7-cbcCPh8Ko51PaY zwo5Ubct5&hwV_HCLmw=QgRv4$!seKUOat`*83olgjFrUk)mk!g0{Ms8J3^W5J}4&; ziZaGCQFgonxksr3xCUK@>l5CJQ;EOBuGpTllR1!zIdLOO5A8td+3(TOfXo9j(v_tn zbcGj6xj$CLX((O48KvuvV+Fj0RWMtm?immCBKAcO9E%k(4Qt^k`I{=r~=Adh`_u!38iOdqa64r zlmnf?UU&m#i0Y2kJ@FY9C5}KJbW9;*eE?-r+_3$C^@z*FTkBMHM^EBJl-Zt+CSF46 zk=H0)U1W^DvdVaixH&e$G6_okh`rGp&9T-pcBnuyawQSA30RCc2@By0loQ*A(lh6< z1pa2nImYSr?rvKfvr*p)r3c<qnuKsU!T!gJ)5${5s0R z;!l(vWt*tGygbT@wMCf=ldwLX#F}U@wdF)=V^?g7GMST6X8$}af*I(Ar_dqm^c|T> zSY@(a_kQS3Jk@rs?Fk%A`L7s)epB@1O~?MkMW*V9ObqTOK8?}?iPMx~I;j=d0*fW; z;#^BtDK%JX>AVOuPRhfr3> zEwpAemM6}aqEEOMMiY0!D!3OL;$6&+CFkoCHL(D(2ey$>XhueMI1y#+7on`rdnjl8 z3Z*ALpj=Uj1$s8uL%DDCLk}E+t#KY!!b_MR-=XZsWub0g2y+vc!vZo3s*zbiK@)Vr zEW5#dJAR6VDSwNFFkh;^0hw4-K8McO73IWxp(}=>7mmj2xE5vq=Wrli$D$lxHCv>w zush0_L?ZJ^?Ze{OfhAA`2cdM`NR)?2BFX{hU@u&SazcOM1l;lI^dyc(8T;iZU3(a1C{AEJUP3vbKiw+z z!I%%jZ4+##ub}^B>=shc1CJmluZpeY+YfF<8N=LP=^YkF83Heq@>bXYyP}*}63T&g zpq#)F+f0-(e~R+CH&_pIuA={?E1Ip+UDE?YiG#2ro$|RJbTjsDcn{gophf&VF&uYEH2>gGaSR2!@6=tCimRher7mDu0n^Ai5EXtMN!{)O7Uy+e3tGhwZ>S&ZM z8e_+^QMx!4r7KsX?BF2E{opK0k3B(|tj4!`(z&BAaW$-hqfqv<0!!n!m`m3G2{N+G z&Y=hXYFlih?z+}ki}G-6gUeBNa0g|b|AWk1m4A~yz$TRa?8RRA5VK>m&Ga(1#(a1g zt?&Q$$#kWl)E0dQ47bg|Aj+M#>gW9s97?e2NVB}e%N)pQqyq-%ABf_ z&T|6~VlAw?L-$-ibabR3j?5xFfWFv!r(PA`pmg0{9ENw%M8947K#{ilF)!sV8M-Ik zunci6lyZNR{eFfya2-mIZ^@wlWu2d(AO_uc>#m)TGFi5vOv+kFNFX1F&pS}9Na2j2Ro%iWmu`9BWR11_7ytj|>A4101ub0bEloMHs-7)_GrKE=f zF#tDUMa+Is-!ZG>c;Xc(U0wQ+{?eI_(Zs)FUrubmVLdrBzS9?Y1?9qCI>=NdQ~Zd& zl2*tts*YF>|Hgq>^Qi8!IoODJ9rnRHSOFU!leNTa7&gNjSQ<-yuV1+uVjbd9I2hNX zH#+hj*R$0RWk+MMAuh-4cnPHoub~XdLzDx(#R53y2R)l-qMX*F1io^v~) zzx~Ew38}~2va2U#WJj+s59at$-+&6CbaiQzNz@9Z-XCT81fb0Jp;!)gVQsvOoiW!> z`ow!+5#j+T$BD(9I2GmhCzVV_uIMq!nGZdw-(KUaqOb-|Mj4{5C_S3%XRSB3Adbg&a^MUyGw=h-6(*h0kKq(7PMn5rco_3zCc5Gy z?0|n^7`8mCU&GfU!>e+h{~ujj@cloKs`feUvhQ=3cmj3_VgA8{z9;^yg|mVJL`wup<8U8?WP7@Tu;hhR>MjeEt%evhXfE*IoJ&3sd3x zf}hl|0&d6KSc)B_{K4xM@s>aNFt&Kfl~7*fm0tJmuUSr%_rMffjB2;nV@>@?{2GtH*Igai5EiLtP_tqlmupJw**`xs)tsSif+zLz%5}uoN!Cs<<1y@ebC<@@|IpJ)kej zB%XsFcobl8=(x*W|RYGU^Hf-?6?Qol@06G=!pqbOvOg{FLuO6RSfHE^dxLXycO%>?zZBg3$ptp8*(kyPA7d20Dp*B|VQm59fn+&EUET;XnX#h+2G{3bTV zTpoG|+oBioP&|&QC_OO1Q=h;Hlp&deEjYf~My54B$MIOVhGE_5wxLWGZ!i6UA5bRS zFDNJGR#RVbbCkz#1lGnR+>d*Z>7ho|((M=4Hq<-H_oEzVcOBNhCz%G!EV=R^lrD-y zDNn`-+=J4kRk%&c2{gm5I1B@DA4=C3t8ZA}klLe+^-PrVeOM8nU~??cK)3U6!1|Zj zK97P9_&r8pzJ_`hkH>i8Kd}{tH_~Um8K)9^Hr98#Z8(~^VH4f;TTl*k)3$U|!}@2r z0BlM57CeB@nmY8EZE9v%&;Rq7NyS@~b$hu4$+iJ^W9I>M|8R?R>C|CRtO>}Cf$G!r}-1rh@ zESF&eJZ0BsYp+ji1a_zVCzQ!trh{Sqo9`fOL%bAawcNsnn7boA%KTHU$oNp;)R`L* zv(+Ev%o2QbS3g5n;`b;$mDg8~u?NZy1F$_#wd0d07xW6{K2hIK_e2<)#151m`wFYb z`rk`tCk1!094_+L2ilD?>8_w0phOqLdiNWI{={QZX8BLJ3E$yZT+hpbEYC{a^ac2! z3{_v01BaswQ6g64_-YFo>9UI`v)`?|p}xW-lp9CY9)|VBqbar}_Os)8C_}Ou>*GZn zjxIe7H3mmvCwz`wut_gHnP*}&@k(^$Ayc5YVSQyPjk2Rqlx4RZ2Vt>3dU=kwlpr@VU$g-s3R@ zL;4%mSFe*O>osVAE_WZOmuV8ZF=qx1GSqGA;{)|r_ZzIoItqEnsJU1Mmtz6kXV;$^ z?9lh_-zjK8MYSNq`ld4!?-9EN8)^x@Ls{1gL-g!DhV6*oqb#e|L-gwDhBEdMC_Rya z7w|c5=Ce^I&qkCJIgT>6 zFVO>AL>TG;4zukVshpvFraDf>pkM*M?t^0;U& zcn6k{+4hW#jA8BseFDX8>tJ!peX%TO9)kIZr;gP(q$ z=)l~>>#-uHV^PdR>-+yxGF>UCH(rm`G+ax(7^|cA1iho-IGK0>R_27{ zoQpEc_o7Tj=b45wIiXp&oOt6bJrtdj_0R>Nyne@_JI+F1++_PVO3!roLNC|;U(kip zMPn$C$+sBg1kzDv{WUC)?Plu_4#jVYC!maV^*Q>M8j7+k$KeXxfQzuxTz#OsC`0oP z%DunBmwL#39b}|pIm%P+2+9eaM>*3!P);D%Jj42?8Ne#SC+z$s~gZcW_ zn~L(#d5u%hWr21!&Lb|gP)}0F8ZzA|c#MOvNveLREXDf7CsBsNSfrPc2g->JLlY;W zEYnpeUEXZ5UXBB>H}PDQA$Wuxu-+2=kQ#>^*P$MhsZ2$arTR`6h%zS}*c?-FC|*M8 zp%%+@m-?eD$6+W#7mxBdo`-UOIEwP3@(AU=Pe1U$UKP*1Vtx2*q*WV|-&NtA7qVf`9@8>K5dY}SwCcr3vV-=K_j zp{@EEun8lGAK-TEu}!av9NYDYx3S%UCiRul_3CPmHHjnBS^rY8f`VW?ggLO{4n4~~ zFp9VvO4ojevdnyT>MpvcM5*IwE zUr>HPdHSt8q`$blaFFqE;vb0*>n{1`h`t|OK)JFvSR3mcwSNP`##~7Z`cuB~n4uoy zJM_l;-|OX7>A3z4=}VMn$a}ntResPz<8ngZq8($&jGKgW642lT(@^dk>rd$eUBFOcr_;K}hhZmK{|RJvQ*q38 z{LlJI8l2G&kJ0Ew{S1`*!fuoUpGCO^-$D~hpVc z$`H1`qU+*9%^S{D)HCoj!ho1{$;s*{z%`` zXCj|bYw-yt|6-^gSRL^M^3}@wslEa2$L!SidB!ru{?85T{~s9tLU;K&+(`Qxf9T15 z6>kyu{8PUP)q82ENyOV;I`kc`?kmIk4LBVKQ}Ot4BLz3UeqY>y2nUP9}CXoUE77B$S~#g0f0Zqs)ctSQTHQ?5~WIllAky zqcRz3=!FHaIm%4^s9G@Rkw+d@w+Qrr@TTkj1k@`~C9p%Y4 z(cZVTn@y63)D;QXT2kla#QKXOBVF?=>6z5n8&65qpB>5OM?Q|!lQfUAL6phcjBGxX zm7y%aZY#ZYfc#p@+mYWajo5CIKBN3g%9+=yHTigl{UKJ6^{r z(h2gcMC;#$$y%EX-8tHJr@SA^E%yMaJ!up1QIyv>+3M1UTdulJc?5ac7>QPGfDT!*QC6tRm+b~ zlbk0v?O=4)I-n;N9G#H~=aS>&zjpGiix4YoOG@Yv2bB_Bv# z30!8ENn5#X%k~Fp_9x|5q5UU?@*{k1nq7a5ylk~_6)u&V?_X9CJI6*e{K;-CuU+kE zSeVLOCD@9qPMx^1CkEi@IEJ_+h%1!x8%5KQ@^Ui5)Q~6ub z&QHNt#5-{{R<>I3qk&yNl(+?HG&@P8Y`tCohByytq}^_ytyI6GT(+L1j&|Pa|G@+U zDLiR6J}a&4?Hq=ZZqlYBerj(FGI1w~hp8HBmzBh!#0~A( zag0n?JJ^Basf=MqJeSlV(x=-O#3`iNq+O)NRPuJEdhxlvq>bc1ZhzbP>vq8k>i@FK znv<7pn2dkC&RajRNVcyXH?te_z*411$0>h`S@wsE+wFuVq@|=7>MBS9TNEk5-bXU| zeALO87Z=L9;pezg*53&#@=|b-f|lqjb9#!C{z0Zk{g+HC1@aaA2#v3kFM`{U*E#hg zN#2ZPD??s3dHemi{Y=|a1Y7MoDL+No_oT6u{U!w{FRWuIdqC<%-k)SmoIQAw!lR@! zB-y%?4p}*7v|W}1=TcUN^gF3NJD6#=S%-Vjsbc_7Qt%?1?4*15-OI>dJAc^Gp=A{mNQujG!U5O9bZGI=;fb=WrZ|ZuHWD6nv zNSp6v{1=cpOoJfof|YSP4ep^2W~1yf9z)r_p#0-Dm@@g|@^Kq(XNuq$JOA2t1#J(K zrV&5H!gzx3AL<#w7XJtLOY#*ce?VGJawaZ~vc1D3+Po#@v`^+&JWX9Td~UU3 z(qc9HGYjxGadQkLZMQ#nTi*Z1QW0-Aj36#VT$=Qn{282r-{4EyOt#wBmoGZjR*t{bsJoAa(6q~Ylg}VIrt`<2lu3ihxQ$evMq^R7_Sn?Ue<1E{mGUA< z*#x`%roGdGwjr2{G=#Qw@F4BJBY%PX$8C$wJ5)(Bm1t0qnz|%U@-0anDX&TTnKBn* z`J(AbK9&3qd_sJOyliVo`H1&Pdy;Gc_#O52>^4$Xz^-%098zGdKiKj~qpzr(O8S=a zjij!mr}hU&+peW-1orPi4_) z8p)RwO~VQJi1JdpiCRs3l=LNavOOR<5$7kpAoZa9l3geDp_Dx*wXn-tQMQd#z>X8J zF=+s89IpKNm-L8&!z7uIok_BFqx>o^L@%r4|NogzosZqV3wjWjBgy7%8;$F!d#sDq zB)p{S9BLMsefAEdz99LDr0*!7K{`%;j$Pk|`rjyXlX6mB$`?^qLO%G(w$RQGp}rO= zlC+-oOE8+cZup9LzO4Td6wI(c5KhHv(#NeIjZz7Yk^Z6lJ@HTEH;|5y1`*5lgt|X5 z4wsYik?%xZEa_{z%|OaOZZF8+qI|rJe;7etg8G<9x=gxHyclIGYg-sS?0jeHL&;ad zkJ}ZyZU6<9Dfc4nB%ht~jig4zwXv}MndQ_uzUNPWl5E~o`l2gVq0tYdJH&g?i?Rgr zpQCJZDU+=gaWH8d=@eyoC_7I|v+La{-%UOQcafA?sdmNKK3&c3Q9;8);?nzg_i#$_ zoSQFCtC4Y0(Q#oBVF@AW)mvZ4}B?(J}4@3NLc8|n83KOs7P~2Sa?XR88I?8&Kw+K#)O21M21ks z4u?d=So@0(4COzMYPK+57n zN_8v7`i2C?M4En4F(H-er4;llmJ;Rfnx5A`f4=mZpRLZHK6hBD{Ds@}=wS{H3>qF9 z6E%{9ghd2~rZ115=#=g?cD_@(`vh;N^stFXU5Z9TbF{(XA!c;=$k4FJSkpHwHZHyL zEEi|j|GSIW^vZL>^QWI!zC648f4cI&UVCKJ==6TyjLef>drK)J<;YeueZp4nZ0TFm zk9+oS8#XG;j0=f~4yQ}Z(OlZd=wRs`FSAWJmt}QOuUL9Zjvh9|io*lPM2(E|WN2c; zLL*JOQ7U8O#z;?(4vC>Rt?@{YynQ~WQ9r%S6vNQk~24$nHw_qUP~ss&Ahrkb6e&XT4bhCy}`@Onk0>~rkYtv zl1VxDyl}g9*5|gEG-N-t+$JB`kTpGPDm$Tk2iZi)Y{*QLUG6Y5ce0~R){)s0XOWc3 zKgJa8qxZ_5t|edH!tte!vrNp)VApawvS+IzF>|*RkY`UDqHjZ-oeP5TDp@_sEC<$Ff-lE z+?6$r>y*x6STYWGG(w#-n)n%>&KYmI8Mm@!-0fw|ELg+3LOO>2;WW0(b;?CqePeR` zH2VUQvJ$Uu$rv7L6wR3$6=mcq{ND}|5oyfJy(`}ED3~!}hOs$!)s0-L^cp+b&B@Rc z9EneE)BX9MBc(bz8O2hc&ofG-R&HVB&+tw$`V?}JPR!gw52d9Bt~H8e^jK?LH!@nS zGd}O`nst!=DHE2Q3uHQd^Iago-b vP{Bt(nFl5ZN;5Mvm@AvCi#IdZ$;nO2+`%|ZH8VHM=*jS8%>Uaslly-F*0h)e delta 18104 zcmajl2YgRg|G@Ec2@yevAP9bTjD*-?#NH!_+9Hx4LL`x4^RxF3jiOc&dj&CzYGc|LgTU_toQlzUQ91&bl{A-%QSScUm^bPwq~O6q}J*DK9ML zsg$#mQWYypsZuQ(DD@+@L=W_AsMKfl!LP7lBc%c{72jfk#w2uWLR~D2d9eWw!5~b; zR9vQ%L-lT|R2K?9;w#I6s>S70^Rn#2h-0Bj_ z2}*R*CkR2=zZqTe1-j#(C>PEhr1iFJfZZwYioTePa-BPv1&ej2{hi5_CL?#`gQKw; zZp9raP1)xQr6%A_jK*O4OX{6R+26J+-Ge7_1rDO0{Lz)G7sY1Ca8Y)Y>m^}s+}54` z&r9YA1%>c37R2Z1fi69iDvU)@#)3ae{jMnWBd`=sMK|1xE_e{-LaFG5KjN4881vwS zo=WA!g*|D1skoYgY`76~VKT}f`wn>+bpz$Z)qCj+2cVpwJ4*clNUN%0C^vWpx8rS; z8=KDnl9pJ7(sf5H&p61Op&$+A&ejGi6^1D&6}|fCzVb%tLtiWIg>s=#WIU;1DDg>@ zmb-;ACSD?qsj`RAeP~Cy;YNLxV#X^+2Qus`E>C&?(=e>`GxW3BVPfw$wC@1p664=PnjyB?H zmK!jF_!Jh$n*Ei^kKM2+Mq_E5i}i3f(!1&v()z0702V3Sg@w4j@(Q<3goTN_q1-?` zN}n!9Iq_z!kEd}AW*?{&Yn7UYYw-%o1B@D^)FhmRftZK8l`+v5opBgSJqJ3ZsppZY zf!k4<_5n)yd#k+QV5Pi?15vtS1WHrR$C9`a%i@n{!#5~{wLqjE1I@4$aST?*L}bxa zCn9No))eI##hk_{^pzbb)9x+y!4A>fJ?=#5^L#^ei*!I6aWvM%`6x|(5`EA)hE~Mt zm>Q`Npft85jzMXu zgXo0!PzK*4%RewDvD}rMFPDRi+&}^BgT7cE=c3Gt{U{f_g3@>QQ7-fh^J1-`dfK)@ zX_;;)7hZ&Np(WTE*Q0dNXOxyGGfYogM=dg~DQJi00VsXH-tq)iBYucgvB+@V`Pc!A z<5-lISc!7tZ!tff$Di>5*23c>=oVBX`4)gv$aHon*HQWj3t$d*cw1ISIZ-2Y$8IP$ z7J@N_Mz3H|{2dFR8`qRsQx=<$RBQf`E|`bX z1vinVQIAks;0?-?!Mt+H_DCnLm3<2V0CGupPV37%WC2NT_h@-GLuCqL0`3U<`o?{{}7^#PS@Cx?A8k6)(Xd&(; zevZ-->nGFxj4O3yvR>J0P0<$`hOH>yilO-4ihE7vb4m`xuh46nQnPUnN*6VmuE$De z%t|}}WtK#twBSU`1oR~SW;#tPPkfMqFno*@slXZfBk?>IA@-iB>or3;Q9Q~CCZi0_ zrAc|sP;<6}D z(in$g7mUUqQ3hGSJbj+-ScTYb#fwq)e}k_0Ejr^V`~n>p$+RI;ZoZzULs42{8_JV= zEHJ06s)EIcx1da)vnYLd7fawrlolzPpl_@umL*<~HSs*kpv$&U-)Jt(Esb4}Ok;MG zM>%06O5aaGSx_#Z-0@wMmUxWvM9z!!T3!NW-Dr*#FbEsrI4q6FFcO+iO~c6>=@4{pI&3|pq3Gz|+AKSAmHY+vhz#TzRU_eME>Cdvx8 z8f7dTMQQ3^QJVS*4#)Q>Hx@%P%l>K0Y5$yL=20Lnx7>`4;Kp#~K)ia-*A2&Yy;I1NSXIt)%^3C~#k;5A?!n#1&AUtPe^b4#WO9 z6-(iBlnZ*Sw$^g&N8B3ixD(~cJ-^X|x-@zb*TaI?9p$=l4l>fGV^R7r!E!BrNt}Xm z$L-eW6NTY?;?Y%s;sM|=~Tp(AUOp66|`C+5z${?(?UcVC>U>)MV=!eU(A)d$9=)OT8*BgryuSHtWp^lT0 zC%=yM@CnM3mEWjGcYl-?inij(C`~&Dr74%99KRc7T{w=?Vs}sm?K^Zv&rNz(*|03} zV9X)&e-Rn!o7I>N52H-C6IcO%vCO$yH(hP4OnE3a#)T-yr=g6MKalaNvTV^ex(4Mu zJFqj}!Yo*IE8WfYRc$h5@GMFbzQ&wbd7B=^^)Zk*9$R55_QX8f_1iHLTM}Qy0qC_u z|9CzbzaY-EQ@@_OVO!#ZI1RHW)Bci4AQO&WyY!PyL21eqY=IY%HAofSt($Nc%Iq-q z=%)0bjGq!if)MkC@mY0MQ~0E?Vp3pW(wNiKFo?)_v(r{u`6*Ij6nxV zQ@=!ablax~X$h1TY=+X;gRwluqnvLg8V28rIG%XJe%-Pa4$%JDDd>AZuhD~%nWdJY z++o9mdR_-(72;Hs8+nf%G2)PJp~KjnINP^+eF#NaNvGi${DfcP$iw=F(>zD?Te7u- zOjqvgAQq!SzVGxCR!5nB9nl+yqCCk8q+8WGtcG2W@e;w==!s9U7H0ikf4~HwoF@@^ zR&@aDVx1rKbsWRV)Tdw($`fA3zUZ8)ztabzjNVNsC%T3;@gruzs>gK;)<$>YCMXx` zg1PY;%3ywoa$|4M4J(~6-z5$eKt`G_9(&_?EGQLD>V>Bz%85FmD~4I+(O8OjB+3|C zVeQ|Ha>2bQgD@4PWj#*mg{d00BJPLTqp(B{VbQGbjek0iuukd zH644Pw7@;gi!V_6Jj;3gZYYYmh-;u5HpS-H8N=~w?1j!3l%kiF9UbGyRJf?r0^E!; zI07!|I~|S1iRWTg+<|3qFBZa|aT9*Pt+?*89wVKv=rJ?`rDboTbm=T%5z(J-98TViHf-?}Eh^Ju|oQLjTgcrnVE7}iF7s%|BaqK zo^NSA;@&6^_7Y{xxxSN_{x45v2nCJt5bnlmoGA9a{&ZUZLC^QxAN87j5(C-q|B3#` zncTfJvF~4cEOo#>#A{G4oJAStujjtP?$i(9P4oemWHR{vBeTfKFqhu!Sq*cr)k8T! zKOBh1QBG8ak(LuvQ7(8HXX9I3ij%V$>M#~}(e;19$;9#5b@@k>_2U3jOJ>_~blAw; zA|qqqGfG^Tc9av=#Sl!x4(OlLFu#yyp$qXMD_()}dR>pwH5+poW|yV98Rk#H6LTAC zJ@q@}G0f@u0h5T6-1++p-LKl`HPj6Z@X$|QIGR>? z7^~wXl$P0#HSiY7;PohAm@l!W*pPS#HpAosw0|)&A1H9gLY}&5e6SvIW2Dv8c&tD? ztDs@7WP4GX@FL2R`w->E-l7lYEo7*p*bwt$W}3x@g;46%!Q$A(L1qe>5m+1LFG`Fn z<&QG`Y8KIBqX){3&Ozy_tyq;CJB>1$|KcxL@mRE&Zh?g;>qiPo`60}PRc-phbupUQ z(VL8%_#ArTbCf5|R@^XWLp5B%g7ub$61}>qr+%1%r_#MmPUnnh9u9Uvv z0F?EiCrbSgq-z{1j?8BY)}r+B8dircxC2L`OBuubaF~QGh!3GJW-V)&FRSWUl{f~g z<2sZZxQUgdp0{DHd^ONU+#16$0*lD}zd%O%;yKDF&r{AYe}@x_*@-Wr4R2v-{EX64 zrON9ktcPyIolq_uigj={N*A6)x#6dnie43T3*5ybTwlE*BRAkt(JHZ$llJV;!~kNMBIP}j)F z3EoyQ)JH7B$dU^eWErf8i6|}cJ<1q3XO%z2!Ni5C>n5ItGWx&9Ks=4z(W{2Ov0>Pl zI0v??^<;LCo z4f8J`vvD%9dmY34J>z1OuECqpErHFIYH_R`es+dOH z9c3O@4bV^C9*+=*p$y{E4fJfNf-(ylVp;5h(n1a#i(4c!i%i9a`Udu)G=>k5;uYp0&f3{9|33jwl(-j4*F<4;T!GSMSI{wt%xy9wu+10xb(@Oq ziF0?+qq`4A6UU<~-p5w>66J*Ty6R~di+zZnpiI}c-SkSj2%8W)b=S7EoYS58-;*7e zDCmuqd*}sYE{-F9gfcA$^)%FDJc6}xb1%dEUoh^YwBUi>hWTr^I>CndKbNe+LzLI< zqs!l-Oxs=|%qqrGjlPDuP24Wjq5Hm4nC| zUXtUn5BrBiu=cb6A{HQiJy?(O9Fh8lYoLssAZ&?|SONFqJ^a=3RFr-seU zfaY=NC&yt$^ctzxhn8sm{ckuK>B|{t$CK!fl}7277>Lq$ldL$watnG=ejJN(0&(1xt<9^V}C@LF$A}F&qPN8_Jrl7_{ra z1Iyz9l$Gv2PQcvbcv*2n2`FDi`^W2g&#)A6!3p~O_0jzMe-N3`?1)3D@B$ehD*r?l z7MwCkH{Dm0bswgptc*|4oBbYB40VyX-c;QJxu@wBvM9<8)I)g(48dM_3d^APbmqVG zW&7#6Pe!2(vW@742k{f8qpXBiXXsJ?7s?V`V5Yv28YnH$8)ei_Lm8YG(Z&sSn`M|k zhL4=ByT)^l?pp6TG?{##H=>|8cEdI}%JKwCSLB+=XVQ~E*Oh4o7SV;*aNiTpST2zF3~N$51Ez@b%V?o?8v!PH+>j3 zC*FaB@I7`w`!YRfQc#xWpHNo7PgoB zg8A2gjC`?#p)3$fu@;^{SwM^xder7Xxsib=?}URW$DKu4ADmX|TOk8W||49vH zR#ac7U)MpnkoX6jh24{M7d*fu;tA`S|1-&y-(aZkaSysMT}Ev*)Li1pn+$ag^YKO+ zi%;Af=^gsQ0Xy}(;W`dxzk4$CePc%ip zV_s+Cr)88DIsd(0FVqkE$x0*BO9f+2oG;}($O>#noStgPZ}61E`?#SRkjZmGPq&UZ zkoa3HkL6Ap>JA2BG}b(&m+JL6g7_NB6LvUls2R8j)v&hJ_OG1M?yo|DtT>VjBNS!mxzhG8EY4SvDDfMwLzOdYQUO!0a1^o_LgTCzF zgR)NCLz$+3qAbNZF3K2Un6@-C%xjdjc_z-ol^B42m-HYTf|H4_qTEQ&%ld;P0%c*D ziaBr>;YFd4u5`bVkx5A-h#FJXQvu6n55i;2YNusHVrO}Er^lr=sD?{S_>_!#%` z&v9nQ+Nb(Qt--(R1?V@-!v0Awn5H=6rNc1)2ZN2Tbd!I^&783NYdyN1|IlBt<8d_Q zA#V&d9)CjVx;}3W^LNF!u`hAH_j*tcM`>ce4|;tG$J)eSV|l!W!?=M=j*q%vC3<5B$_ZznGbW%+qotS|H=@jj1D2;zy6y(b zYxyO*Vr3_Now_J-a~(TWCo)bH^hO?7Man;HG9XXUhtkZsDCpTw8Q z%YkD>YkOp!LqeGW8CyJ=`6L+|vh8L3DQ26wHRRtC_rs_yKoiAzYE$a|1(k%HJii?Us$G-C7VY7ofgPeBSvK0Y$GaH+&5 zpH%x#E;C>{WfkyC5}QMHqhO^~QAz@> z3*|&v?PMEFo*AWBhs^0IWnYt8k>rc%H2c?KD(Nu!PAFS8@@udjCXoi1rTUMN8;NU3 z`~P4S$|#pDn$(LV3sc7SicB+7MbaM}*cun%NUM&_pt8hmCcS0jP@CqIXMES!o} zSv4ZRndD;a--cZ&Z%Ns7l58o&4m&|}0(s%QvUWVcJH+8s;PtM4CB96Yu`Q$Q3}u-q zctARC?TDlN5Gjh(ko~g7N?p=>;yuXvW`6F=KE7QXYN}OH3W~`;Y^5oyM9ND37Ac*B zWMi#TzNEIK@x;%p@`A+QTKTb9oqbbLT2~e+*)EVe5kDejY&m8A@1uZk4f7LQcG#@F zt0_Clz9Ga-$jfJxYzfv0WZ9K1FZeNm9s8*;?ZX(m>K$QZf~en0tuH%f<^+wIXe{VjrAFYQ(-&j+tbY z^GRTywg=XrTsCj=Z?L~rhnK3ud>;o;_>4+%q;%2(tAZR9M!H6sy#I}Vl=qaK*5<~3 z+3KTTdmCrvzd|3Y?k)27NX1EmNimcMTl-cJA13W0zQI`* zlb3BJ>AtkcSL}FA8Z4!3DWv993P*R+&*Xn$zZ+(=4jw=(TUO#Cx7Lmc)GI)~klCh% zh;oq{kV;ZBA1Q%Ufq1BOWMgW3kvfp}P#!^f8IlX>M`GD>;6YM5QeCTzZ&`EWlTvlD z%IcDTLTOjhj!f1lt4i=a=^Q(=TNMdaX5uAS5%-Z~JHY;E@-N8$j+IHh{&7q^dA{t- z?PqMj{)<+8h|+h&J8&}oJ<4YjY#^1S;&?1b@+5zbDox1;N?o=9%Bqv9Q07Mp)y3w& z{=}=T*q}}$;$bM8H>ncos1-|@Y$1K9B-?MK-J~j1xQ^RNvP~vlN?K^uld>En7s@J7 z)>I1E?hrc>uP2{K{wr*Pi_K21M>NJd!zIhk?EQ@-+d|S~%02OCQV1!5G)d}E-qAYd zJK`kDo8oLtrTi|+R+IFY@}iVo#$nbm$~hPuN-1I(QxxR+5h- zJ!kI_;(p}+vg%I5o|Ij+Vxckn*HAVWmlFSlort|iRY@DHx-zP#u&)Slx?I081sU5T zGJg^mqryD$1#lc`G^reElvT03Wi#qtBfpn@RY|gCwVcAf)1;5Ym9W3wt!|JnW7RRA ze=7xFQg97t;6&_8nnN1LK}YbA9FUot!(+t%+{zM{unOjrZ$_QBR-H|hZzul)Wd_G@ z$K{mW#lvz;M*BNaAX`gPS<+n6eahaEK5_zo;@nmpvT8N?LX?lh>sXG|!`knM2Z^^* zZwnqHb|-yH`~n}6Vo5jI=jcWzV{1!+Y!|RM=_2_yxWuXxhMBB7k!DSnIm*gY){9il zs`ov{vA;O!7^yw`d`UYgA4*z5%0ql#|2~3mZ7OxAU?Dr)QMRwich*_eg1l@KNT1pN z4Iaf(*bpmYENLD2?)aSgPf@lgjao<9e)d-?}*lLXvG2 z={W~&#FJ9MwuAUvYyW;-#NUCEp9O?vN`BO+lWW4z_HM~}+vm!expAjX$!*73pXn95vK#i;s+twTGD} z3y-zgBSZQ|*u#92e;6|%lT+W2&_T(K#~sg}TzaOHQ*xuZeRKJQN5;m<<@$wib78(J zFe1Kxc%;oL=1j5ip`rHJ*naU55hIe9e!VVBa^yGRu05h+Vn$Syo3w?**lm$fadOj9 z!#IF@4U4kH4G4+zRh|B8wTx>=o7arBMMZL0cx>{yttE|wCflndyKirhIk`{r-ipa% zZl7|_T-CQ~a*KzP3`cW&q&+4iE-J>~78qp@3y-t;`PTCF^UL1VN5?*mLSpUFA#nrz zZN9$$Ds62aF)S)3EVfN}Y@EL>IJi!*y-x6Of4_=VLdj-iBBh{CaHJVmtj4a$;K-<` z=#1iEM@Ce!YG@sMY-n&uTwDxilk9-F!4X#0EVciuRAr#IopyPktXeWC}Oz40> z9>AwEkMJKm9Oj;;!$TwD!|Y*FBP2G~9vAx`)&9MfpT8|OCiK5nsp4-NYL5(yiutd# zs`@+V?=XAt;Ha>82K0ZeT+QDWXOI0Kw^rSs@fKRCi9MRD+ap86|LvsAgHU_p0U>Oc_O@95`yG+S>p54lm(!nsw(01Y*Egh3N!wta*`dKWE$nkX&b3dDQB{^2nq_!I0F}*mbT5;mX?%Q*3YQsY@IYQ;FgiU zz()4%=F(Gb=~JvLO8vyjS&h;udn*~+3naSaHe6G-Ha9vs*(uU0 zyJ!xc-exugr}0()zMm`87StXuw@yV`)I7_slnqmj-7bl_=W{FH%{RKbm!N+(N@J#v z=OHKaY#Cjal(w1jo#|5(lUEugy8iEae_!R_?v>}{?m71q8~02`-;Ruh9R%A_Jl7bX e47c=Ywj0v*-%9!QDJgl@8NnS>D!(^UUH%UX&=8UU diff --git a/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.po b/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.po index fa852cfbd..5c9d47f8d 100755 --- a/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.po +++ b/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.po @@ -1,14 +1,13 @@ -# Copyright (C) 2016 WP Rocket -# This file is distributed under the same license as the WP Rocket package. +# Copyright (C) 2023 WP Media +# This file is distributed under the same license as the WP Rocket plugin. # Translators: # Mohammad Yousefzadeh , 2023 -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: WP Rocket 3.13.3\n" +"Project-Id-Version: WP Rocket 3.15\n" "Report-Msgid-Bugs-To: http://wp-rocket.me/\n" -"POT-Creation-Date: 2023-07-17 09:09-0400\n" +"POT-Creation-Date: 2023-08-28T12:32:53+03:00\n" "PO-Revision-Date: 2019-08-26 15:14+0000\n" "Last-Translator: Mohammad Yousefzadeh , 2023\n" "Language-Team: Persian (Iran) (https://app.transifex.com/wp-media/teams/18133/fa_IR/)\n" @@ -17,22 +16,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: fa_IR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 1.8.11\n" -"X-Poedit-Basepath: ..\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPathExcluded-0: assets\n" -"X-Poedit-SearchPathExcluded-1: src\n" -"X-Poedit-SearchPathExcluded-2: vendor\n" -"X-Poedit-SearchPathExcluded-3: node_modules\n" -"X-Poedit-SearchPathExcluded-4: tests\n" -"X-Poedit-SearchPathExcluded-5: inc/Dependencies\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Textdomain-Support: yes\n" +"X-Domain: rocket\n" +"X-Generator: WP-CLI 2.7.1\n" +#. Translators: %s = Hosting name. #: inc/3rd-party/hosting/flywheel.php:18 #: inc/3rd-party/hosting/pressidium.php:18 -#: inc/3rd-party/hosting/wp-serveur.php:27 +#: inc/3rd-party/hosting/wp-serveur.php:27 inc/deprecated/3.6.php:697 +#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22 #: inc/ThirdParty/Hostings/Cloudways.php:90 #: inc/ThirdParty/Hostings/Dreampress.php:44 #: inc/ThirdParty/Hostings/Godaddy.php:63 @@ -40,9 +31,7 @@ msgstr "" #: inc/ThirdParty/Hostings/OneCom.php:137 #: inc/ThirdParty/Hostings/ProIsp.php:51 inc/ThirdParty/Hostings/Savvii.php:50 #: inc/ThirdParty/Hostings/WPEngine.php:47 -#: inc/ThirdParty/Hostings/WPXCloud.php:51 inc/deprecated/3.6.php:697 -#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22 -#, php-format +#: inc/ThirdParty/Hostings/WPXCloud.php:51 msgid "" "Your site is hosted on %s, we have enabled Varnish auto-purge for " "compatibility." @@ -67,6 +56,7 @@ msgstr "نتجیه کلادفلیر یافت نشد." msgid "Incorrect Cloudflare email address or API key." msgstr "ایمیل یا کلید API حساب Cloudflare نادرست است." +#. translators: %1$s = opening link; %2$s = closing link #: inc/Addon/Cloudflare/API/Client.php:198 #: inc/Addon/Cloudflare/API/Client.php:212 #: inc/Addon/Cloudflare/Cloudflare.php:75 @@ -75,10 +65,11 @@ msgstr "ایمیل یا کلید API حساب Cloudflare نادرست است." #: inc/deprecated/3.5.php:92 inc/deprecated/3.5.php:116 #: inc/deprecated/3.5.php:129 inc/deprecated/3.5.php:157 #: inc/deprecated/3.5.php:173 -#, php-format msgid "Read the %1$sdocumentation%2$s for further guidance." msgstr "برای کسب اطلاعات بیشتر این %1$sمستندات%2$s را مطالعه فرمایید." +#. translators: Documentation exists in EN, FR; use localized URL if +#. applicable. #: inc/Addon/Cloudflare/API/Client.php:200 #: inc/Addon/Cloudflare/API/Client.php:214 #: inc/Addon/Cloudflare/Auth/APIKey.php:63 @@ -98,8 +89,8 @@ msgstr "" msgid "Incorrect Cloudflare Zone ID." msgstr "شناسه ناحیه Cloudflare نامعتبر است." +#. translators: %1$s = opening link; %2$s = closing link #: inc/Addon/Cloudflare/Auth/APIKey.php:61 -#, php-format msgid "" "Cloudflare email and/or API key are not set. Read the %1$sdocumentation%2$s " "for further guidance." @@ -131,29 +122,30 @@ msgstr "دقیقه" msgid "hours" msgstr "ساعت" +#. translators: %1$s = , %2$s = , %3$s = CloudFare API return +#. message. #: inc/Addon/Cloudflare/Subscriber.php:232 #: inc/Addon/Cloudflare/Subscriber.php:261 -#, php-format msgid "%1$sWP Rocket:%2$s %3$s" msgstr "%1$sموشک وردپرس:%2$s%3$s" +#. translators: %1$s = , %2$s = . #: inc/Addon/Cloudflare/Subscriber.php:250 -#, php-format msgid "%1$sWP Rocket:%2$s Cloudflare cache successfully purged." msgstr "%1$sموشک وردپرس:%2$sکش کلادفلیر با موفقیت پاک شد." +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:311 -#, php-format msgid "Cloudflare development mode error: %s" msgstr "حالت توسعه CloudFlare با خطا مواجه شد: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:318 -#, php-format msgid "Cloudflare development mode %s" msgstr "حالت توسعه CloudFlare %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:337 -#, php-format msgid "Cloudflare cache level error: %s" msgstr "خطای سطح کش CloudFlare: %s" @@ -162,48 +154,48 @@ msgctxt "Cloudflare caching level" msgid "standard" msgstr "استاندارد" +#. translators: %s is the caching level returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:350 -#, php-format msgid "Cloudflare cache level set to %s" msgstr "سطح کش CloudFlare به %s تنظیم شد" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:368 -#, php-format msgid "Cloudflare minification error: %s" msgstr "خطای فشرده‌سازی Cloudflare: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:375 -#, php-format msgid "Cloudflare minification %s" msgstr "فشرده سازی %s Cloudflare" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:393 -#, php-format msgid "Cloudflare rocket loader error: %s" msgstr "خطای بارگذار موشک Cloudflare: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:400 -#, php-format msgid "Cloudflare rocket loader %s" msgstr "بارگذار موشک Cloudflare %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:418 -#, php-format msgid "Cloudflare browser cache error: %s" msgstr "CloudFlare خطای کش مرورگر: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:425 -#, php-format msgid "Cloudflare browser cache set to %s" msgstr "کش مرورگر کلادفلیر تنظیم شده به%s" +#. translators: %1$s = strong opening tag, %2$s = strong closing tag. #: inc/Addon/Cloudflare/Subscriber.php:536 -#, php-format msgid "%1$sWP Rocket:%2$s Optimal settings activated for Cloudflare:" msgstr "%1$sموشک وردپرس:%2$sتنظیمات مناسب برای کلادفلیر فعال شد:" +#. translators: %1$s = strong opening tag, %2$s = strong closing tag. #: inc/Addon/Cloudflare/Subscriber.php:545 -#, php-format msgid "" "%1$sWP Rocket:%2$s Optimal settings deactivated for Cloudflare, reverted to " "previous settings:" @@ -211,13 +203,13 @@ msgstr "" "%1$sموشک وردپرس:%2$sتنظیمات مناسب برای کلادفلیر غیرفعال شد و به تنظیمات قبلی" " بازگشت:" -#: inc/Addon/Cloudflare/Subscriber.php:661 inc/admin/options.php:184 +#: inc/Addon/Cloudflare/Subscriber.php:661 inc/admin/options.php:144 #: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:148 msgid "WP Rocket: " msgstr "راکت وردپرس: " +#. translators: %s is the error message returned by the API. #: inc/Addon/Sucuri/Subscriber.php:96 -#, php-format msgid "Sucuri cache purge error: %s" msgstr "خطای پاک کردن حافظه Sucuri:%s" @@ -237,8 +229,8 @@ msgstr "کلید API فایروال Sucuri یافت نشد." msgid "Sucuri firewall API key is invalid." msgstr "کلید API فایروال Sucuri نامعتبر است." +#. translators: %s is an error message. #: inc/Addon/Sucuri/Subscriber.php:286 -#, php-format msgid "Error when contacting Sucuri firewall API. Error message was: %s" msgstr "" "هنگام ارتباط با کلید API فایروال Sucuri خطایی رخ داده است. پیام خطا: %s" @@ -255,15 +247,16 @@ msgstr "پاسخ نامعتبر از API فایروال Sucuri دریافت شد msgid "The Sucuri firewall API returned an unknown error." msgstr "API فایروال Sucuri خطای نامشخصی برگرداند." +#. translators: %s is an error message. #: inc/Addon/Sucuri/Subscriber.php:334 -#, php-format msgid "The Sucuri firewall API returned the following error: %s" msgid_plural "The Sucuri firewall API returned the following errors: %s" msgstr[0] "API فایروال Sucuri خطای نامشخص زیر را برگرداند:%s" msgstr[1] "API فایروال Sucuri خطای نامشخص زیر را برگرداند:%s" +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:93 -#, php-format msgid "" "You are using %1$s to serve WebP images so you do not need to enable this " "option. %2$sMore info%3$s %4$s If you prefer to have WP Rocket serve WebP " @@ -285,9 +278,10 @@ msgstr[1] "" msgid "WebP cache is disabled by filter." msgstr "کش WebP با فیلتر غیرفعال است." +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:115 #: inc/Addon/WebP/AdminSubscriber.php:141 -#, php-format msgid "" "You are using %1$s to convert images to WebP. If you want WP Rocket to serve" " them for you, activate this option. %2$sMore info%3$s" @@ -301,9 +295,10 @@ msgstr[1] "" "برای تبدیل تصاویر به WebP شما از %1$s استفاده می کنید. اگر می خواهید از طریق" " موشک وردپرس اقدام کنید، این گزینه را فعال نمایید.%2$sراهنمایی%3$s" +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:127 #: inc/Addon/WebP/AdminSubscriber.php:153 -#, php-format msgid "" "You are using %1$s to convert images to WebP. WP Rocket will create separate" " cache files to serve your WebP images. %2$sMore info%3$s" @@ -317,8 +312,8 @@ msgstr[1] "" "برای تبدیل تصاویر به WebP شما از %1$s استفاده می کنید. موشک وردپرس برای کش " "از فایل کش جداگانه استفاده می کند برای تصاویر WebP شما.%2$sراهنمایی%3$s" +#. Translators: %1$s = opening tag, %2$s = closing tag. #: inc/Addon/WebP/AdminSubscriber.php:173 -#, php-format msgid "" "%5$sWe have not detected any compatible WebP plugin!%6$s%4$s If you don’t " "already have WebP images on your site consider using %3$sImagify%2$s or " @@ -336,3283 +331,3080 @@ msgstr "" "موشک وردپرس فایل های کش جداگانه ای را برای ارائه تصاویر WebP شما ایجاد می " "کند." -#: inc/Engine/Admin/Database/Optimization.php:30 -#: inc/Engine/Admin/Settings/Page.php:1475 -msgid "Revisions" -msgstr "بازبینی‌ها" +#: inc/admin/admin.php:18 inc/common/admin-bar.php:266 +#: inc/deprecated/deprecated.php:1787 +msgid "Support" +msgstr "پشتیبانی" -#: inc/Engine/Admin/Database/Optimization.php:31 -#: inc/Engine/Admin/Settings/Page.php:1485 -msgid "Auto Drafts" -msgstr "پیش نویس خودکار" +#: inc/admin/admin.php:20 +msgid "Docs" +msgstr "مستندات" -#: inc/Engine/Admin/Database/Optimization.php:32 -#: inc/Engine/Admin/Settings/Page.php:1495 -msgid "Trashed Posts" -msgstr "نوشته‌های داخل زباله دان" +#: inc/admin/admin.php:22 inc/common/admin-bar.php:254 +msgid "FAQ" +msgstr "سوالات متداول" -#: inc/Engine/Admin/Database/Optimization.php:33 -#: inc/Engine/Admin/Settings/Page.php:1505 -msgid "Spam Comments" -msgstr "دیدگاه‌های اسپم" +#: inc/admin/admin.php:24 inc/common/admin-bar.php:63 +msgid "Settings" +msgstr "تنظیمات" -#: inc/Engine/Admin/Database/Optimization.php:34 -#: inc/Engine/Admin/Settings/Page.php:1515 -msgid "Trashed Comments" -msgstr "دیدگاه‌های زباله‌دان" +#: inc/admin/admin.php:96 inc/admin/admin.php:118 inc/deprecated/3.5.php:898 +#: inc/Engine/Cache/AdminSubscriber.php:134 +msgid "Clear this cache" +msgstr "خالی کردن این کش" -#: inc/Engine/Admin/Database/Optimization.php:35 -msgid "Transients" -msgstr "داده‌های گذرا" +#: inc/admin/admin.php:397 +msgid "Settings import failed: you do not have the permissions to do this." +msgstr "" +"درون‌ریزی تنظیمات ناموفق بود: شما دسترسی کافی برای انجام این کار را ندارید." -#: inc/Engine/Admin/Database/Optimization.php:36 -msgid "Tables" -msgstr "جداول" +#: inc/admin/admin.php:401 +msgid "Settings import failed: no file uploaded." +msgstr "درون‌ریزی تنظیمات ناموفق بود: فایلی بارگذاری نشد." -#: inc/Engine/Admin/Database/Subscriber.php:79 -#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92 -#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137 -msgid "weekly" -msgstr "هفتگی" +#: inc/admin/admin.php:405 +msgid "Settings import failed: incorrect filename." +msgstr "درون‌ریزی تنظیمات ناموفق بود: نام فایل اشتباه است." -#: inc/Engine/Admin/Database/Subscriber.php:85 -msgid "monthly" -msgstr "ماهیانه" +#: inc/admin/admin.php:416 +msgid "Settings import failed: incorrect filetype." +msgstr "درون‌ریزی تنظیمات ناموفق بود: نوع فایل اشتباه است." -#: inc/Engine/Admin/Database/Subscriber.php:194 -msgid "Database optimization process is running" -msgstr "فرآیند بهینه‌سازی پایگاه داده در حال اجرا است" +#: inc/admin/admin.php:426 +msgid "Settings import failed: " +msgstr "درون‌ریزی تنظیمات ناموفق بود: " -#: inc/Engine/Admin/Database/Subscriber.php:224 -msgid "" -"Database optimization process is complete. Everything was already optimized!" -msgstr "فرآیند بهینه‌سازی پایگاه داده کامل شد. همینک همه چیز باید بهینه باشد!" +#: inc/admin/admin.php:442 +msgid "Settings import failed: unexpected file content." +msgstr "درون ریزی تنظیمات انجام نشد: محتوای فایل غیر منتظره بود." -#: inc/Engine/Admin/Database/Subscriber.php:227 -msgid "" -"Database optimization process is complete. List of optimized items below:" -msgstr "" -"فرآیند بهینه‌سازی پایگاه داده کامل شد. فهرست موارد بهینه شده در زیر آمده " -"است:" +#: inc/admin/admin.php:472 +msgid "Settings imported and saved." +msgstr "تنظیمات درون‌ریزی و ذخیره شد." -#: inc/Engine/Admin/Database/Subscriber.php:235 -#, php-format -msgid "%1$d %2$s optimized." -msgstr "%1$d %2$s بهینه شد." +#: inc/admin/options.php:84 inc/Engine/Admin/Settings/Page.php:684 +msgid "Excluded CSS Files" +msgstr "فایل‌های CSS مستثنی شده" -#: inc/Engine/Admin/Settings/Page.php:201 -msgid "Save Changes" -msgstr "ذخیره تغییرات" +#: inc/admin/options.php:85 inc/Engine/Admin/Settings/Page.php:838 +msgid "Excluded Inline JavaScript" +msgstr "حذف جاوا اسکریپت داخلی" -#: inc/Engine/Admin/Settings/Page.php:201 -msgid "Validate License" -msgstr "اعتبار لایسنس" +#: inc/admin/options.php:86 inc/Engine/Admin/Settings/Page.php:856 +#: inc/Engine/Admin/Settings/Page.php:889 +#: inc/Engine/Admin/Settings/Page.php:936 +msgid "Excluded JavaScript Files" +msgstr "مستثنی کردن فایل‌های جاوا اسکریپت" -#: inc/Engine/Admin/Settings/Page.php:257 -#: inc/Engine/Admin/Settings/Page.php:258 -msgid "Unavailable" -msgstr "دردسترس نیست" +#: inc/admin/options.php:87 +msgid "Defer JavaScript Files" +msgstr "به تعویق انداختن فایل های جاوا اسکریپت" -#: inc/Engine/Admin/Settings/Page.php:352 inc/deprecated/deprecated.php:1789 -#: views/settings/page-sections/dashboard.php:80 -msgid "License" -msgstr "کد لایسنس" +#: inc/admin/options.php:88 +msgid "Excluded Delay JavaScript Files" +msgstr "فایل‌های جاوا اسکریپت تاخیری حذف شدند" -#: inc/Engine/Admin/Settings/Page.php:369 -msgid "API key" -msgstr "کلید API" +#: inc/admin/options.php:89 inc/Engine/Admin/Settings/Page.php:1329 +msgid "Never Cache URL(s)" +msgstr "آدرس‌(هایی) که هرگز کش نخواهند شد" -#: inc/Engine/Admin/Settings/Page.php:384 -msgid "Email address" -msgstr "ایمیل" +#: inc/admin/options.php:90 inc/Engine/Admin/Settings/Page.php:1343 +msgid "Never Cache User Agent(s)" +msgstr "عامل‌(های) کاربری هرگز کش نخواهند شد" -#: inc/Engine/Admin/Settings/Page.php:410 -msgid "Dashboard" -msgstr "پیشخوان" +#: inc/admin/options.php:91 inc/Engine/Admin/Settings/Page.php:1349 +msgid "Always Purge URL(s)" +msgstr "URL (هایی) که همیشه پاک‌سازی شوند" -#: inc/Engine/Admin/Settings/Page.php:411 -msgid "Get help, account info" -msgstr "دریافت راهنمایی، اطلاعات حساب کاربری" +#: inc/admin/options.php:92 inc/Engine/Admin/Settings/Page.php:1616 +msgid "Exclude files from CDN" +msgstr "مستثنی کردن فایل‌ها از CDN" -#: inc/Engine/Admin/Settings/Page.php:420 -msgid "My Status" -msgstr "وضعیت من" +#. translators: 1 and 2 can be anything. +#: inc/admin/options.php:110 +msgid "%1$s: %2$s" +msgstr "%1$s: %2$s" -#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75 -msgid "Rocket Analytics" -msgstr "تجزیه و تحلیل موشک" +#: inc/admin/options.php:120 +msgid "The following pattern is invalid and has been removed:" +msgid_plural "The following patterns are invalid and have been removed:" +msgstr[0] "الگوی زیر نامعتبر بوده و حذف شده است:" +msgstr[1] "الگوی زیر نامعتبر بوده و حذف شده است:" -#: inc/Engine/Admin/Settings/Page.php:432 -#, php-format -msgid "" -"I agree to share anonymous data with the development team to help improve WP" -" Rocket. %1$sWhat info will we collect?%2$s" -msgstr "" -"من با اشتراک گذاری داده‌های ناشناس با تیم توسعه برای گسترش موشک وردپرس " -"موافقم. %1$sچه اطلاعاتی را جمع آوری می‌کنیم؟%2$s" +#: inc/admin/options.php:136 +msgid "More info" +msgstr "اطلاعات بیشتر" -#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354 -msgid "Cache" -msgstr "کش" +#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:671 +#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147 +#: views/settings/page-sections/dashboard.php:150 +msgid "Clear cache" +msgstr "پاک کردن کش" -#: inc/Engine/Admin/Settings/Page.php:457 -msgid "Basic cache options" -msgstr "گزینه‌های اصلی کش" +#: inc/admin/ui/meta-boxes.php:67 +msgid "WP Rocket Options" +msgstr "تنظیمات موشک وردپرس" -#: inc/Engine/Admin/Settings/Page.php:464 -msgid "Mobile Cache" -msgstr "کش موبایل" +#: inc/admin/ui/meta-boxes.php:96 +msgid "Never cache this page" +msgstr "هرگز این برگه را کش نکن" -#: inc/Engine/Admin/Settings/Page.php:466 -msgid "Speed up your site for mobile visitors." -msgstr "سرعت سایت خود را برای بازدید کنندگان موبایل نیز افزایش دهید." +#: inc/admin/ui/meta-boxes.php:100 +msgid "Activate these options on this post:" +msgstr "فعال کردن این گزینه‌ها برای این نوشته:" -#: inc/Engine/Admin/Settings/Page.php:471 -msgid "" -"We detected you use a plugin that requires a separate cache for mobile, and " -"automatically enabled this option for compatibility." -msgstr "" -"ما متوجه شدیم که شما از یک افزونه استفاده می‌کنید که نیاز به یک کش مجزا برای" -" موبایل دارد، و این گزینه را برای سازگاری به طور خودکار فعال کردیم." +#: inc/admin/ui/meta-boxes.php:103 +msgid "LazyLoad for images" +msgstr "باگذاری با تاخیر تصاویر" -#: inc/Engine/Admin/Settings/Page.php:475 -msgid "User Cache" -msgstr "کش کاربر" +#: inc/admin/ui/meta-boxes.php:104 +msgid "LazyLoad for iframes/videos" +msgstr "بارگذاری با تاخیر آی‌‌فریم‌ها\\ویدیوها" -#: inc/Engine/Admin/Settings/Page.php:478 -#, php-format -msgid "" -"%1$sUser cache%2$s is great when you have user-specific or restricted " -"content on your website." -msgstr "" -"زمانی که در وبسایت خود محتوای مخصوص کاربران یا محافظت شده دارید %1$s کش " -"کاربر%2$s برای شما عالی خواهد بود." +#: inc/admin/ui/meta-boxes.php:105 +msgid "Minify CSS" +msgstr "فشرده‌سازی CSS" -#: inc/Engine/Admin/Settings/Page.php:486 -msgid "Cache Lifespan" -msgstr "طول عمر کش" +#: inc/admin/ui/meta-boxes.php:106 inc/Engine/Admin/Settings/Page.php:736 +msgid "Remove Unused CSS" +msgstr "حذف CSS بدون استفاده" -#: inc/Engine/Admin/Settings/Page.php:489 -#, php-format -msgid "" -"Cache files older than the specified lifespan will be deleted.
    Enable " -"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan " -"expiration." -msgstr "" -"فایل های کش قدیمی تر از طول عمر مشخص شده حذف می شوند.
    فعال کردن%1$sپیش " -"بارگذاری%2$s برای کش باعث ایجاد خودکار آن بعد از دوره پایان عمر آن می شود." +#: inc/admin/ui/meta-boxes.php:107 +msgid "Minify/combine JS" +msgstr "فشرده‌سازی\\ترکیب JS" -#: inc/Engine/Admin/Settings/Page.php:503 -msgid "Enable caching for logged-in WordPress users" -msgstr "فعال‌سازی کش برای کاربران وارد شده‌ی وردپرس" +#: inc/admin/ui/meta-boxes.php:108 inc/deprecated/deprecated.php:1773 +#: inc/Engine/Admin/Settings/Page.php:1586 +#: inc/Engine/Admin/Settings/Page.php:1597 +msgid "CDN" +msgstr "شبکه تحویل محتوا CDN" -#: inc/Engine/Admin/Settings/Page.php:511 -msgid "Enable caching for mobile devices" -msgstr "فعال سازی کش برای دستگاه‌های موبایل" +#: inc/admin/ui/meta-boxes.php:109 inc/Engine/Admin/Settings/Page.php:765 +msgid "Load CSS asynchronously" +msgstr "CSS را به صورت غیر همزمان بارگذاری کنید" -#: inc/Engine/Admin/Settings/Page.php:526 -msgid "Separate cache files for mobile devices" -msgstr "جداسازی فایل‌های کش برای دستگاه‌های موبایل" +#: inc/admin/ui/meta-boxes.php:110 +msgid "Defer JS" +msgstr "تعویق جاوا اسکریپت" -#: inc/Engine/Admin/Settings/Page.php:528 -#, php-format +#: inc/admin/ui/meta-boxes.php:111 inc/Engine/Admin/Settings/Page.php:907 +msgid "Delay JavaScript execution" +msgstr "تاخیر اجرای جاوا اسکریپت" + +#. translators: %s is the name of the option. +#: inc/admin/ui/meta-boxes.php:130 +msgid "Activate first the %s option." +msgstr "ابتدا گزینه %s را فعال کنید." + +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/admin/ui/meta-boxes.php:146 msgid "" -"Most modern themes are responsive and should work without a separate cache. " -"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore " -"info%2$s" +"%1$sNote:%2$s None of these options will be applied if this post has been " +"excluded from cache in the global cache settings." msgstr "" -"اکثر قالب های مدرن واکنشگرا هستند و باید بدون کش جداگانه کار کنند. این کار " -"را فقط در صورتی انجام دهید که قالب یا افزونه اختصاصی موبایل دارید.%1$sمطالعه" -" راهنما%2$s" +"%1$sنکته:%2$s هیچکدام از این گزینه ها اعمال نمی شود اگر این نوشته از کش شدن " +"مستثنی شده باشد در تنظیمات کش کلی." -#: inc/Engine/Admin/Settings/Page.php:544 +#. translators: %1$s WP Rocket plugin name; %2$s = file name. +#: inc/admin/ui/notices.php:30 inc/admin/ui/notices.php:43 msgid "" -"Specify time after which the global cache is cleared
    (0 = unlimited )" +"%1$s has not been deactivated due to missing writing permissions.
    \n" +"Make %2$s writeable and retry deactivation, or force deactivation now:" msgstr "" -"مدت زمانی که بعد از آن کش عمومی پاک می‌شود را تعیین کنید
    (0 = نامحدود)" +"%1$s به خاطر مشکل در دسترسی‌های نوشتن فعال نشده است.
    \n" +"%2$s را قابل نوشتن کرده و سپس غیرفعال سازی را دوباره امتحان کنید، یا الان غیرفعال کنید:" -#: inc/Engine/Admin/Settings/Page.php:546 -#, php-format +#. translators: %s is WP Rocket plugin name. +#: inc/admin/ui/notices.php:97 msgid "" -"Reduce lifespan to 10 hours or less if you notice issues that seem to appear" -" periodically. %1$sWhy?%2$s" +"%s: One or more plugins have been enabled or disabled, " +"clear the cache if they affect the front end of your site." msgstr "" -"اگر به طور متناوب خطاهایی را مشاهده می‌کنید طول عمر کش را به 10 ساعت یا کمتر" -" کاهش دهید. %1$sچرا؟%2$s" - -#: inc/Engine/Admin/Settings/Page.php:552 -#: inc/Engine/License/views/promo-banner.php:30 -#: inc/Engine/License/views/renewal-soon-banner.php:13 -msgid "Hours" -msgstr "ساعت‌" - -#: inc/Engine/Admin/Settings/Page.php:553 -#: inc/Engine/License/views/promo-banner.php:29 -#: inc/Engine/License/views/renewal-soon-banner.php:12 -msgid "Days" -msgstr "روزها" - -#: inc/Engine/Admin/Settings/Page.php:602 -msgid "File Optimization" -msgstr "بهینه‌سازی فایل" - -#: inc/Engine/Admin/Settings/Page.php:603 -msgid "Optimize CSS & JS" -msgstr "بهینه‌سازی CSS و JS" +"%s: یک یا چند افزونه فعال یا غیرفعال شده‌اند، اگر آن‌ها " +"ظاهر سایت شما را به هم ریخته‌اند، کش را پاک کنید." -#: inc/Engine/Admin/Settings/Page.php:611 -#: inc/Engine/Admin/Settings/Page.php:637 -#, php-format +#. translators: %s is WP Rocket plugin name. +#: inc/admin/ui/notices.php:141 msgid "" -"%1$s Minification is currently activated in Autoptimize. If" -" you want to use %2$s’s minification, disable those options in Autoptimize." +"%s: The following plugins are not compatible with this " +"plugin and may cause unexpected results:" msgstr "" -"فشرده‌سازی %1$s هم اکنون در بهینه‌ساز خودکار فعال شده است. " -"اگر مایل به استفاده از فشرده‌ساز %2$s هستید، گزینه‌های آن را در بهینه‌ساز " -"خودکار غیرفعال کنید." - -#: inc/Engine/Admin/Settings/Page.php:621 -msgid "CSS Files" -msgstr "فایل‌های CSS" +"%s: افزونه‌های زیر با این افزونه سازگار نیستند و ممکن است " +"باعث نتایج غیرمنتظره شوند:" -#: inc/Engine/Admin/Settings/Page.php:630 -msgid "JavaScript Files" -msgstr "فایل‌های جاوا اسکریپت" +#: inc/admin/ui/notices.php:147 +msgid "Deactivate" +msgstr "غیرفعال سازی" -#: inc/Engine/Admin/Settings/Page.php:642 +#: inc/admin/ui/notices.php:189 msgid "" -"If you have problems after activating this option, copy and paste the " -"default exclusions to quickly resolve issues:" +"WP Rocket Footer JS is not an official add-on. It prevents some options in " +"WP Rocket from working correctly. Please deactivate it if you have problems." msgstr "" -"اگر پس از فعال‌سازی این گزینه با مشکل مواجه شدید، استثناهای پیش‌فرض را کپی و" -" جای‌گذاری کنید تا مشکلات به سرعت حل شوند:" +"WP Rocket Footer JS یک افزودنی رسمی نیست. از عملکرد صحیح برخی از گزینه ها در" +" WP Rocket جلوگیری می کند. لطفاً در صورت بروز مشکل آن را غیرفعال کنید." -#: inc/Engine/Admin/Settings/Page.php:646 -#, php-format +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/admin/ui/notices.php:229 msgid "" -"Also, please check our %1$sdocumentation%2$s for a list of compatibility " -"exclusions." +"Endurance Cache is currently enabled, which will conflict with WP Rocket " +"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the " +"%1$sSettings > General%2$s page to prevent any issues." msgstr "" -"همچنین، لطفاً%1$sاسناد%2$sما را برای فهرستی از استثناهای سازگاری بررسی کنید." +"Endurance Cache در حال حاضر فعال است که با WP Rocket Cache در تضاد است. " +"لطفاً سطح کش Endurance Cache را در حالت Off (سطح 0) در حالت تنظیم کنید " +"%1$sتنظیمات > عمومی%2$s جلوگیری از هرگونه مشکلی میکند." -#: inc/Engine/Admin/Settings/Page.php:651 +#. translators: %1$s WP Rocket plugin name; %2$s = opening link; %3$s = +#. closing link +#: inc/admin/ui/notices.php:250 msgid "" -"Internal scripts are excluded by default to prevent issues. Remove them to " -"take full advantage of this option." +"%1$s: A custom permalink structure is required for the plugin to work " +"properly. %2$sGo to permalinks settings%3$s" msgstr "" -"اسکریپت های داخلی به طور پیش فرض برای جلوگیری از مشکلات حذف می شوند. برای " -"استفاده کامل از این گزینه، آنها را حذف کنید." +"%1$s: برای درست عمل کردن افزونه نیاز است پیوند‌های یکتا را فعال کنید. %2$s " +"رفتن به تنظیمات پیوند‌های یکتا%3$s" -#: inc/Engine/Admin/Settings/Page.php:654 -#, php-format +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:297 msgid "" -"If this causes trouble, restore the default exclusions, found %1$shere%2$s" -msgstr "" -"اگر این باعث مشکل می شود، موارد استثنای پیش فرض پیدا شده را بازیابی کنید " -"%1$s اینجا %2$s" - -#: inc/Engine/Admin/Settings/Page.php:663 -msgid "Minify CSS files" -msgstr "فشرده‌سازی فایل‌های CSS" - -#: inc/Engine/Admin/Settings/Page.php:664 -msgid "Minify CSS removes whitespace and comments to reduce the file size." -msgstr "" -"فشرده‌سازی فایل‌های CSS حجم را با استفاده از حذف کامنت‌ها و فضاهای خالی کاهش" -" می‌دهد." +"%s could not modify the .htaccess file due to missing writing permissions." +msgstr "%s به علت عدم دسترسی نوشتن .htaccess نمی‌تواند خود را تنظیم کند." -#: inc/Engine/Admin/Settings/Page.php:677 -#: inc/Engine/Admin/Settings/Page.php:701 -#: inc/Engine/Admin/Settings/Page.php:765 -#: inc/Engine/Admin/Settings/Page.php:831 -#: inc/Engine/Admin/Settings/Page.php:855 -msgid "This could break things!" -msgstr "این ممکن است بعضی چیزها را خراب کند!" +#. translators: This is a doc title! %1$s = opening link; %2$s = closing link +#: inc/admin/ui/notices.php:303 inc/admin/ui/notices.php:788 +msgid "Troubleshoot: %1$sHow to make system files writeable%2$s" +msgstr "عیب‌یابی: %1$s چگونه فایل‌های سیستمی را قابل نوشتن کنیم%2$s" -#: inc/Engine/Admin/Settings/Page.php:678 -#: inc/Engine/Admin/Settings/Page.php:702 -#: inc/Engine/Admin/Settings/Page.php:766 -#: inc/Engine/Admin/Settings/Page.php:832 -#: inc/Engine/Admin/Settings/Page.php:856 +#. translators: Documentation exists in EN, DE, FR, ES, IT; use loaclised URL +#. if applicable +#: inc/admin/ui/notices.php:305 inc/admin/ui/notices.php:790 msgid "" -"If you notice any errors on your website after having activated this " -"setting, just deactivate it again, and your site will be back to normal." +"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" +"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" msgstr "" -"اگر پس از فعال‌سازی این تنظیمات در سایت خود با خطایی مواجه شدید، فقط آن " -"تنظیم را غیرفعال کرده تا سایت به وضعیت عادی بازگردد." +"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" +"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" -#: inc/Engine/Admin/Settings/Page.php:679 -msgid "Activate minify CSS" -msgstr "فعال‌سازی فشرده‌ساز CSS" +#: inc/admin/ui/notices.php:311 +msgid "" +"Don’t worry, WP Rocket’s page caching and settings will still function " +"correctly." +msgstr "نگران نباشید ، ذخیره و تنظیمات صفحه WP Rocket همچنان درست کار می کند." -#: inc/Engine/Admin/Settings/Page.php:684 -msgid "Combine CSS files (Enable Minify CSS files to select)" +#: inc/admin/ui/notices.php:311 +msgid "" +"For optimal performance, adding the following lines into your .htaccess is " +"recommended (not required):" msgstr "" -"ادغام فایل‌های CSS (برای انتخاب این گزینه، فشرده ساز فایل‌های CSS را " -"فعال کنید)" +"برای عملکرد مطلوب ، افزودن خطوط زیر به .htaccess توصیه می شود (لازم نیست):" -#: inc/Engine/Admin/Settings/Page.php:686 -#, php-format +#. translators: %1$s = plugin name, %2$s + %3$s = opening links, %4$s = +#. closing link +#: inc/admin/ui/notices.php:458 msgid "" -"Combine CSS merges all your files into 1, reducing HTTP requests. Not " -"recommended if your site uses HTTP/2. %1$sMore info%2$s" +"%1$s is good to go! %2$sTest your load time%4$s, or visit your " +"%3$ssettings%4$s." msgstr "" -"ادغام فایل‌های CSS همه فایل‌های شما را داخل ۱ فایل ترکیب می‌کند که باعث کاهش" -" درخواست‌های HTTP می‌شود. اگر سایت شما از HTTP/2 استفاده می‌کند این گزینه " -"توصیه نمی‌شود. %1$sاطلاعات بیشتر%2$s" +"%1$s آماده است! %2$s زمان بارگذاری خود را امتحان کنید%4$s، یا " +"%3$sتنظیمات%4$s خود را مشاهده کنید." -#: inc/Engine/Admin/Settings/Page.php:687 +#: inc/admin/ui/notices.php:499 msgid "" -"For compatibility and best results, this option is disabled when Remove " -"unused CSS is enabled." +"Would you allow WP Rocket to collect non-sensitive diagnostic data from this" +" website?" msgstr "" -"برای سازگاری و بهترین نتایج، وقتی Remove unused CSS فعال باشد، این گزینه " -"غیرفعال می شود." +"آیا اجاره می‌دهید موشک وردپرس اطلاعات مرتبط غیرحساس را از این وبسایت جمع " +"آوری کند؟" -#: inc/Engine/Admin/Settings/Page.php:703 -msgid "Activate combine CSS" -msgstr "فعال‌سازی ادغام CSS" +#: inc/admin/ui/notices.php:500 +msgid "This would help us to improve WP Rocket for you in the future." +msgstr "این کار به ما کمک خواهد کرد تا در آینده موشک وردپرس را بهبود ببخشیم." -#: inc/Engine/Admin/Settings/Page.php:708 inc/admin/options.php:124 -msgid "Excluded CSS Files" -msgstr "فایل‌های CSS مستثنی شده" +#. translators: button text, click will expand data collection preview +#: inc/admin/ui/notices.php:506 +msgid "What info will we collect?" +msgstr "چه اطلاعاتی را جمع آوری می‌کنیم؟" -#: inc/Engine/Admin/Settings/Page.php:709 +#: inc/admin/ui/notices.php:511 msgid "" -"Specify URLs of CSS files to be excluded from minification and concatenation" -" (one per line)." +"Below is a detailed view of all data WP Rocket will collect if granted " +"permission. WP Rocket will never transmit any domain names or email " +"addresses (except for license validation), IP addresses, or third-party API " +"keys." msgstr "" -"آدرس استایل های CSS برای صرف نظر از فشرده و یکپارچه سازی را وارد کنید ( هر " -"آدرس در یک خط)." +"در زیر تمام اطلاعاتی که موشک وردپرس در صورت داشتن مجوز شما جمع آوری خواهد " +"کرد را مشاهده می‌کنید. موشک وردپرس هرگز نام دامنه یا آدرس ایمیلی (تنها برای " +"فعال‌سازی لایسنس)، آدرس آی پی یا کلید‌های وب‌سرویس ثانویه را منتقل نخواهد " +"کرد." -#: inc/Engine/Admin/Settings/Page.php:710 -msgid "" -"Internal: The domain part of the URL will be stripped " -"automatically. Use (.*).css wildcards to exclude all CSS files located at a " -"specific path." -msgstr "" -"داخلی:بخش دامنه URL به طور خودکار برداشته می شود. برای حذف " -"همه فایل های CSS که در یک مسیر خاص قرار دارند ، از (.*). css استفاده کنید." +#. translators: button text for data collection opt-in +#: inc/admin/ui/notices.php:520 +msgid "Yes, allow" +msgstr "بله، اجازه می‌دهم" -#: inc/Engine/Admin/Settings/Page.php:712 -#, php-format -msgid "" -"3rd Party: Use either the full URL path or only the domain " -"name, to exclude external CSS. %1$sMore info%2$s" -msgstr "" -"شخص 3rd:برای حذف CSS خارجی ، از مسیر URL کامل یا فقط از نام" -" دامنه استفاده کنید.%1$sراهنمایی%2$s" +#. translators: button text for data collection opt-in +#: inc/admin/ui/notices.php:523 +msgid "No, thanks" +msgstr "نه، متشکرم" -#: inc/Engine/Admin/Settings/Page.php:725 -#: inc/Engine/Admin/Settings/Page.php:747 -msgid "Optimize CSS delivery" -msgstr "بهینه‌سازی تحویل CSS" +#: inc/admin/ui/notices.php:562 +msgid "Thank you!" +msgstr "متشکریم!" -#: inc/Engine/Admin/Settings/Page.php:730 -msgid "" -"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " -"one method can be selected. Remove Unused CSS is recommended for optimal " -"performance, but limited only to the users with active license." -msgstr "" -"بهینه سازی تحویل CSS ، مسدود کردن ارائه CSS در وب سایت شما را حذف می کند. " -"فقط یک روش را می توان انتخاب کرد. برای عملکرد مطلوب حذف CSS استفاده نشده " -"توصیه می شود. اما فقط محدود برای افرادی است که لایسنس فعال دارند." +#: inc/admin/ui/notices.php:567 +msgid "WP Rocket now collects these metrics from your website:" +msgstr "موشک وردپرس اکنون این معیارها را از وب‌سایت شما جمع‌آوری می‌کند:" -#: inc/Engine/Admin/Settings/Page.php:730 -msgid "" -"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " -"one method can be selected. Remove Unused CSS is recommended for optimal " -"performance." -msgstr "" -"بهینه سازی تحویل CSS ، مسدود کردن ارائه CSS در وب سایت شما را حذف می کند. " -"فقط یک روش را می توان انتخاب کرد. برای عملکرد مطلوب حذف CSS استفاده نشده " -"توصیه می شود." +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:605 +msgid "%s: Cache cleared." +msgstr "%s: کش پاک شد." -#: inc/Engine/Admin/Settings/Page.php:740 -#, php-format -msgid "" -"Optimize CSS Delivery features are disabled on local environments. %1$sLearn" -" more%2$s" -msgstr "" -"ویژگی بهینه سازی تحویل CSS در محیط محلی غیرفعال است.%1$sبیشتر بخوانید%2$s" +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:612 +msgid "%s: Post cache cleared." +msgstr "%s: کش نوشته پاک شد." -#: inc/Engine/Admin/Settings/Page.php:760 inc/admin/ui/meta-boxes.php:106 -msgid "Remove Unused CSS" -msgstr "حذف CSS بدون استفاده" +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:619 +msgid "%s: Term cache cleared." +msgstr "%s: کش شرط پاک شد." -#: inc/Engine/Admin/Settings/Page.php:763 -#, php-format -msgid "" -"Removes unused CSS per page and helps to reduce page size and HTTP requests." -" Recommended for best performance. Test thoroughly! %1$sMore info%2$s" -msgstr "" -"حذف CSS بلااستفاده در هر برگه و کمک به کاهش حجم و درخواست HTTP صفحه. توصیه " -"شده برای عملکرد بهتر. امتحان کنید.%1$sاطلاعات بیشتر%2$s" +#. translators: %s = plugin name). +#: inc/admin/ui/notices.php:626 +msgid "%s: User cache cleared." +msgstr "%s: کش کاربر پاک شد." -#: inc/Engine/Admin/Settings/Page.php:767 -msgid "Activate Remove Unused CSS" -msgstr "حذف CSS های بدون استفاده را فعال کنید" +#: inc/admin/ui/notices.php:662 inc/Engine/License/views/promo-banner.php:36 +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32 +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42 +#: inc/Engine/License/views/renewal-expired-banner.php:30 +#: views/settings/page-sections/dashboard.php:46 +msgid "Dismiss this notice" +msgstr "نادیده گرفتن این پیام." -#: inc/Engine/Admin/Settings/Page.php:773 -msgid "CSS safelist" -msgstr "لیست بدون خطر CSS" +#: inc/admin/ui/notices.php:682 +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131 +#: views/settings/page-sections/dashboard.php:188 +msgid "Clear Used CSS" +msgstr "پاکسازی CSSهای استفاده شده" -#: inc/Engine/Admin/Settings/Page.php:774 -msgid "" -"Specify CSS filenames, IDs or classes that should not be removed (one per " -"line)." -msgstr "" -"نام فایل های CSS ، شناسه ها یا کلاس هایی را که نباید حذف شوند (یکی در هر خط)" -" مشخص کنید." +#: inc/admin/ui/notices.php:685 +msgid "Stop Preload" +msgstr "توقف پیش بارگذاری" -#: inc/Engine/Admin/Settings/Page.php:789 inc/admin/ui/meta-boxes.php:109 -msgid "Load CSS asynchronously" -msgstr "CSS را به صورت غیر همزمان بارگذاری کنید" +#: inc/admin/ui/notices.php:691 +msgid "Turn on Remove Unused CSS" +msgstr "حذف CSS های بدون استفاده را فعال کنید" -#: inc/Engine/Admin/Settings/Page.php:792 -#, php-format -msgctxt "WP Critical CSS compatibility" -msgid "" -"Load CSS asynchronously is currently handled by the %1$s plugin. If you want" -" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin." -msgstr "" -"بارگیری CSS به صورت ناهمزمان در حال حاضر توسط %1$s افزونه.اگر می خواهید " -"بارگیری CSS به صورت ناهمزمان توسط افزونه موشک وردپرس انجام شود. افزونه %1$s " -"غیرفعال کنید." +#: inc/admin/ui/notices.php:697 +msgid "Enable “Separate Cache Files for Mobile Devices” now" +msgstr "اکنون\" کش مجزا برای موبایل\" را فعال نمایید" -#: inc/Engine/Admin/Settings/Page.php:794 -#, php-format -msgid "" -"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s" -msgstr "" -"مسیر بحرانی CSS را ایجاد می کند و CSS را به صورت نا همزمان بارگذاری می " -"کند.%1$sاطلاعات بیشتر%2$s" +#: inc/admin/ui/notices.php:715 +msgid "Force deactivation " +msgstr "غیرفعال سازی اجباری " -#: inc/Engine/Admin/Settings/Page.php:800 -msgid "Fallback critical CSS" -msgstr "CSSهای معوق بحرانی" +#: inc/admin/ui/notices.php:745 +msgid "The following code should have been written to this file:" +msgstr "کدهای زیر باید داخل این فایل نوشته شوند:" -#: inc/Engine/Admin/Settings/Page.php:802 -#, php-format -msgid "" -"Provides a fallback if auto-generated critical path CSS is incomplete. " -"%1$sMore info%2$s" -msgstr "" -"اگر مسیرهای بحرانی تولید شده خودکار CSS ناقص بود، یک تعویق ارائه دهید " -"%1$sاطلاعات بیشتر%2$s" +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:776 +msgid "%s cannot configure itself due to missing writing permissions." +msgstr "%s به علت عدم دسترسی نوشتن نمی‌تواند خود را تنظیم کند." -#: inc/Engine/Admin/Settings/Page.php:817 -msgid "Minify JavaScript files" -msgstr "فشرده‌سازی فایل‌های جاوا اسکریپت" +#. translators: %s = file/folder name +#: inc/admin/ui/notices.php:782 +msgid "Affected file/folder: %s" +msgstr "فایل\\فولدرهای مورد نظر: %s" -#: inc/Engine/Admin/Settings/Page.php:818 -msgid "" -"Minify JavaScript removes whitespace and comments to reduce the file size." -msgstr "" -"فشرده‌سازی فایل‌های جاوا اسکریپت حجم را با استفاده از حذف کامنت‌ها و فضاهای " -"خالی کاهش می‌دهد." +#: inc/classes/admin/class-logs.php:124 +msgid "The debug file could not be deleted." +msgstr "فایل اشکال زدایی حذف نشد." -#: inc/Engine/Admin/Settings/Page.php:833 -msgid "Activate minify JavaScript" -msgstr "فعال‌سازی فشرده‌سازی جاوا اسکریپت" +#. Translators: %1$s = Plugin name, %2$s = Plugin version. +#: inc/classes/class-wp-rocket-requirements-check.php:147 +msgid "To function properly, %1$s %2$s requires at least:" +msgstr "برای عمل کردن به حداقل %1$s %2$s نیاز است:" -#: inc/Engine/Admin/Settings/Page.php:838 +#. Translators: %1$s = PHP version required. +#: inc/classes/class-wp-rocket-requirements-check.php:151 msgid "" -"Combine JavaScript files (Enable Minify JavaScript files to select)" +"PHP %1$s. To use this WP Rocket version, please ask your web host how to " +"upgrade your server to PHP %1$s or higher." msgstr "" -"ادغام فایل‌های جاوا اسکریپت (برای انتخاب این گزینه، فشرده ساز فایل‌های " -"جاوا اسکریپت را فعال کنید)" +"نسخه %1$s PHP. برای استفاده از این نسخه از موشک وردپرس، لطفا هاست خود را جهت" +" بروزرسانی به نسخه PHP %1$s یا بالاتر بررسی کنید." -#: inc/Engine/Admin/Settings/Page.php:840 -#, php-format +#. Translators: %1$s = WordPress version required. +#: inc/classes/class-wp-rocket-requirements-check.php:156 msgid "" -"Combine JavaScript files combines your site’s internal, 3rd party and inline" -" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. " -"%1$sMore info%2$s" +"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to " +"version %1$s or higher." msgstr "" -"ترکیب فایل های جاوا اسکریپت ترکیبی از داخلی ، شخص 3rd و JS داخلی شما ، " -"درخواست های HTTP را کاهش می دهد. اگر سایت شما از HTTP/2 استفاده می کند توصیه" -" نمی شود. %1$sراهنمایی%2$s" +"نسخه %1$s وردپرس. برای استفاده از این نسخه از موشک وردپرس، لطفا وردپرس خود " +"را به نسخه %1$s یا بالاتر به روز رسانی کنید." -#: inc/Engine/Admin/Settings/Page.php:841 +#: inc/classes/class-wp-rocket-requirements-check.php:159 msgid "" -"For compatibility and best results, this option is disabled when delay " -"javascript execution is enabled." +"If you are not able to upgrade, you can rollback to the previous version by " +"using the button below." msgstr "" -"برای سازگاری و بهترین نتایج ، این گزینه با فعال کردن تأخیر در اجرای جاوا " -"اسکریپت غیرفعال می شود." +"اگر نمی‌توانید به روز رسانی را انجام دهید، می‌توانید با استفاده از دکمه زیر " +"به نسخه‌های قبلی بازگردید." -#: inc/Engine/Admin/Settings/Page.php:857 -msgid "Activate combine JavaScript" -msgstr "فعال‌سازی ادغام جاوا اسکریپت" +#. Translators: %s = Previous plugin version. +#: inc/classes/class-wp-rocket-requirements-check.php:161 +#: inc/deprecated/deprecated.php:1947 +msgid "Re-install version %s" +msgstr "نصب دوباره نسخه %s" -#: inc/Engine/Admin/Settings/Page.php:862 inc/admin/options.php:125 -msgid "Excluded Inline JavaScript" -msgstr "حذف جاوا اسکریپت داخلی" +#. translators: %s is the plugin name. +#: inc/classes/class-wp-rocket-requirements-check.php:203 +#: inc/classes/class-wp-rocket-requirements-check.php:214 +#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251 +#: inc/Engine/Plugin/UpdaterSubscriber.php:483 +#: inc/Engine/Plugin/UpdaterSubscriber.php:497 +msgid "%s Update Rollback" +msgstr "%s بازگشتن به نسخه قبلی" -#: inc/Engine/Admin/Settings/Page.php:864 -#, php-format +#. translators: %1$s = missing tags; +#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151 msgid "" -"Specify patterns of inline JavaScript to be excluded from concatenation (one" -" per line). %1$sMore info%2$s" -msgstr "" -"برای مستثنی کردن فایل‌های جاوا اسکریپت از ادغام و فشرده سازی، آدرس آن را " -"اینجا وارد کنید.(هرخط یک آدرس).%1$sاطلاعات بیشتر%2$s" - -#: inc/Engine/Admin/Settings/Page.php:880 -#: inc/Engine/Admin/Settings/Page.php:913 -#: inc/Engine/Admin/Settings/Page.php:960 inc/admin/options.php:126 -msgid "Excluded JavaScript Files" -msgstr "مستثنی کردن فایل‌های جاوا اسکریپت" +"Failed to detect the following requirement in your theme: closing %1$s." +msgid_plural "" +"Failed to detect the following requirements in your theme: closing %1$s." +msgstr[0] "شرایط زیر در موضوع شما تشخیص داده نشد: بسته شدن %1$s." +msgstr[1] "شرایط زیر در موضوع شما تشخیص داده نشد: بسته شدن %1$s." -#: inc/Engine/Admin/Settings/Page.php:881 +#. translators: Documentation exists in EN, FR; use localized URL if +#. applicable. +#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159 msgid "" -"Specify URLs of JavaScript files to be excluded from minification and " -"concatenation (one per line)." +"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" +"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" msgstr "" -"نشانی های وب فایلهای جاوا اسکریپت را مشخص کنید تا از کوچک سازی و اتصال (یکی " -"در هر خط) حذف شوند." +"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" +"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" -#: inc/Engine/Admin/Settings/Page.php:882 -msgid "" -"Internal: The domain part of the URL will be stripped " -"automatically. Use (.*).js wildcards to exclude all JS files located at a " -"specific path." -msgstr "" -"داخلی:بخش دامنه URL به طور خودکار برداشته می شود. از (*). " -"js برای حذف تمام فایل های JS واقع در یک مسیر خاص استفاده کنید." +#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147 +#: views/settings/page-sections/dashboard.php:150 +msgid "Clear and preload cache" +msgstr "حذف و پیش بارگذاری مجدد کش" -#: inc/Engine/Admin/Settings/Page.php:884 -#, php-format -msgid "" -"3rd Party: Use either the full URL path or only the domain " -"name, to exclude external JS. %1$sMore info%2$s" -msgstr "" -"شخص 3rd :برای حذف JS خارجی ، از مسیر URL کامل یا فقط نام " -"دامنه استفاده کنید.%1$sراهنمایی%2$s" +#: inc/common/admin-bar.php:135 inc/functions/i18n.php:40 +#: inc/functions/i18n.php:50 +msgid "All languages" +msgstr "همه‌ی زبان‌ها" -#: inc/Engine/Admin/Settings/Page.php:900 -msgid "Load JavaScript deferred" -msgstr "بارگذاری جاوا اسکریپت به صورت تاخیری" +#: inc/common/admin-bar.php:171 +msgid "Clear this post" +msgstr "پاک کردن این نوشته" -#: inc/Engine/Admin/Settings/Page.php:902 -#, php-format -msgid "" -"Load JavaScript deferred eliminates render-blocking JS on your site and can " -"improve load time. %1$sMore info%2$s" -msgstr "" -"بارگذاری جاوا اسکریپت به صورت تاخیری برای افزایش سرعت بارگذاری، جاوا " -"اسکریپت‌های مسدود کننده رندر render-blocking صفحه را حذف می‌کند. %1$sاطلاعات" -" بیشتر%2$s" +#: inc/common/admin-bar.php:185 +msgid "Purge this URL" +msgstr "پاک‌سازی این لینک" -#: inc/Engine/Admin/Settings/Page.php:915 -#, php-format -msgid "" -"Specify URLs or keywords of JavaScript files to be excluded from defer (one " -"per line). %1$sMore info%2$s" -msgstr "" -"برای مستثنی کردن فایل‌های جاوا اسکریپت از تعویق، آدرس آن را اینجا وارد " -"کنید(هرخط یک آدرس).%1$sاطلاعات بیشتر%2$s" +#: inc/common/admin-bar.php:205 +msgid "Purge Sucuri cache" +msgstr "تخلیه کش Sucuri" -#: inc/Engine/Admin/Settings/Page.php:931 inc/admin/ui/meta-boxes.php:111 -msgid "Delay JavaScript execution" -msgstr "تاخیر اجرای جاوا اسکریپت" +#: inc/common/admin-bar.php:229 views/settings/fields/rocket-cdn.php:55 +msgid "Purge RocketCDN cache" +msgstr "تخلیه کش RocketCDN" -#: inc/Engine/Admin/Settings/Page.php:933 -#, php-format -msgid "" -"Improves performance by delaying the loading of JavaScript files until user " -"interaction (e.g. scroll, click). %1$sMore info%2$s" -msgstr "" -"با تأخیر در بارگذاری فایل های جاوا اسکریپت تا تعامل کاربر (به عنوان مثال " -"پیمایش ، کلیک) ، عملکرد را بهبود می بخشد.%1$sراهنمایی%2$s" +#: inc/common/admin-bar.php:242 views/settings/partials/documentation.php:14 +msgid "Documentation" +msgstr "مستندات" -#: inc/Engine/Admin/Settings/Page.php:942 -msgid "One-click exclusions" -msgstr "موارد استثنا با یک کلیک" +#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36 +msgid "Activate Imagify" +msgstr "فعال‌سازی Imagify" + +#: inc/deprecated/3.2.php:52 +msgid "Install Imagify for Free" +msgstr "نصب رایگان Imagify" -#: inc/Engine/Admin/Settings/Page.php:943 +#: inc/deprecated/3.2.php:67 msgid "" -"When using the Delay JavaScript Execution, you might experience delay " -"loading elements located in the viewport that need to appear immediately - " -"e.g. slider, header, menu." +"Speed up your website and boost your SEO by reducing image file sizes " +"without losing quality with Imagify." msgstr "" -"هنگام استفاده از اجرای تاخیری جاوا اسکریپت، ممکن است عناصر بارگیری تاخیری " -"واقع در ویوپورت را تجربه کنید که باید فورا ظاهر شوند - به عنوان مثال: " -"اسلایدر، سربرگ، فهرست." +"سرعت و سئوی سایت خود را با کاهش حجم فایل‌های تصویری و بدون از دست دادن کیفیت" +" با کمک Imagify بالا ببرید." + +#: inc/deprecated/3.2.php:72 +msgid "More details" +msgstr "اطلاعات بیشتر" + +#. translators: %d is the number of pages preloaded. +#: inc/deprecated/3.2.php:228 +msgid "Sitemap preload: %d pages have been cached." +msgstr "بارگذاری نقشه سایت: %d برگه کش شد." -#: inc/Engine/Admin/Settings/Page.php:944 +#. translators: %d = Number of pages preloaded. +#: inc/deprecated/3.2.php:261 msgid "" -"If you need instant visibility, click below on files that should NOT be " -"delayed. This selection will help users interact with the elements straight " -"away." +"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see " +"progress)" msgstr "" -"اگر به دید فوری نیاز دارید، روی فایل‌هایی که نباید به تأخیر بیفتند، در زیر " -"کلیک کنید. این انتخاب به کاربران کمک می کند تا فوراً با عناصر تعامل داشته " -"باشند." +"بارگذاری نقشه سایت: %d برگه کش نشده هم اکنون بارگذاری شدند. (برای مشاهده " +"پیشرفت صفحه را رفرش کنید)" -#: inc/Engine/Admin/Settings/Page.php:961 +#. translators: %s is an URL. +#: inc/deprecated/3.3.php:761 inc/deprecated/3.3.php:770 +#: inc/Engine/Plugin/UpdaterApiTools.php:32 msgid "" -"Specify URLs or keywords that can identify inline or JavaScript files to be " -"excluded from delaying execution (one per line)." +"An unexpected error occurred. Something may be wrong with WP-Rocket.me or " +"this server’s configuration. If you continue to have problems, contact support." msgstr "" -"نشانی های اینترنتی یا کلمات کلیدی را مشخص کنید که بتوانند درون خطی یا فایل " -"های جاوا اسکریپت را شناسایی کنند تا از تأخیر اجرا حذف شوند (یکی در هر خط)." - -#: inc/Engine/Admin/Settings/Page.php:993 -msgid "Media" -msgstr "رسانه" - -#: inc/Engine/Admin/Settings/Page.php:994 -msgid "LazyLoad, image dimensions" -msgstr "بارگذاری تنبل، ابعاد تصویر" +"یک خطای غیر منتظره رخ داد. ممکن است خطایی در WP-Rocket.me یا تنظیمات " +"سرور’s شما باشد. اگر مشکل شما ادامه داشت، با پشتیبانی " +"تماس بگیرید." -#: inc/Engine/Admin/Settings/Page.php:1003 -msgid "Autoptimize" -msgstr "بهینه‌سازی خودکار" +#: inc/deprecated/3.4.php:18 +msgid "Choose a domain from the list" +msgstr "یک دامنه را از لیست انتخاب کنید" -#: inc/Engine/Admin/Settings/Page.php:1048 -msgid "LazyLoad" -msgstr "بارگزاری تنبل" +#: inc/deprecated/3.4.php:31 +msgid "No domain available in your Cloudflare account" +msgstr "دامنه‌ای در حساب Cloudflare شما موجود نیست" -#: inc/Engine/Admin/Settings/Page.php:1051 -#, php-format +#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195 msgid "" -"It can improve actual and perceived loading time as images, iframes, and " -"videos will be loaded only as they enter (or about to enter) the viewport " -"and reduces the number of HTTP requests. %1$sMore Info%2$s" +"Curl is disabled on your server. Please ask your host to enable it. This is " +"required for the Cloudflare Add-on to work correctly." msgstr "" -"این گزینه باعث می‌شود زمان بارگذاری تصاویر، آی‌فریم‌ها و ویدیو‌ها به صورت " -"بارگذاری آن‌ها هنگام قرار گرفتن در قسمت قابل مشاهده صفحه، به شکل واقعی و " -"محسوس کاهش یابد. همچنین (تعداد درخواست‌های) HTTP نیز کاهش خواهد یافت. " -"%1$sاطلاعات بیشتر%2$s" +"Curl در سرور شما غیرفعال است. لطفاً از میزبان خود بخواهید آن را فعال کند. " +"این مورد برای عملکرد صحیح افزونه Cloudflare ضروری است." -#: inc/Engine/Admin/Settings/Page.php:1058 -#, php-format +#. translators: %1$s = opening link; %2$s = closing link +#: inc/deprecated/3.5.php:79 msgid "" -"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s " -"LazyLoad, disable this option in %2$s." +"Cloudflare email, API key and Zone ID are not set. Read the " +"%1$sdocumentation%2$s for further guidance." msgstr "" -"بارگذاری تنبل در حال حاضر فعال است در%2$s. اگر می خواهید از بارگذاری تنبل " -"موشک وردپرس استفاده کنید، این گزینه %2$s را غیرفعال کنید." - -#: inc/Engine/Admin/Settings/Page.php:1061 -msgid "Image Dimensions" -msgstr "ابعاد تصویر" +"Cloudflare email, API key and Zone ID تنظیم نشده است. برای " +"راهنمایی%1$sمستندات%2$s را بخوانید." -#: inc/Engine/Admin/Settings/Page.php:1064 -#, php-format +#. translators: %1$s = opening link; %2$s = closing link +#: inc/deprecated/3.5.php:206 msgid "" -"Add missing width and height attributes to images. Helps prevent layout " -"shifts and improve the reading experience for your visitors. %1$sMore " -"info%2$s" +"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for" +" further guidance." msgstr "" -"ویژگی های عرض و ارتفاع را به تصاویر بدون آن اضافه کنید. به جلوگیری از تغییر " -"چیدمان و بهبود تجربه خواندن برای بازدیدکنندگان کمک می کند.%1$s راهنمایی%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1083 -msgid "Enable for images" -msgstr "فعال‌سازی برای تصاویر" +"Cloudflare email and API key تنظیم نشده است. برای راهنمایی%1$sمستندات%2$s را" +" بخوانید." -#: inc/Engine/Admin/Settings/Page.php:1095 -#, php-format -msgid "" -"LazyLoad for images is currently activated in %2$s. If you want to use " -"%1$s’s LazyLoad, disable this option in %2$s." -msgstr "" -"در حال حاضر بارگذاری تنبل تصاویر در %2$s فعال است. اگر می خواهید از " -"%1$sبارگذاری تنبل استفاده کنید. این گزینه را در %2$s غیرفعال کنید." +#: inc/deprecated/3.5.php:271 +msgid "Connection to Cloudflare failed" +msgstr "اتصال به Cloudflare انجام نشد" -#: inc/Engine/Admin/Settings/Page.php:1103 -msgid "Enable for iframes and videos" -msgstr "فعال سازی برای آی‌فریم‌ها و ویدیوها" +#. translators: %s = CloudFare API return message. +#: inc/deprecated/3.5.php:587 +msgid "WP Rocket: %s" +msgstr "راکت وردپرس: %s" -#: inc/Engine/Admin/Settings/Page.php:1118 -msgid "Replace YouTube iframe with preview image" -msgstr "جایگزینی آی‌فریم یوتیوب با تصویر پیش‌نمایش" - -#: inc/Engine/Admin/Settings/Page.php:1120 -#, php-format -msgid "Replace YouTube iframe with preview image is not compatible with %2$s." -msgstr "جایگزین iframe YouTube با تصویر پیش نمایش با %2$s سازگار نیست." - -#: inc/Engine/Admin/Settings/Page.php:1120 -msgid "" -"This can significantly improve your loading time if you have a lot of " -"YouTube videos on a page." -msgstr "" -"در صورتی که تعداد زیادی ویدیو از یوتیوب داخل صفحه خود داشته باشید، این گزینه" -" به طور قابل ملاحظه‌ای سرعت شما را افزایش خواهد داد." - -#: inc/Engine/Admin/Settings/Page.php:1135 -msgid "Excluded images or iframes" -msgstr "تصاویر یا iframe های مستثنی شده" - -#: inc/Engine/Admin/Settings/Page.php:1137 -#, php-format -msgid "" -"Specify keywords (e.g. image filename, CSS class, domain) from the image or " -"iframe code to be excluded (one per line). %1$sMore info%2$s" -msgstr "" -"کلمات کلیدی (مانند نام فایل تصویر ، کلاس CSS ، دامنه) را از تصویر یا کد " -"iframe حذف کنید (یکی در هر خط) مشخص کنید.%1$sراهنمایی%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1145 -msgid "Add missing image dimensions" -msgstr "افزودن ابعاد به تصاویر بدون ابعاد" - -#: inc/Engine/Admin/Settings/Page.php:1164 inc/deprecated/deprecated.php:1776 -msgid "Preload" -msgstr "پیش بارگذاری" - -#: inc/Engine/Admin/Settings/Page.php:1165 -msgid "Generate cache files, preload fonts" -msgstr "ایجاد فایل کش، پیش بارگذاری فونت‌ها" - -#: inc/Engine/Admin/Settings/Page.php:1177 -msgid "Preload Cache" -msgstr "پیش‌بارگذاری کش" - -#: inc/Engine/Admin/Settings/Page.php:1180 -msgid "" -"When you enable preloading WP Rocket will automatically detect your sitemaps" -" and save all URLs to the database. The plugin will make sure that your " -"cache is always preloaded." -msgstr "" -"وقتی پیش بارگذاری را فعال می کنید، WP Rocket به طور خودکار نقشه های سایت شما" -" را شناسایی می کند و همه URL ها را در پایگاه داده ذخیره می کند. این افزونه " -"مطمئن می شود که کش شما همیشه از قبل بارگذاری شده است." - -#: inc/Engine/Admin/Settings/Page.php:1188 -msgid "Preload Links" -msgstr "لینک‌های پیش بارگذاری" - -#: inc/Engine/Admin/Settings/Page.php:1191 -#, php-format -msgid "" -"Link preloading improves the perceived load time by downloading a page when " -"a user hovers over the link. %1$sMore info%2$s" -msgstr "" -"پیش بارگذاری لینک با بارگیری صفحه ای که کاربر روی لینک موس خود را قرار می " -"دهد ، زمان بارگذاری را بهبود می بخشد. %1$sراهنمایی%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1199 -msgid "Prefetch DNS Requests" -msgstr "پیش‌دریافت درخواست DNS" - -#: inc/Engine/Admin/Settings/Page.php:1201 -msgid "" -"DNS prefetching can make external files load faster, especially on mobile " -"networks" -msgstr "" -"پیش‌دریافت درخواست DNS باعث افزایش سرعت بارگذاری فایل‌های خارجی به خصوص بر " -"روی شبکه‌های موبایلی خواهد شد" - -#: inc/Engine/Admin/Settings/Page.php:1206 -msgid "Preload Fonts" -msgstr "پیش بارگذاری فونت‌ها" - -#: inc/Engine/Admin/Settings/Page.php:1209 -#, php-format -msgid "" -"Improves performance by helping browsers discover fonts in CSS files. " -"%1$sMore info%2$s" -msgstr "" -"با کمک به مرورگرها برای کشف فونت در فایل های CSS ، عملکرد را بهبود می " -"بخشد.%1$sراهنمایی%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1223 -msgid "Activate Preloading" -msgstr "فعالسازی پیش پارگذاری" - -#: inc/Engine/Admin/Settings/Page.php:1234 -msgid "Exclude URLs" -msgstr "مستثنی کردن URL ها" - -#: inc/Engine/Admin/Settings/Page.php:1239 -#, php-format -msgid "" -"Specify URLs to be excluded from the preload feature (one per line). " -"%1$sMore info%2$s" -msgstr "" -"برای مستثنی کردن URLها از پیش بارگذاری وارد کنید (یکی در هر خط).%1$sاطلاعات " -"بیشتر%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1250 -msgid "URLs to prefetch" -msgstr "آدرس‌ها برای پیش‌دریافت" - -#: inc/Engine/Admin/Settings/Page.php:1251 -msgid "" -"Specify external hosts to be prefetched (no http:, one per " -"line)" -msgstr "" -"میزبان‌های خارجی را برای واکشی مشخص کنید(بدونhttp:، یکی درهر " -"خط)" - -#: inc/Engine/Admin/Settings/Page.php:1260 -msgid "Fonts to preload" -msgstr "فونت‌ها برای پیش بارگذاری" - -#: inc/Engine/Admin/Settings/Page.php:1261 -msgid "" -"Specify urls of the font files to be preloaded (one per line). Fonts must be" -" hosted on your own domain, or the domain you have specified on the CDN tab." -msgstr "" -"آدرس های اینترنتی فایلهای فونت را که باید بارگیری شوند (یکی در هر خط) مشخص " -"کنید.فونت ها باید در دامنه خود یا دامنه ای که در برگه CDN مشخص کرده اید " -"میزبانی شوند." - -#: inc/Engine/Admin/Settings/Page.php:1262 -msgid "" -"The domain part of the URL will be stripped automatically.
    Allowed font " -"extensions: otf, ttf, svg, woff, woff2." -msgstr "" -"بخش دامنه URL به طور خودکار برداشته می شود.
    پسوند فونت های مجاز شامل: " -"otf, ttf, svg, woff, woff2." - -#: inc/Engine/Admin/Settings/Page.php:1271 -msgid "Enable link preloading" -msgstr "پیش بارگذاری لینک را فعال کنید" - -#: inc/Engine/Admin/Settings/Page.php:1290 -msgid "Advanced Rules" -msgstr "قوانین پیشرفته" - -#: inc/Engine/Admin/Settings/Page.php:1291 -msgid "Fine-tune cache rules" -msgstr "قوانین کش دقیق" +#: inc/deprecated/3.5.php:592 +msgid "WP Rocket: Cloudflare cache successfully purged." +msgstr "WP Rocket:کش CloudFlare با موفقیت پاک شد." -#: inc/Engine/Admin/Settings/Page.php:1302 +#: inc/deprecated/3.5.php:858 inc/Engine/HealthCheck/HealthCheck.php:81 msgid "" -"Sensitive pages like custom login/logout URLs should be excluded from cache." -msgstr "برگه‌های حساس مثل ورود\\خروج باید از کش مستثنی شوند." - -#: inc/Engine/Admin/Settings/Page.php:1305 -msgctxt "plugin name" -msgid "WooCommerce" -msgstr "ووکامرس" +"The following scheduled event failed to run. This may indicate the CRON " +"system is not running properly, which can prevent some WP Rocket features " +"from working as intended:" +msgid_plural "" +"The following scheduled events failed to run. This may indicate the CRON " +"system is not running properly, which can prevent some WP Rocket features " +"from working as intended:" +msgstr[0] "" +"رویداد برنامه ریزی شده زیر اجرا نشد. این ممکن است نشان دهد که سیستم CRON به " +"درستی اجرا نمی شود ، که می تواند مانع از عملکرد برخی از ویژگی های موشک " +"وردپرس شود:" +msgstr[1] "" +"رویداد برنامه ریزی شده زیر اجرا نشد. این ممکن است نشان دهد که سیستم CRON به " +"درستی اجرا نمی شود ، که می تواند مانع از عملکرد برخی از ویژگی های موشک " +"وردپرس شود:" -#: inc/Engine/Admin/Settings/Page.php:1307 -msgctxt "plugin name" -msgid "Easy Digital Downloads" -msgstr "دانلود آسان دیجیتال EDD" +#: inc/deprecated/3.5.php:867 inc/Engine/HealthCheck/HealthCheck.php:88 +msgid "Please contact your host to check if CRON is working." +msgstr "لطفا با هاست خود جهت بررسی عملکرد CRON تماس بگیرید." -#: inc/Engine/Admin/Settings/Page.php:1309 -msgctxt "plugin name" -msgid "iThemes Exchange" -msgstr "iThemes Exchange" +#: inc/deprecated/3.10.php:163 +msgid "OPcache purge failed." +msgstr "تخلیه کش OPcache شکست خورد." -#: inc/Engine/Admin/Settings/Page.php:1311 -msgctxt "plugin name" -msgid "Jigoshop" -msgstr "Jigoshop" +#: inc/deprecated/3.10.php:168 +msgid "OPcache successfully purged" +msgstr "OPcache با موفقیت تخلیه شد" -#: inc/Engine/Admin/Settings/Page.php:1313 -msgctxt "plugin name" -msgid "WP-Shop" -msgstr "WP-Shop" +#: inc/deprecated/3.11.php:81 +msgid "Yoast SEO XML sitemap" +msgstr "نقشه سایت Yoast SEO" -#: inc/Engine/Admin/Settings/Page.php:1319 -#, php-format +#. translators: %s = Name of the plugin. +#. translators: %s = plugin name, e.g. Yoast SEO. +#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58 +#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186 +#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342 msgid "" -"
    Cart, checkout and \"my account\" pages set in " -"%1$s%2$s%3$s will be detected and never cached by default." +"We automatically detected the sitemap generated by the %s plugin. You can " +"check the option to preload it." msgstr "" -"
    برگه‌های سبد خرید، پرداخت و \"حساب کاربری من\" که در " -"%1$s%2$s%3$s تعیین شده‌اند تشخیص داده خواهند شد و به صورت " -"پیش‌فرض هرگز کش نخواهند شد." - -#: inc/Engine/Admin/Settings/Page.php:1329 inc/admin/options.php:129 -msgid "Never Cache URL(s)" -msgstr "آدرس‌(هایی) که هرگز کش نخواهند شد" +"ما به طور خودکار نقشه سایت تولید شده توسط پلاگین %s را تشخیص می‌دهیم. شما می" +" توانید این گزینه را برای بارگذاری اولیه آن تیک بزنید." -#: inc/Engine/Admin/Settings/Page.php:1337 -msgid "Never Cache Cookies" -msgstr "کوکی‌هایی که هرگز کش نخواهند شد" +#. translators: 1 and 3 are link openings, 2 is a link closing. +#: inc/deprecated/3.11.php:279 inc/Engine/Plugin/UpdaterSubscriber.php:520 +msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s" +msgstr "%1$sبازگشت به موشک وردپرس%2$sیا %3$s رفتن به برگه افزونه‌ها%2$s" -#: inc/Engine/Admin/Settings/Page.php:1343 inc/admin/options.php:130 -msgid "Never Cache User Agent(s)" -msgstr "عامل‌(های) کاربری هرگز کش نخواهند شد" +#: inc/deprecated/3.12.php:56 +msgid "All in One SEO XML sitemap" +msgstr "نقشه سایت All in One SEO" -#: inc/Engine/Admin/Settings/Page.php:1349 inc/admin/options.php:131 -msgid "Always Purge URL(s)" -msgstr "URL (هایی) که همیشه پاک‌سازی شوند" +#: inc/deprecated/3.12.php:85 +msgid "Rank Math XML sitemap" +msgstr "نقشه سایت Rank Math" -#: inc/Engine/Admin/Settings/Page.php:1355 -msgid "Cache Query String(s)" -msgstr "کش کردن کوئری استرینگ‌(ها)" +#: inc/deprecated/3.12.php:184 +msgid "SEOPress XML sitemap" +msgstr "نقشه سایت Rank Math" -#: inc/Engine/Admin/Settings/Page.php:1358 -#, php-format -msgid "" -"%1$sCache for query strings%2$s enables you to force caching for specific " -"GET parameters." -msgstr "" -"%1$sکش کردن کوئری استرینگ‌ها%2$s باعث می‌شوند که پارامترهای متد GET به اجبار" -" کش شوند." +#: inc/deprecated/3.12.php:251 +msgid "The SEO Framework XML sitemap" +msgstr "نقشه سایت SEO Framework" -#: inc/Engine/Admin/Settings/Page.php:1369 -msgid "" -"Specify URLs of pages or posts that should never be cached (one per line)" -msgstr "" -"آدرس برگه‌ها یا نوشته‌هایی که هرگز نباید کش شوند را تعیین کنید (در هر خط " -"یکی)" +#: inc/deprecated/3.12.php:332 +msgid "Jetpack XML Sitemaps" +msgstr "نقشه سایت جت‌پک" -#: inc/Engine/Admin/Settings/Page.php:1370 -#: inc/Engine/Admin/Settings/Page.php:1398 -msgid "" -"The domain part of the URL will be stripped automatically.
    Use (.*) " -"wildcards to address multiple URLs under a given path." -msgstr "" -"قسمت نام دامنه آدرس به صورت خودکار حذف خواهد شد.
    از (.*) برای تعیین چند" -" آدرس از یک مسیر استفاده کنید." +#: inc/deprecated/3.12.php:334 +msgid "Preload the sitemap from the Jetpack plugin" +msgstr "پیش‌بارگذاری نقشه سایت از افزونه جت‌پک" -#: inc/Engine/Admin/Settings/Page.php:1379 -msgid "" -"Specify full or partial IDs of cookies that, when set in the visitor's " -"browser, should prevent a page from getting cached (one per line)" -msgstr "" -"شناسه های کامل یا جزئی کوکی ها را مشخص کنید که وقتی در مرورگر بازدیدکننده " -"تنظیم می شوند ، از ذخیره شدن صفحه جلوگیری شود (یکی در هر خط)" +#: inc/deprecated/deprecated.php:240 +msgid "JS files with Deferred Loading JavaScript" +msgstr "JS فایل‌های با بارگذاری تاخیری جاوا اسکریپت" -#: inc/Engine/Admin/Settings/Page.php:1387 -msgid "" -"Specify user agent strings that should never see cached pages (one per line)" -msgstr "" -"رشته‌های user agentی که هرگز نباید صفحات را کش شده مشاهده کنند را تعیین کنید" -" (در هر خط یکی)" +#: inc/deprecated/deprecated.php:293 +msgid "Add URL" +msgstr "افزودن آدرس" -#: inc/Engine/Admin/Settings/Page.php:1388 -msgid "Use (.*) wildcards to detect parts of UA strings." -msgstr "برای تشخص قسمت‌های مختلف رشته user agent از (.*)استفاده کنید." +#: inc/deprecated/deprecated.php:1245 +#: inc/Engine/Admin/Settings/Settings.php:451 +msgid "Settings saved." +msgstr "تنظیمات ذخیره شد." -#: inc/Engine/Admin/Settings/Page.php:1397 +#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22 msgid "" -"Specify URLs you always want purged from cache whenever you update any post " -"or page (one per line)" -msgstr "" -"آدرس‌هایی که مایل هستید فارغ از اینکه نوشته یا برگه‌ای بروزرسانی شده، همیشه " -"از کش حذف شوند را تعیین کنید (در هر خط یکی)" - -#: inc/Engine/Admin/Settings/Page.php:1406 -msgid "Specify query strings for caching (one per line)" -msgstr "کوئری استرینگ‌ها برای کش شدن را تعیین کنید (در هر خط یکی)" - -#: inc/Engine/Admin/Settings/Page.php:1431 inc/deprecated/deprecated.php:1775 -msgid "Database" -msgstr "پایگاه داده" - -#: inc/Engine/Admin/Settings/Page.php:1432 -msgid "Optimize, reduce bloat" -msgstr "بهینه‌سازی، کاهش نفخ" - -#: inc/Engine/Admin/Settings/Page.php:1439 -msgid "Post Cleanup" -msgstr "پاک‌سازی نوشته" +"Before you can upload your import file, you will need to fix the following " +"error:" +msgstr "قبل از بارگذاری فایل درون‌ریزی باید خطاهای زیر را برطرف کنید:" -#: inc/Engine/Admin/Settings/Page.php:1441 -msgid "" -"Post revisions and drafts will be permanently deleted. Do not use this " -"option if you need to retain revisions or drafts." -msgstr "" -"نوشته‌های بازبینی و پیش‌نویس به طور دائم حذف خواهند شد. اگر به نگه‌داری " -"بازبینی‌ها و پیش‌نویس‌ها نیاز دارید این گزینه را استفاده نکنید." +#. translators: %s is the maximum upload size set on the current server. +#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35 +msgid "Choose a file from your computer (maximum size: %s)" +msgstr "انتخاب فایل از رایانه شما (حداکثر حجم: %s)" -#: inc/Engine/Admin/Settings/Page.php:1446 -msgid "Comments Cleanup" -msgstr "پاک‌سازی دیدگاه‌ها" +#: inc/deprecated/deprecated.php:1294 inc/Engine/Admin/Settings/Render.php:422 +msgid "Upload file and import settings" +msgstr "بارگذاری فایل و درون‌ریزی تنظیمات" -#: inc/Engine/Admin/Settings/Page.php:1448 -msgid "Spam and trashed comments will be permanently deleted." -msgstr "دیدگا‌ه‌های اسپم و داخل زباله‌دان به طور دائم حذف خواهند شد." +#: inc/deprecated/deprecated.php:1385 +msgid "Your Cloudflare credentials are valid." +msgstr "اطلاعات CloudFlare شما معتبر است." -#: inc/Engine/Admin/Settings/Page.php:1452 -msgid "Transients Cleanup" -msgstr "پاک‌سازی داده‌های گذرا" +#: inc/deprecated/deprecated.php:1389 +msgid "Your Cloudflare credentials are invalid!" +msgstr "اطلاعات CloudFlare شما نامعتبر است!" -#: inc/Engine/Admin/Settings/Page.php:1454 -msgid "" -"Transients are temporary options; they are safe to remove. They will be " -"automatically regenerated as your plugins require them." -msgstr "" -"داده‌های گذرا تنظیمات موقتی هستند. حذف آن‌ها ایمن است. در صورتی که افزونه‌ها" -" به این داده‌ها نیاز داشته باشند به صورت خودکار ایجاد خواهند شد." +#: inc/deprecated/deprecated.php:1453 +msgid "Save and optimize" +msgstr "ذخیره و بهینه‌سازی" -#: inc/Engine/Admin/Settings/Page.php:1458 -msgid "Database Cleanup" -msgstr "پاک‌سازی پایگاه داده" +#: inc/deprecated/deprecated.php:1453 +msgid "Optimize" +msgstr "بهینه‌سازی" -#: inc/Engine/Admin/Settings/Page.php:1460 -msgid "Reduces overhead of database tables" -msgstr "بهینه سازی جداول دیتابیس" +#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666 +msgctxt "screen-reader-text" +msgid "Note:" +msgstr "یادداشت:" -#: inc/Engine/Admin/Settings/Page.php:1464 -msgid "Automatic Cleanup" -msgstr "پاک‌سازی خودکار" +#: inc/deprecated/deprecated.php:1470 +msgctxt "screen-reader-text" +msgid "Performance tip:" +msgstr "نکته کارایی:" -#: inc/Engine/Admin/Settings/Page.php:1477 -#, php-format -msgid "%s revision in your database." -msgid_plural "%s revisions in your database." -msgstr[0] "%s بازبینی در پایگاه داده شما وجود دارد." -msgstr[1] "%s بازبینی در پایگاه داده شما وجود دارد." +#: inc/deprecated/deprecated.php:1476 +msgctxt "screen-reader-text" +msgid "Third-party feature detected:" +msgstr "ویژگی های سوم شخص شناسایی شده است:" -#: inc/Engine/Admin/Settings/Page.php:1487 -#, php-format -msgid "%s draft in your database." -msgid_plural "%s drafts in your database." -msgstr[0] "%s پیش‌نویس در پایگاه داده شما وجود دارد." -msgstr[1] "%s پیش‌نویس در پایگاه داده شما وجود دارد." +#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672 +msgctxt "screen-reader-text" +msgid "Warning:" +msgstr "اخطار:" -#: inc/Engine/Admin/Settings/Page.php:1497 -#, php-format -msgid "%s trashed post in your database." -msgid_plural "%s trashed posts in your database." -msgstr[0] "%s نوشته داخل زباله‌دان در پایگاه داده شما وجود دارد." -msgstr[1] "%s نوشته داخل زباله‌دان در پایگاه داده شما وجود دارد." +#: inc/deprecated/deprecated.php:1501 +msgctxt "button text" +msgid "Download settings" +msgstr "دانلود تنظیمات" -#: inc/Engine/Admin/Settings/Page.php:1507 -#, php-format -msgid "%s spam comment in your database." -msgid_plural "%s spam comments in your database." -msgstr[0] "%s دیدگاه اسپم در پایگاه داده شما وجود دارد." -msgstr[1] "%s دیدگاه اسپم در پایگاه داده شما وجود دارد." +#: inc/deprecated/deprecated.php:1531 +msgid "Replace site's hostname with:" +msgstr "جایگزینی نام هاست سایت با:" -#: inc/Engine/Admin/Settings/Page.php:1517 -#, php-format -msgid "%s trashed comment in your database." -msgid_plural "%s trashed comments in your database." -msgstr[0] "%s دیدگاه در زباله‌دان شما وجود دارد." -msgstr[1] "%s دیدگاه در زباله‌دان شما وجود دارد." +#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587 +#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41 +#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105 +msgid "reserved for" +msgstr "متعلق به" -#: inc/Engine/Admin/Settings/Page.php:1525 -msgid "All transients" -msgstr "همه داده‌های گذرا" +#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589 +#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44 +#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108 +msgid "All files" +msgstr "همه فایل‌ها" -#: inc/Engine/Admin/Settings/Page.php:1527 -#, php-format -msgid "%s transient in your database." -msgid_plural "%s transients in your database." -msgstr[0] "%s داده گذرا در پایگاه داده شما وجود دارد." -msgstr[1] "%s داده گذرا در پایگاه داده شما وجود دارد." +#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594 +#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56 +#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120 +msgid "Images" +msgstr "تصاویر" -#: inc/Engine/Admin/Settings/Page.php:1535 -msgid "Optimize Tables" -msgstr "بهینه‌سازی جدول‌ها" +#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132 +msgid "Add CNAME" +msgstr "افزودن CNAME" -#: inc/Engine/Admin/Settings/Page.php:1537 -#, php-format -msgid "%s table to optimize in your database." -msgid_plural "%s tables to optimize in your database." -msgstr[0] "%s جدول برای بهینه‌سازی در پایگاه داده شما وجود دارد." -msgstr[1] "%s جدول برای بهینه‌سازی در پایگاه داده شما وجود دارد." +#: inc/deprecated/deprecated.php:1706 +msgid "Watch the video" +msgstr "تماشای ویدیو" -#: inc/Engine/Admin/Settings/Page.php:1548 -msgid "Schedule Automatic Cleanup" -msgstr "برنامه‌ریزی پاک‌سازی خودکار" +#: inc/deprecated/deprecated.php:1771 +msgid "Basic" +msgstr "پایه" -#: inc/Engine/Admin/Settings/Page.php:1560 -msgid "Frequency" -msgstr "دوره تکرار" +#: inc/deprecated/deprecated.php:1772 +msgid "Static Files" +msgstr "فایل‌های استاتیک" -#: inc/Engine/Admin/Settings/Page.php:1568 -msgid "Daily" -msgstr "روزانه" +#: inc/deprecated/deprecated.php:1774 +msgid "Advanced" +msgstr "پیشرفته" -#: inc/Engine/Admin/Settings/Page.php:1569 -msgid "Weekly" -msgstr "هفتگی" +#: inc/deprecated/deprecated.php:1775 inc/Engine/Admin/Settings/Page.php:1431 +msgid "Database" +msgstr "پایگاه داده" -#: inc/Engine/Admin/Settings/Page.php:1570 -msgid "Monthly" -msgstr "ماهیانه" +#: inc/deprecated/deprecated.php:1776 inc/Engine/Admin/Settings/Page.php:1164 +msgid "Preload" +msgstr "پیش بارگذاری" -#: inc/Engine/Admin/Settings/Page.php:1586 -#: inc/Engine/Admin/Settings/Page.php:1597 inc/admin/ui/meta-boxes.php:108 -#: inc/deprecated/deprecated.php:1773 -msgid "CDN" -msgstr "شبکه تحویل محتوا CDN" +#: inc/deprecated/deprecated.php:1786 +#: inc/Engine/Admin/Settings/Subscriber.php:168 +#: views/settings/page-sections/tools.php:33 +msgid "Tools" +msgstr "ابزارها" -#: inc/Engine/Admin/Settings/Page.php:1587 -msgid "Integrate your CDN" -msgstr "CDN خود را سازگار کنید" +#: inc/deprecated/deprecated.php:1789 inc/Engine/Admin/Settings/Page.php:352 +#: views/settings/page-sections/dashboard.php:80 +msgid "License" +msgstr "کد لایسنس" -#: inc/Engine/Admin/Settings/Page.php:1599 +#. Translators: %1$s = Plugin name, %2$s = Plugin version, %3$s = PHP version +#. required. +#: inc/deprecated/deprecated.php:1944 msgid "" -"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)" -" you provide." +"%1$s %2$s requires at least PHP %3$s to function properly. To use this " +"version, please ask your web host how to upgrade your server to PHP %3$s or " +"higher. If you are not able to upgrade, you can rollback to the previous " +"version by using the button below." msgstr "" -"آدرس همه فایل‌های استاتیک (CSS، JS، تصاویر) با استفاده از CNAME (هایی) که " -"شما تعیین کرده‌اید بازنویسی خواهند شد." +"%1$s %2$s حداقل به نسخه PHP %3$s برای عملکرد صحیح نیاز دارد. برای استفاده از" +" این نسخه، لطفا با مدیر هاست خود برای ارتقا نسخه PHP به PHP %3$s یا بالاتر " +"تماس بگیرید. اگر قادر به ارتقا نیستید، می‌توانید با استفاده از دکمه زیر به " +"نسخه قبلی بازگردید." -#: inc/Engine/Admin/Settings/Page.php:1601 -#, php-format +#. translators: 1: PHP class name, 2: version number, 3: replacement class +#. name. +#: inc/deprecated/DeprecatedClassTrait.php:54 msgid "" -"Not required for services like Cloudflare and Sucuri. Please see our " -"available %1$sAdd-ons%2$s." +"The called class %1$s is deprecated since version %2$s! Use" +" %3$s instead." msgstr "" -"برای سرویس هایی مانند Cloudflare و Sucuri ضروری نیست. لطفا " -"%1$sافزودنی‌های%2$s موجود ما را مشاهده کنید." - -#: inc/Engine/Admin/Settings/Page.php:1616 inc/admin/options.php:132 -msgid "Exclude files from CDN" -msgstr "مستثنی کردن فایل‌ها از CDN" +"کلاس فراخوانی شده %1$s منسوخ شده از نسخه%2$s! بجاش از %3$s " +"استفاده کنید." -#: inc/Engine/Admin/Settings/Page.php:1648 +#. translators: 1: PHP class name, 2: version number. +#: inc/deprecated/DeprecatedClassTrait.php:65 msgid "" -"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings " -"is not required for %2$l to work on your site." -msgid_plural "" -"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN " -"settings is not required for %2$l to work on your site." -msgstr[0] "" -"%1$s%2$l افزودنی%3$s اکنون فعال است. پیکربندی تنظیمات CDN برای %2$l ضروری " -"نیست." -msgstr[1] "" -"%1$s%2$l افزودنی%3$s اکنون فعال است. پیکربندی تنظیمات CDN برای %2$l ضروری " -"نیست." +"The called class %1$s is deprecated since version %2$s!" +msgstr "کلاس فراخوانی شده %1$s منسوخ شده از نسخه%2$s!" -#: inc/Engine/Admin/Settings/Page.php:1673 -msgid "Enable Content Delivery Network" -msgstr "فعالسازی شبکه تحویل محتوا" +#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92 +#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137 +#: inc/Engine/Admin/Database/Subscriber.php:79 +msgid "weekly" +msgstr "هفتگی" -#: inc/Engine/Admin/Settings/Page.php:1682 -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159 -msgid "CDN CNAME(s)" -msgstr "CNAME (های) CDN" +#: inc/Engine/Admin/Database/Optimization.php:30 +#: inc/Engine/Admin/Settings/Page.php:1475 +msgid "Revisions" +msgstr "بازبینی‌ها" -#: inc/Engine/Admin/Settings/Page.php:1683 -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160 -msgid "Specify the CNAME(s) below" -msgstr "CNAME (ها) را اینجا تعیین کنید" +#: inc/Engine/Admin/Database/Optimization.php:31 +#: inc/Engine/Admin/Settings/Page.php:1485 +msgid "Auto Drafts" +msgstr "پیش نویس خودکار" -#: inc/Engine/Admin/Settings/Page.php:1690 -msgid "" -"Specify URL(s) of files that should not get served via CDN (one per line)." -msgstr "" -"آدرس فایل‌(هایی) که نباید از طریق CDN بارگذاری شوند را تعیین کنید.(هرخط یک " -"آدرس)" +#: inc/Engine/Admin/Database/Optimization.php:32 +#: inc/Engine/Admin/Settings/Page.php:1495 +msgid "Trashed Posts" +msgstr "نوشته‌های داخل زباله دان" -#: inc/Engine/Admin/Settings/Page.php:1691 -msgid "" -"The domain part of the URL will be stripped automatically.
    Use (.*) " -"wildcards to exclude all files of a given file type located at a specific " -"path." -msgstr "" -"قسمت نام دامنه آدرس به صورت خودکار حذف خواهد شد.
    برای مستثنی کردن همه " -"فایل‌های هم نوع موجود در یک مسیر از (.*) استفاده کنید." +#: inc/Engine/Admin/Database/Optimization.php:33 +#: inc/Engine/Admin/Settings/Page.php:1505 +msgid "Spam Comments" +msgstr "دیدگاه‌های اسپم" -#: inc/Engine/Admin/Settings/Page.php:1714 -#: inc/Engine/Admin/Settings/Page.php:1722 -msgid "Heartbeat" -msgstr "ضربان Heartbeat" +#: inc/Engine/Admin/Database/Optimization.php:34 +#: inc/Engine/Admin/Settings/Page.php:1515 +msgid "Trashed Comments" +msgstr "دیدگاه‌های زباله‌دان" -#: inc/Engine/Admin/Settings/Page.php:1715 -msgid "Control WordPress Heartbeat API" -msgstr "کنترل API سرویس WordPress Heartbeat" +#: inc/Engine/Admin/Database/Optimization.php:35 +msgid "Transients" +msgstr "داده‌های گذرا" -#: inc/Engine/Admin/Settings/Page.php:1723 -msgid "" -"Reducing or disabling the Heartbeat API’s activity can help save some of " -"your server’s resources." -msgstr "" -"کاهش یا غیرفعال کردن فعالیت Heartbeat API می تواند به ذخیره برخی از منابع " -"سرور شما کمک کند." +#: inc/Engine/Admin/Database/Optimization.php:36 +msgid "Tables" +msgstr "جداول" -#: inc/Engine/Admin/Settings/Page.php:1729 -msgid "Reduce or disable Heartbeat activity" -msgstr "کاهش یا غیرفعال کردن فعالیت Heartbeat" +#: inc/Engine/Admin/Database/Subscriber.php:85 +msgid "monthly" +msgstr "ماهیانه" -#: inc/Engine/Admin/Settings/Page.php:1730 +#: inc/Engine/Admin/Database/Subscriber.php:194 +msgid "Database optimization process is running" +msgstr "فرآیند بهینه‌سازی پایگاه داده در حال اجرا است" + +#: inc/Engine/Admin/Database/Subscriber.php:224 msgid "" -"Reducing activity will change Heartbeat frequency from one hit each minute " -"to one hit every 2 minutes." +"Database optimization process is complete. Everything was already optimized!" +msgstr "فرآیند بهینه‌سازی پایگاه داده کامل شد. همینک همه چیز باید بهینه باشد!" + +#: inc/Engine/Admin/Database/Subscriber.php:227 +msgid "" +"Database optimization process is complete. List of optimized items below:" msgstr "" -"با کاهش فعالیت ، فرکانس Heartbeat از یک ضربه در هر دقیقه به یک ضربه در هر 2 " -"دقیقه تغییر می کند." +"فرآیند بهینه‌سازی پایگاه داده کامل شد. فهرست موارد بهینه شده در زیر آمده " +"است:" -#: inc/Engine/Admin/Settings/Page.php:1730 +#. translators: %1$d = number of items optimized, %2$s = type of optimization +#: inc/Engine/Admin/Database/Subscriber.php:235 +msgid "%1$d %2$s optimized." +msgstr "%1$d %2$s بهینه شد." + +#. translators: %1$s = , %2$s = , %3$s = , %4$s = . +#: inc/Engine/Admin/DomainChange/Subscriber.php:143 msgid "" -"Disabling Heartbeat entirely may break plugins and themes using this API." +"%1$sWP Rocket:%2$s We detected that the website domain has changed. The " +"configuration files must be regenerated for the page cache and all other " +"optimizations to work as intended. %3$sLearn More%4$s" msgstr "" -"با غیرفعال کردن کامل Heartbeat ممکن است افزونه ها و قالب ها با استفاده از " -"این API خراب شوند." +"%1$sموشک وردپرس:%2$s ما متوجه شدیم که دامنه وب سایت تغییر کرده است. فایل های" +" پیکربندی باید دوباره تولید شوند تا کش صفحه و همه بهینه سازی های دیگر " +"همانطور که در نظر گرفته شده کار کنند.%3$s اطلاعات بیشتر%4$s" -#: inc/Engine/Admin/Settings/Page.php:1744 -msgid "Do not limit" -msgstr "محدود نکنید" +#: inc/Engine/Admin/DomainChange/Subscriber.php:171 +msgid "Regenerate WP Rocket configuration files now" +msgstr "بازسازی مجدد تنظیمات پرونده های راکت وردپرس" -#: inc/Engine/Admin/Settings/Page.php:1745 -msgid "Reduce activity" -msgstr "کاهش فعالیت" +#: inc/Engine/Admin/Settings/Page.php:201 +msgid "Save Changes" +msgstr "ذخیره تغییرات" -#: inc/Engine/Admin/Settings/Page.php:1746 -msgid "Disable" -msgstr "غیرفعال‌سازی" +#: inc/Engine/Admin/Settings/Page.php:201 +msgid "Validate License" +msgstr "اعتبار لایسنس" -#: inc/Engine/Admin/Settings/Page.php:1754 -msgid "Control Heartbeat" -msgstr "کنترل Heartbeat" +#: inc/Engine/Admin/Settings/Page.php:257 +#: inc/Engine/Admin/Settings/Page.php:258 +msgid "Unavailable" +msgstr "دردسترس نیست" -#: inc/Engine/Admin/Settings/Page.php:1763 -msgid "Behavior in backend" -msgstr "رفتار در پس زمینه" +#: inc/Engine/Admin/Settings/Page.php:369 +msgid "API key" +msgstr "کلید API" -#: inc/Engine/Admin/Settings/Page.php:1770 -msgid "Behavior in post editor" -msgstr "رفتار در ویرایشگر نوشته" +#: inc/Engine/Admin/Settings/Page.php:384 +msgid "Email address" +msgstr "ایمیل" -#: inc/Engine/Admin/Settings/Page.php:1776 -msgid "Behavior in frontend" -msgstr "رفتار در frontend" +#: inc/Engine/Admin/Settings/Page.php:410 +msgid "Dashboard" +msgstr "پیشخوان" -#: inc/Engine/Admin/Settings/Page.php:1793 -#: views/settings/page-sections/tutorials.php:39 -msgid "Add-ons" -msgstr "افزودنی‌ها" +#: inc/Engine/Admin/Settings/Page.php:411 +msgid "Get help, account info" +msgstr "دریافت راهنمایی، اطلاعات حساب کاربری" -#: inc/Engine/Admin/Settings/Page.php:1794 -msgid "Add more features" -msgstr "افزودن ویژگی‌های بیشتر" +#: inc/Engine/Admin/Settings/Page.php:420 +msgid "My Status" +msgstr "وضعیت من" -#: inc/Engine/Admin/Settings/Page.php:1801 -msgid "One-click Rocket Add-ons" -msgstr "افزودنی‌های موشک با یک کلیک" +#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75 +msgid "Rocket Analytics" +msgstr "تجزیه و تحلیل موشک" -#: inc/Engine/Admin/Settings/Page.php:1802 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:432 msgid "" -"One-Click Add-ons are features extending available options without " -"configuration needed. Switch the option \"on\" to enable from this screen." +"I agree to share anonymous data with the development team to help improve WP" +" Rocket. %1$sWhat info will we collect?%2$s" msgstr "" -"افزودنی‌های موشک با یک کلیک ویژگی‌هایی هستند که گزینه‌ها موجود را بدون نیاز " -"به تنظیمات جدید گسترش می‌دهند. برای فعال‌سازی گزینه \"فعال\" را از این صفحه " -"فعال کنید." +"من با اشتراک گذاری داده‌های ناشناس با تیم توسعه برای گسترش موشک وردپرس " +"موافقم. %1$sچه اطلاعاتی را جمع آوری می‌کنیم؟%2$s" -#: inc/Engine/Admin/Settings/Page.php:1812 -msgid "Rocket Add-ons" -msgstr "افزودنی‌های موشک" +#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354 +msgid "Cache" +msgstr "کش" -#: inc/Engine/Admin/Settings/Page.php:1813 -msgid "Rocket Add-ons are complementary features extending available options." -msgstr "" -"افزودنی‌های موشک ویژگی‌های تکمیلی هستند که گزینه‌های موجود فعلی را گسترش " -"می‌دهند." +#: inc/Engine/Admin/Settings/Page.php:457 +msgid "Basic cache options" +msgstr "گزینه‌های اصلی کش" -#: inc/Engine/Admin/Settings/Page.php:1823 -#: inc/Engine/Admin/Settings/Page.php:1992 -msgid "Cloudflare" -msgstr "Cloudflare" +#: inc/Engine/Admin/Settings/Page.php:464 +msgid "Mobile Cache" +msgstr "کش موبایل" -#: inc/Engine/Admin/Settings/Page.php:1829 -msgid "Integrate your Cloudflare account with this add-on." -msgstr "حساب کاربری Cloudflare خود را با این افزودنی ادغام کنید." +#: inc/Engine/Admin/Settings/Page.php:466 +msgid "Speed up your site for mobile visitors." +msgstr "سرعت سایت خود را برای بازدید کنندگان موبایل نیز افزایش دهید." -#: inc/Engine/Admin/Settings/Page.php:1830 +#: inc/Engine/Admin/Settings/Page.php:471 msgid "" -"Provide your account email, global API key, and domain to use options such " -"as clearing the Cloudflare cache and enabling optimal settings with WP " -"Rocket." +"We detected you use a plugin that requires a separate cache for mobile, and " +"automatically enabled this option for compatibility." msgstr "" -"جهت استفاده از گزینه‌هایی مثل حذف کش Cloudflare و فعال‌سازی تنظیمات بهینه با" -" موشک وردپرس آدرس ایمیل حساب کاربری خود، کلید عمومی وب سرویس و دامنه خود را " -"تعیین کنید." +"ما متوجه شدیم که شما از یک افزونه استفاده می‌کنید که نیاز به یک کش مجزا برای" +" موبایل دارد، و این گزینه را برای سازگاری به طور خودکار فعال کردیم." -#: inc/Engine/Admin/Settings/Page.php:1833 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:475 +msgid "User Cache" +msgstr "کش کاربر" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:478 msgid "" -"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just " -"activate the official Cloudflare plugin and configure it. WP Rocket will " -"automatically enable compatibility." +"%1$sUser cache%2$s is great when you have user-specific or restricted " +"content on your website." msgstr "" -"%1$sبرنامه ریزی برای استفاده از بهینه سازی پلت فرم خودکار(APO)?%2$sفقط " -"پلاگین رسمی کلادفلیر را فعال کرده و آن را پیکربندی کنید. موشک وردپرس به طور " -"خودکار سازگاری را فعال می کند." - -#: inc/Engine/Admin/Settings/Page.php:1881 -msgid "Varnish" -msgstr "وارنیش" +"زمانی که در وبسایت خود محتوای مخصوص کاربران یا محافظت شده دارید %1$s کش " +"کاربر%2$s برای شما عالی خواهد بود." -#: inc/Engine/Admin/Settings/Page.php:1887 -msgid "If Varnish runs on your server, you must activate this add-on." -msgstr "" -"اگر بر روی سرور شما وارنیش اجرا شده است، باید این افزودنی را فعال کنید." +#: inc/Engine/Admin/Settings/Page.php:486 +msgid "Cache Lifespan" +msgstr "طول عمر کش" -#: inc/Engine/Admin/Settings/Page.php:1889 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:489 msgid "" -"Varnish cache will be purged each time WP Rocket clears its cache to ensure " -"content is always up-to-date.
    %1$sLearn more%2$s" +"Cache files older than the specified lifespan will be deleted.
    Enable " +"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan " +"expiration." msgstr "" -"هر بار که موشک وردپرس کش خود را پاک‌سازی می‌کند، کش وارنیش هم به منظور " -"اطمینان از به روز بودن محتوا، پاک خواهد شد.
    %1$sکسب اطلاعات بیشتر%2$s" +"فایل های کش قدیمی تر از طول عمر مشخص شده حذف می شوند.
    فعال کردن%1$sپیش " +"بارگذاری%2$s برای کش باعث ایجاد خودکار آن بعد از دوره پایان عمر آن می شود." -#: inc/Engine/Admin/Settings/Page.php:1924 -msgid "WebP Compatibility" -msgstr "سازگاری WebP" +#: inc/Engine/Admin/Settings/Page.php:503 +msgid "Enable caching for logged-in WordPress users" +msgstr "فعال‌سازی کش برای کاربران وارد شده‌ی وردپرس" -#: inc/Engine/Admin/Settings/Page.php:1930 -msgid "Improve browser compatibility for WebP images." -msgstr "بهبود سازگاری مرورگر با تصاویر WebP." +#: inc/Engine/Admin/Settings/Page.php:511 +msgid "Enable caching for mobile devices" +msgstr "فعال سازی کش برای دستگاه‌های موبایل" -#: inc/Engine/Admin/Settings/Page.php:1934 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:526 +msgid "Separate cache files for mobile devices" +msgstr "جداسازی فایل‌های کش برای دستگاه‌های موبایل" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:528 msgid "" -"Enable this option if you would like WP Rocket to serve WebP images to " -"compatible browsers. Please note that WP Rocket cannot create WebP images " -"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore " +"Most modern themes are responsive and should work without a separate cache. " +"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore " "info%2$s" msgstr "" -"اگر می خواهید راکت وردپرس تصاویر WebP را به مرورگرهای سازگار ارائه دهد ، این" -" گزینه را فعال کنید. لطفاً توجه داشته باشید که راکت وردپرس نمی تواند تصاویر " -"WebP را برای شما ایجاد کند. برای ایجاد تصاویر WebP توصیه می کنیم از " -"%1$sImagify%2$s استفاده کنید. %3$sراهنمایی%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1954 -msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared." -msgstr "کش Sucuri را حذف کن هنگامی که کش موشک وردپرس را حذف می کنید." +"اکثر قالب های مدرن واکنشگرا هستند و باید بدون کش جداگانه کار کنند. این کار " +"را فقط در صورتی انجام دهید که قالب یا افزونه اختصاصی موبایل دارید.%1$sمطالعه" +" راهنما%2$s" -#: inc/Engine/Admin/Settings/Page.php:1957 +#: inc/Engine/Admin/Settings/Page.php:544 msgid "" -"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is " -"cleared." +"Specify time after which the global cache is cleared
    (0 = unlimited )" msgstr "" -"کلید API خود را برای پاک کردن کش Sucuri هنگام پاک شدن کش موشک وردپرس ارائه " -"دهید." - -#: inc/Engine/Admin/Settings/Page.php:1965 -#: inc/Engine/Admin/Settings/Page.php:2109 -msgid "Sucuri" -msgstr "Sucuri" - -#: inc/Engine/Admin/Settings/Page.php:1971 -msgid "Synchronize Sucuri cache with this add-on." -msgstr "با این افزونه کش Sucuri را همگام سازی کنید." - -#: inc/Engine/Admin/Settings/Page.php:2009 -msgid "Cloudflare credentials" -msgstr "اعتبارهای Cloudflare" - -#: inc/Engine/Admin/Settings/Page.php:2018 -msgid "Cloudflare settings" -msgstr "تنظیمات Cloudflare" - -#: inc/Engine/Admin/Settings/Page.php:2032 -msgctxt "Cloudflare" -msgid "Global API key:" -msgstr "کلید API عمومی:" - -#: inc/Engine/Admin/Settings/Page.php:2033 -msgctxt "Cloudflare" -msgid "Find your API key" -msgstr "پیدا کردن کلید API شما" - -#: inc/Engine/Admin/Settings/Page.php:2045 -msgctxt "Cloudflare" -msgid "Account email" -msgstr "ایمیل حساب کاربری" - -#: inc/Engine/Admin/Settings/Page.php:2054 -msgctxt "Cloudflare" -msgid "Zone ID" -msgstr "شناسه ناحیه" - -#: inc/Engine/Admin/Settings/Page.php:2064 -msgid "Development mode" -msgstr "حالت توسعه" +"مدت زمانی که بعد از آن کش عمومی پاک می‌شود را تعیین کنید
    (0 = نامحدود)" -#: inc/Engine/Admin/Settings/Page.php:2066 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:546 msgid "" -"Temporarily activate development mode on your website. This setting will " -"automatically turn off after 3 hours. %1$sLearn more%2$s" +"Reduce lifespan to 10 hours or less if you notice issues that seem to appear" +" periodically. %1$sWhy?%2$s" msgstr "" -"حالت توسعه به طور موقت بر روی وبسایت خود فعال کنید. این تنظیم بعد از گذشت 3 " -"ساعت غیرفعال خواهد شد. %1$sکسب اطلاعات بیشتر%2$s" +"اگر به طور متناوب خطاهایی را مشاهده می‌کنید طول عمر کش را به 10 ساعت یا کمتر" +" کاهش دهید. %1$sچرا؟%2$s" -#: inc/Engine/Admin/Settings/Page.php:2074 -msgid "Optimal settings" -msgstr "تنظیمات بهینه‌سازی" +#: inc/Engine/Admin/Settings/Page.php:552 +#: inc/Engine/License/views/promo-banner.php:30 +#: inc/Engine/License/views/renewal-soon-banner.php:13 +msgid "Hours" +msgstr "ساعت‌" -#: inc/Engine/Admin/Settings/Page.php:2075 -msgid "" -"Automatically enhances your Cloudflare configuration for speed, performance " -"grade and compatibility." -msgstr "افزایش خودکار تنظیمات Cloudflare جهت سرعت، بهره‌وری و هماهنگی بیشتر." +#: inc/Engine/Admin/Settings/Page.php:553 +#: inc/Engine/License/views/promo-banner.php:29 +#: inc/Engine/License/views/renewal-soon-banner.php:12 +msgid "Days" +msgstr "روزها" -#: inc/Engine/Admin/Settings/Page.php:2083 -msgid "Relative protocol" -msgstr "پروتکل نسبی" +#: inc/Engine/Admin/Settings/Page.php:602 +msgid "File Optimization" +msgstr "بهینه‌سازی فایل" -#: inc/Engine/Admin/Settings/Page.php:2084 +#: inc/Engine/Admin/Settings/Page.php:603 +msgid "Optimize CSS & JS" +msgstr "بهینه‌سازی CSS و JS" + +#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP +#. Rocket”. +#: inc/Engine/Admin/Settings/Page.php:611 msgid "" -"Should only be used with Cloudflare's flexible SSL feature. URLs of static " -"files (CSS, JS, images) will be rewritten to use // instead of http:// or " -"https://." +"%1$s Minification is currently activated in Autoptimize. If" +" you want to use %2$s’s minification, disable this option in Autoptimize." msgstr "" -"تنها باید با ویژگی SSL منعطف Cloudflare استفاده شود. آدرس فایل‌های استاتیک " -"(CSS, JS, images) جهت استفاده از // به جای http:// یا https:// بازنویسی " -"خواهند شد." +"%1$sفشرده‌سازی هم اکنون در بهینه‌ساز خودکار فعال شده است. " +"اگر مایل به استفاده از فشرده‌ساز %2$s هستید، گزینه‌های آن را در بهینه‌ساز " +"خودکار غیرفعال کنید." -#: inc/Engine/Admin/Settings/Page.php:2122 -msgid "Sucuri credentials" -msgstr "اعتبارهای Sucuri" +#: inc/Engine/Admin/Settings/Page.php:621 +msgid "CSS Files" +msgstr "فایل‌های CSS" -#: inc/Engine/Admin/Settings/Page.php:2135 -msgctxt "Sucuri" +#: inc/Engine/Admin/Settings/Page.php:630 +msgid "JavaScript Files" +msgstr "فایل‌های جاوا اسکریپت" + +#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP +#. Rocket”. +#: inc/Engine/Admin/Settings/Page.php:637 msgid "" -"Firewall API key (for plugin), must be in format {32 characters}/{32 " -"characters}:" +"%1$s Minification is currently activated in Autoptimize. If" +" you want to use %2$s’s minification, disable those options in Autoptimize." msgstr "" -"شناسه API فایروال (برای افزونه)، باید در فرمت {32 characters}/{32 " -"characters}:" - -#: inc/Engine/Admin/Settings/Page.php:2136 -msgctxt "Sucuri" -msgid "Find your API key" -msgstr "پیدا کردن کلید API شما" +"فشرده‌سازی %1$s هم اکنون در بهینه‌ساز خودکار فعال شده است. " +"اگر مایل به استفاده از فشرده‌ساز %2$s هستید، گزینه‌های آن را در بهینه‌ساز " +"خودکار غیرفعال کنید." -#: inc/Engine/Admin/Settings/Render.php:422 inc/deprecated/deprecated.php:1294 -msgid "Upload file and import settings" -msgstr "بارگذاری فایل و درون‌ریزی تنظیمات" +#: inc/Engine/Admin/Settings/Page.php:642 +msgid "" +"If you have problems after activating this option, copy and paste the " +"default exclusions to quickly resolve issues:" +msgstr "" +"اگر پس از فعال‌سازی این گزینه با مشکل مواجه شدید، استثناهای پیش‌فرض را کپی و" +" جای‌گذاری کنید تا مشکلات به سرعت حل شوند:" -#: inc/Engine/Admin/Settings/Settings.php:362 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:646 msgid "" -"Sucuri Add-on: The API key for the Sucuri firewall must be in format " -"{32 characters}/{32 characters}." +"Also, please check our %1$sdocumentation%2$s for a list of compatibility " +"exclusions." msgstr "" -"افزودنی Sucuri : شناسه API فایروال Sucuri باید به فرمت{32 " -"characters}/{32 characters} باشد." +"همچنین، لطفاً%1$sاسناد%2$sما را برای فهرستی از استثناهای سازگاری بررسی کنید." -#: inc/Engine/Admin/Settings/Settings.php:452 -#: inc/deprecated/deprecated.php:1245 -msgid "Settings saved." -msgstr "تنظیمات ذخیره شد." +#: inc/Engine/Admin/Settings/Page.php:651 +msgid "" +"Internal scripts are excluded by default to prevent issues. Remove them to " +"take full advantage of this option." +msgstr "" +"اسکریپت های داخلی به طور پیش فرض برای جلوگیری از مشکلات حذف می شوند. برای " +"استفاده کامل از این گزینه، آنها را حذف کنید." -#: inc/Engine/Admin/Settings/Settings.php:668 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:654 msgid "" -"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved " -"because it disables caching and optimizations for every page on your site." +"If this causes trouble, restore the default exclusions, found %1$shere%2$s" msgstr "" -"متاسفیم! افزودن/(.*) در قوانین پیشرفته > هرگز کش نکن URL(s) ذخیره نشد به " -"دلیل اینکه کش و بهینه سازی برای هر برگه در سایت شما غیرفعال است." +"اگر این باعث مشکل می شود، موارد استثنای پیش فرض پیدا شده را بازیابی کنید " +"%1$s اینجا %2$s" -#: inc/Engine/Admin/Settings/Subscriber.php:168 -#: inc/deprecated/deprecated.php:1786 -#: views/settings/page-sections/tools.php:33 -msgid "Tools" -msgstr "ابزارها" +#: inc/Engine/Admin/Settings/Page.php:663 +msgid "Minify CSS files" +msgstr "فشرده‌سازی فایل‌های CSS" -#: inc/Engine/Admin/Settings/Subscriber.php:169 -msgid "Import, Export, Rollback" -msgstr "درون‌ریزی، برون‌ریزی، عقب‌گرد" +#: inc/Engine/Admin/Settings/Page.php:664 +msgid "Minify CSS removes whitespace and comments to reduce the file size." +msgstr "" +"فشرده‌سازی فایل‌های CSS حجم را با استفاده از حذف کامنت‌ها و فضاهای خالی کاهش" +" می‌دهد." -#: inc/Engine/Admin/Settings/Subscriber.php:194 -#: views/settings/page-sections/imagify.php:14 -msgid "Image Optimization" -msgstr "بهینه‌سازی تصویر" +#: inc/Engine/Admin/Settings/Page.php:677 +#: inc/Engine/Admin/Settings/Page.php:741 +#: inc/Engine/Admin/Settings/Page.php:807 +#: inc/Engine/Admin/Settings/Page.php:831 +msgid "This could break things!" +msgstr "این ممکن است بعضی چیزها را خراب کند!" -#: inc/Engine/Admin/Settings/Subscriber.php:195 -msgid "Compress your images" -msgstr "تصاویر خود را فشرده کنید" +#: inc/Engine/Admin/Settings/Page.php:678 +#: inc/Engine/Admin/Settings/Page.php:742 +#: inc/Engine/Admin/Settings/Page.php:808 +#: inc/Engine/Admin/Settings/Page.php:832 +msgid "" +"If you notice any errors on your website after having activated this " +"setting, just deactivate it again, and your site will be back to normal." +msgstr "" +"اگر پس از فعال‌سازی این تنظیمات در سایت خود با خطایی مواجه شدید، فقط آن " +"تنظیم را غیرفعال کرده تا سایت به وضعیت عادی بازگردد." -#: inc/Engine/Admin/Settings/Subscriber.php:212 -#: views/settings/page-sections/tutorials.php:48 -msgid "Tutorials" -msgstr "آموزش‌ها" +#: inc/Engine/Admin/Settings/Page.php:679 +msgid "Activate minify CSS" +msgstr "فعال‌سازی فشرده‌ساز CSS" -#: inc/Engine/Admin/Settings/Subscriber.php:213 -msgid "Getting started and how to videos" -msgstr "شروع به کار و نحوه فیلمبرداری" +#: inc/Engine/Admin/Settings/Page.php:685 +msgid "" +"Specify URLs of CSS files to be excluded from minification (one per line)." +msgstr "" +"آدرس استایل های CSS برای صرف نظر از فشرده سازی را وارد کنید ( هر آدرس در یک " +"خط)." -#: inc/Engine/CDN/RocketCDN/APIClient.php:134 +#: inc/Engine/Admin/Settings/Page.php:686 msgid "" -"We could not fetch the current price because RocketCDN API returned an " -"unexpected error code." +"Internal: The domain part of the URL will be stripped " +"automatically. Use (.*).css wildcards to exclude all CSS files located at a " +"specific path." msgstr "" -"ما نتوانستیم قیمت فعلی را دریافت کنیم زیرا RocketCDN API یک کد خطای " -"غیرمنتظره را برگرداند." +"داخلی:بخش دامنه URL به طور خودکار برداشته می شود. برای حذف " +"همه فایل های CSS که در یک مسیر خاص قرار دارند ، از (.*). css استفاده کنید." -#: inc/Engine/CDN/RocketCDN/APIClient.php:140 -msgid "RocketCDN is not available at the moment. Please retry later." -msgstr "RocketCDN دردسترس نیست. بعدا تلاش کنید" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:688 +msgid "" +"3rd Party: Use either the full URL path or only the domain " +"name, to exclude external CSS. %1$sMore info%2$s" +msgstr "" +"شخص 3rd:برای حذف CSS خارجی ، از مسیر URL کامل یا فقط از نام" +" دامنه استفاده کنید.%1$sراهنمایی%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:177 -msgid "RocketCDN cache purge failed: Missing identifier parameter." -msgstr "حذف کش RocketCDN شکست خورد:پارامتر شناسه وجود ندارد." +#: inc/Engine/Admin/Settings/Page.php:701 +#: inc/Engine/Admin/Settings/Page.php:723 +msgid "Optimize CSS delivery" +msgstr "بهینه‌سازی تحویل CSS" -#: inc/Engine/CDN/RocketCDN/APIClient.php:186 -msgid "RocketCDN cache purge failed: Missing user token." -msgstr "حذف کش RocketCDN شکست خورد:کد کاربر وجود ندارد." +#: inc/Engine/Admin/Settings/Page.php:706 +msgid "" +"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " +"one method can be selected. Remove Unused CSS is recommended for optimal " +"performance, but limited only to the users with active license." +msgstr "" +"بهینه سازی تحویل CSS ، مسدود کردن ارائه CSS در وب سایت شما را حذف می کند. " +"فقط یک روش را می توان انتخاب کرد. برای عملکرد مطلوب حذف CSS استفاده نشده " +"توصیه می شود. اما فقط محدود برای افرادی است که لایسنس فعال دارند." -#: inc/Engine/CDN/RocketCDN/APIClient.php:212 +#: inc/Engine/Admin/Settings/Page.php:706 msgid "" -"RocketCDN cache purge failed: The API returned an unexpected response code." -msgstr "حذف کش RocketCDN شکست خورد:API یک کد پاسخ غیر منتظره را بازگرداند." +"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " +"one method can be selected. Remove Unused CSS is recommended for optimal " +"performance." +msgstr "" +"بهینه سازی تحویل CSS ، مسدود کردن ارائه CSS در وب سایت شما را حذف می کند. " +"فقط یک روش را می توان انتخاب کرد. برای عملکرد مطلوب حذف CSS استفاده نشده " +"توصیه می شود." -#: inc/Engine/CDN/RocketCDN/APIClient.php:221 -msgid "RocketCDN cache purge failed: The API returned an empty response." -msgstr "حذف کش RocketCDN شکست خورد:API پاسخی خالی داد." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:716 +msgid "" +"Optimize CSS Delivery features are disabled on local environments. %1$sLearn" +" more%2$s" +msgstr "" +"ویژگی بهینه سازی تحویل CSS در محیط محلی غیرفعال است.%1$sبیشتر بخوانید%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:230 -msgid "RocketCDN cache purge failed: The API returned an unexpected response." -msgstr "حذف کش RocketCDN شکست خورد:API پاسخی غیرمنتظره داد." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:739 +msgid "" +"Removes unused CSS per page and helps to reduce page size and HTTP requests." +" Recommended for best performance. Test thoroughly! %1$sMore info%2$s" +msgstr "" +"حذف CSS بلااستفاده در هر برگه و کمک به کاهش حجم و درخواست HTTP صفحه. توصیه " +"شده برای عملکرد بهتر. امتحان کنید.%1$sاطلاعات بیشتر%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:239 -#, php-format -msgid "RocketCDN cache purge failed: %s." -msgstr "خطای پاک کردن حافظه RocketCDN:%s." +#: inc/Engine/Admin/Settings/Page.php:743 +msgid "Activate Remove Unused CSS" +msgstr "حذف CSS های بدون استفاده را فعال کنید" -#: inc/Engine/CDN/RocketCDN/APIClient.php:247 -msgid "RocketCDN cache purge successful." -msgstr "حذف کش RocketCDN موفق بود." +#: inc/Engine/Admin/Settings/Page.php:749 +msgid "CSS safelist" +msgstr "لیست بدون خطر CSS" -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90 -msgid "Next Billing Date" -msgstr "تاریخ صورتحساب بعدی" +#: inc/Engine/Admin/Settings/Page.php:750 +msgid "" +"Specify CSS filenames, IDs or classes that should not be removed (one per " +"line)." +msgstr "" +"نام فایل های CSS ، شناسه ها یا کلاس هایی را که نباید حذف شوند (یکی در هر خط)" +" مشخص کنید." -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99 -msgid "No Subscription" -msgstr "بدون اشتراک" +#. translators: %1$s = plugin name. +#: inc/Engine/Admin/Settings/Page.php:768 +msgctxt "WP Critical CSS compatibility" +msgid "" +"Load CSS asynchronously is currently handled by the %1$s plugin. If you want" +" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin." +msgstr "" +"بارگیری CSS به صورت ناهمزمان در حال حاضر توسط %1$s افزونه.اگر می خواهید " +"بارگیری CSS به صورت ناهمزمان توسط افزونه موشک وردپرس انجام شود. افزونه %1$s " +"غیرفعال کنید." -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135 -msgid "Your RocketCDN subscription is currently active." -msgstr "اشتراک RocketCDN شما اکنون فعال است." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:770 +msgid "" +"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s" +msgstr "" +"مسیر بحرانی CSS را ایجاد می کند و CSS را به صورت نا همزمان بارگذاری می " +"کند.%1$sاطلاعات بیشتر%2$s" -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141 -#, php-format -msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s." +#: inc/Engine/Admin/Settings/Page.php:776 +msgid "Fallback critical CSS" +msgstr "CSSهای معوق بحرانی" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:778 +msgid "" +"Provides a fallback if auto-generated critical path CSS is incomplete. " +"%1$sMore info%2$s" msgstr "" -"برای استفاده از RocketCDN ، بجای CNAME خود از %1$s%2$s%3$s استفاده کنید." +"اگر مسیرهای بحرانی تولید شده خودکار CSS ناقص بود، یک تعویق ارائه دهید " +"%1$sاطلاعات بیشتر%2$s" -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152 -#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230 -#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334 -#, php-format -msgid "%1$sMore Info%2$s" -msgstr "%1$sراهنمایی%2$s" +#: inc/Engine/Admin/Settings/Page.php:793 +msgid "Minify JavaScript files" +msgstr "فشرده‌سازی فایل‌های جاوا اسکریپت" -#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137 -msgid "RocketCDN enabled" -msgstr "RocketCDN فعال شد" +#: inc/Engine/Admin/Settings/Page.php:794 +msgid "" +"Minify JavaScript removes whitespace and comments to reduce the file size." +msgstr "" +"فشرده‌سازی فایل‌های جاوا اسکریپت حجم را با استفاده از حذف کامنت‌ها و فضاهای " +"خالی کاهش می‌دهد." -#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160 -msgid "RocketCDN disabled" -msgstr "RocketCDN غیرفعال شد" +#: inc/Engine/Admin/Settings/Page.php:809 +msgid "Activate minify JavaScript" +msgstr "فعال‌سازی فشرده‌سازی جاوا اسکریپت" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27 -#, php-format -msgid "Valid until %s only!" -msgstr "تا %s معتبر است!" +#: inc/Engine/Admin/Settings/Page.php:814 +msgid "" +"Combine JavaScript files (Enable Minify JavaScript files to select)" +msgstr "" +"ادغام فایل‌های جاوا اسکریپت (برای انتخاب این گزینه، فشرده ساز فایل‌های " +"جاوا اسکریپت را فعال کنید)" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36 -msgid "Speed up your website thanks to:" -msgstr "سرعت بخشیدن به وب سایت شما به لطف:" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:816 +msgid "" +"Combine JavaScript files combines your site’s internal, 3rd party and inline" +" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. " +"%1$sMore info%2$s" +msgstr "" +"ترکیب فایل های جاوا اسکریپت ترکیبی از داخلی ، شخص 3rd و JS داخلی شما ، " +"درخواست های HTTP را کاهش می دهد. اگر سایت شما از HTTP/2 استفاده می کند توصیه" +" نمی شود. %1$sراهنمایی%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:817 msgid "" -"High performance Content Delivery Network (CDN) with %1$sunlimited " -"bandwidth%2$s" -msgstr "بیشترین عملکرد شبکه توزیع محتوا (CDN) با%1$s پهنای باند نامحدود%2$s" +"For compatibility and best results, this option is disabled when delay " +"javascript execution is enabled." +msgstr "" +"برای سازگاری و بهترین نتایج ، این گزینه با فعال کردن تأخیر در اجرای جاوا " +"اسکریپت غیرفعال می شود." -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:833 +msgid "Activate combine JavaScript" +msgstr "فعال‌سازی ادغام جاوا اسکریپت" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:840 msgid "" -"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied" -msgstr "پیکربند آسنا:%1$sبهترین تنظیمات CDN %2$s بطور خودکار اعمال می شود" +"Specify patterns of inline JavaScript to be excluded from concatenation (one" +" per line). %1$sMore info%2$s" +msgstr "" +"برای مستثنی کردن فایل‌های جاوا اسکریپت از ادغام و فشرده سازی، آدرس آن را " +"اینجا وارد کنید.(هرخط یک آدرس).%1$sاطلاعات بیشتر%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:857 msgid "" -"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in" -" our plugin" +"Specify URLs of JavaScript files to be excluded from minification and " +"concatenation (one per line)." msgstr "" -"ادغام موشک وردپرس: گزینه CDN بصورت خودکار%1$sپیکربندی می شود%2$s در افزونه " -"ما" - -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58 -msgid "Learn more about RocketCDN" -msgstr "اطلاعات بیشتر راجع به RocketCDN" +"نشانی های وب فایلهای جاوا اسکریپت را مشخص کنید تا از کوچک سازی و اتصال (یکی " +"در هر خط) حذف شوند." -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:858 msgid "" -"*$%1$s/month for 12 months then $%2$s/month. You can cancel your " -"subscription at any time." +"Internal: The domain part of the URL will be stripped " +"automatically. Use (.*).js wildcards to exclude all JS files located at a " +"specific path." msgstr "" -"*$%1$s/ماه برای 12 ماه آنگاه $%2$s/ماه. شما می توانید اشتراک خود را هرگاه که" -" خواستید لغو کنید." +"داخلی:بخش دامنه URL به طور خودکار برداشته می شود. از (*). " +"js برای حذف تمام فایل های JS واقع در یک مسیر خاص استفاده کنید." -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86 -msgid "Billed monthly" -msgstr "صورتحساب ماهانه" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:860 +msgid "" +"3rd Party: Use either the full URL path or only the domain " +"name, to exclude external JS. %1$sMore info%2$s" +msgstr "" +"شخص 3rd :برای حذف JS خارجی ، از مسیر URL کامل یا فقط نام " +"دامنه استفاده کنید.%1$sراهنمایی%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87 -msgid "Get Started" -msgstr "شروع کنید" +#: inc/Engine/Admin/Settings/Page.php:876 +msgid "Load JavaScript deferred" +msgstr "بارگذاری جاوا اسکریپت به صورت تاخیری" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92 -msgid "Reduce this banner" -msgstr "حذف این بنر" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:878 +msgid "" +"Load JavaScript deferred eliminates render-blocking JS on your site and can " +"improve load time. %1$sMore info%2$s" +msgstr "" +"بارگذاری جاوا اسکریپت به صورت تاخیری برای افزایش سرعت بارگذاری، جاوا " +"اسکریپت‌های مسدود کننده رندر render-blocking صفحه را حذف می‌کند. %1$sاطلاعات" +" بیشتر%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:891 msgid "" -"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network." +"Specify URLs or keywords of JavaScript files to be excluded from defer (one " +"per line). %1$sMore info%2$s" msgstr "" -"با RocketCDN، شبکه تحویل محتوای WP Rocket سرعت سایت خود را افزایش دهید." +"برای مستثنی کردن فایل‌های جاوا اسکریپت از تعویق، آدرس آن را اینجا وارد " +"کنید(هرخط یک آدرس).%1$sاطلاعات بیشتر%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20 -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13 -msgid "Learn More" -msgstr "ادامه مطلب" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:909 +msgid "" +"Improves performance by delaying the loading of JavaScript files until user " +"interaction (e.g. scroll, click). %1$sMore info%2$s" +msgstr "" +"با تأخیر در بارگذاری فایل های جاوا اسکریپت تا تعامل کاربر (به عنوان مثال " +"پیمایش ، کلیک) ، عملکرد را بهبود می بخشد.%1$sراهنمایی%2$s" -#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23 -msgid "RocketCDN is unavailable on local domains and staging sites." -msgstr "سرویس RocketCDN در دامنه محلی و سایت های آزمایشی دردسترس نیست." +#: inc/Engine/Admin/Settings/Page.php:918 +msgid "One-click exclusions" +msgstr "موارد استثنا با یک کلیک" -#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32 -msgid "Get RocketCDN" -msgstr "خرید RocketCDN" +#: inc/Engine/Admin/Settings/Page.php:919 +msgid "" +"When using the Delay JavaScript Execution, you might experience delay " +"loading elements located in the viewport that need to appear immediately - " +"e.g. slider, header, menu." +msgstr "" +"هنگام استفاده از اجرای تاخیری جاوا اسکریپت، ممکن است عناصر بارگیری تاخیری " +"واقع در ویوپورت را تجربه کنید که باید فورا ظاهر شوند - به عنوان مثال: " +"اسلایدر، سربرگ، فهرست." -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11 -msgid "New!" -msgstr "جدید!" +#: inc/Engine/Admin/Settings/Page.php:920 +msgid "" +"If you need instant visibility, click below on files that should NOT be " +"delayed. This selection will help users interact with the elements straight " +"away." +msgstr "" +"اگر به دید فوری نیاز دارید، روی فایل‌هایی که نباید به تأخیر بیفتند، در زیر " +"کلیک کنید. این انتخاب به کاربران کمک می کند تا فوراً با عناصر تعامل داشته " +"باشند." -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12 +#: inc/Engine/Admin/Settings/Page.php:937 msgid "" -"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!" +"Specify URLs or keywords that can identify inline or JavaScript files to be " +"excluded from delaying execution (one per line)." msgstr "" -"با RocketCDN، شبکه تحویل محتوای WP Rocket سرعت سایت خود را افزایش دهید!" +"نشانی های اینترنتی یا کلمات کلیدی را مشخص کنید که بتوانند درون خطی یا فایل " +"های جاوا اسکریپت را شناسایی کنند تا از تأخیر اجرا حذف شوند (یکی در هر خط)." -#: inc/Engine/Cache/AdminSubscriber.php:118 inc/admin/admin.php:96 -#: inc/admin/admin.php:118 inc/deprecated/3.5.php:898 -msgid "Clear this cache" -msgstr "خالی کردن این کش" +#: inc/Engine/Admin/Settings/Page.php:969 +msgid "Media" +msgstr "رسانه" -#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75 -msgid "WP Rocket Expired Cache Interval" -msgstr "مدت زمان کش موشک وردپرس به اتمام رسیده است" +#: inc/Engine/Admin/Settings/Page.php:970 +msgid "LazyLoad, image dimensions" +msgstr "بارگذاری تنبل، ابعاد تصویر" -#: inc/Engine/Cache/WPCache.php:337 -msgid "WP_CACHE value" -msgstr "مقدار WP_CACHE" +#: inc/Engine/Admin/Settings/Page.php:979 +msgid "Autoptimize" +msgstr "بهینه‌سازی خودکار" -#: inc/Engine/Cache/WPCache.php:358 -msgid "" -"The WP_CACHE constant needs to be set to true for WP Rocket cache to work " -"properly" -msgstr "مقدار WP_CACHE باید true باشد تا کش موشک وردپرس به درستی کار کند" +#: inc/Engine/Admin/Settings/Page.php:1033 +msgid "LazyLoad" +msgstr "بارگزاری تنبل" -#: inc/Engine/Cache/WPCache.php:367 -msgid "WP_CACHE is set to true" -msgstr "مقدار WP_CACHE به true تنظیم شده است" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1036 +msgid "" +"It can improve actual and perceived loading time as images, iframes, and " +"videos will be loaded only as they enter (or about to enter) the viewport " +"and reduces the number of HTTP requests. %1$sMore Info%2$s" +msgstr "" +"این گزینه باعث می‌شود زمان بارگذاری تصاویر، آی‌فریم‌ها و ویدیو‌ها به صورت " +"بارگذاری آن‌ها هنگام قرار گرفتن در قسمت قابل مشاهده صفحه، به شکل واقعی و " +"محسوس کاهش یابد. همچنین (تعداد درخواست‌های) HTTP نیز کاهش خواهد یافت. " +"%1$sاطلاعات بیشتر%2$s" -#: inc/Engine/Cache/WPCache.php:375 -msgid "WP_CACHE is not set" -msgstr "مقدار WP_CACHE تنظیم نشده است" +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names. +#: inc/Engine/Admin/Settings/Page.php:1043 +msgid "" +"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s " +"LazyLoad, disable this option in %2$s." +msgstr "" +"بارگذاری تنبل در حال حاضر فعال است در%2$s. اگر می خواهید از بارگذاری تنبل " +"موشک وردپرس استفاده کنید، این گزینه %2$s را غیرفعال کنید." -#: inc/Engine/Cache/WPCache.php:383 -msgid "WP_CACHE is set to false" -msgstr "مقدار WP_CACHE به false تنظیم شده است" +#: inc/Engine/Admin/Settings/Page.php:1046 +msgid "Image Dimensions" +msgstr "ابعاد تصویر" -#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253 -msgid "Every minute" -msgstr "هر دقیقه" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1049 +msgid "" +"Add missing width and height attributes to images. Helps prevent layout " +"shifts and improve the reading experience for your visitors. %1$sMore " +"info%2$s" +msgstr "" +"ویژگی های عرض و ارتفاع را به تصاویر بدون آن اضافه کنید. به جلوگیری از تغییر " +"چیدمان و بهبود تجربه خواندن برای بازدیدکنندگان کمک می کند.%1$s راهنمایی%2$s" -#: inc/Engine/CriticalPath/APIClient.php:64 -#, php-format -msgid "Critical CSS for %1$s not generated. Error: %2$s" -msgstr "CSS بحرانی برای %1$s تولید نشده است. خطا: %2$s" +#: inc/Engine/Admin/Settings/Page.php:1068 +msgid "Enable for images" +msgstr "فعال‌سازی برای تصاویر" -#: inc/Engine/CriticalPath/APIClient.php:170 -#, php-format +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names. +#: inc/Engine/Admin/Settings/Page.php:1080 msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The API returned an " -"empty response." +"LazyLoad for images is currently activated in %2$s. If you want to use " +"%1$s’s LazyLoad, disable this option in %2$s." msgstr "" -"CSS بحرانی برای %1$s موبایل ایجاد نشده است. خطا: API پاسخ خالی بر می گرداند." +"در حال حاضر بارگذاری تنبل تصاویر در %2$s فعال است. اگر می خواهید از " +"%1$sبارگذاری تنبل استفاده کنید. این گزینه را در %2$s غیرفعال کنید." -#: inc/Engine/CriticalPath/APIClient.php:173 -#, php-format -msgid "" -"Critical CSS for %1$s not generated. Error: The API returned an empty " -"response." -msgstr "CSS بحرانی برای %1$s تولید نشده است خطا: API پاسخ خالی بر می گرداند." +#: inc/Engine/Admin/Settings/Page.php:1088 +msgid "Enable for CSS background images" +msgstr "فعالسازی برای تصاویر پس ضمینه CSS" -#: inc/Engine/CriticalPath/APIClient.php:185 -#, php-format -msgid "Critical CSS for %1$s on mobile not generated." -msgstr "CSS بحرانی برای %1$s در موبایل تولید شد." +#: inc/Engine/Admin/Settings/Page.php:1103 +msgid "Enable for iframes and videos" +msgstr "فعال سازی برای آی‌فریم‌ها و ویدیوها" -#: inc/Engine/CriticalPath/APIClient.php:187 -#: inc/Engine/CriticalPath/ProcessorService.php:194 -#, php-format -msgid "Critical CSS for %1$s not generated." -msgstr "CSS بحرانی برای %1$s. تولید نشد." +#: inc/Engine/Admin/Settings/Page.php:1118 +msgid "Replace YouTube iframe with preview image" +msgstr "جایگزینی آی‌فریم یوتیوب با تصویر پیش‌نمایش" -#: inc/Engine/CriticalPath/APIClient.php:195 -#, php-format -msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The API returned an " -"invalid response code." -msgstr "" -"CSS بحرانی برای %1$s موبایل ایجاد نشده است. خطا: API پاسخ نامعتبر بر می " -"گرداند." +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names. +#: inc/Engine/Admin/Settings/Page.php:1120 +msgid "Replace YouTube iframe with preview image is not compatible with %2$s." +msgstr "جایگزین iframe YouTube با تصویر پیش نمایش با %2$s سازگار نیست." -#: inc/Engine/CriticalPath/APIClient.php:197 -#, php-format +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names. +#: inc/Engine/Admin/Settings/Page.php:1120 msgid "" -"Critical CSS for %1$s not generated. Error: The API returned an invalid " -"response code." +"This can significantly improve your loading time if you have a lot of " +"YouTube videos on a page." msgstr "" -"CSS بحرانی برای %1$s تولید نشده است.خطا: API پاسخ نامعتبر بر می گرداند." +"در صورتی که تعداد زیادی ویدیو از یوتیوب داخل صفحه خود داشته باشید، این گزینه" +" به طور قابل ملاحظه‌ای سرعت شما را افزایش خواهد داد." -#: inc/Engine/CriticalPath/APIClient.php:205 -#: inc/Engine/CriticalPath/ProcessorService.php:201 -#, php-format -msgid "Error: %1$s" -msgstr "خطا: %1$s" +#: inc/Engine/Admin/Settings/Page.php:1135 +msgid "Excluded images or iframes" +msgstr "تصاویر یا iframe های مستثنی شده" -#: inc/Engine/CriticalPath/Admin/Admin.php:264 -msgid "Regenerate Critical Path CSS" -msgstr "بازسازی مسیر بحرانی CSS" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1137 +msgid "" +"Specify keywords (e.g. image filename, CSS filename, CSS class, domain) from" +" the image or iframe code to be excluded (one per line). %1$sMore info%2$s" +msgstr "" +"کلمات کلیدی (مانند نام فایل تصویر ، کلاس CSS ، دامنه) را از تصویر یا کد " +"iframe حذف کنید (یکی در هر خط) مشخص کنید.%1$sراهنمایی%2$s" -#: inc/Engine/CriticalPath/Admin/Post.php:144 -#: views/cpcss/metabox/generate.php:47 -msgid "Generate Specific CPCSS" -msgstr "بازسازی مسیر قطعی CSS" +#: inc/Engine/Admin/Settings/Page.php:1145 +msgid "Add missing image dimensions" +msgstr "افزودن ابعاد به تصاویر بدون ابعاد" -#: inc/Engine/CriticalPath/Admin/Post.php:145 -#: views/cpcss/metabox/generate.php:45 -msgid "Regenerate specific CPCSS" -msgstr "بازسازی مسیر قطعی CSS" +#: inc/Engine/Admin/Settings/Page.php:1165 +msgid "Generate cache files, preload fonts" +msgstr "ایجاد فایل کش، پیش بارگذاری فونت‌ها" -#: inc/Engine/CriticalPath/Admin/Post.php:216 -msgid "This feature is not available for non-public post types." -msgstr "این ویژگی برای انواع نوشته‌های منتشر نشده قابل دسترس نیست." +#: inc/Engine/Admin/Settings/Page.php:1177 +msgid "Preload Cache" +msgstr "پیش‌بارگذاری کش" -#: inc/Engine/CriticalPath/Admin/Post.php:219 -msgid "%l to use this feature." -msgstr "%l برای استفاده از این ویژگی." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1180 +msgid "" +"When you enable preloading WP Rocket will automatically detect your sitemaps" +" and save all URLs to the database. The plugin will make sure that your " +"cache is always preloaded." +msgstr "" +"وقتی پیش بارگذاری را فعال می کنید، WP Rocket به طور خودکار نقشه های سایت شما" +" را شناسایی می کند و همه URL ها را در پایگاه داده ذخیره می کند. این افزونه " +"مطمئن می شود که کش شما همیشه از قبل بارگذاری شده است." -#: inc/Engine/CriticalPath/Admin/Post.php:222 -#, php-format -msgid "Publish the %s" -msgstr "انتشار %s" +#: inc/Engine/Admin/Settings/Page.php:1188 +msgid "Preload Links" +msgstr "لینک‌های پیش بارگذاری" -#: inc/Engine/CriticalPath/Admin/Post.php:223 -msgid "Enable Load CSS asynchronously in WP Rocket settings" -msgstr "فعالسازی بارگیری CSS بصورت نابهنگام توسط تنظیمات موشک وردپرس" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1191 +msgid "" +"Link preloading improves the perceived load time by downloading a page when " +"a user hovers over the link. %1$sMore info%2$s" +msgstr "" +"پیش بارگذاری لینک با بارگیری صفحه ای که کاربر روی لینک موس خود را قرار می " +"دهد ، زمان بارگذاری را بهبود می بخشد. %1$sراهنمایی%2$s" -#: inc/Engine/CriticalPath/Admin/Post.php:224 -msgid "Enable Load CSS asynchronously in the options above" -msgstr "فعالسازی بارگیری CSS بصورت نابهنگام در گزینه بالا" +#: inc/Engine/Admin/Settings/Page.php:1199 +msgid "Prefetch DNS Requests" +msgstr "پیش‌دریافت درخواست DNS" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176 -msgid "Critical CSS generation is currently running." -msgstr "ایجاد CSS بحرانی در حال اجرا می باشد." +#: inc/Engine/Admin/Settings/Page.php:1201 +msgid "" +"DNS prefetching can make external files load faster, especially on mobile " +"networks" +msgstr "" +"پیش‌دریافت درخواست DNS باعث افزایش سرعت بارگذاری فایل‌های خارجی به خصوص بر " +"روی شبکه‌های موبایلی خواهد شد" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181 -#, php-format -msgid "Go to the %1$sWP Rocket settings%2$s page to track progress." -msgstr "به %1$sتنظیمات موشک وردپرس%2$s برای رهگیری پیشرفت مراجعه کنید." +#: inc/Engine/Admin/Settings/Page.php:1206 +msgid "Preload Fonts" +msgstr "پیش بارگذاری فونت‌ها" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1209 msgid "" -"Critical CSS generation is currently running: %1$d of %2$d page types " -"completed. (Refresh this page to view progress)" +"Improves performance by helping browsers discover fonts in CSS files. " +"%1$sMore info%2$s" msgstr "" -"تولید CSS‌بحرانی در حال اجرا است: %1$d از %2$d نوع صفحه کامل شده است. (برای " -"مشاهده پیشرفت این صفحه را رفرش کنید)" +"با کمک به مرورگرها برای کشف فونت در فایل های CSS ، عملکرد را بهبود می " +"بخشد.%1$sراهنمایی%2$s" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472 -#, php-format -msgid "Critical CSS generation finished for %1$d of %2$d page types." -msgstr "تولید CSS‌بحرانی برای %1$d از %2$d نوع صفحه کامل شد." +#: inc/Engine/Admin/Settings/Page.php:1223 +msgid "Activate Preloading" +msgstr "فعالسازی پیش پارگذاری" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 -msgid "Critical CSS generation encountered one or more errors." -msgstr "ایجاد CSS بحرانی یک یا چند خطا دارد." +#: inc/Engine/Admin/Settings/Page.php:1234 +msgid "Exclude URLs" +msgstr "مستثنی کردن URL ها" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 -msgid "Learn more." -msgstr "اطلاعات بیشتر." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1239 +msgid "" +"Specify URLs to be excluded from the preload feature (one per line). " +"%1$sMore info%2$s" +msgstr "" +"برای مستثنی کردن URLها از پیش بارگذاری وارد کنید (یکی در هر خط).%1$sاطلاعات " +"بیشتر%2$s" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1250 +msgid "URLs to prefetch" +msgstr "آدرس‌ها برای پیش‌دریافت" + +#: inc/Engine/Admin/Settings/Page.php:1251 msgid "" -"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS " -"optimization. Load CSS Asynchronously is always available as a back-up." +"Specify external hosts to be prefetched (no http:, one per " +"line)" msgstr "" -"به شدت توصیه میشه%1$sحذف CSSهای بلااستفاده را بروزرسانی کنید%2$sبرای بهینه " -"سازی CSS. بارگیری ناهمزمان CSS همیشه به عنوان پشتیبان در دسترس است." +"میزبان‌های خارجی را برای واکشی مشخص کنید(بدونhttp:، یکی درهر " +"خط)" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845 -msgid "Stay with the old option" -msgstr "با گزینه قدیمی بمانید" +#: inc/Engine/Admin/Settings/Page.php:1260 +msgid "Fonts to preload" +msgstr "فونت‌ها برای پیش بارگذاری" -#: inc/Engine/CriticalPath/DataManager.php:68 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1261 msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The destination folder" -" could not be created." +"Specify urls of the font files to be preloaded (one per line). Fonts must be" +" hosted on your own domain, or the domain you have specified on the CDN tab." msgstr "" -"CSS بحرانی برای %1$s موبایل ایجاد نشده است.خطا: پوشه مقصد نمی تواند ایجاد " -"شود." +"آدرس های اینترنتی فایلهای فونت را که باید بارگیری شوند (یکی در هر خط) مشخص " +"کنید.فونت ها باید در دامنه خود یا دامنه ای که در برگه CDN مشخص کرده اید " +"میزبانی شوند." -#: inc/Engine/CriticalPath/DataManager.php:71 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1262 msgid "" -"Critical CSS for %1$s not generated. Error: The destination folder could not" -" be created." +"The domain part of the URL will be stripped automatically.
    Allowed font " +"extensions: otf, ttf, svg, woff, woff2." msgstr "" -"CSS بحرانی برای %1$s تولید نشده است.خطا: پوشه مقصد نمی تواند ایجاد شود." +"بخش دامنه URL به طور خودکار برداشته می شود.
    پسوند فونت های مجاز شامل: " +"otf, ttf, svg, woff, woff2." -#: inc/Engine/CriticalPath/DataManager.php:106 -msgid "Critical CSS file for mobile does not exist" -msgstr "فایل CSS بحرانی برای موبایل موجود نیست" +#: inc/Engine/Admin/Settings/Page.php:1271 +msgid "Enable link preloading" +msgstr "پیش بارگذاری لینک را فعال کنید" -#: inc/Engine/CriticalPath/DataManager.php:108 -msgid "Critical CSS file does not exist" -msgstr "CSS بحرانی وجود ندارد" +#: inc/Engine/Admin/Settings/Page.php:1290 +msgid "Advanced Rules" +msgstr "قوانین پیشرفته" -#: inc/Engine/CriticalPath/DataManager.php:120 -msgid "Critical CSS file for mobile cannot be deleted" -msgstr "CSS بحرانی موبایل نمی تواند حذف شود" +#: inc/Engine/Admin/Settings/Page.php:1291 +msgid "Fine-tune cache rules" +msgstr "قوانین کش دقیق" -#: inc/Engine/CriticalPath/DataManager.php:122 -msgid "Critical CSS file cannot be deleted" -msgstr "CSS بحرانی نمی تواند حذف شود" +#: inc/Engine/Admin/Settings/Page.php:1302 +msgid "" +"Sensitive pages like custom login/logout URLs should be excluded from cache." +msgstr "برگه‌های حساس مثل ورود\\خروج باید از کش مستثنی شوند." -#: inc/Engine/CriticalPath/ProcessorService.php:187 -#, php-format -msgid "Mobile Critical CSS for %1$s not generated." -msgstr "CSS بحرانی موبایل برای %1$s تولید نشد." +#: inc/Engine/Admin/Settings/Page.php:1305 +msgctxt "plugin name" +msgid "WooCommerce" +msgstr "ووکامرس" -#: inc/Engine/CriticalPath/ProcessorService.php:228 -#, php-format -msgid "Critical CSS for %s in progress." -msgstr "CSS بحرانی برای %s در حال پردازش است." +#: inc/Engine/Admin/Settings/Page.php:1307 +msgctxt "plugin name" +msgid "Easy Digital Downloads" +msgstr "دانلود آسان دیجیتال EDD" -#: inc/Engine/CriticalPath/ProcessorService.php:262 -#, php-format -msgid "Mobile Critical CSS for %s generated." -msgstr "CSS بحرانی موبایل برای %s ایجاد شد." +#: inc/Engine/Admin/Settings/Page.php:1309 +msgctxt "plugin name" +msgid "iThemes Exchange" +msgstr "iThemes Exchange" -#: inc/Engine/CriticalPath/ProcessorService.php:273 -#, php-format -msgid "Critical CSS for %s generated." -msgstr "CSS بحرانی برای %s. تولید شد." +#: inc/Engine/Admin/Settings/Page.php:1311 +msgctxt "plugin name" +msgid "Jigoshop" +msgstr "Jigoshop" -#: inc/Engine/CriticalPath/ProcessorService.php:295 -msgid "Critical CSS file deleted successfully." -msgstr "CSS بحرانی با موفقیت حذف شد." +#: inc/Engine/Admin/Settings/Page.php:1313 +msgctxt "plugin name" +msgid "WP-Shop" +msgstr "WP-Shop" -#: inc/Engine/CriticalPath/ProcessorService.php:317 -#, php-format -msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later." -msgstr "استایل CSS بحرانی موباید برای %1$s متوقف شد. مجدد تلاش کنید." +#. translators: %1$s = opening tag, %2$s = plugin name, %3$s closing +#. tag. +#: inc/Engine/Admin/Settings/Page.php:1319 +msgid "" +"
    Cart, checkout and \"my account\" pages set in " +"%1$s%2$s%3$s will be detected and never cached by default." +msgstr "" +"
    برگه‌های سبد خرید، پرداخت و \"حساب کاربری من\" که در " +"%1$s%2$s%3$s تعیین شده‌اند تشخیص داده خواهند شد و به صورت " +"پیش‌فرض هرگز کش نخواهند شد." -#: inc/Engine/CriticalPath/ProcessorService.php:330 -#, php-format -msgid "Critical CSS for %1$s timeout. Please retry a little later." +#: inc/Engine/Admin/Settings/Page.php:1337 +msgid "Never Cache Cookies" +msgstr "کوکی‌هایی که هرگز کش نخواهند شد" + +#: inc/Engine/Admin/Settings/Page.php:1355 +msgid "Cache Query String(s)" +msgstr "کش کردن کوئری استرینگ‌(ها)" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1358 +msgid "" +"%1$sCache for query strings%2$s enables you to force caching for specific " +"GET parameters." msgstr "" -"CSS بحرانی برای %1$s وقفه افتاده است. لطفا کمی بعدتر مجدد امتحان کنید." +"%1$sکش کردن کوئری استرینگ‌ها%2$s باعث می‌شوند که پارامترهای متد GET به اجبار" +" کش شوند." -#: inc/Engine/CriticalPath/RESTWP.php:141 -msgid "Mobile CPCSS generation not enabled." -msgstr "ایجاد CPCSS موبایل فعال نشد." +#: inc/Engine/Admin/Settings/Page.php:1369 +msgid "" +"Specify URLs of pages or posts that should never be cached (one per line)" +msgstr "" +"آدرس برگه‌ها یا نوشته‌هایی که هرگز نباید کش شوند را تعیین کنید (در هر خط " +"یکی)" -#: inc/Engine/CriticalPath/RESTWPPost.php:36 -#: inc/Engine/CriticalPath/RESTWPPost.php:69 -msgid "Requested post does not exist." -msgstr "نوشته درخواست شده موجود نیست." +#: inc/Engine/Admin/Settings/Page.php:1370 +#: inc/Engine/Admin/Settings/Page.php:1398 +msgid "" +"The domain part of the URL will be stripped automatically.
    Use (.*) " +"wildcards to address multiple URLs under a given path." +msgstr "" +"قسمت نام دامنه آدرس به صورت خودکار حذف خواهد شد.
    از (.*) برای تعیین چند" +" آدرس از یک مسیر استفاده کنید." -#: inc/Engine/CriticalPath/RESTWPPost.php:46 -msgid "Cannot generate CPCSS for unpublished post." -msgstr "برای نوشته های منتشر نشده نمی توان CPCSS ایجاد کرد." +#: inc/Engine/Admin/Settings/Page.php:1379 +msgid "" +"Specify full or partial IDs of cookies that, when set in the visitor's " +"browser, should prevent a page from getting cached (one per line)" +msgstr "" +"شناسه های کامل یا جزئی کوکی ها را مشخص کنید که وقتی در مرورگر بازدیدکننده " +"تنظیم می شوند ، از ذخیره شدن صفحه جلوگیری شود (یکی در هر خط)" -#: inc/Engine/HealthCheck/HealthCheck.php:82 inc/deprecated/3.5.php:858 +#: inc/Engine/Admin/Settings/Page.php:1387 msgid "" -"The following scheduled event failed to run. This may indicate the CRON " -"system is not running properly, which can prevent some WP Rocket features " -"from working as intended:" -msgid_plural "" -"The following scheduled events failed to run. This may indicate the CRON " -"system is not running properly, which can prevent some WP Rocket features " -"from working as intended:" -msgstr[0] "" -"رویداد برنامه ریزی شده زیر اجرا نشد. این ممکن است نشان دهد که سیستم CRON به " -"درستی اجرا نمی شود ، که می تواند مانع از عملکرد برخی از ویژگی های موشک " -"وردپرس شود:" -msgstr[1] "" -"رویداد برنامه ریزی شده زیر اجرا نشد. این ممکن است نشان دهد که سیستم CRON به " -"درستی اجرا نمی شود ، که می تواند مانع از عملکرد برخی از ویژگی های موشک " -"وردپرس شود:" +"Specify user agent strings that should never see cached pages (one per line)" +msgstr "" +"رشته‌های user agentی که هرگز نباید صفحات را کش شده مشاهده کنند را تعیین کنید" +" (در هر خط یکی)" + +#: inc/Engine/Admin/Settings/Page.php:1388 +msgid "Use (.*) wildcards to detect parts of UA strings." +msgstr "برای تشخص قسمت‌های مختلف رشته user agent از (.*)استفاده کنید." + +#: inc/Engine/Admin/Settings/Page.php:1397 +msgid "" +"Specify URLs you always want purged from cache whenever you update any post " +"or page (one per line)" +msgstr "" +"آدرس‌هایی که مایل هستید فارغ از اینکه نوشته یا برگه‌ای بروزرسانی شده، همیشه " +"از کش حذف شوند را تعیین کنید (در هر خط یکی)" -#: inc/Engine/HealthCheck/HealthCheck.php:88 inc/deprecated/3.5.php:867 -msgid "Please contact your host to check if CRON is working." -msgstr "لطفا با هاست خود جهت بررسی عملکرد CRON تماس بگیرید." +#: inc/Engine/Admin/Settings/Page.php:1406 +msgid "Specify query strings for caching (one per line)" +msgstr "کوئری استرینگ‌ها برای کش شدن را تعیین کنید (در هر خط یکی)" -#: inc/Engine/HealthCheck/HealthCheck.php:142 -msgid "Scheduled Cache Purge" -msgstr "برنامه ریزی خالی کردن کش" +#: inc/Engine/Admin/Settings/Page.php:1432 +msgid "Optimize, reduce bloat" +msgstr "بهینه‌سازی، کاهش نفخ" -#: inc/Engine/HealthCheck/HealthCheck.php:143 -msgid "Scheduled Database Optimization" -msgstr "برنامه ریزی بهینه سازی دیتابیس" +#: inc/Engine/Admin/Settings/Page.php:1439 +msgid "Post Cleanup" +msgstr "پاک‌سازی نوشته" -#: inc/Engine/HealthCheck/HealthCheck.php:144 -msgid "Database Optimization Process" -msgstr "پروسه بهینه سازی دیتابیس" +#: inc/Engine/Admin/Settings/Page.php:1441 +msgid "" +"Post revisions and drafts will be permanently deleted. Do not use this " +"option if you need to retain revisions or drafts." +msgstr "" +"نوشته‌های بازبینی و پیش‌نویس به طور دائم حذف خواهند شد. اگر به نگه‌داری " +"بازبینی‌ها و پیش‌نویس‌ها نیاز دارید این گزینه را استفاده نکنید." -#: inc/Engine/HealthCheck/HealthCheck.php:145 -msgctxt "noun" -msgid "Preload" -msgstr "پیش بارگذاری" +#: inc/Engine/Admin/Settings/Page.php:1446 +msgid "Comments Cleanup" +msgstr "پاک‌سازی دیدگاه‌ها" -#: inc/Engine/HealthCheck/HealthCheck.php:146 -msgid "Critical Path CSS Generation Process" -msgstr "پروسه تولید CSS بحرانی" +#: inc/Engine/Admin/Settings/Page.php:1448 +msgid "Spam and trashed comments will be permanently deleted." +msgstr "دیدگا‌ه‌های اسپم و داخل زباله‌دان به طور دائم حذف خواهند شد." -#: inc/Engine/License/Renewal.php:76 -#, php-format -msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!" -msgstr "تمدید کنید تا دیر نشده، شما فق طپرداخت می کنید%1$s%2$s%3$s!" +#: inc/Engine/Admin/Settings/Page.php:1452 +msgid "Transients Cleanup" +msgstr "پاک‌سازی داده‌های گذرا" -#: inc/Engine/License/Renewal.php:85 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1454 msgid "" -"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " -"%4$s%5$s%6$s!" +"Transients are temporary options; they are safe to remove. They will be " +"automatically regenerated as your plugins require them." msgstr "" -"تمدید با %1$s%2$sتخفیف%3$sقبل از اینکه دیر شود، شما فقط %4$s%5$s%6$s پرداخت " -"می کنید!" +"داده‌های گذرا تنظیمات موقتی هستند. حذف آن‌ها ایمن است. در صورتی که افزونه‌ها" +" به این داده‌ها نیاز داشته باشند به صورت خودکار ایجاد خواهند شد." -#: inc/Engine/License/Renewal.php:139 -#, php-format -msgid "Renew your license for 1 year now at %1$s%3$s%2$s." -msgstr "تمدید لایسنس برای یک سال دیگر%1$s%3$s%2$s." +#: inc/Engine/Admin/Settings/Page.php:1458 +msgid "Database Cleanup" +msgstr "پاک‌سازی پایگاه داده" -#: inc/Engine/License/Renewal.php:152 -#, php-format -msgid "" -"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you " -"will only pay %1$s%4$s%2$s!" -msgstr "" -"تمدید لایسنس برای یک سال دیگر با %1$s%3$sتخفیف%2$sسریعتر: شما " -"فقط%1$s%4$s%2$sپرداخت میکنید!" +#: inc/Engine/Admin/Settings/Page.php:1460 +msgid "Reduces overhead of database tables" +msgstr "بهینه سازی جداول دیتابیس" -#: inc/Engine/License/Renewal.php:218 -#, php-format -msgid "Renew before it is too late, you will pay %1$s%3$s%2$s." -msgstr "تمدید کنید تا دیر نشده، شما فقط%1$s%3$s%2$sپرداخت میکنید." +#: inc/Engine/Admin/Settings/Page.php:1464 +msgid "Automatic Cleanup" +msgstr "پاک‌سازی خودکار" -#: inc/Engine/License/Renewal.php:227 -#, php-format -msgid "" -"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " -"%1$s%4$s%3$s!" -msgstr "" -"تمدید با %1$s%2$sتخفیف%3$sقبل از اینکه دیر شود، شما فقط %1$s%4$s%3$s پرداخت " -"می کنید!" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1477 +msgid "%s revision in your database." +msgid_plural "%s revisions in your database." +msgstr[0] "%s بازبینی در پایگاه داده شما وجود دارد." +msgstr[1] "%s بازبینی در پایگاه داده شما وجود دارد." -#: inc/Engine/License/Renewal.php:546 -#, php-format -msgid "" -"You need a valid license to continue using this feature. %1$sRenew now%2$s " -"before losing access." -msgstr "" -"برای استفاده از این ویژگی نیازمند لایسنس معتبر هستید.%1$sاکنون تمدید " -"کنید%2$sقبل از حذف دسترسیتان" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1487 +msgid "%s draft in your database." +msgid_plural "%s drafts in your database." +msgstr[0] "%s پیش‌نویس در پایگاه داده شما وجود دارد." +msgstr[1] "%s پیش‌نویس در پایگاه داده شما وجود دارد." -#: inc/Engine/License/Renewal.php:567 -#, php-format -msgid "You need an active license to enable this option. %1$sRenew now%2$s." -msgstr "" -"برای فعالسازی این گزینه به لایسنس فعال نیاز دارید.%1$sاکنون تمدید کنید%2$s" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1497 +msgid "%s trashed post in your database." +msgid_plural "%s trashed posts in your database." +msgstr[0] "%s نوشته داخل زباله‌دان در پایگاه داده شما وجود دارد." +msgstr[1] "%s نوشته داخل زباله‌دان در پایگاه داده شما وجود دارد." -#: inc/Engine/License/Renewal.php:595 -#, php-format -msgid "You need an active license to enable this option. %1$sMore info%2$s." -msgstr "" -"برای فعالسازی این گزینه به لایسنس فعال نیاز دارید.%1$sاطلاعات بیشتر%2$s" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1507 +msgid "%s spam comment in your database." +msgid_plural "%s spam comments in your database." +msgstr[0] "%s دیدگاه اسپم در پایگاه داده شما وجود دارد." +msgstr[1] "%s دیدگاه اسپم در پایگاه داده شما وجود دارد." -#: inc/Engine/License/Upgrade.php:252 -#, php-format -msgid "" -"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" -" for %3$supgrading your license to Plus or Infinite!%5$s" -msgid_plural "" -"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" -" for %3$supgrading your license to Infinite!%5$s" -msgstr[0] "" -"بهره مندی از %1$s برای بالابردن سرعت سایت: %2$s گرفتن %3$s%4$s تخفیف%5$sبرای" -" %3$s ارتقای لایسنس شما به پلاس یا نامحدود!%5$s" -msgstr[1] "" -"بهره مندی از %1$s برای بالابردن سرعت سایت: %2$s گرفتن %3$s%4$s تخفیف%5$sبرای" -" %3$s ارتقای لایسنس شما به نامحدود!%5$s" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1517 +msgid "%s trashed comment in your database." +msgid_plural "%s trashed comments in your database." +msgstr[0] "%s دیدگاه در زباله‌دان شما وجود دارد." +msgstr[1] "%s دیدگاه در زباله‌دان شما وجود دارد." -#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405 -msgid "Unlimited" -msgstr "نامحدود" +#: inc/Engine/Admin/Settings/Page.php:1525 +msgid "All transients" +msgstr "همه داده‌های گذرا" -#: inc/Engine/License/views/promo-banner.php:16 -#, php-format -msgid "%s off" -msgstr "%s تخفیف" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1527 +msgid "%s transient in your database." +msgid_plural "%s transients in your database." +msgstr[0] "%s داده گذرا در پایگاه داده شما وجود دارد." +msgstr[1] "%s داده گذرا در پایگاه داده شما وجود دارد." -#: inc/Engine/License/views/promo-banner.php:21 -#, php-format -msgid "%s promotion is live!" -msgstr "%s پیشنهاد زنده است!" +#: inc/Engine/Admin/Settings/Page.php:1535 +msgid "Optimize Tables" +msgstr "بهینه‌سازی جدول‌ها" -#: inc/Engine/License/views/promo-banner.php:27 -msgid "Hurry Up! Deal ends in:" -msgstr "عجله کنید! تخفیف پایان میابد در:" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1537 +msgid "%s table to optimize in your database." +msgid_plural "%s tables to optimize in your database." +msgstr[0] "%s جدول برای بهینه‌سازی در پایگاه داده شما وجود دارد." +msgstr[1] "%s جدول برای بهینه‌سازی در پایگاه داده شما وجود دارد." -#: inc/Engine/License/views/promo-banner.php:31 -#: inc/Engine/License/views/renewal-soon-banner.php:14 -msgid "Minutes" -msgstr "دقایق" +#: inc/Engine/Admin/Settings/Page.php:1548 +msgid "Schedule Automatic Cleanup" +msgstr "برنامه‌ریزی پاک‌سازی خودکار" -#: inc/Engine/License/views/promo-banner.php:32 -#: inc/Engine/License/views/renewal-soon-banner.php:15 -msgid "Seconds" -msgstr "ثانیه" +#: inc/Engine/Admin/Settings/Page.php:1560 +msgid "Frequency" +msgstr "دوره تکرار" -#: inc/Engine/License/views/promo-banner.php:34 -#: inc/Engine/License/views/upgrade-section.php:11 -msgid "Upgrade now" -msgstr "اکنون ارتقاء دهید" +#: inc/Engine/Admin/Settings/Page.php:1568 +msgid "Daily" +msgstr "روزانه" -#: inc/Engine/License/views/promo-banner.php:36 -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32 -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42 -#: inc/Engine/License/views/renewal-expired-banner.php:30 -#: inc/admin/ui/notices.php:742 views/settings/page-sections/dashboard.php:46 -msgid "Dismiss this notice" -msgstr "نادیده گرفتن این پیام." +#: inc/Engine/Admin/Settings/Page.php:1569 +msgid "Weekly" +msgstr "هفتگی" -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11 -msgid "The Optimize CSS Delivery feature is disabled." -msgstr "ویژگی Optimize CSS Delivery غیرفعال است." +#: inc/Engine/Admin/Settings/Page.php:1570 +msgid "Monthly" +msgstr "ماهیانه" -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15 +#: inc/Engine/Admin/Settings/Page.php:1587 +msgid "Integrate your CDN" +msgstr "CDN خود را سازگار کنید" + +#: inc/Engine/Admin/Settings/Page.php:1599 msgid "" -"You can no longer use the Remove Unused CSS or Load CSS asynchronously " -"options." +"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)" +" you provide." msgstr "" -"دیگر نمی توانید از گزینه های Remove Unused CSS یا Load CSS Asynchronously " -"استفاده کنید." +"آدرس همه فایل‌های استاتیک (CSS، JS، تصاویر) با استفاده از CNAME (هایی) که " +"شما تعیین کرده‌اید بازنویسی خواهند شد." -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20 -#, php-format +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Admin/Settings/Page.php:1601 msgid "" -"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, " -"which addresses a PageSpeed Insights recommendation and improves your page " -"performance." +"Not required for services like Cloudflare and Sucuri. Please see our " +"available %1$sAdd-ons%2$s." msgstr "" -"شما به %1$sلایسنس فعال%2$sبرای قابلیت Optimize CSS Delivery نیاز دارید،که به" -" توصیه PageSpeed Insights پرداخته و عملکرد صفحه شما را بهبود می بخشد." +"برای سرویس هایی مانند Cloudflare و Sucuri ضروری نیست. لطفا " +"%1$sافزودنی‌های%2$s موجود ما را مشاهده کنید." -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29 -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39 -#: inc/Engine/License/views/renewal-expired-banner.php:27 -#: inc/Engine/License/views/renewal-soon-banner.php:31 -msgid "Renew now" -msgstr "تمدید کنید" +#. translators: %1$s = opening em tag, %2$l = list of add-on name(s), %3$s = +#. closing em tag. +#: inc/Engine/Admin/Settings/Page.php:1647 +msgid "" +"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings " +"is not required for %2$l to work on your site." +msgid_plural "" +"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN " +"settings is not required for %2$l to work on your site." +msgstr[0] "" +"%1$s%2$l افزودنی%3$s اکنون فعال است. پیکربندی تنظیمات CDN برای %2$l ضروری " +"نیست." +msgstr[1] "" +"%1$s%2$l افزودنی%3$s اکنون فعال است. پیکربندی تنظیمات CDN برای %2$l ضروری " +"نیست." -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11 -msgid "You will soon lose access to some features" -msgstr "به زودی دسترسی به برخی از ویژگی ها را از دست خواهید داد" +#: inc/Engine/Admin/Settings/Page.php:1673 +msgid "Enable Content Delivery Network" +msgstr "فعالسازی شبکه تحویل محتوا" + +#: inc/Engine/Admin/Settings/Page.php:1682 +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159 +msgid "CDN CNAME(s)" +msgstr "CNAME (های) CDN" -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1683 +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160 +msgid "Specify the CNAME(s) below" +msgstr "CNAME (ها) را اینجا تعیین کنید" + +#: inc/Engine/Admin/Settings/Page.php:1690 msgid "" -"You need an %1$sactive license to continue optimizing your CSS delivery%2$s." +"Specify URL(s) of files that should not get served via CDN (one per line)." msgstr "" -"شما به لایسنس%1$sفعال نیاز دارید تا بهینه سازی تحویل css ادامه یابد%2$s." +"آدرس فایل‌(هایی) که نباید از طریق CDN بارگذاری شوند را تعیین کنید.(هرخط یک " +"آدرس)" -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24 +#: inc/Engine/Admin/Settings/Page.php:1691 msgid "" -"The Remove Unused CSS and Load CSS asynchronously features are great options" -" to address the PageSpeed Insights recommendations and improve your website " -"performance." +"The domain part of the URL will be stripped automatically.
    Use (.*) " +"wildcards to exclude all files of a given file type located at a specific " +"path." msgstr "" -"ویژگی‌های Remove Unused CSS و بارگذاری css به صورت ناهمزمان گزینه‌های عالی " -"برای رسیدگی به توصیه‌های PageSpeed Insights و بهبود عملکرد وب‌سایت شما " -"هستند." +"قسمت نام دامنه آدرس به صورت خودکار حذف خواهد شد.
    برای مستثنی کردن همه " +"فایل‌های هم نوع موجود در یک مسیر از (.*) استفاده کنید." -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29 -#, php-format -msgid "They will be %1$sautomatically disabled on %3$s%2$s." -msgstr "آنها به طور خودکار%1$sغیرفعال میشوند در%3$s%2$s." +#: inc/Engine/Admin/Settings/Page.php:1714 +#: inc/Engine/Admin/Settings/Page.php:1722 +msgid "Heartbeat" +msgstr "ضربان Heartbeat" -#: inc/Engine/License/views/renewal-expired-banner.php:11 -msgid "Your WP Rocket license is expired!" -msgstr "لایسنس شما نامعتبر است!" +#: inc/Engine/Admin/Settings/Page.php:1715 +msgid "Control WordPress Heartbeat API" +msgstr "کنترل API سرویس WordPress Heartbeat" -#: inc/Engine/License/views/renewal-expired-banner.php:18 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1723 msgid "" -"Your website could be much faster if it could take advantage of our %1$snew " -"features and enhancements%2$s. 🚀" +"Reducing or disabling the Heartbeat API’s activity can help save some of " +"your server’s resources." msgstr "" -"سایت شما می تواند از این هم سریعتر شود با استفاده از%1$sویژگی حدید و بهینه " -"سازی%2$s. 🚀" +"کاهش یا غیرفعال کردن فعالیت Heartbeat API می تواند به ذخیره برخی از منابع " +"سرور شما کمک کند." -#: inc/Engine/License/views/renewal-soon-banner.php:22 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1729 +msgid "Reduce or disable Heartbeat activity" +msgstr "کاهش یا غیرفعال کردن فعالیت Heartbeat" + +#: inc/Engine/Admin/Settings/Page.php:1730 msgid "" -"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access" -" to product updates and support." +"Reducing activity will change Heartbeat frequency from one hit each minute " +"to one hit every 2 minutes." msgstr "" -"لایسنس%1$s افزونه شما در حال انقضاء%2$sاست: به زودی دسترسی به بروزرسانی " -"محصول و پشتیبانی را نخواهید داشت." - -#: inc/Engine/License/views/upgrade-popin.php:12 -msgid "Speed Up More Websites" -msgstr "سایت های بیشتری را پرسرعت کنید" +"با کاهش فعالیت ، فرکانس Heartbeat از یک ضربه در هر دقیقه به یک ضربه در هر 2 " +"دقیقه تغییر می کند." -#: inc/Engine/License/views/upgrade-popin.php:19 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1730 msgid "" -"You can use WP Rocket on more websites by upgrading your license. To " -"upgrade, simply pay the %1$sprice difference%2$s between your current and " -"new licenses, as shown below." +"Disabling Heartbeat entirely may break plugins and themes using this API." msgstr "" -"با ارتقاء لایسنس خود می توانید سایت های بیشتری را به موشک وردپرس مجهز کنید. " -"برای ارتقاء، فقط کافی مبلغ%1$sتفاوت%2$sبین لایسنس فعلی و لایسنس جدید را " -"پرداخت نمایید." +"با غیرفعال کردن کامل Heartbeat ممکن است افزونه ها و قالب ها با استفاده از " +"این API خراب شوند." -#: inc/Engine/License/views/upgrade-popin.php:25 -#, php-format -msgid "" -"%1$sN.B.%2$s: Upgrading your license does not change your expiration date" -msgstr "%1$sN.B.%2$s: ارتقاء لایسنس شما تفاوتی در تاریخ انقضاء ایجاد نمی کند" +#: inc/Engine/Admin/Settings/Page.php:1744 +msgid "Do not limit" +msgstr "محدود نکنید" -#: inc/Engine/License/views/upgrade-popin.php:35 -#, php-format -msgid "Save $%s" -msgstr "ذخیره$%s" +#: inc/Engine/Admin/Settings/Page.php:1745 +msgid "Reduce activity" +msgstr "کاهش فعالیت" -#: inc/Engine/License/views/upgrade-popin.php:48 -#, php-format -msgid "%s websites" -msgstr "%s سایت" +#: inc/Engine/Admin/Settings/Page.php:1746 +msgid "Disable" +msgstr "غیرفعال‌سازی" -#: inc/Engine/License/views/upgrade-popin.php:54 -#, php-format -msgid "Upgrade to %s" -msgstr "ارتقاء به %s" +#: inc/Engine/Admin/Settings/Page.php:1754 +msgid "Control Heartbeat" +msgstr "کنترل Heartbeat" -#: inc/Engine/License/views/upgrade-section.php:11 -msgid "" -"You can use WP Rocket on more websites by upgrading your license (you will " -"only pay the price difference between your current and new licenses)." -msgstr "" -"می توانید با ارتقاء لایسنس از موشک وردپرس در وب سایت های بیشتری استفاده کنید" -" (فقط تفاوت قیمت بین لایسنس های فعلی و جدید خود را پرداخت خواهید کرد)." +#: inc/Engine/Admin/Settings/Page.php:1763 +msgid "Behavior in backend" +msgstr "رفتار در پس زمینه" -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195 -msgid "Analytics & Ads" -msgstr "آنالیتیکس / تبلیغات" +#: inc/Engine/Admin/Settings/Page.php:1770 +msgid "Behavior in post editor" +msgstr "رفتار در ویرایشگر نوشته" -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200 -msgid "Plugins" -msgstr "افزونه ها" +#: inc/Engine/Admin/Settings/Page.php:1776 +msgid "Behavior in frontend" +msgstr "رفتار در frontend" -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205 -msgid "Themes" -msgstr "قالب ها" +#: inc/Engine/Admin/Settings/Page.php:1793 +#: views/settings/page-sections/tutorials.php:39 +msgid "Add-ons" +msgstr "افزودنی‌ها" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101 +#: inc/Engine/Admin/Settings/Page.php:1794 +msgid "Add more features" +msgstr "افزودن ویژگی‌های بیشتر" + +#: inc/Engine/Admin/Settings/Page.php:1801 +msgid "One-click Rocket Add-ons" +msgstr "افزودنی‌های موشک با یک کلیک" + +#: inc/Engine/Admin/Settings/Page.php:1802 msgid "" -"You need an active license to get the latest version of the lists from our " -"server." +"One-Click Add-ons are features extending available options without " +"configuration needed. Switch the option \"on\" to enable from this screen." msgstr "" -"برای دریافت آخرین نسخه لیست ها از سرور ما به یک لایسنس فعال نیاز دارید." +"افزودنی‌های موشک با یک کلیک ویژگی‌هایی هستند که گزینه‌ها موجود را بدون نیاز " +"به تنظیمات جدید گسترش می‌دهند. برای فعال‌سازی گزینه \"فعال\" را از این صفحه " +"فعال کنید." -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115 -msgid "Could not get updated lists from server." -msgstr "نمی توان لیست های به روز شده را از سرور دریافت کرد." +#: inc/Engine/Admin/Settings/Page.php:1812 +msgid "Rocket Add-ons" +msgstr "افزودنی‌های موشک" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124 -msgid "Lists are up to date." -msgstr "لیست ها به روز هستند." +#: inc/Engine/Admin/Settings/Page.php:1813 +msgid "Rocket Add-ons are complementary features extending available options." +msgstr "" +"افزودنی‌های موشک ویژگی‌های تکمیلی هستند که گزینه‌های موجود فعلی را گسترش " +"می‌دهند." -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133 -msgid "Could not update lists." -msgstr "لیست‌ها به‌روزرسانی نشد." +#: inc/Engine/Admin/Settings/Page.php:1823 +#: inc/Engine/Admin/Settings/Page.php:1992 +msgid "Cloudflare" +msgstr "Cloudflare" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142 -msgid "Lists are successfully updated." -msgstr "لیست ها با موفقیت به روز شدند." +#: inc/Engine/Admin/Settings/Page.php:1829 +msgid "Integrate your Cloudflare account with this add-on." +msgstr "حساب کاربری Cloudflare خود را با این افزودنی ادغام کنید." -#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:52 -msgid "Default Lists" -msgstr "لیست پیشفرض" +#: inc/Engine/Admin/Settings/Page.php:1830 +msgid "" +"Provide your account email, global API key, and domain to use options such " +"as clearing the Cloudflare cache and enabling optimal settings with WP " +"Rocket." +msgstr "" +"جهت استفاده از گزینه‌هایی مثل حذف کش Cloudflare و فعال‌سازی تنظیمات بهینه با" +" موشک وردپرس آدرس ایمیل حساب کاربری خود، کلید عمومی وب سرویس و دامنه خود را " +"تعیین کنید." -#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:58 -msgid "Delay JavaScript Execution Exclusion Lists" -msgstr "به تأخیر انداختن لیست های لغو اجرای جاوا اسکریپت" +#. translators: %1$s = opening span tag, %2$s = closing span tag. +#: inc/Engine/Admin/Settings/Page.php:1833 +msgid "" +"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just " +"activate the official Cloudflare plugin and configure it. WP Rocket will " +"automatically enable compatibility." +msgstr "" +"%1$sبرنامه ریزی برای استفاده از بهینه سازی پلت فرم خودکار(APO)?%2$sفقط " +"پلاگین رسمی کلادفلیر را فعال کرده و آن را پیکربندی کنید. موشک وردپرس به طور " +"خودکار سازگاری را فعال می کند." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131 -#: views/settings/page-sections/dashboard.php:188 -msgid "Clear Used CSS" -msgstr "پاکسازی CSSهای استفاده شده" +#: inc/Engine/Admin/Settings/Page.php:1881 +msgid "Varnish" +msgstr "وارنیش" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224 -#, php-format -msgid "" -"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing " -"your pages." +#: inc/Engine/Admin/Settings/Page.php:1887 +msgid "If Varnish runs on your server, you must activate this add-on." msgstr "" -"%1$sلطفا منتظر بمانید:%2$sثانیه.سرویس Remove Unused CSS در حال بررسی " -"برگه‌های سایت شماست." +"اگر بر روی سرور شما وارنیش اجرا شده است، باید این افزودنی را فعال کنید." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:274 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1889 msgid "" -"%1$s: The Used CSS of your homepage has been processed. WP Rocket will " -"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)." +"Varnish cache will be purged each time WP Rocket clears its cache to ensure " +"content is always up-to-date.
    %1$sLearn more%2$s" msgstr "" -"%1$s: فایل CSSهای بکار رفته در صفحه خانه بررسی شد. افزونه به ایجاد CSSهای " -"استفاده شده ادامه می دهد تا%2$sآدرس صفحه هر%3$s ثانیه." +"هر بار که موشک وردپرس کش خود را پاک‌سازی می‌کند، کش وارنیش هم به منظور " +"اطمینان از به روز بودن محتوا، پاک خواهد شد.
    %1$sکسب اطلاعات بیشتر%2$s" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283 -#, php-format -msgid "We suggest enabling %1$sPreload%2$s for the fastest results." -msgstr "ما پیشنهاد می کنیم %1$sپیش بارگذاری%2$s برای نتایج سریعتر فعال کنید." +#: inc/Engine/Admin/Settings/Page.php:1924 +msgid "WebP Compatibility" +msgstr "سازگاری WebP" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:293 -#, php-format -msgid "To learn more about the process check our %1$sdocumentation%2$s." -msgstr "برای یادگیری پروسه %1$sمستندات%2$s مارا بخوانید." +#: inc/Engine/Admin/Settings/Page.php:1930 +msgid "Improve browser compatibility for WebP images." +msgstr "بهبود سازگاری مرورگر با تصاویر WebP." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:491 +#. translators: %1$s and %3$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1934 msgid "" -"We couldn't generate the used CSS because you're using a nulled version of " -"WP Rocket. You need an active license to use the Remove Unused CSS feature " -"and further improve your website's performance." +"Enable this option if you would like WP Rocket to serve WebP images to " +"compatible browsers. Please note that WP Rocket cannot create WebP images " +"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore " +"info%2$s" msgstr "" -"ما نتوانستیم CSS استفاده شده را ایجاد کنیم زیرا شما از نسخه نال شده WP " -"Rocket استفاده می کنید. برای استفاده از قابلیت Remove Unused CSS و بهبود " -"بیشتر عملکرد وب سایت خود، به یک مجوز فعال نیاز دارید." +"اگر می خواهید راکت وردپرس تصاویر WebP را به مرورگرهای سازگار ارائه دهد ، این" +" گزینه را فعال کنید. لطفاً توجه داشته باشید که راکت وردپرس نمی تواند تصاویر " +"WebP را برای شما ایجاد کند. برای ایجاد تصاویر WebP توصیه می کنیم از " +"%1$sImagify%2$s استفاده کنید. %3$sراهنمایی%2$s" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:494 -#, php-format -msgid "Click here to get a WP Rocket single license at %1$s off!" -msgstr "برای دریافت لایسنس %1$sتخفیفی اینجا کلیک کنید!" +#: inc/Engine/Admin/Settings/Page.php:1954 +msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared." +msgstr "کش Sucuri را حذف کن هنگامی که کش موشک وردپرس را حذف می کنید." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:547 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1957 msgid "" -"It seems a security plugin or the server's firewall prevents WP Rocket from " -"accessing the Remove Unused CSS generator. IPs listed %1$shere in our " -"documentation%2$s should be added to your allowlists:" +"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is " +"cleared." msgstr "" -"به نظر می رسد افزونه امنیتی یا فایروال سرور از دسترسی افزونه به بخش حذف CSS " -"های بلااستفاده جلوگیری می کند. آی پی های موجود در %1$sمستندات%2$sباید در " -"لیست مجازها باشد:" +"کلید API خود را برای پاک کردن کش Sucuri هنگام پاک شدن کش موشک وردپرس ارائه " +"دهید." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:552 -msgid "- In the security plugin, if you are using one" -msgstr "- در افزونه امنیت، اگر شما از یکی از آن ها استفاده کنید" +#: inc/Engine/Admin/Settings/Page.php:1965 +#: inc/Engine/Admin/Settings/Page.php:2109 +msgid "Sucuri" +msgstr "Sucuri" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:553 -msgid "- In the server's firewall. Your host can help you with this" -msgstr "- در فایروال سرور. شرکت هاست شما کمکتان می کند" +#: inc/Engine/Admin/Settings/Page.php:1971 +msgid "Synchronize Sucuri cache with this add-on." +msgstr "با این افزونه کش Sucuri را همگام سازی کنید." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:593 -#, php-format -msgid "" -"%1$s: Could not create the %2$s table in the database which is necessary for" -" the Remove Unused CSS feature to work. Please reach out to %3$sour " -"support%4$s." -msgstr "" -"%1$s: نمی تواند ایجاد شود%2$s جدول در پایگاه داده که نیاز است برای حذف CSS " -"های بلا استفاده برای کارکرد صحیح آن. لطفا برای اطلاعات بیشتر%3$sپشتیبانی " -"ما%4$sتماس بگیرید." +#: inc/Engine/Admin/Settings/Page.php:2009 +msgid "Cloudflare credentials" +msgstr "اعتبارهای Cloudflare" -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:324 -#, php-format -msgid "%1$s: Used CSS option is not enabled!" -msgstr "%1$s: قابلیت CSSهای استفاده شده فعال نیست!" +#: inc/Engine/Admin/Settings/Page.php:2018 +msgid "Cloudflare settings" +msgstr "تنظیمات Cloudflare" -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:345 -#, php-format -msgid "%1$s: Used CSS cache cleared!" -msgstr "%1$s: کش CSS استفاده شده پاک شد!" +#: inc/Engine/Admin/Settings/Page.php:2032 +msgctxt "Cloudflare" +msgid "Global API key:" +msgstr "کلید API عمومی:" -#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:787 -msgid "Clear Used CSS of this URL" -msgstr "پاکسازی CSS استفاده شده برای این URL" +#: inc/Engine/Admin/Settings/Page.php:2033 +msgctxt "Cloudflare" +msgid "Find your API key" +msgstr "پیدا کردن کلید API شما" -#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160 -msgid "WP Rocket Remove Unused CSS pending jobs" -msgstr "WP Rocket حذف کارهای معلق Unused CSS" +#: inc/Engine/Admin/Settings/Page.php:2045 +msgctxt "Cloudflare" +msgid "Account email" +msgstr "ایمیل حساب کاربری" -#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174 -msgid "WP Rocket clear Remove Unused CSS failed jobs" -msgstr "WP Rocket پاکسازی حذف کارهای ناموفق CSS های بلااستفاده" +#: inc/Engine/Admin/Settings/Page.php:2054 +msgctxt "Cloudflare" +msgid "Zone ID" +msgstr "شناسه ناحیه" + +#: inc/Engine/Admin/Settings/Page.php:2064 +msgid "Development mode" +msgstr "حالت توسعه" -#: inc/Engine/Plugin/UpdaterApiTools.php:32 inc/deprecated/3.3.php:761 -#: inc/deprecated/3.3.php:770 -#, php-format +#. translators: %1$s = link opening tag, %2$s = link closing tag. +#: inc/Engine/Admin/Settings/Page.php:2066 msgid "" -"An unexpected error occurred. Something may be wrong with WP-Rocket.me or " -"this server’s configuration. If you continue to have problems, contact support." +"Temporarily activate development mode on your website. This setting will " +"automatically turn off after 3 hours. %1$sLearn more%2$s" msgstr "" -"یک خطای غیر منتظره رخ داد. ممکن است خطایی در WP-Rocket.me یا تنظیمات " -"سرور’s شما باشد. اگر مشکل شما ادامه داشت، با پشتیبانی " -"تماس بگیرید." - -#: inc/Engine/Plugin/UpdaterSubscriber.php:483 -#: inc/Engine/Plugin/UpdaterSubscriber.php:497 -#: inc/classes/class-wp-rocket-requirements-check.php:203 -#: inc/classes/class-wp-rocket-requirements-check.php:214 -#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251 -#, php-format -msgid "%s Update Rollback" -msgstr "%s بازگشتن به نسخه قبلی" +"حالت توسعه به طور موقت بر روی وبسایت خود فعال کنید. این تنظیم بعد از گذشت 3 " +"ساعت غیرفعال خواهد شد. %1$sکسب اطلاعات بیشتر%2$s" -#: inc/Engine/Plugin/UpdaterSubscriber.php:520 inc/deprecated/3.11.php:279 -#, php-format -msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s" -msgstr "%1$sبازگشت به موشک وردپرس%2$sیا %3$s رفتن به برگه افزونه‌ها%2$s" +#: inc/Engine/Admin/Settings/Page.php:2074 +msgid "Optimal settings" +msgstr "تنظیمات بهینه‌سازی" -#: inc/Engine/Preload/Admin/Settings.php:57 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2075 msgid "" -"%1$s: The preload service is now active. After the initial preload it will " -"continue to cache all your pages whenever they are purged. No further action" -" is needed." -msgstr "" -"%1$s:سرویس پیش بارگذاری اکنون فعال است. پس از پیش بارگذاری، هر زمان که تمام " -"صفحات شما پاک شوند، به کش کردن آن ها ادامه می دهد. هیچ اقدام دیگری لازم " -"نیست." - -#: inc/Engine/Preload/Cron/Subscriber.php:138 -msgid "WP Rocket Preload pending jobs" -msgstr "کارهای معلق پیش بارگذاری" +"Automatically enhances your Cloudflare configuration for speed, performance " +"grade and compatibility." +msgstr "افزایش خودکار تنظیمات Cloudflare جهت سرعت، بهره‌وری و هماهنگی بیشتر." -#: inc/Engine/Preload/Cron/Subscriber.php:166 -msgid "WP Rocket Preload revert stuck failed jobs" -msgstr "پیش بارگذاری برگرداندن کارهای ناموفق گیر کرده است" +#: inc/Engine/Admin/Settings/Page.php:2083 +msgid "Relative protocol" +msgstr "پروتکل نسبی" -#: inc/ThirdParty/Hostings/Cloudways.php:82 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2084 msgid "" -"Varnish auto-purge will be automatically enabled once Varnish is enabled on " -"your %s server." +"Should only be used with Cloudflare's flexible SSL feature. URLs of static " +"files (CSS, JS, images) will be rewritten to use // instead of http:// or " +"https://." msgstr "" -"هنگامی که Varnish روی دستگاه شما فعال می شود ، پاکسازی خودکار لاک به طور " -"خودکار فعال می شود %s سرور." +"تنها باید با ویژگی SSL منعطف Cloudflare استفاده شود. آدرس فایل‌های استاتیک " +"(CSS, JS, images) جهت استفاده از // به جای http:// یا https:// بازنویسی " +"خواهند شد." -#: inc/ThirdParty/Hostings/Kinsta.php:158 -#, php-format -msgid "" -"Your installation seems to be missing core Kinsta files managing Cache " -"clearing, which will prevent your Kinsta installation and WP Rocket from " -"working correctly. Please get in touch with Kinsta support through your " -"%1$sMyKinsta%2$s account to resolve this issue." -msgstr "" -"به نظر می رسد نصب شما فاقد فایل های اصلی Kinsta است که حذف کش و CDN را " -"مدیریت می کند، که از نصب Kinsta شما و کارکرد صحیح موشک وردپرس جلوگیری می " -"کند. لطفا پشیبانی Kinsta از طرق حساب %1$sMyKinsta%2$s برایحل این مشکل در " -"ارتباط باشید." +#: inc/Engine/Admin/Settings/Page.php:2122 +msgid "Sucuri credentials" +msgstr "اعتبارهای Sucuri" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:126 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2135 +msgctxt "Sucuri" msgid "" -"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of " -"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it." +"Firewall API key (for plugin), must be in format {32 characters}/{32 " +"characters}:" msgstr "" -"%1$s:Cloudflare's HTTP/2 Server Push هماهنگ نیست با ویژگی حذف فایل های " -"Unused CSS و Combine CSS. پیشنهاد می شود غیرفعال کنید." +"شناسه API فایروال (برای افزونه)، باید در فرمت {32 characters}/{32 " +"characters}:" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169 -msgid "" -"Your site is using the official Cloudflare plugin. We have enabled " -"Cloudflare auto-purge for compatibility. If you have APO activated, it is " -"also compatible." -msgstr "" -"سایت شما از پلاگین رسمی کلادفلیر استفاده می کند. ما پاکسازی خودکار کلادفلیر " -"را برای سازگاری فعال کرده ایم. اگر APO را فعال کرده اید، سازگار است." +#: inc/Engine/Admin/Settings/Page.php:2136 +msgctxt "Sucuri" +msgid "Find your API key" +msgstr "پیدا کردن کلید API شما" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:170 +#: inc/Engine/Admin/Settings/Settings.php:361 msgid "" -"Cloudflare cache will be purged each time WP Rocket clears its cache to " -"ensure content is always up-to-date." +"Sucuri Add-on: The API key for the Sucuri firewall must be in format " +"{32 characters}/{32 characters}." msgstr "" -"کش کلادفلیر هر بار که موشک وردپرس کش خود را پاک می کند پاک می شود تا اطمینان" -" حاصل شود که محتوا همیشه به روز است." +"افزودنی Sucuri : شناسه API فایروال Sucuri باید به فرمت{32 " +"characters}/{32 characters} باشد." -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:214 -#, php-format +#: inc/Engine/Admin/Settings/Settings.php:667 msgid "" -"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO " -"is not yet compatible with that feature." +"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved " +"because it disables caching and optimizations for every page on your site." msgstr "" -"%1$sموشک وردپرس:شما از \"Dynamic Cookies Cache\" استفاده می کنید. Cloudflare" -" APO هنوز با این ویژگی سازگار نیست.%2$s" +"متاسفیم! افزودن/(.*) در قوانین پیشرفته > هرگز کش نکن URL(s) ذخیره نشد به " +"دلیل اینکه کش و بهینه سازی برای هر برگه در سایت شما غیرفعال است." -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:220 -#, php-format -msgid "" -"You should either disable Cloudflare APO or check with the theme/plugin " -"requiring the use of “Dynamic Cookies Cache” developers for an alternative " -"way to be page-cache friendly. %1$sMore info%2$s" -msgstr "" -"باید Cloudflare APO را غیرفعال کنید یا قالب/افزونه‌ای را بررسی کنید که به " -"توسعه‌دهندگان «Dynamic Cookies Cache» نیاز دارد تا راهی جایگزین برای سازگاری" -" با کش صفحه باشد.%1$sاطلاعات بیشتر%2$s" +#: inc/Engine/Admin/Settings/Subscriber.php:169 +msgid "Import, Export, Rollback" +msgstr "درون‌ریزی، برون‌ریزی، عقب‌گرد" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:271 -#, php-format -msgid "" -"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile " -"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on " -"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s" -msgstr "" -"%1$sموشک وردپرس%2$sشما از \"فایل های کش جدا برای دستگاه های تلفن همراه\" " -"استفاده می کنید. باید «Cache by Device Type» را فعال " -"کنید%3$sتنظیمات%5$sCloudflare APO برای اینکه نسخه مناسب کش را ارائه " -"دهید.%4$sاطلاعات بیشتر%5$s" +#: inc/Engine/Admin/Settings/Subscriber.php:194 +#: views/settings/page-sections/imagify.php:14 +msgid "Image Optimization" +msgstr "بهینه‌سازی تصویر" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:292 -#, php-format -msgid "" -"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare " -"APO. If you judge it necessary for the website to have a different cache on " -"mobile and desktop, we suggest you enable our “Separate Cache Files for " -"Mobiles Devices” to ensure the generated cache is accurate." -msgstr "" -"%1$sموشک وردپرس:%2$sشما «Cache by Device Type» را در Cloudflare APO فعال " -"کرده‌اید. اگر فکر می‌کنید که لازم است وب‌سایت حافظه پنهان متفاوتی در تلفن " -"همراه و دسک‌تاپ داشته باشد، پیشنهاد می‌کنیم «فایل‌های کش جداگانه برای " -"دستگاه‌های موبایل» را فعال کنید تا مطمئن شوید حافظه پنهان تولید شده دقیق " -"است." +#: inc/Engine/Admin/Settings/Subscriber.php:195 +msgid "Compress your images" +msgstr "تصاویر خود را فشرده کنید" -#: inc/ThirdParty/Plugins/ModPagespeed.php:102 -#, php-format -msgid "" -"%1$s: Mod PageSpeed is not compatible with this plugin and " -"may cause unexpected results. %2$sMore Info%3$s" -msgstr "" -"%1$s: حالت PageSpeed با این افزونه سازگار نیست و ممکن است " -"باعث اتفاق غیرمنتظره شود.%2$s اطلاعات بیشتر%3$s" +#: inc/Engine/Admin/Settings/Subscriber.php:212 +#: views/settings/page-sections/tutorials.php:48 +msgid "Tutorials" +msgstr "آموزش‌ها" -#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:76 -#, php-format -msgid "" -"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript " -"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will " -"not be applied to the file it creates. We suggest disabling %1$sJavaScript " -"Aggregation%2$s to take full advantage of Delay JavaScript Execution." -msgstr "" -"%1$sموشک وردپرس:%2$sما متوجه شده‌ایم که ویژگی Autoptimize's JavaScript " -"Aggregation فعال است. اجرای تاخیری جاوا اسکریپت WP Rocket روی فایلی که ایجاد" -" می کند اعمال نخواهد شد.توصیه می کنیم%1$sJavaScript Aggregation%2$s را به " -"طور کامل برای بهترین عملکرد افزونه غیرفعال کنید." +#: inc/Engine/Admin/Settings/Subscriber.php:213 +msgid "Getting started and how to videos" +msgstr "شروع به کار و نحوه فیلمبرداری" -#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:131 -#, php-format -msgid "" -"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS " -"feature is enabled. WP Rocket's Load CSS Asynchronously will not work " -"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full " -"advantage of Load CSS Asynchronously Execution." -msgstr "" -"%1$sموشک وردپرس: %2$sما متوجه شده‌ایم که ویژگی Autoptimize's Aggregate " -"Inline CSS فعال است. WP Rocket's Load CSS Asynchronously به درستی کار نخواهد" -" کرد.توصیه می کنیم%1$sAggregate Inline CSS%2$s را برای عملکرد بهتر افزونه " -"غیرفعال کنید." +#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75 +msgid "WP Rocket Expired Cache Interval" +msgstr "مدت زمان کش موشک وردپرس به اتمام رسیده است" + +#: inc/Engine/Cache/WPCache.php:337 +msgid "WP_CACHE value" +msgstr "مقدار WP_CACHE" -#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45 -#, php-format +#: inc/Engine/Cache/WPCache.php:358 msgid "" -"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and " -"use %1$sEzoic's nameserver integration%2$s instead." -msgstr "" -"این افزونه از عملکرد صحیح افزونه موشک وردپرس جلوگیری می کند. غیرفعال کرده و " -"به جای آن از %1$sEzoic's nameserver integration%2$s استفاده نمایید." +"The WP_CACHE constant needs to be set to true for WP Rocket cache to work " +"properly" +msgstr "مقدار WP_CACHE باید true باشد تا کش موشک وردپرس به درستی کار کند" -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"Please deactivate the following %s option which conflicts with WP Rocket " -"features:" -msgid_plural "" -"Please deactivate the following %s options which conflict with WP Rocket " -"features:" -msgstr[0] "لطفا گزینه %s را برای تداخل با ویژگی های موشک وردپرس غیرفعال کنید:" -msgstr[1] "لطفا گزینه %s را برای تداخل با ویژگی های موشک وردپرس غیرفعال کنید:" +#: inc/Engine/Cache/WPCache.php:367 +msgid "WP_CACHE is set to true" +msgstr "مقدار WP_CACHE به true تنظیم شده است" -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s" -msgstr "" -"%1$s %2$sغیرفعالسازی ایموجی%3$sتداخل با موشک وردپرس%2$sغیرفعالسازی " -"ایموجی%3$s" +#: inc/Engine/Cache/WPCache.php:375 +msgid "WP_CACHE is not set" +msgstr "مقدار WP_CACHE تنظیم نشده است" -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP " -"compression%3$s" -msgstr "" -"%1$s %2$sGZIP compression%3$s تداخل با موشک وردپرس %2$sGZIP compression%3$s" +#: inc/Engine/Cache/WPCache.php:383 +msgid "WP_CACHE is set to false" +msgstr "مقدار WP_CACHE به false تنظیم شده است" -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser " -"caching%3$s" -msgstr "" -"%1$s %2$sbrowser caching%3$sتداخل با موشک وردپرس %2$sbrowser caching%3$s" +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90 +msgid "Next Billing Date" +msgstr "تاریخ صورتحساب بعدی" -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s" -msgstr "%1$s %2$spage caching%3$s تداخل با موشک وردپرس %2$spage caching%3$s" +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99 +msgid "No Subscription" +msgstr "بدون اشتراک" -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile " -"optimization%3$s" -msgstr "" -"%1$s %2$sasset optimization%3$sتداخل با موشک وردپرس %2$sfile " -"optimization%3$s" +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135 +msgid "Your RocketCDN subscription is currently active." +msgstr "اشتراک RocketCDN شما اکنون فعال است." -#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38 -msgid "" -"Remove Unused CSS is currently activated in Perfmatters. If you want to use " -"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters." +#. translators: %1$s = opening tag, %2$s = CDN URL, %3$s = closing +#. tag. +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141 +msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s." msgstr "" -"حذف Unused CSS در حال حاضر در Perfmatters فعال است. اگر می خواهید از ویژگی " -"در WP Rocket استفاده کنید، این گزینه را در Perfmatters غیرفعال کنید." +"برای استفاده از RocketCDN ، بجای CNAME خود از %1$s%2$s%3$s استفاده کنید." -#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39 +#. translators: %1$is = opening link tag, %2$s = closing link tag. +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152 +#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230 +#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334 +msgid "%1$sMore Info%2$s" +msgstr "%1$sراهنمایی%2$s" + +#: inc/Engine/CDN/RocketCDN/APIClient.php:134 msgid "" -"Automated unused CSS removal is currently activated in RapidLoad Power-Up " -"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, " -"disable the RapidLoad Power-Up for Autoptimize plugin." +"We could not fetch the current price because RocketCDN API returned an " +"unexpected error code." msgstr "" -"حذف خودکار CSS استفاده نشده در حال حاضر در RapidLoad Power-Up for " -"Autoptimize فعال شده است. اگر می خواهید از ویژگی WP Rocket's Remove Unused " -"CSS استفاده کنید، افزونه RapidLoad Power-Up for Autoptimize را غیرفعال کنید." +"ما نتوانستیم قیمت فعلی را دریافت کنیم زیرا RocketCDN API یک کد خطای " +"غیرمنتظره را برگرداند." -#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42 -#, php-format +#: inc/Engine/CDN/RocketCDN/APIClient.php:140 +msgid "RocketCDN is not available at the moment. Please retry later." +msgstr "RocketCDN دردسترس نیست. بعدا تلاش کنید" + +#: inc/Engine/CDN/RocketCDN/APIClient.php:177 +msgid "RocketCDN cache purge failed: Missing identifier parameter." +msgstr "حذف کش RocketCDN شکست خورد:پارامتر شناسه وجود ندارد." + +#: inc/Engine/CDN/RocketCDN/APIClient.php:186 +msgid "RocketCDN cache purge failed: Missing user token." +msgstr "حذف کش RocketCDN شکست خورد:کد کاربر وجود ندارد." + +#: inc/Engine/CDN/RocketCDN/APIClient.php:212 msgid "" -"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s " -"delay JS, disable %1$s" -msgstr "" -"تاخیر JS اکنون در %1$s فعال است. اگر می خواهید از تاخیر JS افزونه استفاده " -"کنید، %1$s غیرفعال کنید" +"RocketCDN cache purge failed: The API returned an unexpected response code." +msgstr "حذف کش RocketCDN شکست خورد:API یک کد پاسخ غیر منتظره را بازگرداند." -#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126 -msgid "Smush" -msgstr "Smush" +#: inc/Engine/CDN/RocketCDN/APIClient.php:221 +msgid "RocketCDN cache purge failed: The API returned an empty response." +msgstr "حذف کش RocketCDN شکست خورد:API پاسخی خالی داد." -#: inc/ThirdParty/Themes/Avada.php:116 -msgid "Avada" -msgstr "Avada" +#: inc/Engine/CDN/RocketCDN/APIClient.php:230 +msgid "RocketCDN cache purge failed: The API returned an unexpected response." +msgstr "حذف کش RocketCDN شکست خورد:API پاسخی غیرمنتظره داد." -#: inc/admin/admin.php:18 inc/common/admin-bar.php:255 -#: inc/deprecated/deprecated.php:1787 -msgid "Support" -msgstr "پشتیبانی" +#. translators: %s = message returned by the API. +#: inc/Engine/CDN/RocketCDN/APIClient.php:239 +msgid "RocketCDN cache purge failed: %s." +msgstr "خطای پاک کردن حافظه RocketCDN:%s." -#: inc/admin/admin.php:20 -msgid "Docs" -msgstr "مستندات" +#: inc/Engine/CDN/RocketCDN/APIClient.php:247 +msgid "RocketCDN cache purge successful." +msgstr "حذف کش RocketCDN موفق بود." -#: inc/admin/admin.php:22 inc/common/admin-bar.php:243 -msgid "FAQ" -msgstr "سوالات متداول" +#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137 +msgid "RocketCDN enabled" +msgstr "RocketCDN فعال شد" -#: inc/admin/admin.php:24 inc/common/admin-bar.php:63 -msgid "Settings" -msgstr "تنظیمات" +#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160 +msgid "RocketCDN disabled" +msgstr "RocketCDN غیرفعال شد" -#: inc/admin/admin.php:458 -msgid "Settings import failed: you do not have the permissions to do this." -msgstr "" -"درون‌ریزی تنظیمات ناموفق بود: شما دسترسی کافی برای انجام این کار را ندارید." +#. Translators: %s = date formatted using date_i18n() and get_option( +#. 'date_format' ). +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27 +msgid "Valid until %s only!" +msgstr "تا %s معتبر است!" -#: inc/admin/admin.php:462 -msgid "Settings import failed: no file uploaded." -msgstr "درون‌ریزی تنظیمات ناموفق بود: فایلی بارگذاری نشد." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36 +msgid "Speed up your website thanks to:" +msgstr "سرعت بخشیدن به وب سایت شما به لطف:" -#: inc/admin/admin.php:466 -msgid "Settings import failed: incorrect filename." -msgstr "درون‌ریزی تنظیمات ناموفق بود: نام فایل اشتباه است." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42 +msgid "" +"High performance Content Delivery Network (CDN) with %1$sunlimited " +"bandwidth%2$s" +msgstr "بیشترین عملکرد شبکه توزیع محتوا (CDN) با%1$s پهنای باند نامحدود%2$s" -#: inc/admin/admin.php:477 -msgid "Settings import failed: incorrect filetype." -msgstr "درون‌ریزی تنظیمات ناموفق بود: نوع فایل اشتباه است." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48 +msgid "" +"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied" +msgstr "پیکربند آسنا:%1$sبهترین تنظیمات CDN %2$s بطور خودکار اعمال می شود" -#: inc/admin/admin.php:487 -msgid "Settings import failed: " -msgstr "درون‌ریزی تنظیمات ناموفق بود: " +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54 +msgid "" +"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in" +" our plugin" +msgstr "" +"ادغام موشک وردپرس: گزینه CDN بصورت خودکار%1$sپیکربندی می شود%2$s در افزونه " +"ما" -#: inc/admin/admin.php:503 -msgid "Settings import failed: unexpected file content." -msgstr "درون ریزی تنظیمات انجام نشد: محتوای فایل غیر منتظره بود." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58 +msgid "Learn more about RocketCDN" +msgstr "اطلاعات بیشتر راجع به RocketCDN" -#: inc/admin/admin.php:533 -msgid "Settings imported and saved." -msgstr "تنظیمات درون‌ریزی و ذخیره شد." +#. translators: %1$s = discounted price, %2$s = regular price. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65 +msgid "" +"*$%1$s/month for 12 months then $%2$s/month. You can cancel your " +"subscription at any time." +msgstr "" +"*$%1$s/ماه برای 12 ماه آنگاه $%2$s/ماه. شما می توانید اشتراک خود را هرگاه که" +" خواستید لغو کنید." -#: inc/admin/options.php:127 -msgid "Defer JavaScript Files" -msgstr "به تعویق انداختن فایل های جاوا اسکریپت" +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86 +msgid "Billed monthly" +msgstr "صورتحساب ماهانه" -#: inc/admin/options.php:128 -msgid "Excluded Delay JavaScript Files" -msgstr "فایل‌های جاوا اسکریپت تاخیری حذف شدند" +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87 +msgid "Get Started" +msgstr "شروع کنید" -#: inc/admin/options.php:150 -#, php-format -msgid "%1$s: %2$s" -msgstr "%1$s: %2$s" +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92 +msgid "Reduce this banner" +msgstr "حذف این بنر" -#: inc/admin/options.php:160 -msgid "The following pattern is invalid and has been removed:" -msgid_plural "The following patterns are invalid and have been removed:" -msgstr[0] "الگوی زیر نامعتبر بوده و حذف شده است:" -msgstr[1] "الگوی زیر نامعتبر بوده و حذف شده است:" +#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17 +msgid "" +"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network." +msgstr "" +"با RocketCDN، شبکه تحویل محتوای WP Rocket سرعت سایت خود را افزایش دهید." -#: inc/admin/options.php:176 -msgid "More info" -msgstr "اطلاعات بیشتر" +#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20 +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13 +msgid "Learn More" +msgstr "ادامه مطلب" -#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:751 -#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136 -#: views/settings/page-sections/dashboard.php:150 -msgid "Clear cache" -msgstr "پاک کردن کش" +#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23 +msgid "RocketCDN is unavailable on local domains and staging sites." +msgstr "سرویس RocketCDN در دامنه محلی و سایت های آزمایشی دردسترس نیست." -#: inc/admin/ui/meta-boxes.php:67 -msgid "WP Rocket Options" -msgstr "تنظیمات موشک وردپرس" +#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32 +msgid "Get RocketCDN" +msgstr "خرید RocketCDN" + +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11 +msgid "New!" +msgstr "جدید!" + +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12 +msgid "" +"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!" +msgstr "" +"با RocketCDN، شبکه تحویل محتوای WP Rocket سرعت سایت خود را افزایش دهید!" -#: inc/admin/ui/meta-boxes.php:96 -msgid "Never cache this page" -msgstr "هرگز این برگه را کش نکن" +#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253 +msgid "Every minute" +msgstr "هر دقیقه" -#: inc/admin/ui/meta-boxes.php:100 -msgid "Activate these options on this post:" -msgstr "فعال کردن این گزینه‌ها برای این نوشته:" +#: inc/Engine/CriticalPath/Admin/Admin.php:264 +msgid "Regenerate Critical Path CSS" +msgstr "بازسازی مسیر بحرانی CSS" -#: inc/admin/ui/meta-boxes.php:103 -msgid "LazyLoad for images" -msgstr "باگذاری با تاخیر تصاویر" +#: inc/Engine/CriticalPath/Admin/Post.php:144 +#: views/cpcss/metabox/generate.php:47 +msgid "Generate Specific CPCSS" +msgstr "بازسازی مسیر قطعی CSS" -#: inc/admin/ui/meta-boxes.php:104 -msgid "LazyLoad for iframes/videos" -msgstr "بارگذاری با تاخیر آی‌‌فریم‌ها\\ویدیوها" +#: inc/Engine/CriticalPath/Admin/Post.php:145 +#: views/cpcss/metabox/generate.php:45 +msgid "Regenerate specific CPCSS" +msgstr "بازسازی مسیر قطعی CSS" -#: inc/admin/ui/meta-boxes.php:105 -msgid "Minify CSS" -msgstr "فشرده‌سازی\\ CSS" +#: inc/Engine/CriticalPath/Admin/Post.php:216 +msgid "This feature is not available for non-public post types." +msgstr "این ویژگی برای انواع نوشته‌های منتشر نشده قابل دسترس نیست." -#: inc/admin/ui/meta-boxes.php:107 -msgid "Minify/combine JS" -msgstr "فشرده‌سازی\\ترکیب JS" +#: inc/Engine/CriticalPath/Admin/Post.php:219 +msgid "%l to use this feature." +msgstr "%l برای استفاده از این ویژگی." -#: inc/admin/ui/meta-boxes.php:110 -msgid "Defer JS" -msgstr "تعویق جاوا اسکریپت" +#. translators: %s = post type. +#: inc/Engine/CriticalPath/Admin/Post.php:222 +msgid "Publish the %s" +msgstr "انتشار %s" -#: inc/admin/ui/meta-boxes.php:117 -#, php-format -msgid "Activate first the %s option." -msgstr "ابتدا گزینه %s را فعال کنید." +#. translators: %s = post type. +#: inc/Engine/CriticalPath/Admin/Post.php:223 +msgid "Enable Load CSS asynchronously in WP Rocket settings" +msgstr "فعالسازی بارگیری CSS بصورت نابهنگام توسط تنظیمات موشک وردپرس" -#: inc/admin/ui/meta-boxes.php:133 -#, php-format -msgid "" -"%1$sNote:%2$s None of these options will be applied if this post has been " -"excluded from cache in the global cache settings." -msgstr "" -"%1$sنکته:%2$s هیچکدام از این گزینه ها اعمال نمی شود اگر این نوشته از کش شدن " -"مستثنی شده باشد در تنظیمات کش کلی." +#: inc/Engine/CriticalPath/Admin/Post.php:224 +msgid "Enable Load CSS asynchronously in the options above" +msgstr "فعالسازی بارگیری CSS بصورت نابهنگام در گزینه بالا" -#: inc/admin/ui/notices.php:31 inc/admin/ui/notices.php:44 -#, php-format -msgid "" -"%1$s has not been deactivated due to missing writing permissions.
    \n" -"Make %2$s writeable and retry deactivation, or force deactivation now:" -msgstr "" -"%1$s به خاطر مشکل در دسترسی‌های نوشتن فعال نشده است.
    \n" -"%2$s را قابل نوشتن کرده و سپس غیرفعال سازی را دوباره امتحان کنید، یا الان غیرفعال کنید:" +#. translators: %1$s = type of content, %2$s = error message. +#: inc/Engine/CriticalPath/APIClient.php:64 +msgid "Critical CSS for %1$s not generated. Error: %2$s" +msgstr "CSS بحرانی برای %1$s تولید نشده است. خطا: %2$s" -#: inc/admin/ui/notices.php:97 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:170 msgid "" -"%s: One or more plugins have been enabled or disabled, " -"clear the cache if they affect the front end of your site." +"Critical CSS for %1$s on mobile not generated. Error: The API returned an " +"empty response." msgstr "" -"%s: یک یا چند افزونه فعال یا غیرفعال شده‌اند، اگر آن‌ها " -"ظاهر سایت شما را به هم ریخته‌اند، کش را پاک کنید." +"CSS بحرانی برای %1$s موبایل ایجاد نشده است. خطا: API پاسخ خالی بر می گرداند." -#: inc/admin/ui/notices.php:221 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:173 msgid "" -"%s: The following plugins are not compatible with this " -"plugin and may cause unexpected results:" -msgstr "" -"%s: افزونه‌های زیر با این افزونه سازگار نیستند و ممکن است " -"باعث نتایج غیرمنتظره شوند:" +"Critical CSS for %1$s not generated. Error: The API returned an empty " +"response." +msgstr "CSS بحرانی برای %1$s تولید نشده است خطا: API پاسخ خالی بر می گرداند." -#: inc/admin/ui/notices.php:227 -msgid "Deactivate" -msgstr "غیرفعال سازی" +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:185 +msgid "Critical CSS for %1$s on mobile not generated." +msgstr "CSS بحرانی برای %1$s در موبایل تولید شد." -#: inc/admin/ui/notices.php:269 -msgid "" -"WP Rocket Footer JS is not an official add-on. It prevents some options in " -"WP Rocket from working correctly. Please deactivate it if you have problems." -msgstr "" -"WP Rocket Footer JS یک افزودنی رسمی نیست. از عملکرد صحیح برخی از گزینه ها در" -" WP Rocket جلوگیری می کند. لطفاً در صورت بروز مشکل آن را غیرفعال کنید." +#. translators: %s = item URL. +#. translators: %1$s = item URL or item type. +#: inc/Engine/CriticalPath/APIClient.php:187 +#: inc/Engine/CriticalPath/ProcessorService.php:194 +msgid "Critical CSS for %1$s not generated." +msgstr "CSS بحرانی برای %1$s. تولید نشد." -#: inc/admin/ui/notices.php:309 -#, php-format +#. translators: %s = URL. +#: inc/Engine/CriticalPath/APIClient.php:195 msgid "" -"Endurance Cache is currently enabled, which will conflict with WP Rocket " -"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the " -"%1$sSettings > General%2$s page to prevent any issues." +"Critical CSS for %1$s on mobile not generated. Error: The API returned an " +"invalid response code." msgstr "" -"Endurance Cache در حال حاضر فعال است که با WP Rocket Cache در تضاد است. " -"لطفاً سطح کش Endurance Cache را در حالت Off (سطح 0) در حالت تنظیم کنید " -"%1$sتنظیمات > عمومی%2$s جلوگیری از هرگونه مشکلی میکند." +"CSS بحرانی برای %1$s موبایل ایجاد نشده است. خطا: API پاسخ نامعتبر بر می " +"گرداند." -#: inc/admin/ui/notices.php:330 -#, php-format +#. translators: %s = URL. +#: inc/Engine/CriticalPath/APIClient.php:197 msgid "" -"%1$s: A custom permalink structure is required for the plugin to work " -"properly. %2$sGo to permalinks settings%3$s" +"Critical CSS for %1$s not generated. Error: The API returned an invalid " +"response code." msgstr "" -"%1$s: برای درست عمل کردن افزونه نیاز است پیوند‌های یکتا را فعال کنید. %2$s " -"رفتن به تنظیمات پیوند‌های یکتا%3$s" +"CSS بحرانی برای %1$s تولید نشده است.خطا: API پاسخ نامعتبر بر می گرداند." -#: inc/admin/ui/notices.php:377 -#, php-format -msgid "" -"%s could not modify the .htaccess file due to missing writing permissions." -msgstr "%s به علت عدم دسترسی نوشتن .htaccess نمی‌تواند خود را تنظیم کند." +#. translators: %1$s = error message. +#: inc/Engine/CriticalPath/APIClient.php:205 +#: inc/Engine/CriticalPath/ProcessorService.php:201 +msgid "Error: %1$s" +msgstr "خطا: %1$s" -#: inc/admin/ui/notices.php:383 inc/admin/ui/notices.php:846 -#, php-format -msgid "Troubleshoot: %1$sHow to make system files writeable%2$s" -msgstr "عیب‌یابی: %1$s چگونه فایل‌های سیستمی را قابل نوشتن کنیم%2$s" +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176 +msgid "Critical CSS generation is currently running." +msgstr "ایجاد CSS بحرانی در حال اجرا می باشد." + +#. Translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181 +msgid "Go to the %1$sWP Rocket settings%2$s page to track progress." +msgstr "به %1$sتنظیمات موشک وردپرس%2$s برای رهگیری پیشرفت مراجعه کنید." -#: inc/admin/ui/notices.php:385 inc/admin/ui/notices.php:848 +#. Translators: %1$d = number of critical CSS generated, %2$d = total number +#. of critical CSS to generate. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396 msgid "" -"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" -"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" +"Critical CSS generation is currently running: %1$d of %2$d page types " +"completed. (Refresh this page to view progress)" msgstr "" -"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" -"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" +"تولید CSS‌بحرانی در حال اجرا است: %1$d از %2$d نوع صفحه کامل شده است. (برای " +"مشاهده پیشرفت این صفحه را رفرش کنید)" -#: inc/admin/ui/notices.php:391 -msgid "" -"Don’t worry, WP Rocket’s page caching and settings will still function " -"correctly." -msgstr "نگران نباشید ، ذخیره و تنظیمات صفحه WP Rocket همچنان درست کار می کند." +#. Translators: %1$d = number of critical CSS generated, %2$d = total number +#. of critical CSS to generate. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472 +msgid "Critical CSS generation finished for %1$d of %2$d page types." +msgstr "تولید CSS‌بحرانی برای %1$d از %2$d نوع صفحه کامل شد." + +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 +msgid "Critical CSS generation encountered one or more errors." +msgstr "ایجاد CSS بحرانی یک یا چند خطا دارد." + +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 +msgid "Learn more." +msgstr "اطلاعات بیشتر." -#: inc/admin/ui/notices.php:391 +#. translators: %1$ = opening bold tag, %2$ = closing bold tag. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840 msgid "" -"For optimal performance, adding the following lines into your .htaccess is " -"recommended (not required):" +"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS " +"optimization. Load CSS Asynchronously is always available as a back-up." msgstr "" -"برای عملکرد مطلوب ، افزودن خطوط زیر به .htaccess توصیه می شود (لازم نیست):" +"به شدت توصیه میشه%1$sحذف CSSهای بلااستفاده را بروزرسانی کنید%2$sبرای بهینه " +"سازی CSS. بارگیری ناهمزمان CSS همیشه به عنوان پشتیبان در دسترس است." + +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845 +msgid "Stay with the old option" +msgstr "با گزینه قدیمی بمانید" -#: inc/admin/ui/notices.php:538 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/DataManager.php:68 msgid "" -"%1$s is good to go! %2$sTest your load time%4$s, or visit your " -"%3$ssettings%4$s." +"Critical CSS for %1$s on mobile not generated. Error: The destination folder" +" could not be created." msgstr "" -"%1$s آماده است! %2$s زمان بارگذاری خود را امتحان کنید%4$s، یا " -"%3$sتنظیمات%4$s خود را مشاهده کنید." +"CSS بحرانی برای %1$s موبایل ایجاد نشده است.خطا: پوشه مقصد نمی تواند ایجاد " +"شود." -#: inc/admin/ui/notices.php:579 +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/DataManager.php:71 msgid "" -"Would you allow WP Rocket to collect non-sensitive diagnostic data from this" -" website?" +"Critical CSS for %1$s not generated. Error: The destination folder could not" +" be created." msgstr "" -"آیا اجاره می‌دهید موشک وردپرس اطلاعات مرتبط غیرحساس را از این وبسایت جمع " -"آوری کند؟" +"CSS بحرانی برای %1$s تولید نشده است.خطا: پوشه مقصد نمی تواند ایجاد شود." -#: inc/admin/ui/notices.php:580 -msgid "This would help us to improve WP Rocket for you in the future." -msgstr "این کار به ما کمک خواهد کرد تا در آینده موشک وردپرس را بهبود ببخشیم." +#: inc/Engine/CriticalPath/DataManager.php:106 +msgid "Critical CSS file for mobile does not exist" +msgstr "فایل CSS بحرانی برای موبایل موجود نیست" -#: inc/admin/ui/notices.php:586 -msgid "What info will we collect?" -msgstr "چه اطلاعاتی را جمع آوری می‌کنیم؟" +#: inc/Engine/CriticalPath/DataManager.php:108 +msgid "Critical CSS file does not exist" +msgstr "CSS بحرانی وجود ندارد" -#: inc/admin/ui/notices.php:591 -msgid "" -"Below is a detailed view of all data WP Rocket will collect if granted " -"permission. WP Rocket will never transmit any domain names or email " -"addresses (except for license validation), IP addresses, or third-party API " -"keys." -msgstr "" -"در زیر تمام اطلاعاتی که موشک وردپرس در صورت داشتن مجوز شما جمع آوری خواهد " -"کرد را مشاهده می‌کنید. موشک وردپرس هرگز نام دامنه یا آدرس ایمیلی (تنها برای " -"فعال‌سازی لایسنس)، آدرس آی پی یا کلید‌های وب‌سرویس ثانویه را منتقل نخواهد " -"کرد." +#: inc/Engine/CriticalPath/DataManager.php:120 +msgid "Critical CSS file for mobile cannot be deleted" +msgstr "CSS بحرانی موبایل نمی تواند حذف شود" -#: inc/admin/ui/notices.php:600 -msgid "Yes, allow" -msgstr "بله، اجازه می‌دهم" +#: inc/Engine/CriticalPath/DataManager.php:122 +msgid "Critical CSS file cannot be deleted" +msgstr "CSS بحرانی نمی تواند حذف شود" -#: inc/admin/ui/notices.php:603 -msgid "No, thanks" -msgstr "نه، متشکرم" +#. translators: %1$s = item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:187 +msgid "Mobile Critical CSS for %1$s not generated." +msgstr "CSS بحرانی موبایل برای %1$s تولید نشد." -#: inc/admin/ui/notices.php:642 -msgid "Thank you!" -msgstr "متشکریم!" +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:228 +msgid "Critical CSS for %s in progress." +msgstr "CSS بحرانی برای %s در حال پردازش است." -#: inc/admin/ui/notices.php:647 -msgid "WP Rocket now collects these metrics from your website:" -msgstr "موشک وردپرس اکنون این معیارها را از وب‌سایت شما جمع‌آوری می‌کند:" +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:262 +msgid "Mobile Critical CSS for %s generated." +msgstr "CSS بحرانی موبایل برای %s ایجاد شد." -#: inc/admin/ui/notices.php:685 -#, php-format -msgid "%s: Cache cleared." -msgstr "%s: کش پاک شد." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:273 +msgid "Critical CSS for %s generated." +msgstr "CSS بحرانی برای %s. تولید شد." -#: inc/admin/ui/notices.php:692 -#, php-format -msgid "%s: Post cache cleared." -msgstr "%s: کش نوشته پاک شد." +#: inc/Engine/CriticalPath/ProcessorService.php:295 +msgid "Critical CSS file deleted successfully." +msgstr "CSS بحرانی با موفقیت حذف شد." -#: inc/admin/ui/notices.php:699 -#, php-format -msgid "%s: Term cache cleared." -msgstr "%s: کش شرط پاک شد." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:317 +msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later." +msgstr "استایل CSS بحرانی موباید برای %1$s متوقف شد. مجدد تلاش کنید." -#: inc/admin/ui/notices.php:706 -#, php-format -msgid "%s: User cache cleared." -msgstr "%s: کش کاربر پاک شد." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:330 +msgid "Critical CSS for %1$s timeout. Please retry a little later." +msgstr "" +"CSS بحرانی برای %1$s وقفه افتاده است. لطفا کمی بعدتر مجدد امتحان کنید." -#: inc/admin/ui/notices.php:754 -msgid "Stop Preload" -msgstr "توقف پیش بارگذاری" +#: inc/Engine/CriticalPath/RESTWP.php:141 +msgid "Mobile CPCSS generation not enabled." +msgstr "ایجاد CPCSS موبایل فعال نشد." -#: inc/admin/ui/notices.php:760 -msgid "Turn on Remove Unused CSS" -msgstr "حذف CSS های بدون استفاده را فعال کنید" +#: inc/Engine/CriticalPath/RESTWPPost.php:36 +#: inc/Engine/CriticalPath/RESTWPPost.php:69 +msgid "Requested post does not exist." +msgstr "نوشته درخواست شده موجود نیست." -#: inc/admin/ui/notices.php:766 -msgid "Enable “Separate Cache Files for Mobile Devices” now" -msgstr "اکنون\" کش مجزا برای موبایل\" را فعال نمایید" +#: inc/Engine/CriticalPath/RESTWPPost.php:46 +msgid "Cannot generate CPCSS for unpublished post." +msgstr "برای نوشته های منتشر نشده نمی توان CPCSS ایجاد کرد." -#: inc/admin/ui/notices.php:784 -msgid "Force deactivation " -msgstr "غیرفعال سازی اجباری " +#: inc/Engine/HealthCheck/HealthCheck.php:142 +msgid "Scheduled Cache Purge" +msgstr "برنامه ریزی خالی کردن کش" -#: inc/admin/ui/notices.php:803 -msgid "The following code should have been written to this file:" -msgstr "کدهای زیر باید داخل این فایل نوشته شوند:" +#: inc/Engine/HealthCheck/HealthCheck.php:143 +msgid "Scheduled Database Optimization" +msgstr "برنامه ریزی بهینه سازی دیتابیس" -#: inc/admin/ui/notices.php:834 -#, php-format -msgid "%s cannot configure itself due to missing writing permissions." -msgstr "%s به علت عدم دسترسی نوشتن نمی‌تواند خود را تنظیم کند." +#: inc/Engine/HealthCheck/HealthCheck.php:144 +msgid "Database Optimization Process" +msgstr "پروسه بهینه سازی دیتابیس" -#: inc/admin/ui/notices.php:840 -#, php-format -msgid "Affected file/folder: %s" -msgstr "فایل\\فولدرهای مورد نظر: %s" +#: inc/Engine/HealthCheck/HealthCheck.php:145 +msgctxt "noun" +msgid "Preload" +msgstr "پیش بارگذاری" -#: inc/classes/admin/class-logs.php:124 -msgid "The debug file could not be deleted." -msgstr "فایل اشکال زدایی حذف نشد." +#: inc/Engine/HealthCheck/HealthCheck.php:146 +msgid "Critical Path CSS Generation Process" +msgstr "پروسه تولید CSS بحرانی" -#: inc/classes/class-wp-rocket-requirements-check.php:147 -#, php-format -msgid "To function properly, %1$s %2$s requires at least:" -msgstr "برای عمل کردن به حداقل %1$s %2$s نیاز است:" +#. translators: %1$s = , %2$s = price, %3$s = . +#: inc/Engine/License/Renewal.php:76 +msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!" +msgstr "تمدید کنید تا دیر نشده، شما فق طپرداخت می کنید%1$s%2$s%3$s!" -#: inc/classes/class-wp-rocket-requirements-check.php:151 -#, php-format +#. translators: %1$s = , %2$s = discount, %3$s = ,%4$s = +#. , %5$s = price, %6$s=. +#: inc/Engine/License/Renewal.php:85 msgid "" -"PHP %1$s. To use this WP Rocket version, please ask your web host how to " -"upgrade your server to PHP %1$s or higher." +"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " +"%4$s%5$s%6$s!" msgstr "" -"نسخه %1$s PHP. برای استفاده از این نسخه از موشک وردپرس، لطفا هاست خود را جهت" -" بروزرسانی به نسخه PHP %1$s یا بالاتر بررسی کنید." +"تمدید با %1$s%2$sتخفیف%3$sقبل از اینکه دیر شود، شما فقط %4$s%5$s%6$s پرداخت " +"می کنید!" -#: inc/classes/class-wp-rocket-requirements-check.php:156 -#, php-format -msgid "" -"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to " -"version %1$s or higher." -msgstr "" -"نسخه %1$s وردپرس. برای استفاده از این نسخه از موشک وردپرس، لطفا وردپرس خود " -"را به نسخه %1$s یا بالاتر به روز رسانی کنید." +#. translators: %1$s = , %2$s = , %3$s = price. +#: inc/Engine/License/Renewal.php:139 +msgid "Renew your license for 1 year now at %1$s%3$s%2$s." +msgstr "تمدید لایسنس برای یک سال دیگر%1$s%3$s%2$s." -#: inc/classes/class-wp-rocket-requirements-check.php:159 +#. translators: %1$s = , %2$s = , %3$s = discount percentage, +#. %4$s = price. +#: inc/Engine/License/Renewal.php:152 msgid "" -"If you are not able to upgrade, you can rollback to the previous version by " -"using the button below." +"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you " +"will only pay %1$s%4$s%2$s!" msgstr "" -"اگر نمی‌توانید به روز رسانی را انجام دهید، می‌توانید با استفاده از دکمه زیر " -"به نسخه‌های قبلی بازگردید." - -#: inc/classes/class-wp-rocket-requirements-check.php:161 -#: inc/deprecated/deprecated.php:1947 -#, php-format -msgid "Re-install version %s" -msgstr "نصب دوباره نسخه %s" - -#: inc/classes/dependencies/wp-media/background-processing/wp-background-process.php:447 -#, php-format -msgid "Every %d Minutes" -msgstr "هر %d دقیقه" - -#: inc/classes/logger/class-logger.php:260 -#: inc/classes/logger/class-logger.php:292 -msgid "The log file does not exist." -msgstr "لاگ فایل موجود نیست." - -#: inc/classes/logger/class-logger.php:266 -#: inc/classes/logger/class-logger.php:298 -msgid "The log file could not be read." -msgstr "لاگ فایل قابل خواندن نیست." +"تمدید لایسنس برای یک سال دیگر با %1$s%3$sتخفیف%2$sسریعتر: شما " +"فقط%1$s%4$s%2$sپرداخت میکنید!" -#: inc/classes/logger/class-logger.php:285 -msgid "The logs are not saved into a file." -msgstr "لاگ ها درون فایل ذخیره نشده است." +#. translators: %1$s = , %2$s = , %3$s = discount price. +#: inc/Engine/License/Renewal.php:218 +msgid "Renew before it is too late, you will pay %1$s%3$s%2$s." +msgstr "تمدید کنید تا دیر نشده، شما فقط%1$s%3$s%2$sپرداخت میکنید." -#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151 -#, php-format +#. translators: %1$s = , %2$s = discount percentage, %3$s = , +#. %4$s = discount price. +#: inc/Engine/License/Renewal.php:227 msgid "" -"Failed to detect the following requirement in your theme: closing %1$s." -msgid_plural "" -"Failed to detect the following requirements in your theme: closing %1$s." -msgstr[0] "شرایط زیر در موضوع شما تشخیص داده نشد: بسته شدن %1$s." -msgstr[1] "شرایط زیر در موضوع شما تشخیص داده نشد: بسته شدن %1$s." +"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " +"%1$s%4$s%3$s!" +msgstr "" +"تمدید با %1$s%2$sتخفیف%3$sقبل از اینکه دیر شود، شما فقط %1$s%4$s%3$s پرداخت " +"می کنید!" -#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159 +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:546 msgid "" -"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" -"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" +"You need a valid license to continue using this feature. %1$sRenew now%2$s " +"before losing access." msgstr "" -"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" -"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" +"برای استفاده از این ویژگی نیازمند لایسنس معتبر هستید.%1$sاکنون تمدید " +"کنید%2$sقبل از حذف دسترسیتان" -#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136 -#: views/settings/page-sections/dashboard.php:150 -msgid "Clear and preload cache" -msgstr "حذف و پیش بارگذاری مجدد کش" +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:567 +msgid "You need an active license to enable this option. %1$sRenew now%2$s." +msgstr "" +"برای فعالسازی این گزینه به لایسنس فعال نیاز دارید.%1$sاکنون تمدید کنید%2$s" -#: inc/common/admin-bar.php:124 inc/functions/i18n.php:41 -#: inc/functions/i18n.php:51 -msgid "All languages" -msgstr "همه‌ی زبان‌ها" +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:595 +msgid "You need an active license to enable this option. %1$sMore info%2$s." +msgstr "" +"برای فعالسازی این گزینه به لایسنس فعال نیاز دارید.%1$sاطلاعات بیشتر%2$s" -#: inc/common/admin-bar.php:160 -msgid "Clear this post" -msgstr "پاک کردن این نوشته" +#. translators: %1$s = promotion name, %2$s =
    , %3$s = , %4$s = +#. promotion discount percentage, %5$s = . +#: inc/Engine/License/Upgrade.php:251 +msgid "" +"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" +" for %3$supgrading your license to Plus or Infinite!%5$s" +msgid_plural "" +"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" +" for %3$supgrading your license to Infinite!%5$s" +msgstr[0] "" +"بهره مندی از %1$s برای بالابردن سرعت سایت: %2$s گرفتن %3$s%4$s تخفیف%5$sبرای" +" %3$s ارتقای لایسنس شما به پلاس یا نامحدود!%5$s" +msgstr[1] "" +"بهره مندی از %1$s برای بالابردن سرعت سایت: %2$s گرفتن %3$s%4$s تخفیف%5$sبرای" +" %3$s ارتقای لایسنس شما به نامحدود!%5$s" -#: inc/common/admin-bar.php:174 -msgid "Purge this URL" -msgstr "پاک‌سازی این لینک" +#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405 +msgid "Unlimited" +msgstr "نامحدود" -#: inc/common/admin-bar.php:194 -msgid "Purge Sucuri cache" -msgstr "تخلیه کش Sucuri" +#. translators: %s = promotion discount percentage. +#: inc/Engine/License/views/promo-banner.php:16 +msgid "%s off" +msgstr "%s تخفیف" -#: inc/common/admin-bar.php:218 views/settings/fields/rocket-cdn.php:55 -msgid "Purge RocketCDN cache" -msgstr "تخلیه کش RocketCDN" +#. translators: %s = promotion name. +#: inc/Engine/License/views/promo-banner.php:21 +msgid "%s promotion is live!" +msgstr "%s پیشنهاد زنده است!" -#: inc/common/admin-bar.php:231 views/settings/partials/documentation.php:14 -msgid "Documentation" -msgstr "مستندات" +#: inc/Engine/License/views/promo-banner.php:27 +msgid "Hurry Up! Deal ends in:" +msgstr "عجله کنید! تخفیف پایان میابد در:" -#: inc/deprecated/3.10.php:163 -msgid "OPcache purge failed." -msgstr "تخلیه کش OPcache شکست خورد." +#: inc/Engine/License/views/promo-banner.php:31 +#: inc/Engine/License/views/renewal-soon-banner.php:14 +msgid "Minutes" +msgstr "دقایق" -#: inc/deprecated/3.10.php:168 -msgid "OPcache successfully purged" -msgstr "OPcache با موفقیت تخلیه شد" +#: inc/Engine/License/views/promo-banner.php:32 +#: inc/Engine/License/views/renewal-soon-banner.php:15 +msgid "Seconds" +msgstr "ثانیه" -#: inc/deprecated/3.11.php:81 -msgid "Yoast SEO XML sitemap" -msgstr "نقشه سایت Yoast SEO" +#: inc/Engine/License/views/promo-banner.php:34 +#: inc/Engine/License/views/upgrade-section.php:11 +msgid "Upgrade now" +msgstr "اکنون ارتقاء دهید" -#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58 -#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186 -#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342 -#, php-format +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11 +msgid "The Optimize CSS Delivery feature is disabled." +msgstr "ویژگی Optimize CSS Delivery غیرفعال است." + +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15 msgid "" -"We automatically detected the sitemap generated by the %s plugin. You can " -"check the option to preload it." +"You can no longer use the Remove Unused CSS or Load CSS asynchronously " +"options." msgstr "" -"ما به طور خودکار نقشه سایت تولید شده توسط پلاگین %s را تشخیص می‌دهیم. شما می" -" توانید این گزینه را برای بارگذاری اولیه آن تیک بزنید." - -#: inc/deprecated/3.12.php:56 -msgid "All in One SEO XML sitemap" -msgstr "نقشه سایت All in One SEO" - -#: inc/deprecated/3.12.php:85 -msgid "Rank Math XML sitemap" -msgstr "نقشه سایت Rank Math" - -#: inc/deprecated/3.12.php:184 -msgid "SEOPress XML sitemap" -msgstr "نقشه سایت Rank Math" - -#: inc/deprecated/3.12.php:251 -msgid "The SEO Framework XML sitemap" -msgstr "نقشه سایت SEO Framework" - -#: inc/deprecated/3.12.php:332 -msgid "Jetpack XML Sitemaps" -msgstr "نقشه سایت جت‌پک" - -#: inc/deprecated/3.12.php:334 -msgid "Preload the sitemap from the Jetpack plugin" -msgstr "پیش‌بارگذاری نقشه سایت از افزونه جت‌پک" - -#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36 -msgid "Activate Imagify" -msgstr "فعال‌سازی Imagify" - -#: inc/deprecated/3.2.php:52 -msgid "Install Imagify for Free" -msgstr "نصب رایگان Imagify" +"دیگر نمی توانید از گزینه های Remove Unused CSS یا Load CSS Asynchronously " +"استفاده کنید." -#: inc/deprecated/3.2.php:67 +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20 msgid "" -"Speed up your website and boost your SEO by reducing image file sizes " -"without losing quality with Imagify." +"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, " +"which addresses a PageSpeed Insights recommendation and improves your page " +"performance." msgstr "" -"سرعت و سئوی سایت خود را با کاهش حجم فایل‌های تصویری و بدون از دست دادن کیفیت" -" با کمک Imagify بالا ببرید." +"شما به %1$sلایسنس فعال%2$sبرای قابلیت Optimize CSS Delivery نیاز دارید،که به" +" توصیه PageSpeed Insights پرداخته و عملکرد صفحه شما را بهبود می بخشد." -#: inc/deprecated/3.2.php:72 -msgid "More details" -msgstr "اطلاعات بیشتر" +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29 +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39 +#: inc/Engine/License/views/renewal-expired-banner.php:27 +#: inc/Engine/License/views/renewal-soon-banner.php:31 +msgid "Renew now" +msgstr "تمدید کنید" -#: inc/deprecated/3.2.php:228 -#, php-format -msgid "Sitemap preload: %d pages have been cached." -msgstr "بارگذاری نقشه سایت: %d برگه کش شد." +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11 +msgid "You will soon lose access to some features" +msgstr "به زودی دسترسی به برخی از ویژگی ها را از دست خواهید داد" -#: inc/deprecated/3.2.php:261 -#, php-format +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18 msgid "" -"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see " -"progress)" +"You need an %1$sactive license to continue optimizing your CSS delivery%2$s." msgstr "" -"بارگذاری نقشه سایت: %d برگه کش نشده هم اکنون بارگذاری شدند. (برای مشاهده " -"پیشرفت صفحه را رفرش کنید)" +"شما به لایسنس%1$sفعال نیاز دارید تا بهینه سازی تحویل css ادامه یابد%2$s." -#: inc/deprecated/3.4.php:18 -msgid "Choose a domain from the list" -msgstr "یک دامنه را از لیست انتخاب کنید" +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24 +msgid "" +"The Remove Unused CSS and Load CSS asynchronously features are great options" +" to address the PageSpeed Insights recommendations and improve your website " +"performance." +msgstr "" +"ویژگی‌های Remove Unused CSS و بارگذاری css به صورت ناهمزمان گزینه‌های عالی " +"برای رسیدگی به توصیه‌های PageSpeed Insights و بهبود عملکرد وب‌سایت شما " +"هستند." -#: inc/deprecated/3.4.php:31 -msgid "No domain available in your Cloudflare account" -msgstr "دامنه‌ای در حساب Cloudflare شما موجود نیست" +#. translators: %1$s = , %2$s = , %3$s = date. +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29 +msgid "They will be %1$sautomatically disabled on %3$s%2$s." +msgstr "آنها به طور خودکار%1$sغیرفعال میشوند در%3$s%2$s." -#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195 +#: inc/Engine/License/views/renewal-expired-banner.php:11 +msgid "Your WP Rocket license is expired!" +msgstr "لایسنس شما نامعتبر است!" + +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner.php:18 msgid "" -"Curl is disabled on your server. Please ask your host to enable it. This is " -"required for the Cloudflare Add-on to work correctly." +"Your website could be much faster if it could take advantage of our %1$snew " +"features and enhancements%2$s. 🚀" msgstr "" -"Curl در سرور شما غیرفعال است. لطفاً از میزبان خود بخواهید آن را فعال کند. " -"این مورد برای عملکرد صحیح افزونه Cloudflare ضروری است." +"سایت شما می تواند از این هم سریعتر شود با استفاده از%1$sویژگی حدید و بهینه " +"سازی%2$s. 🚀" -#: inc/deprecated/3.5.php:79 -#, php-format +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-soon-banner.php:22 msgid "" -"Cloudflare email, API key and Zone ID are not set. Read the " -"%1$sdocumentation%2$s for further guidance." +"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access" +" to product updates and support." msgstr "" -"Cloudflare email, API key and Zone ID تنظیم نشده است. برای " -"راهنمایی%1$sمستندات%2$s را بخوانید." +"لایسنس%1$s افزونه شما در حال انقضاء%2$sاست: به زودی دسترسی به بروزرسانی " +"محصول و پشتیبانی را نخواهید داشت." -#: inc/deprecated/3.5.php:206 -#, php-format +#: inc/Engine/License/views/upgrade-popin.php:12 +msgid "Speed Up More Websites" +msgstr "سایت های بیشتری را پرسرعت کنید" + +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/License/views/upgrade-popin.php:19 msgid "" -"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for" -" further guidance." +"You can use WP Rocket on more websites by upgrading your license. To " +"upgrade, simply pay the %1$sprice difference%2$s between your current and " +"new licenses, as shown below." msgstr "" -"Cloudflare email and API key تنظیم نشده است. برای راهنمایی%1$sمستندات%2$s را" -" بخوانید." +"با ارتقاء لایسنس خود می توانید سایت های بیشتری را به موشک وردپرس مجهز کنید. " +"برای ارتقاء، فقط کافی مبلغ%1$sتفاوت%2$sبین لایسنس فعلی و لایسنس جدید را " +"پرداخت نمایید." -#: inc/deprecated/3.5.php:271 -msgid "Connection to Cloudflare failed" -msgstr "اتصال به Cloudflare انجام نشد" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/License/views/upgrade-popin.php:25 +msgid "" +"%1$sN.B.%2$s: Upgrading your license does not change your expiration date" +msgstr "%1$sN.B.%2$s: ارتقاء لایسنس شما تفاوتی در تاریخ انقضاء ایجاد نمی کند" -#: inc/deprecated/3.5.php:587 -#, php-format -msgid "WP Rocket: %s" -msgstr "راکت وردپرس: %s" +#. translators: %s = price. +#: inc/Engine/License/views/upgrade-popin.php:35 +msgid "Save $%s" +msgstr "ذخیره$%s" -#: inc/deprecated/3.5.php:592 -msgid "WP Rocket: Cloudflare cache successfully purged." -msgstr "WP Rocket:کش CloudFlare با موفقیت پاک شد." +#. translators: %s = number of websites. +#: inc/Engine/License/views/upgrade-popin.php:48 +msgid "%s websites" +msgstr "%s سایت" -#: inc/deprecated/DeprecatedClassTrait.php:54 -#, php-format +#. translators: %s = license name. +#: inc/Engine/License/views/upgrade-popin.php:54 +msgid "Upgrade to %s" +msgstr "ارتقاء به %s" + +#: inc/Engine/License/views/upgrade-section.php:11 msgid "" -"The called class %1$s is deprecated since version %2$s! Use" -" %3$s instead." +"You can use WP Rocket on more websites by upgrading your license (you will " +"only pay the price difference between your current and new licenses)." msgstr "" -"کلاس فراخوانی شده %1$s منسوخ شده از نسخه%2$s! بجاش از %3$s " -"استفاده کنید." +"می توانید با ارتقاء لایسنس از موشک وردپرس در وب سایت های بیشتری استفاده کنید" +" (فقط تفاوت قیمت بین لایسنس های فعلی و جدید خود را پرداخت خواهید کرد)." -#: inc/deprecated/DeprecatedClassTrait.php:65 -#, php-format -msgid "" -"The called class %1$s is deprecated since version %2$s!" -msgstr "کلاس فراخوانی شده %1$s منسوخ شده از نسخه%2$s!" +#: inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php:45 +msgid "LazyLoad CSS backgrounds" +msgstr "بارگذاری تنبل پس ضمینه CSS" -#: inc/deprecated/deprecated.php:240 -msgid "JS files with Deferred Loading JavaScript" -msgstr "JS فایل‌های با بارگذاری تاخیری جاوا اسکریپت" +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195 +msgid "Analytics & Ads" +msgstr "آنالیتیکس / تبلیغات" -#: inc/deprecated/deprecated.php:293 -msgid "Add URL" -msgstr "افزودن آدرس" +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200 +msgid "Plugins" +msgstr "افزونه ها" -#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22 +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205 +msgid "Themes" +msgstr "قالب ها" + +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101 msgid "" -"Before you can upload your import file, you will need to fix the following " -"error:" -msgstr "قبل از بارگذاری فایل درون‌ریزی باید خطاهای زیر را برطرف کنید:" +"You need an active license to get the latest version of the lists from our " +"server." +msgstr "" +"برای دریافت آخرین نسخه لیست ها از سرور ما به یک لایسنس فعال نیاز دارید." -#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35 -#, php-format -msgid "Choose a file from your computer (maximum size: %s)" -msgstr "انتخاب فایل از رایانه شما (حداکثر حجم: %s)" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115 +msgid "Could not get updated lists from server." +msgstr "نمی توان لیست های به روز شده را از سرور دریافت کرد." -#: inc/deprecated/deprecated.php:1385 -msgid "Your Cloudflare credentials are valid." -msgstr "اطلاعات CloudFlare شما معتبر است." +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124 +msgid "Lists are up to date." +msgstr "لیست ها به روز هستند." -#: inc/deprecated/deprecated.php:1389 -msgid "Your Cloudflare credentials are invalid!" -msgstr "اطلاعات CloudFlare شما نامعتبر است!" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133 +msgid "Could not update lists." +msgstr "لیست‌ها به‌روزرسانی نشد." -#: inc/deprecated/deprecated.php:1453 -msgid "Save and optimize" -msgstr "ذخیره و بهینه‌سازی" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142 +msgid "Lists are successfully updated." +msgstr "لیست ها با موفقیت به روز شدند." -#: inc/deprecated/deprecated.php:1453 -msgid "Optimize" -msgstr "بهینه‌سازی" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:60 +msgid "Default Lists" +msgstr "لیست پیشفرض" -#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666 -msgctxt "screen-reader-text" -msgid "Note:" -msgstr "یادداشت:" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:66 +msgid "Delay JavaScript Execution Exclusion Lists" +msgstr "به تأخیر انداختن لیست های لغو اجرای جاوا اسکریپت" -#: inc/deprecated/deprecated.php:1470 -msgctxt "screen-reader-text" -msgid "Performance tip:" -msgstr "نکته کارایی:" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:72 +msgid "Incompatible plugins Lists" +msgstr "لیست افزونه های ناهماهنگ" -#: inc/deprecated/deprecated.php:1476 -msgctxt "screen-reader-text" -msgid "Third-party feature detected:" -msgstr "ویژگی های سوم شخص شناسایی شده است:" +#. translators: %1$s = plugin name, %2$s = number of seconds. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224 +msgid "" +"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing " +"your pages." +msgstr "" +"%1$sلطفا منتظر بمانید:%2$sثانیه.سرویس Remove Unused CSS در حال بررسی " +"برگه‌های سایت شماست." -#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672 -msgctxt "screen-reader-text" -msgid "Warning:" -msgstr "اخطار:" +#. translators: %1$s = plugin name, %2$s = number of URLs, %3$s = number of +#. seconds. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:274 +msgid "" +"%1$s: The Used CSS of your homepage has been processed. WP Rocket will " +"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)." +msgstr "" +"%1$s: فایل CSSهای بکار رفته در صفحه خانه بررسی شد. افزونه به ایجاد CSSهای " +"استفاده شده ادامه می دهد تا%2$sآدرس صفحه هر%3$s ثانیه." -#: inc/deprecated/deprecated.php:1501 -msgctxt "button text" -msgid "Download settings" -msgstr "دانلود تنظیمات" +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283 +msgid "We suggest enabling %1$sPreload%2$s for the fastest results." +msgstr "ما پیشنهاد می کنیم %1$sپیش بارگذاری%2$s برای نتایج سریعتر فعال کنید." -#: inc/deprecated/deprecated.php:1531 -msgid "Replace site's hostname with:" -msgstr "جایگزینی نام هاست سایت با:" +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:293 +msgid "To learn more about the process check our %1$sdocumentation%2$s." +msgstr "برای یادگیری پروسه %1$sمستندات%2$s مارا بخوانید." -#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587 -#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41 -#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105 -msgid "reserved for" -msgstr "متعلق به" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:443 +msgid "" +"We couldn't generate the used CSS because you're using a nulled version of " +"WP Rocket. You need an active license to use the Remove Unused CSS feature " +"and further improve your website's performance." +msgstr "" +"ما نتوانستیم CSS استفاده شده را ایجاد کنیم زیرا شما از نسخه نال شده WP " +"Rocket استفاده می کنید. برای استفاده از قابلیت Remove Unused CSS و بهبود " +"بیشتر عملکرد وب سایت خود، به یک مجوز فعال نیاز دارید." -#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589 -#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44 -#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108 -msgid "All files" -msgstr "همه فایل‌ها" +#. translators: %1$s = promo percentage. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:446 +msgid "Click here to get a WP Rocket single license at %1$s off!" +msgstr "برای دریافت لایسنس %1$sتخفیفی اینجا کلیک کنید!" -#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594 -#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56 -#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120 -msgid "Images" -msgstr "تصاویر" +#. translators: %1$s = open tag, %2$s = closing tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:499 +msgid "" +"It seems a security plugin or the server's firewall prevents WP Rocket from " +"accessing the Remove Unused CSS generator. IPs listed %1$shere in our " +"documentation%2$s should be added to your allowlists:" +msgstr "" +"به نظر می رسد افزونه امنیتی یا فایروال سرور از دسترسی افزونه به بخش حذف CSS " +"های بلااستفاده جلوگیری می کند. آی پی های موجود در %1$sمستندات%2$sباید در " +"لیست مجازها باشد:" -#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132 -msgid "Add CNAME" -msgstr "افزودن CNAME" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:504 +msgid "- In the security plugin, if you are using one" +msgstr "- در افزونه امنیت، اگر شما از یکی از آن ها استفاده کنید" -#: inc/deprecated/deprecated.php:1706 -msgid "Watch the video" -msgstr "تماشای ویدیو" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:505 +msgid "- In the server's firewall. Your host can help you with this" +msgstr "- در فایروال سرور. شرکت هاست شما کمکتان می کند" + +#. translators: %1$s = plugin name, %2$s = table name, %3$s = open tag, +#. %4$s = closing tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:545 +msgid "" +"%1$s: Could not create the %2$s table in the database which is necessary for" +" the Remove Unused CSS feature to work. Please reach out to %3$sour " +"support%4$s." +msgstr "" +"%1$s: نمی تواند ایجاد شود%2$s جدول در پایگاه داده که نیاز است برای حذف CSS " +"های بلا استفاده برای کارکرد صحیح آن. لطفا برای اطلاعات بیشتر%3$sپشتیبانی " +"ما%4$sتماس بگیرید." + +#. translators: %1$s = plugin name. +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:314 +msgid "%1$s: Used CSS option is not enabled!" +msgstr "%1$s: قابلیت CSSهای استفاده شده فعال نیست!" -#: inc/deprecated/deprecated.php:1771 -msgid "Basic" -msgstr "پایه" +#. translators: %1$s = plugin name. +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:336 +msgid "%1$s: Used CSS cache cleared!" +msgstr "%1$s: کش CSS استفاده شده پاک شد!" -#: inc/deprecated/deprecated.php:1772 -msgid "Static Files" -msgstr "فایل‌های استاتیک" +#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:787 +msgid "Clear Used CSS of this URL" +msgstr "پاکسازی CSS استفاده شده برای این URL" -#: inc/deprecated/deprecated.php:1774 -msgid "Advanced" -msgstr "پیشرفته" +#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160 +msgid "WP Rocket Remove Unused CSS pending jobs" +msgstr "WP Rocket حذف کارهای معلق Unused CSS" -#: inc/deprecated/deprecated.php:1944 -#, php-format +#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174 +msgid "WP Rocket clear Remove Unused CSS failed jobs" +msgstr "WP Rocket پاکسازی حذف کارهای ناموفق CSS های بلااستفاده" + +#. translators: %1$s = plugin name. +#: inc/Engine/Preload/Admin/Settings.php:57 msgid "" -"%1$s %2$s requires at least PHP %3$s to function properly. To use this " -"version, please ask your web host how to upgrade your server to PHP %3$s or " -"higher. If you are not able to upgrade, you can rollback to the previous " -"version by using the button below." +"%1$s: The preload service is now active. After the initial preload it will " +"continue to cache all your pages whenever they are purged. No further action" +" is needed." msgstr "" -"%1$s %2$s حداقل به نسخه PHP %3$s برای عملکرد صحیح نیاز دارد. برای استفاده از" -" این نسخه، لطفا با مدیر هاست خود برای ارتقا نسخه PHP به PHP %3$s یا بالاتر " -"تماس بگیرید. اگر قادر به ارتقا نیستید، می‌توانید با استفاده از دکمه زیر به " -"نسخه قبلی بازگردید." +"%1$s:سرویس پیش بارگذاری اکنون فعال است. پس از پیش بارگذاری، هر زمان که تمام " +"صفحات شما پاک شوند، به کش کردن آن ها ادامه می دهد. هیچ اقدام دیگری لازم " +"نیست." + +#: inc/Engine/Preload/Cron/Subscriber.php:138 +msgid "WP Rocket Preload pending jobs" +msgstr "کارهای معلق پیش بارگذاری" + +#: inc/Engine/Preload/Cron/Subscriber.php:166 +msgid "WP Rocket Preload revert stuck failed jobs" +msgstr "پیش بارگذاری برگرداندن کارهای ناموفق گیر کرده است" #: inc/functions/admin.php:21 msgid "" @@ -3672,11 +3464,13 @@ msgstr "کدام تنظیمات موشک وردپرس فعال هستند" msgid "The provided license data are not valid." msgstr "داده لایسنس شما معتبر نیست." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:432 -#, php-format msgid "To resolve, please %1$scontact support%2$s." msgstr "برای رفع مشکل، لطفا با %1$sپشتیبانی%2$s تماس بگیرید." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:491 inc/functions/options.php:530 msgid "" "License validation failed. Our server could not resolve the request from " @@ -3684,8 +3478,9 @@ msgid "" msgstr "" "اعتبارسنجی لایسنس انجام نشد. سرور ما نتوانست درخواست وب سایت شما را حل کند." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:491 -#, php-format msgid "" "Try clicking %1$sValidate License%2$s below. If the error persists, follow " "%3$sthis guide%4$s." @@ -3693,6 +3488,7 @@ msgstr "" "سعی کنید روی%1$sذخیره تغییرات%2$s در زیر کلیک کنید. اگر همچنان خطا وجود " "داشت، %3$sراهنمایی%4$s را دنبال کنید." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 msgid "" "License validation failed. You may be using a nulled version of the plugin. " @@ -3701,46 +3497,52 @@ msgstr "" "اعتبارسنجی لایسنس شکست خورد. شاید شما از نسخه نال استفاده می کنید. لطفا " "موارد زیر را انجام دهید:" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 -#, php-format msgid "Login to your WP Rocket %1$saccount%2$s" msgstr "وارد شدن به %1$sحساب کاربری%2$s موشک وردپرس" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 msgid "Download the zip file" msgstr "دانلود فایل فشرده" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 msgid "Reinstall" msgstr "نصب مجدد" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 -#, php-format msgid "" "If you do not have a WP Rocket account, please %1$spurchase a license%2$s." msgstr "اگر حساب کاربری موشک وردپرس ندارید، لطفا %1$sخرید کنید%2$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:515 msgid "" "License validation failed. This user account does not exist in our database." msgstr "" "اعتبارسنجی لایسنس شکست خورد. این حساب کاربری در پایگاه داده ما وجود ندارد." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:515 msgid "To resolve, please contact support." msgstr "برای رفع مشکل با پشتیبانی تماس بگیرید." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:523 msgid "License validation failed. This user account is blocked." msgstr "اعتبارسنجی لایسنس شکست خورد. این حساب کاربری بلاک شده است." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:523 -#, php-format msgid "Please see %1$sthis guide%2$s for more info." msgstr "برای کسب اطلاعات بیشتر%1$sراهنمایی%2$s را مطالعه کنید." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:530 -#, php-format msgid "" "Try clicking %1$sSave Changes%2$s below. If the error persists, follow " "%3$sthis guide%4$s." @@ -3748,21 +3550,25 @@ msgstr "" "سعی کنید روی%1$sذخیره تغییرات%2$s در زیر کلیک کنید. اگر همچنان خطا وجود " "داشت، %3$sراهنمایی%4$s را دنبال کنید." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:543 msgid "Your license is not valid." msgstr "لایسنس شما نامعتبر است." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:543 -#, php-format msgid "Make sure you have an active %1$sWP Rocket license%2$s." msgstr "مطمئن شوید که %1$sلایسنس موشک وردپرس%2$s فعال دارید." +#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s = +#. opening link tag. #: inc/functions/options.php:545 msgid "You have added as many sites as your current license allows." msgstr "شما به اندازه لایسنس فعلی سایت اضافه کرده اید." +#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s = +#. opening link tag. #: inc/functions/options.php:545 -#, php-format msgid "" "Upgrade your %1$saccount%2$s or %3$stransfer your license%2$s to this " "domain." @@ -3770,48 +3576,283 @@ msgstr "" "حساب کاربری%1$sخودرا%2$sارتقاء دهید یا%3$sلایسنس خود را به دامنه فعلی %2$s " "منتقل کنید." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:547 msgid "This website is not allowed." msgstr "این وب سایت مجاز نمی باشد." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:547 -#, php-format msgid "Please %1$scontact support%2$s." msgstr "با %1$sپشتیبانی%2$sتماس بگیرید." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:549 msgid "This license key is not recognized." msgstr "این لایسنس شناسایی نشد." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:549 -#, php-format msgid "If the issue persists, please %1$scontact support%2$s." msgstr "اگر مشکل همچنان برقرار بود با %1$sپشتیبانی%2$s تماس بگیرید." +#. Translators: %s = error message returned. #: inc/functions/options.php:555 -#, php-format msgid "License validation failed: %s" msgstr "اعتبارسنجی لایسنس شکست خورد: %s" -#: inc/vendors/classes/class-imagify-partner.php:531 -msgid "Plugin installed successfully." -msgstr "افزونه با موفقیت نصب شد." +#: inc/Logger/Logger.php:260 inc/Logger/Logger.php:292 +msgid "The log file does not exist." +msgstr "لاگ فایل موجود نیست." + +#: inc/Logger/Logger.php:266 inc/Logger/Logger.php:298 +msgid "The log file could not be read." +msgstr "لاگ فایل قابل خواندن نیست." + +#: inc/Logger/Logger.php:285 +msgid "The logs are not saved into a file." +msgstr "لاگ ها درون فایل ذخیره نشده است." + +#. Translators: %s = Hosting name. +#: inc/ThirdParty/Hostings/Cloudways.php:82 +msgid "" +"Varnish auto-purge will be automatically enabled once Varnish is enabled on " +"your %s server." +msgstr "" +"هنگامی که Varnish روی دستگاه شما فعال می شود ، پاکسازی خودکار لاک به طور " +"خودکار فعال می شود %s سرور." + +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/ThirdParty/Hostings/Kinsta.php:158 +msgid "" +"Your installation seems to be missing core Kinsta files managing Cache " +"clearing, which will prevent your Kinsta installation and WP Rocket from " +"working correctly. Please get in touch with Kinsta support through your " +"%1$sMyKinsta%2$s account to resolve this issue." +msgstr "" +"به نظر می رسد نصب شما فاقد فایل های اصلی Kinsta است که حذف کش و CDN را " +"مدیریت می کند، که از نصب Kinsta شما و کارکرد صحیح موشک وردپرس جلوگیری می " +"کند. لطفا پشیبانی Kinsta از طرق حساب %1$sMyKinsta%2$s برایحل این مشکل در " +"ارتباط باشید." + +#. translators: %1$s = plugin name. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:125 +msgid "" +"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of " +"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it." +msgstr "" +"%1$s:Cloudflare's HTTP/2 Server Push هماهنگ نیست با ویژگی حذف فایل های " +"Unused CSS و Combine CSS. پیشنهاد می شود غیرفعال کنید." + +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:168 +msgid "" +"Your site is using the official Cloudflare plugin. We have enabled " +"Cloudflare auto-purge for compatibility. If you have APO activated, it is " +"also compatible." +msgstr "" +"سایت شما از پلاگین رسمی کلادفلیر استفاده می کند. ما پاکسازی خودکار کلادفلیر " +"را برای سازگاری فعال کرده ایم. اگر APO را فعال کرده اید، سازگار است." + +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169 +msgid "" +"Cloudflare cache will be purged each time WP Rocket clears its cache to " +"ensure content is always up-to-date." +msgstr "" +"کش کلادفلیر هر بار که موشک وردپرس کش خود را پاک می کند پاک می شود تا اطمینان" +" حاصل شود که محتوا همیشه به روز است." + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:213 +msgid "" +"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO " +"is not yet compatible with that feature." +msgstr "" +"%1$sموشک وردپرس:شما از \"Dynamic Cookies Cache\" استفاده می کنید. Cloudflare" +" APO هنوز با این ویژگی سازگار نیست.%2$s" + +#. Translators:%1$s = opening tag, %2$s = closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:219 +msgid "" +"You should either disable Cloudflare APO or check with the theme/plugin " +"requiring the use of “Dynamic Cookies Cache” developers for an alternative " +"way to be page-cache friendly. %1$sMore info%2$s" +msgstr "" +"باید Cloudflare APO را غیرفعال کنید یا قالب/افزونه‌ای را بررسی کنید که به " +"توسعه‌دهندگان «Dynamic Cookies Cache» نیاز دارد تا راهی جایگزین برای سازگاری" +" با کش صفحه باشد.%1$sاطلاعات بیشتر%2$s" + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag, %3$s = +#. opening tag, %4$s = closing tag, %5$s = opening tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:270 +msgid "" +"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile " +"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on " +"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s" +msgstr "" +"%1$sموشک وردپرس%2$sشما از \"فایل های کش جدا برای دستگاه های تلفن همراه\" " +"استفاده می کنید. باید «Cache by Device Type» را فعال " +"کنید%3$sتنظیمات%5$sCloudflare APO برای اینکه نسخه مناسب کش را ارائه " +"دهید.%4$sاطلاعات بیشتر%5$s" + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:291 +msgid "" +"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare " +"APO. If you judge it necessary for the website to have a different cache on " +"mobile and desktop, we suggest you enable our “Separate Cache Files for " +"Mobiles Devices” to ensure the generated cache is accurate." +msgstr "" +"%1$sموشک وردپرس:%2$sشما «Cache by Device Type» را در Cloudflare APO فعال " +"کرده‌اید. اگر فکر می‌کنید که لازم است وب‌سایت حافظه پنهان متفاوتی در تلفن " +"همراه و دسک‌تاپ داشته باشد، پیشنهاد می‌کنیم «فایل‌های کش جداگانه برای " +"دستگاه‌های موبایل» را فعال کنید تا مطمئن شوید حافظه پنهان تولید شده دقیق " +"است." + +#. translators: %1$s is WP Rocket plugin name, %2$s is opening tag, %3$s +#. is closing tag. +#: inc/ThirdParty/Plugins/ModPagespeed.php:102 +msgid "" +"%1$s: Mod PageSpeed is not compatible with this plugin and " +"may cause unexpected results. %2$sMore Info%3$s" +msgstr "" +"%1$s: حالت PageSpeed با این افزونه سازگار نیست و ممکن است " +"باعث اتفاق غیرمنتظره شود.%2$s اطلاعات بیشتر%3$s" + +#. Translators: %1$s is an opening tag; %2$s is a closing +#. tag +#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:75 +msgid "" +"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript " +"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will " +"not be applied to the file it creates. We suggest disabling %1$sJavaScript " +"Aggregation%2$s to take full advantage of Delay JavaScript Execution." +msgstr "" +"%1$sموشک وردپرس:%2$sما متوجه شده‌ایم که ویژگی Autoptimize's JavaScript " +"Aggregation فعال است. اجرای تاخیری جاوا اسکریپت WP Rocket روی فایلی که ایجاد" +" می کند اعمال نخواهد شد.توصیه می کنیم%1$sJavaScript Aggregation%2$s را به " +"طور کامل برای بهترین عملکرد افزونه غیرفعال کنید." + +#. Translators: %1$s is an opening tag; %2$s is a closing +#. tag +#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:130 +msgid "" +"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS " +"feature is enabled. WP Rocket's Load CSS Asynchronously will not work " +"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full " +"advantage of Load CSS Asynchronously Execution." +msgstr "" +"%1$sموشک وردپرس: %2$sما متوجه شده‌ایم که ویژگی Autoptimize's Aggregate " +"Inline CSS فعال است. WP Rocket's Load CSS Asynchronously به درستی کار نخواهد" +" کرد.توصیه می کنیم%1$sAggregate Inline CSS%2$s را برای عملکرد بهتر افزونه " +"غیرفعال کنید." + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45 +msgid "" +"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and " +"use %1$sEzoic's nameserver integration%2$s instead." +msgstr "" +"این افزونه از عملکرد صحیح افزونه موشک وردپرس جلوگیری می کند. غیرفعال کرده و " +"به جای آن از %1$sEzoic's nameserver integration%2$s استفاده نمایید." + +#. Translators: %s = Plugin name. +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78 +msgctxt "Hummingbird notice" +msgid "" +"Please deactivate the following %s option which conflicts with WP Rocket " +"features:" +msgid_plural "" +"Please deactivate the following %s options which conflict with WP Rocket " +"features:" +msgstr[0] "لطفا گزینه %s را برای تداخل با ویژگی های موشک وردپرس غیرفعال کنید:" +msgstr[1] "لطفا گزینه %s را برای تداخل با ویژگی های موشک وردپرس غیرفعال کنید:" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s" +msgstr "" +"%1$s %2$sغیرفعالسازی ایموجی%3$sتداخل با موشک وردپرس%2$sغیرفعالسازی " +"ایموجی%3$s" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP " +"compression%3$s" +msgstr "" +"%1$s %2$sGZIP compression%3$s تداخل با موشک وردپرس %2$sGZIP compression%3$s" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser " +"caching%3$s" +msgstr "" +"%1$s %2$sbrowser caching%3$sتداخل با موشک وردپرس %2$sbrowser caching%3$s" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s" +msgstr "%1$s %2$spage caching%3$s تداخل با موشک وردپرس %2$spage caching%3$s" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile " +"optimization%3$s" +msgstr "" +"%1$s %2$sasset optimization%3$sتداخل با موشک وردپرس %2$sfile " +"optimization%3$s" + +#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38 +msgid "" +"Remove Unused CSS is currently activated in Perfmatters. If you want to use " +"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters." +msgstr "" +"حذف Unused CSS در حال حاضر در Perfmatters فعال است. اگر می خواهید از ویژگی " +"در WP Rocket استفاده کنید، این گزینه را در Perfmatters غیرفعال کنید." + +#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39 +msgid "" +"Automated unused CSS removal is currently activated in RapidLoad Power-Up " +"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, " +"disable the RapidLoad Power-Up for Autoptimize plugin." +msgstr "" +"حذف خودکار CSS استفاده نشده در حال حاضر در RapidLoad Power-Up for " +"Autoptimize فعال شده است. اگر می خواهید از ویژگی WP Rocket's Remove Unused " +"CSS استفاده کنید، افزونه RapidLoad Power-Up for Autoptimize را غیرفعال کنید." -#: inc/vendors/classes/class-imagify-partner.php:532 -msgid "Sorry, you are not allowed to install plugins on this site." -msgstr "متاسفیم، شما اجازه نصب افزونه در این سایت ندارید." +#. translators: %1$s = plugin name. +#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42 +msgid "" +"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s " +"delay JS, disable %1$s" +msgstr "" +"تاخیر JS اکنون در %1$s فعال است. اگر می خواهید از تاخیر JS افزونه استفاده " +"کنید، %1$s غیرفعال کنید" -#: inc/vendors/classes/class-imagify-partner.php:533 -msgid "Sorry, you are not allowed to do that." -msgstr "متاسفیم، شما اجازه این کار را ندارید." +#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126 +msgid "Smush" +msgstr "Smush" -#: inc/vendors/classes/class-imagify-partner.php:534 -msgid "Plugin install failed." -msgstr "نصب افزونه شکست خورد." +#: inc/ThirdParty/Themes/Avada.php:116 +msgid "Avada" +msgstr "Avada" -#: inc/vendors/classes/class-imagify-partner.php:535 -msgid "Go back" -msgstr "برگرد" +#: inc/ThirdParty/Themes/Divi.php:315 +msgid "" +"Your Divi template was updated. Clear the Used CSS if the layout, design or " +"CSS styles were changed." +msgstr "" +"پوسته Divi بروزرسانی شده. پاکسازی CSS های بلا استفاده را انجام دهید. اگر " +"استایل ها یا طرح ها به مشکل خورده است." #: views/cpcss/activate-cpcss-mobile.php:13 msgid "Load CSS asynchronously for mobile" @@ -3829,16 +3870,16 @@ msgstr "" msgid "Click the button to enable mobile-specific CPCSS for your site." msgstr "روی دکمه کلیک کنید تا CPCSS مخصوص موبایل برای سایت شما فعال شود." +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/activate-cpcss-mobile.php:20 #: views/settings/enable-google-fonts.php:19 -#, php-format msgid "" "This is a one-time action and this button will be removed afterwards. " "%1$sMore info%2$s" msgstr "این یکباره است و این دکمه بعد از آن حذف می شود.%1$sراهنمایی%2$s" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/activate-cpcss-mobile.php:30 -#, php-format msgid "" "Your site is now using mobile-specific critical path CSS. %1$sMore info%2$s" msgstr "" @@ -3853,13 +3894,13 @@ msgstr "ایجاد CPCSS مخصوص موبایل" msgid "Critical Path CSS" msgstr "بازسازی مسیر قطعی CSS" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/metabox/generate.php:23 -#, php-format msgid "Generate specific Critical Path CSS for this post. %1$sMore info%2$s" msgstr "CSS مسیر بحرانی ویژه را برای این نوشته ایجاد کنید.%1$sراهنمایی%2$s" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/metabox/generate.php:33 -#, php-format msgid "This post uses specific Critical Path CSS. %1$sMore info%2$s" msgstr "این نوشته از CSS مسیر بحرانی مخصوص استفاده می کند. %1$sراهنمایی%2$s" @@ -3879,8 +3920,8 @@ msgstr "" "همیشه لازم نیست که WP Rocket را هنگام مواجهه با هر مشکلی غیرفعال کنید. " "بسیاری از آنها را می توان تنها با غیرفعال کردن برخی از گزینه ها برطرف کرد." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:29 -#, php-format msgid "" "Our advice? Instead of deactivating WP Rocket, use our %1$sSafe Mode%2$s to " "quickly disable LazyLoad, File Optimization, and CDN options. Then check to " @@ -3894,13 +3935,13 @@ msgstr "" msgid "Do you want to use our Safe Mode to troubleshoot WP Rocket?" msgstr "آیا می خواهید از حالت ایمن ما برای عیب یابی WP Rocket استفاده کنید؟" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:55 -#, php-format msgid "Yes, apply \"%1$sSafe Mode%2$s\"" msgstr "بله اعمال کنید\"%1$sSafe Mode%2$s\"" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:68 -#, php-format msgid "" "and export WP Rocket settings %1$s(Recommended as current settings will be " "deleted)%2$s" @@ -3936,8 +3977,9 @@ msgstr "انصراف" msgid "Confirm" msgstr "تایید" +#. translators: %1$s = , %2$s = plugin version, %3$s = , %4$s +#. = , %5$s = , %6$s = . #: views/plugins/update-renewal-expired-notice.php:27 -#, php-format msgid "" " %1$sWP Rocket %2$s%3$s is available. %4$sLearn more%5$s about the updates " "and enhancements of this major version. You need an active license to use " @@ -3951,8 +3993,8 @@ msgstr "" msgid "Update Inclusion and Exclusion Lists" msgstr "لیست های شامل و حذف را به روز کنید" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/settings/dynamic-lists-update.php:19 -#, php-format msgid "" "Compatibility lists are downloaded automatically every week. Click the " "button if you want to update them manually. %1$sMore info%2$s" @@ -3976,8 +4018,8 @@ msgstr "" "عملکرد فونت را بهبود می بخشد و چندین درخواست فونت را برای کاهش تعداد درخواست" " های HTTP ترکیب می کند." +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/settings/enable-google-fonts.php:29 -#, php-format msgid "" "Google Fonts Optimization is now enabled for your site. %1$sMore info%2$s" msgstr "" @@ -4024,11 +4066,12 @@ msgstr "تغییر تنظیمات" msgid "CDN CNAME" msgstr "CDN CNAME" +#. translators: %s is a "Learn more" link. #: views/settings/fields/rocket-cdn.php:62 -#, php-format msgid "Purges RocketCDN cached resources for your website. %s" msgstr "تخلیه منابع کش شده RocketCDN برای وب سایت شما.%s" +#. translators: %s is a "Learn more" link. #: views/settings/fields/rocket-cdn.php:63 #: views/settings/page-sections/cloudflare.php:36 #: views/settings/page-sections/sucuri.php:37 @@ -4043,12 +4086,13 @@ msgstr "حذف کامل فایل های کش شده RocketCDN" msgid "Cloudflare Cache" msgstr "کش Cloudflare" +#. translators: %s is a "Learn more" link. #: views/settings/page-sections/cloudflare.php:35 #: views/settings/page-sections/sucuri.php:36 -#, php-format msgid "Purges cached resources for your website. %s" msgstr "پاک‌سازی منابع کش شده برای وب‌سایت شما. %s" +#. translators: %s is a "Learn more" link. #: views/settings/page-sections/cloudflare.php:36 msgid "https://support.cloudflare.com/hc/en-us/articles/200169246" msgstr "https://support.cloudflare.com/hc/en-us/articles/200169246" @@ -4070,7 +4114,6 @@ msgid "Your website should be loading faster now!" msgstr "وب سایت شما باید سریعتر بارگیری شود!" #: views/settings/page-sections/dashboard.php:44 -#, php-format msgid "" "To guarantee fast websites, WP Rocket automatically applies 80% of web " "performance best practices." @@ -4157,8 +4200,9 @@ msgstr "" msgid "Save Changes and Optimize" msgstr "ذخیره تغییرات و بهینه سازی" +#. Translators: %1$s = , %2$s = , %3$s = , %4$s = . #: views/settings/page-sections/imagify.php:21 -#, php-format msgid "" "%1$sWP ROCKET%2$s created %3$sIMAGIFY%4$s %1$sfor best-in-class image " "optimization.%2$s" @@ -4196,13 +4240,14 @@ msgstr "نصب Imagify" msgid "WP Rocket was not able to automatically validate your license." msgstr "موشک وردپرس قادر به فعال‌سازی لایسنس شما به صورت خودکار نیست." +#. translators: %1$s = tutorial URL, %2$s = support URL. #: views/settings/page-sections/license.php:29 -#, php-format msgid "Follow this %1$s, or contact %2$s to get the engine started." msgstr "دنبال کنید %1$s یا ارتباط بگیرید%2$s برای شروع." +#. translators: %1$s = , %4$s = . #: views/settings/page-sections/license.php:32 -#, php-format msgid "%1$s%2$s%3$stutorial%4$s" msgstr "%1$s%2$s%3$sآموزش%4$s" @@ -4214,8 +4259,9 @@ msgstr "" "https://docs.wp-rocket.me/article/100-resolving-problems-with-license-" "validation/?utm_source=wp_plugin&utm_medium=wp_rocket" +#. translators: %1$s = , %4$s = . #: views/settings/page-sections/license.php:40 -#, php-format msgid "%1$s%2$s%3$ssupport%4$s" msgstr "%1$s%2$s%3$sپشتیبانی%4$s" @@ -4223,18 +4269,19 @@ msgstr "%1$s%2$s%3$sپشتیبانی%4$s" msgid "Clear all Sucuri cache files" msgstr "حذف همه فایل های کش Sucuri" +#. translators: %1$s = formatted file size, %2$s = formatted number of entries +#. (don't use %2$d). #: views/settings/page-sections/tools.php:20 -#, php-format msgid "Files size: %1$s. Number of entries: %2$s." msgstr "اندازه فایل: %1$s.به تعداد ورودی ها:%2$s." +#. translators: %1$s = opening tag, %2$s = closing tag. #: views/settings/page-sections/tools.php:23 -#, php-format msgid "%1$sDownload the file%2$s." msgstr "%1$sدانلود فایل%2$s." +#. translators: %1$s = opening tag, %2$s = closing tag. #: views/settings/page-sections/tools.php:26 -#, php-format msgid "%1$sDelete the file%2$s." msgstr "%1$sحذف فایل%2$s." @@ -4254,13 +4301,13 @@ msgstr "دانلود تنظیمات" msgid "Rollback" msgstr "عقب‌گرد" +#. translators: %s = WP Rocket version number. #: views/settings/page-sections/tools.php:64 -#, php-format msgid "Has version %s caused an issue on your website?" msgstr "نسخه %s باعث بروز مشکل در وبسایت شما شده است؟" +#. translators: %s =
    . #: views/settings/page-sections/tools.php:69 -#, php-format msgid "" "You can rollback to the previous major version here.%sThen send us a support" " request." @@ -4268,8 +4315,8 @@ msgstr "" "در اینجا می توانید به نسخه اصلی قبلی بازگردید.%sآنگاه برای پشتیبانی تماس " "بگیرید با نا." +#. translators: %s = WP Rocket previous version. #: views/settings/page-sections/tools.php:80 -#, php-format msgid "Reinstall version %s" msgstr "نصب دوباره نسخه %s" @@ -4349,8 +4396,8 @@ msgstr "افزودنی Cloudflare راه اندازی کنید" msgid "WP Rocket Settings" msgstr "تنظیمات موشک وردپرس" +#. translators: %s = Plugin version number. #: views/settings/page.php:30 -#, php-format msgid "version %s" msgstr "نسخه %s" @@ -4358,8 +4405,8 @@ msgstr "نسخه %s" msgid "Show Sidebar" msgstr "نمایش ناحیه کناری" +#. translators: %1$s = , %2$s = . #: views/settings/page.php:82 -#, php-format msgid "" "Below is a detailed view of all data WP Rocket will collect %1$sif granted " "permission.%2$s" diff --git a/wp-content/plugins/wp-rocket/languages/rocket-fr_FR.mo b/wp-content/plugins/wp-rocket/languages/rocket-fr_FR.mo index e4ff14f0e1ae2defdffba2801dcd7695c23512c9..1e0f3df5fae00d99c6d9e754da490042cac59aae 100755 GIT binary patch delta 4148 zcmYk;d2m+M8OQN+QVD_qgFvfIfEW!LLG}<5g|Lb2$PyDF$f9ftfdB!5$R+S1X*3HE zWQU+2j3Y4uCZq%?mH|6}s7MP&86q7i?F{YE4wgz|zdxV%kIpdjInQ}>?>+aN=Xox5 z4Uu0qL{`Se1?`=4@!h zLoo)&qwco|dth-m{yqMhxGu>D?jZ)ZnP`F0J-z!S#^WzA1>0h8bo|Rg-Ed;E|M|LH zOeQYD&UhMQ@dtbcTlKR0jmP(ib8r>Lrg--tmZt>X-OHeciKh4ow#0Mz1lFS#5S8j( z2kd|&Faxu24{G5NPkGk_TVX3~i`tp)sGaDCy3a%$ip%gtJRLC5*0g`xyT@??>P8{V z#A1xZ>(~iz;-lE6w|70UKX$}C)b;OSZ#*B4oAt5zo?$29WPUHe91LzSn95*6ns?Lj z7|zCozT^N~z7F-~RsFo%h2LQshWdNg7f<2@Y&5{T5Kh6d_&sjL)Pdgp0sn~mu>2YC zTH}yGKObe_CNa<(F2?4#9HX%al?ywt4StOM@B+Sut)KO753WT$IC-!oZ7n`Vd=<50 z_YScmN=6;Q5Y!RR#I7#jEEwc7QGq{Vm!aNG!j8kdJBn{%e;hj8JI{_3p>m~UgxzQh zDk&>axpXQVpGQ^E^>BRONK3v)uz>l!*pBDBE~D(tpToYylfrR1Dw{ttLk9sbC}|Ebh{rmdhYhF;=8m-mm7|WR z9#yV?2^%rayK%&^sB+3doqZwd@2;R0{BP7wxODFxhDTBNACyl0M=@B;L<)v*G#T58!+}hO1FWGcdz`ABEbvEKI=JsOnjViCCRM{cED036))B zrX^c6>Oq|_3DZ!GCKvU9{irHAj7rXg7i>!hpptYlR^U6Rof$pevi=p+f>)rPw>}6@ zY)6$*B`Qm!CU|!hJ7B%yENhuJQ4OZa#Big*8^qnQ4BNbDjpqRBjDLsP$!~EG-ZRO{ zcNl6uc$0zN=m4tRj^bwg3ga+)vL$B;D$94EdUqA-&Az}V@vo?=d2ot%Rk#GFVCSi} zptYz4?L_TBEwaObJI^4MiL0m_hVP$8&P2X! z{U8RluyWLWK0}@PbzF`urg^tQ^4wivE3`yDE43<;>1_I>xMJ& zdEAOB+gqrG#>}>br=mJu2I__0K<(ICoQUP91vj9+miN!0{#9;i44%ccI0`RgCMITk zmyRn@<#P$O)eWexUaPtGHEfS*#0yb7bO@CzCs5^g8C4}WP)E^to*6ff`d8ygVL}Zf z3-tzzP_1+iF2D-xf$=%^;0%l-o`ou-LR5n(!`^rpwR5*o3rm`BaV}0KK7=}&)(Zk# zY3c&+PBAeCWALGcc0m$OCtiq+unx~)Jt_zG=Xy5)KSlL}s6|%Bd8nPdh}oF1*jjcO z>Zlt~RkkWvVlA^xo_EDeleLo2Jtvt zg0Z?G3GE%fdX z9>lx|%I{6v^6!fHZZqGg*vc{i^^M3xEwmWvW$tZ!iug{6!YJ$N^&)nAl6-*sJU z4WtOmiK}rCX08jjOjMH9qO#hp_wIE_!{K-o^?TDYd*DdyOI(QB*)ynq@FnVKzr{^> z8w2&^k_~poAK*0N)2IuceA|+(7ZwqRa3wyl(OUKfRQY|5E%9rN!kgjwA5o2~(IzYJ zUa0CCgIY-TChA{Xv4#mH%{5fRiQa4##j$R$0ReFrWBcRPrTM zhkwT&Tpyqs+aca!it7Io10`K*jkVBHEF>QLTWc&=kWS@>AF&3q6qUu-P~U`~P-WJr z);`-&sPZhuJZyf{yZu;zO1hrMEO~RJ>OYTxk|7^;1f{62-(LLzR-%&XFh=7^R8?F= zJ@`5{!P9 delta 4175 zcmYk;dvs1$8prXyQ%%Gru0h-;GOn#An#L_E32{j^p+*P|k(b0}Xk0Q%LUKqLsft0A z#Jy;X!Gvk0p{dJqD`QO!9Ubi$6kSqXW6U3>!_<6#-R~b=%UYlP>^J9}efEBy=lIKy zfnWU?SlKq*d(IdW5p7KbreI5)jlaYatY?kchsnfMFIjUL>%>?y4!^{P7~RvEfQ^WU zV;jss-7g-?e*c>BJJJTDr6N6Fr@!>FBj2U>rW1y{h?qzGb;zZPqN^mT$ z#X$THBk>`2#18$f>4ihEI~Jg>-;4e6vOjJT=jLPmPR2}rUx{xJwSbzz{dr(JI ziz?TD`K_O7O)7CGR5|6N&b|!wci*BGY)8AD2*wV?FQ67QVl?&NfWcxW`eG@L#Ix8L z!^XIBN{!sOs5--SBuC^{9#)Xu#Ay36`p)PmnaJ#Vw; zpLictM%Ab+4NbS^2FBn`#p7Mee1vK+O(!_J;637(aUFKfaE<3E>Wn`_?c`k?f(<9S z@=Zm}d+QkJjgF$q?F?4n-!UBLXS(DpM`ig3sNQ`H^=8-b1^hRvYC8C=IgCrthkYiw z1#LtvXg6vHP9r<)nJ*c{GI0-;105&3Gs{3dAP4op<*5F!19db9Q62Cks-gUV+L=aK zt{-$nEo=|!K37p^{s0THb+$E&RsR(Xv;(cDxD|Fn9l=1ccPN+6ly`2Pz$+_ zy7B+;EOwdds_CDo+-f?_np4;tU&SXl2$QC>aMgb)gQd6=mtogmyGC&UhIsglXxDdV`+ig z@<;e0acH46D{&~Q?ysPd(0lA3B(M{z%VnrDDo1VULDZXmfy40u24ehT*Dr?PRN@J^ z08e9gj9cRBeg^g+&ci6&i$Qn|DNoPbVxSu~F0$sKHKrx5Ca$;CeS9{dF8CVNA8z9f zY`@H9{Zo8{xb1J<*{{F@#OH7t&R_15^ad)9EO86kfS&6A9D~jLko1-{TksC{!QvIx ze2AZ5UI69yw%hXWO8IUxAF|4oWhCkw;X^HS1JcXPHta_nu-fH79BL=_qgwrS$@5L@ z8rMM9<96cXI0Sub{VfxfWT#PC9b9Hj0VZKGofb|9qWtw?iSQ z@*aSyu5{Ew=9g3d+KSaoC~5Aa8ctY+`-BpM)ywN{ zbEaY$@pi0_G231FC7^O81J$YvQ7^CsL$K0gpc@@SWqtj3-5YJjABY2YShEeyPWKVn zj#^OmF1O|9P&@ZEYU_jFbN}~ifgOkk;zi8D&oTOa*I}Rez?%8QUNi&s^u4GzKaP69 zRaEbe-R)ZMFw~iO_%YdCj;CYC*$3v?hQD?#GviD?hSk5#Gkm=sWBhRtYX4 z-iP{XMppTM#~7|JK{d7--omH)zsW#JmsssuXa%ky9)H9&mT!?xWkw%$4Wt;A#rIL) zgu0)&G7G_C;!sq1R$v~stg&W4u0bVT{HHE?^QG#)h=Gz}1?mVYP+z}F{Q*{^lIjFD z#*3(`xQ?pt2iOoFVFW&V%;iE?)O~uQsv^!m{|eS29)rbCqN<)m*|>m^tnBbfzR5GD w&Yd+cCo8vVP_$jwrfpVs?$2k#6Gx3Q$-ex&wEfQW)1xYwNvwKOx_gEY6PX;?T) zEq9Kz(#*8d+&Ob)j()HAeJ;Nb|BwIm_#U3;bI!T1an^N%eb3zXntjX5^;=<&`4-2k z9F|oI^Ovx!mpLu#MJ<(D*8OIdbrK(7QQQ|wTRejc@ux7$T8xR!Eh_@OT3FUo?2f+J zxus=sN-G|V;JY{s=OLeWSzfIyYZ(QZ*d3d+wyas0fuEqWjb)X_{a6t%VNcA})|@yR zOA?R8LO37W;W`|L5AbtLqOcJ<+gny&?1kOAzO|D~J_jG}U|D6bbVqaNA>o$QkcM6H zEu4+|;4wUe)jF9cd4N9=$8@F#`FumV;Tdtax9uM2Vp)ZW}y-gwhi{8z8?nSE_CTa zH_3Qnr6{@;YoKnZ9*)N*xCM8hx-_0~nv8#93J&aH+Wm~G@5=bB#8db&rgGKBShzPm zjNurDiM{E6U2qEpKKLaT!NaIA{T2Q23HqbYJ7zA_K(%X+YS$Ml;2123nV1K+pw7Po zOW{6TfEQ77Wq2R@-Gejj(W9PKv&ZrA@ zL*|>6V8^?$DDn5`i&wB0zQ7CEeSo=PSG^d^V!2x_P*2td^W)ogd0*7f46y6d?D`3) zIrARs$v?zm_%W`)FHmzRil?ZKeXs@2#L{>I>uUY~MMftm8)v#S5S_&Buq+Nnjoo{w zCs~K;k-ey%I)+W~BI-u{2AZy}hK-0DV>29%d2u^xNcUnXt^admG?tH1%f~0)oTxmO zBd%xL9i7BuZI@yq@mCmtRR>vCaqNI)Z~#`sN%$77L#Bas6&VGqWdbXS>sxEd=mrW5 zwoinb?Hy1z5RV$;_fRL!MD{4_Yg~hQhnO4Qic^Wd!3b>4-DwUi#9X)u)kE7+J$n#c z4ai(2qpmEKWGVtt<(;q!PD6G57F5?A!t(e#R>qt|P0v)vK;n*A9min>T!*#sII>Av zFEI+klj(o<3~P0=`QS^`GOLkdS^Y5`nW)xv)EKuPW_lnUoy2P}7!RSk_!ZW~kW|YW zfrGIS{(-uYzi|@!rkSByoJRi_pkONnU2rdYV&UOtHI%^I#O2TjtD|Ob2zJC?*bdjB zdg=jsU`ei?7t7jKLvP~xsPnZz&6SQWGX2TKU^P5|nhW<(7tA}-jGaH~Lgi6&Aqn&2 zBvj9QfV%K^s0)3M-S8r6i0Y0qJ<%JB5hq~>bWI`S{s3xHT(o_O^@vN4cCS;b3)Ub` zN6q#ubmAFQk32zjb^0u3_W;`<%t?J1ss~%)hZu!=^6RJ@eTmhy{tHepUDO!WU;u{T zXw(V5K$f_52-za6z=>uE=A)L?2F!!oP&c?6%ivk`#mA`C;?1>MVi2n9N21ECZ~2iA zPobXt0_tV)5Ot!Q@0u*F!3g$|~+ZX^gJunB51&qB@qkFY3aV;~+! zm)7ZXG8M7%WV7zWF@Sig?ONL-IDqn77>D6g%;e3&KEy?*nwLx}?jSya>VfoWmc?|k zGO;NZPdC@;mQMe-r(hNZG59koZZh4nScz6TF2;XxHqM)2hNRp~GdJp@7v-%{t0ElL zbJ4cLumtfW)DthkSUie!t`+zmKf9CJ@}3zxulLPt4nTdN8R~>XQ74*+nv@H%E^fr3 z_#2+U@LA?9=g-}8&sINdfYw$}m#w5oavoZLhF62aiY=nBUZpc!$ z5-$w?p4C{6*gM1AaBWN>Zikg|7Y5^H^u&_$%#AwHhqyYn&?tnE(Fxy0jr}6j z`ur1h$B$7x@e=h!e)G+2u7}z;dSZ1Ph|TdMtcYi@06s^ZC+`B&zA)w?E{i^z1y#vp zQqUOl;xBfCD|UPri%|Xy3#0c!vjI7=m_COd7=gO+ZdefGF%U;#HC&52|7q-p7qA%D zw?Y<~C+vb6lcC6bvUXz$Y{L>Liv3YtHv;t%Nk?694tB$ps2h5UKce>%^HuB;s(kWN zb7PCJIPrRPeMx37nKT@^%slBW^e29W8vByV%|_E0YY?ZP#(p`fYxkjs;s}n$GpGx8 zqFYrTi{6-MJJxnaCjGCmTR=f1ev90^Rs3Uq`@yZKG0d~VoUjCH2m(>%Vb}m8P&YOm zb)oI38~E1t9BRz(qCWQz*27#Y>3?-a$V$^Skr+=LgB9=?>Vo&NJm&nwyaOs@9PtOJ zCx3*#=vZaGtoosDr~&$64C)3ZpoVffYUq}^?93KiK*2uLop)btPMCyqiKn6Ve&01_ zS#?F7a2EE&1-AE5572(C*$+O)s>D~ZH5OcFmUk4EA$AQX<0O-T<#9Xe#OF|5bs6=+ z2dK%{aJ_jqw8JLELof)}VHo~`9ngP+`CL2(5N|>CB%<2?W z7mcyw4^Uma5Y?5dQ771g+7C{ldh9RMWOaOMCS3q_B(92;aU|+InOF)x#oSu|N62WI zoyO{T%eMF?({;_UHsy)f0+*vsa0#`}Um^3>DzMpHU^D7GyRaKxLr)CZLN8-;^v1L3 z{{8<7nFtE}KQlXEqHQ+DP@ZF}dEXDjLBv~eJo;@jd-(z!Kzs+oG2(N}nt_?9IaN7} z_Xh64+E`_~>A9ZhYD>XzGK=tQ?1)icm{qX~)pfgYFkVI{hJR@;G}QJh%ujjVY}1pz zSem#ts=O2GyuHy2*Q0v;vuyfb>--1>sTi=sbnQIUWZ8zAln1a9-oRW~aHrW)eNiWD zjt&RCgp-In>@xep3Cv6EvD<9L1(AhhHAUUvpSv0Vfn*$CndLGFbt6l$3l{j=veZM- z*b6se1@zowcFbxxfjAS@)ur~DUplieh4>Ek;KusyGm|s>8}ooaqaN&$i%bkyB`0k{D} z(Ut#@nXTcd6OF-OT#lZ22GxbXqK4!e>O#-Z2ge*Xv-v&LjV(g0iqlvhFQIzQ_lWuJ zHx>OdprpGv8iEqmwx3IGYc4!9sWo%is&FhW;na5Vl73 zP%_rU$*3XPit5qaCyk-llz23@(uK3h%*2H0GS{%UKoj$uosrZN%$!)!!6kM zCo@N$q9&358Pl~BQDd5c-EcGJ#hhnNPZhvo#5K{=!7hsWi)*`|>G%vX-Oiam4BY(1 zoS@Np^E=xd+{6c+znVKgfi;NpUNFCS1Y<|yMYsa5VoOZFXgr2ph<$!DU%z8eLstEF z^QW7r-|7D<6zr!!PktL?vB)20s~nBxh&Ny^ZuB^+XMVb5w(NV@fjIOsD+Xs_GFJQ3 ze4$x_y5L>ZT=2VMHlAVVK|IGrM$2p-j>9E55{qBuDR4GU#-i8EpHLT~X73NS=P^I= zWz>z{L(TTW*UcQNjG8-5uoOn3+NYrAmTLkTt@{O78+V~U{)M?P*9|k41<{MRBdCOeb^DoXrc}ZMCd57EP?RX92iKpE`>hB;o=CZooGk21NMQD(YYj6p! z#nAh_nD9Dkmaloh*DfshH=7b>Vp$yf(CqO`P+ff#HB9A+!k4`hO9qkUIhOp4T3FrR<+!n~}4UU5TQ->UncnG~I{J#ixH!r3?&^IH!0zAy^4jHaN<7o#rV!K-f? zPRA7V&f&1;;Y4&{k(}o98R$d&F>36$qDx(Jl#C|F6T4~Kg$48jQF#psE*P;=rw zYA*bP>+wI_i|bk3+QyoS2rwA>E&OYTW-hs(;MV0|8k`**i@ z@;cmG>&MuZ@;#{8nv2~+cU}~A!xd4JHq?$|Q4iprB>qfX%GZMwWR>PA{)9*o37*a!VE8541)UH$}h;oJqxjaR~=#K9Pi z9Z~1s;v%C99z?CvQ3W0D4Py@KiFctI9>be>8H?a?A9KM!FduPvAu~ihu_bXo)KINP z-QXtdiHA_vaTYc`>1s%(ECrF6ifKq2>l*5g|0&{d|2fUOsOf=1s4gsnIWZ7*qjl{1 z7N{GHK+Tz0J06T>h$rGnT#mW5{u7Hi+<&JZfx7e0P-FQB8)Kp3<^mm2<$bUgj>SOS zh#Iu|p%15gi88$+=bYRJ-2H@pbLwLUhG(T4F9^J3=`<_UYDKk;DHiPBN^ zOHog_7Hi-x48rSJ75)6ojkQ3nhE&v0yg&_wM@e(TWl(<$wAzqqieqp%?!b{))8FC# zlNI4#7b{~ORNTvs$Dk(LO4Kahi+%ADZpP5kX3X#6Vq!1;l`|4opi3LUBQl!R z-fVMvLSHP0Zc)aM?e-j;p=4);IF z#09Yat5L9q0yR8^5$IXYVfDu-)RSam7#1&YcD^1sns~o$NCngG3)GDlt>|$73KopP z#4)J-WGU9cD>wsvE4fV9tf*vmyd9WH#ZA;!JEO8$UYR(6cq3{oy{niVuoxB~E`=J~ z>Zk{5g;AJ-F?bl8tG=qk{q`J+>hUxe8BMMUs1tpJ8iJLm6K=v-JcL>e)vK8?9*A1U zGf*d5f$F)9s8#YDwPBU0ZZ2FAb^bxNqcDZol}@HAnWv}=2GlTP-30p+cedlLs1qJQ zjrD0%mp((?So4}@`A)z}#NXQ9L?^LNpxMZRumW*ge5CcCL`Lg=KrM&$5Z7TVT*|iy z^~5Fg#@nbH_!sr$xq^&kQ4bJ|TCUMp1}C6;Vi{`k?zHPqpnCi!7T5ZJMdl<0#p;+b zzk=E*{zXm7{B_MF3PbIbV^BA^7_~M3j#Kdo4##ozO!=eJAWfJO%sXS!|8L%^dE3-6^EkcP9$n8pMfv%Kh$J@(aK@X!7x{Av&Ejq`xN-JF|*#$ z){K3A)NFU6=0HQ#H=r=o*uR6?sK%mh{6idudE1#)FdnsvmZJ8DwRZdz_28}??ak~g zi@HE{jKzA`2Nz>Ie2UsI!aA7s`#G*7{u!&FtE0K0^{BaV2(>TVLiJe1aMPo0QE$!5 z$Q*N71v{CoG#m?3(G@jTvDh0Yq7%1Viy4YQOM`FmVyo zJEJQ$z!O+l)70Z_a|6DpWmN_>hBZ)K+YI+&H`IDA*2Q#b0BWD8fx4llsQn-cH8e?B z5#L8GyKShU+l@N^S#jFsG)6x>DV3hx!-!R{?+9ky-imaMs;Ns)K(daRk16+ zgA;KZ{)$>wv)?g8=F!J=d12J&YNMXKB{IpZDAa3t9{S*3)cQZwhxM-u-lRZdECQif{{26urCjCthN1}#oFlu#t;3A_j zK8jkWS5Y6hkD4U8qfM9l<3{2JsC9b@HQQg|E({o8-t!kw8(G;HGyD5tG;t#8hEAeZ zL7iBK`_FT(PsxN)a0&Zk`8f0bo{D;neu|n4-=W?GS5Q4wc%XTrQmAEG7u6GUP+h$W z+u=!UjwRwv+#7okufa}Q|F6hs(u5B(T|XW*Sw6t_n2EZ~gz&C+dsKIn;Tq!TQd~w9Z4OKJg&b2QyK#b1Ujb&Z3^^8n(hhLyX-~ zFQety5wBnr1|^yuat3NBH=`!)LDXCtm1I6Y3x{i2{XoVO+YEJBUtl=uMsg;bmqjtu z81}+Q{0i0OJ}KsRz(myg{skvt^I_)q{{yIfq-Uy`lt)nKshj4oR^fbf?I+V{xOsWJ zM8?D#HNs&z@epbZuj5t>8fh+g8MQNZ9%WWR9BMhvLG65Aqs?zr6>P_&hUh2Mkles3 z=rM-%ugO(&jJZ%7^dg>%YPbmd;dXo%i;gw3em-h-?7;GP3^hdeQ1APa^!q<(O=Ga3*TqH=g3KR^kX3nNd0TO=PNBUUSmT6Ml_aZhv4MEHK^7 zkuWUJleEFQlnMcfpl1KD*=Ea~iCXtdQ0*QftI1{M z{lNUuDFW4n*{GeZ^c*uZp{Qlk9`&y1XO}0To@^9qa;?S!xC6DvAI2_t4g;|Ihh{$s z#{tBPu#ndOb223;@SbZXRVCD8EVTsgI%%20*Cw0@JXmH_giRA zR1wuv%~4Mnhq}S(wu>>G_*2wA@C-GX2Q6|~f8!Z+y-()IVu$|K|b_qb!J>5*_$ z7Y{`BNQNCRMP2X+p2u7G6CPYI{b+A`Uutf z4^k_Rilk%i9Isr;Rx$1&BppW$mLG8tdCd{^+Uuh-nXc3=BK4rI3(ld8-S~gU2jo5{ z{cM*sqb^4d)?YFit>asydv>K@Dp-9uk&bZk!%1C9A5qqyvNo#V=s;O%%6i#t)y-d% zXHL4mFKltQ;@d9vrhG2tH%ZOOk9OG~x=cZJ8jK`n@>?(M@~xBw6EktGBjhh(J$!v= zs7}+i3*|jgTlLo@eKFZgtk=6XBOP^Vqu2Qb%9F_J(EelnryusQhRRoVeiHc;q$$KD zFcTZtb=~a~>>*}{bsvpsqoWOuz(mRqldnKxA-VrLa*gtqcKhfYTz>?W`6%eDPja*% zUPWAzd^z%4NZO=wQKs#5J@HENPw`KDLef!|xC(i8Wd_##mlNm7FD0)dn|vziZ#zEh zE_FXY-)5;`^RoI=`6(&eU1@&Qqr4Z{=cI7z9^h8ghQfwv|AZhkT;V#m@ z)V+DMCpbfTiy5<9cSo7uWTUK>#{cP(GXDf@~t2c9PB z{hgSZ}&?~*Iop<;D0D^uL9ZWoD{;{T3+?feD1B$N85cG+9xbqv<{ z>piWbj9uBogjR?hJ80}rIz;(h{Kfuo3A>%pSL&stRO-sBfFqeS);`B9^4`=f!Mv2c zjql*cT7O5V(3|Tg3YuX!Nk7QSmKTLpObGy zSy8-C`|hM3q`ssW%5Lg|v7~=Ud>wOtGrdjaeBw8c=G5J_3+lXCLB162E8t~P1M)wT zd`ag?IzGgCI1BaV38z4kH+=~+u%QTUUhlwi=>nPp7O8XsC$R92;#kVn>*wikZzIwrLG%EM;z%WZ4PSu z=abn-gBa|Lm2d_P{=^QLld`jT0Cmi!{Pi(_vPZ829Af8-;ut&s#Fk$ztUaV@#MiJ0 z9^v;7>mI>uf=+hBsa#+#`SO%sB`qg;5SKz7&v80!o{@6dH**V5P?r<$yIV17v8w%< z`S=I%TNq9H-2U7j`u;bLiqUq%B;vxvrASZ6e~(je6+WWPWV>B)Y(%O?osM}p*<{^6 zAKLB85>=({3KmAET^>a~o8+3ok4~g>G? z4JYDt%Kc3fYc=tH(p>6vTqWfoEE@mOp`>Ps6} zL4N#4x=z79k|tz(l8(12KaUGA&|UKX|Cm8t2fKY|tWI2(q$AWe1vgN4!xUSS@QkT* zS?`nCZJ$8(g~-24`iAnEq(kKA*!3-_zfGC1%1L!8UqqRoKKRD5z|Ie(zBXwnX#?$- zUK@{7Tu$;P z-;TO8(kFJCew4pH9+3Z?@(CLM1cLko^)a1vmUM-9G3qE|TLi1y`S#Suldp)ckDu+j zz7$lVJdpGSc~8nWks1;QVG;W?%c*l6B;7`#FDmWPCaA$f~*X{WEfHb7t+|8k#ffan|E{j`~@5Zshc+t}8pkoZ$&W69y*4 zMDJg>e^s(GE^YY!mCoql2_vJOLzA6J$w_fThbL#0zSDAH?e-3TpRf_blT(H#BqfZE z3#?eDLR!|n+bhdtug&L3DYWodsv}=^!7`2;K9$0Bf>dWpbZWFSI?a8raYNIbv2o6U z+$?8`byVN9-)X6)^NroMyI94 zxf`nMRFj;vfAi3UP$??t}xOO6#9Q7XM%SC delta 17055 zcmZA72YgRg+{f{IjTng$d&Xbvy@Mk5-a>2=Nu(i5BDVgm+It11v^F(UrFKiv)~MAg zYL!lkqG)NK&-b32=ka>(tH=BN&OLXXb#Ic+`OW9@eIM_QJeihQZ2x7jtYVn2kY#1b zWLbXIRccw~n^@LatbqCO1^$aUnp)O!^lN5WU2p?F$LClOA2zovPGx0jVOe?6gTt^k zrs4)%X<1$?xTR(Fq~IFP##*f`>q9(>#WA9_WtG8+*c&&ZPHeZatRh$h{jmm4ks9u=NqBdpTV95@tD5PyYw zk_DYC>k?+{Ov`cn6?{qjjOK7!psQu&AsWO{EQ@PcV^Amf5_N*C-Oc_G^d(+~d2k)-!h2oMx&DlODE|+uVxJ!7Iy2ClnSv8! zvfyd-!Am#}ui6F^3+*i>tTpSPc7mBy-=3qvp)MxY)n z4vS$5F2#kYF;k&G?Vp28gZ`#sTg*z_6?0-AEQB%0Ls^qhC%%rl@K31YZAO;r=R#W9 z3P9apGVa7_s2i&{(6mGwRM$m&-Apo`ra-aotV5V(MdAQd#bc&g+!WN9SdO&5wF|GK-yn0t-e1XNq~HbW$zGu!`b3!Wyr?cJh}vHswZA6n zh8m-uyd~zx?zjerpvICfPf-c;U~>${;y4LwY5uPvqZ3?0HR+G&!GEy?mWVQa*BJFA z{ZK739Mw`2umLVa-RN0VQ{Tk;_z)Xog~67U9b-^kIvk5}eQORGU3d#>8hwE}(G?8D zUtRs8&5c!a?SirFABH9I1{Of;ZPUjEu?%4lHo|_$FtAo2yXs&PdjWIWH44o5U zQOd0$<_3zP22*1Uzz__^Bpi>sume^bYFX=X9O?lAxw|P?3%lSx)R@Q?X9jx!dR4J3 z88vlX48oqMrk(4SuW`$dVtLA+qq@QqZ&4CH1Y4<*c;R|GZTD^yvK0kM17YhY%af*SoZF)J>{+_(xgnzy66;54?y z!dy))6@i&>HfF~Kt}8JI@kTEhop2B81`cBwUdDl{o zL0e|DX^GaT6GveI9Emq^F4n{NF}%odBR0|eA2!y^=iR6$IPCg0>I7FX4?aW<(hTEF ziv(g};zn-V6LS$KxlY22#0ya^w-o2&M$`k>W9s;8{&ymyrVc|j%`8-fG;D}pqE6uR zj+ws&F`9S;vNTvXP+icHbE#{3qsB@&YF!zM0XP*4;(F9)}l_7hHCN)s2hBW8VfZT$#rlnR>NJW8@Y{L@ORW;ZaB$|{$}XSM?o|h z&C_wHdAb#~a(#zE_!>)M?a9Va*HJi#@)a1RdKiWgtUCSiIQGH7cUgRJJgNnPraI%( z>NJ)152oM*1-ek?Y32*3Ax02SbK~EU8EOShHy@o_a1L>c8K!G4pvK6L=!1Wuy5u#g z<@{$FOJX778mI?uHm`$&%+h)0Nj^Yz$!^rTa1x8+H>fANk0Ve+ zIT1#p2H7vD^JHAWs~K~m;-;wm9ncq}F$*SRD0;_|=|JWJYJQejXj-Hf>d6n`7`%oh zFm#cb9V1YEIU56U9ja+hqHgRKmcy=#&5}GCGZXK^+_)EM8LxGUj85dY#Poe>%tM@j z{x}JB$BR)du@dz}`>-@#L_d6il`!*C%W8%-unZ2zoVWsYp3SKGyD*zN{V*Bb(J6c% zzehFQs8ln3CZpmxm=~9!Ztx@20(1oP35zQRhp;>vP*3<6)g?KWvlw9?EQCK{KKu`L!}(U2F;WI~!K&B;o1o6O6ffdOxCSS@XUa>i zG&fcky#?6On#?CS0FyEQD)Xc>P&c#+)%Txb9sC|EV=kIYecuq(v;$F18;zrIIO;|o zxcf7%HVd4uYvI+jzg{-wC{W+k!4M2b9@5%_y|D8d(}$Z-C)|tbf-|VTy@f&e5Orf^ zKQI>xLDdg;9f{e9=b(;D{lIJ9Y8xm}OI$yJe+0o7tNu>`KcEO-<<;3+JJ`9Ct}X@t)Ae>*a|Ks0Ka zC1NF<;kpMa5Z}h?=)29V=?zhRJOMRkRv`o3+J=7EVY@j`Z|p(*E@sASxCn1!4#uCA zvcrtt$=HQ>Kej{Po&3;%p%{T_*cJ=!a(>3J!f_n&R~U+|cbnJo``D4#PP44(*xB_8 z#t?^pY#!um^s4Dzk!gbk_prKQ7dH+QpY`>5GSH*7o%sd~8NyNudO5J%aU#Lywxb;e71HjoF`>!P)0?^MGT#Wb|aISRN0cp5!jl zt=8{Y8&@4;O~4DN7OQ#Oysq10PvR-4^IS)siJxN4Y?^>-$wL^7S5XgG_=FiN-VS7% zP_P3v>K~y_RP3Z#V47fN;!&6#-@!aM19hR5m>Y|oGD~h1tVi4cH7kZ=9h`!Fa6b;f z{9iiL*lP_ZlZ}G8s1q$iU)=1L@4?cbX#`5?p zs)h2LH9vfoL3L3G*2S%^KVq;hSo9np1=t5?;2QMBir<*ma1g4`+hIYBz??W1b)z$} zHLk!Iyo3F*!+B>ISX*!capDDj8p6le5T{(^fpw>!ktvCn&-BZxoNuW z>`mG~mV%cQsP6{fGEY7aBZ)u3>R9x)`O@itS-8;zRLhLKW0vfN*q-=DT!qzsqz<0J z5NveUTyOzuEF8q*n9qC9d^Fa?%oNncu{r=p;HNkhtN&zv^|}||B7W;Sr z-^D;&i0YC(m>0i7jh!1<4F5va_vZb@3@#6Mc9^l=TTi(^lzphrs5W0T>wVjunmCg2AX%y_vW;;K#4bE;m3&mz^ zL-{GxDD`KN(47aM`mh>mu(osKcvQ>GKt0H6*MnGq_qd$(v!Z;6OakE=qAg8%-dDH{6!hF~h!!g!N zMi)4Xy5K$3JWb7IJ1>iv$tVuswdGh6PXE@=6iK8{0m)o5&iUR0MIN8R9Q z?2SL6uH$Wz$24g#EI~msCgCEaj^&fr+;O3Nww00cDySByfw?f)E$@W7(QfYk2+T{I zh`OOEZafnMh~GzEfL`kmnXDAd&Tl)POiNIAeh$@_`3l(1idO@5fml@ec&vsiuqu9q z>bjSx3j`LlowsCDRFikXCK!e4vJIG9^J5>Gjud=}S~v<8vYnMK0riAquqe(%ooIu* z{{ZRdIO@r2@z=(3*bNnrapUEvQT`cfl;1?HbarvuT7lhh06xTR*onV-dNl}Mky(!U zSmr`-J8FT*;4!1TC}t-vgMnBbb)zAu7FdX7a052P)7SvBl{7cn64gR+s0UqvwNPf!9rdYbPSrG^0DB|<3?aG*X$51yO zSk`tva$90u;$dZ(|5|7^Q&1EC#OYY3oS7cmu{!Yyd>@~q7Mi8y&2;++2NCZ>^=;7# zW@RjeIf*Nxrd@s11BGBHzJn2X*-NIGDpa(c*XcOa!ZHyx*k++lvg%=` zhW*|6Fls%xfEtuHQ7xLKs=2W)sOdZl%i=fa!RN?=#?OD%Z0GyF8a`!5chmuG`FePQ zbFn2(s$p8-6l$ryh`R7?)D!>V>QmF)cmQhJw!r|5M76+V)Pt;X_A~!JCZneQ2DQZA z!?XAb)z@FwG7H9S)L?vq8a(A|n-wz*b%PU7$DhD4_ybPCUUkfL{sFbWTaXz$F;eqC zg^ccKB5HapK|Rq)H@=BIi2du@&d-3+sQM={D_+A=co)?&S?if~pa5#r*G4UHJyGXb zk5%v=^lAyMP~Qxe-q?>g0yE=L)T}sxT2NkMBP{xsIYDpKg{PtB`&Kvp+10m!*S?s>t(aAq3!%H6_pyXk{&)-9VsHnuPE5zr#4m9p26Qy9;S;DEdWae$IXbzo zaa2piA}#5)=8@6Mp+aXfxI$4Mmy5A5zK4Br4|>qQi|zc%wI-^omZ4f=7phOcL=T=v zUFc72g893e^&%7%N8l(8$8}_aC@9{|^jUY*4Md}+Q@mR~4%M{t@CdF)wNzAyY0_cn zPdpBFLvvB{eFLf`4q+L*hFY5K?tFP^I{1>&U@42bk@~1eN_k58~FHtuV>Bp%g8^Dq~t_GSK0C9{zN9ay!WY4Yx< zrXGZ9%2B8lZ$9d!v<|gUoyA>PslS;{KcKp-`vBAAgHXp!Kt1_lY=j$7uj9J|nE!gh zTm#Ku@}MqQAJs=)Q3v+Lh8Tx>S8Q?1k6;|}dDM+H4l@^wK~3NBI0O%31eOao=bwcd z8*9B}G(GmC-s3k=eO!2u8B}#pH`D|*MtWfp9Ew|TDi*^U5oWY^!u`aTS6L!|@>MhP(k$=96g>)}i1ZY>G7oo24}w_1?aO>f?Vts~Z-$XU_6KsnCZ<`x?8;QNvRx-WV@eDg*rx-J6R-u~yG-|Niz;^ft>IUl%F{64c zs)eSYrsGP~g*TyY_#o;$*HA6{z%9=epUE8;-#5P%B@j(dH+sSl8pI zE-E&L`L8~yKE}K>I-mwu3Tm*-LoLPMqw3wlf%pn1V85|u)c=5*9o9HAoARQ%s4i;3 z8H8FFkaDV}5=)*?=uVW#uXsC6N1rWusuu|M%~tc-!P%N2a~k zxtWWR2SSut>wj2ZRhubVYroe z530$-mzlnfL$%aQ)Dvz)-QYRb+t`u#3C3g7<;;K0-<@Rs#NsP#=YKfJ{hsaox_u?K zr@ZY-(;`byO}rh|BG=sbN7My#ud=PHSQ9T{j`z(^&v!7HIPYrHb<@y8ymB@3Ka|WN z3e=bR)|jO-5DO8v#xpjf7@uO*4{d8@27Xb!&UStmd~}1Eb`>|;&R@qD;&F~Ey~!-W zzhZ6Tpv`7h48^|0cX1y!*}}Z;P39%5K?sIyHSd6p_<-2wBl84LaSCynZDt|af>nsG zqMj`4cC+A&!%D;(u{t+=5w!wl+G#Evh*}xnK`rgiykyh`TX&fY7uszuI1+W@O{f*I zSep6$KoDx)H$W{YO;IO2gj!f?e{6omdH^-Zg7=uN8jTt&6HzTa2Q}-w?~%z$W;d!& z51=X@L(S83sA+Tyb>WAY7oVYCuh~8^$CXE&r#fcG`sjx(Fe7$F8pMj%KWsY3$qdZD z31o6o*n@u68r>Q{B6XqcU*d1b+vLY$`u3}P62*_x3sEhxkaXOwyN`O`x^URzz_k4g1S==?j_OTkT2<2MSGy-i|FI!*r```_F?CphmG>~K&1=KdtgN|R2K zG=}oK$Lo!#x2nGTy1U1D^RV-6f+BBR{Atq7Jk7f47e8*XDR+vyoV@=o4<42B)@RBz@)$bZ*LA-}%K;YYH`|pKxFYT!?&UIGaW^ z?;&Rm*h@Z)^o;%5_F^ISt;b)9Be4pp1L=E`rm41h2s_n<*g{2O47EMco6wEhHxJtt<0JAVu8nSLUi;?`49 z3Aem7WtB-j>i-)Qe#e2@Yzixp+L0y^KXA(n5g&H*e4#l%B~Qa~lxvaFc7fD|_!m<8 zmV-K<5TC~FZlTAOSBZ5(^FN7#<^)<6was@=P}GE0UiNJu--r}K3MZW=9irYn)K-)_ z7f7YaPj^cAQ!M*CX&-9kEQ!acGlQgU0`XvX{5k(iG;d97CWYzS9b#T|Rz1o-$6D+t zMgDL60Cy`liC2c@{meaRy<15GvMq@h zp0icK>7?dF$2f@ZQ)jz{gjOG{r3_nn^3O5at@9LpNKGiaPn}_;Z%GT?{S^p9m zK2p;+e&DepNRQZ`zWqV|`&c*9EB9{-mb(?I5~rot#C#k)3frOH+XJZggnSEp$2~^X zUy+)Uej@$;MmeFiXwmIjdA)NeJxf%Oqi2$4xV65*XOx$r>|av)Ho?vFjc8ST)_>l6;*;I>#CySkPC zuNGe~i*Qe`teMD)~hwc}oGwjUfR#bT=;`gvJeoE4| zkNt_{|0MqqtCRXrcFjF52{X9)AFwg|&$;noj(JYJ8{b9ssk6-{*h~tf;zTS=DoFkt z_O>A3)l{<@QdU!mvKpjFw_MaGUYj0Mrz!Dp)K-C1opjiZRi-UGj7r*mBYi@uMuls* zi==H5@iNk4x1P%UNLeYXL|H2pu-zigOuU)=V)84nDK2+9Ihbg?dxrC_-PrpxN!t?A zZDxGV zEOB?L`QzMujVL?o=7aE0V*U0^TTRkAQmT90686_4KOK8u9lXT;ffz#C!zWI@F;O@_o zUZ|%GX2%aWo;1+i@en_C^ZDF^6yB!pl{eysl*PMo7xJDr_Vp)Ug8G>#AB!7^qwpC? z+aZ$ofqTGjSlrFer@|`oLrIUQG>kYx``iO(knKzUJ51l2us@tMo3xU`*Vv6Z#Yopk zTil8o)sxv*ocOBxzZnJT+wWvv5eHCV0r>(ro-~?No;1#_Sjn{|b+3@$!@lYyZJAxC zvhPdMOX6zyw%KicPri&>$C>2(Fl#NM;4)6b$vB8Kmo$-s2H<|m|0VrH`u|%w_6NF! z3&=O8&R?kQBhpUtpHuc9X&Y%ZWw-GtrY|y9MhdjGBb6u3C*7s&FVf$fpaF3%w+>lr zHTfcxkHjljfz-?0Ulk7$@1Wi`JVWeHIzs#qey`FgJR;NJgN~Fl@v{t z@Yq<-=!BFc_lTHyj;T?3QQx7x(vA-C?i`(!TOEh;WyM3g5bJ|#IS(m6UN*%K8X zJ}5RSvTE8F<0Jjkn$7zq)1o?y4>`AUXL0VLi(2fgnU-f~lZvH}6S`icA?36Cat7nlQ*NPu-VjSJ_K=FXLd& zoc=`0#>9n3N5xh4@Epm>PG?m1L?*-?+ZG>_P~F4TO$ARv3dNp?V`-5w(Fx9ht&+my mI28|_#FIviiik})wk, 2022 # Fabio Fava , 2023 -# +# msgid "" msgstr "" -"Project-Id-Version: WP Rocket 3.14.4\n" +"Project-Id-Version: WP Rocket 3.15\n" "Report-Msgid-Bugs-To: http://wp-rocket.me/\n" -"POT-Creation-Date: 2023-08-07 15:45-0400\n" +"POT-Creation-Date: 2023-08-28T12:32:53+03:00\n" "PO-Revision-Date: 2019-08-26 15:14+0000\n" "Last-Translator: Fabio Fava , 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/wp-media/teams/18133/pt_BR/)\n" @@ -368,7 +368,7 @@ msgid "Settings" msgstr "Configurações" #: inc/admin/admin.php:96 inc/admin/admin.php:118 inc/deprecated/3.5.php:898 -#: inc/Engine/Cache/AdminSubscriber.php:133 +#: inc/Engine/Cache/AdminSubscriber.php:134 msgid "Clear this cache" msgstr "Limpar este cache" @@ -403,17 +403,17 @@ msgstr "" msgid "Settings imported and saved." msgstr "Configurações importadas e salvas." -#: inc/admin/options.php:84 inc/Engine/Admin/Settings/Page.php:708 +#: inc/admin/options.php:84 inc/Engine/Admin/Settings/Page.php:684 msgid "Excluded CSS Files" msgstr "Arquivos CSS Excluídos" -#: inc/admin/options.php:85 inc/Engine/Admin/Settings/Page.php:862 +#: inc/admin/options.php:85 inc/Engine/Admin/Settings/Page.php:838 msgid "Excluded Inline JavaScript" msgstr "JavaScript Inline Excluído" -#: inc/admin/options.php:86 inc/Engine/Admin/Settings/Page.php:880 -#: inc/Engine/Admin/Settings/Page.php:913 -#: inc/Engine/Admin/Settings/Page.php:960 +#: inc/admin/options.php:86 inc/Engine/Admin/Settings/Page.php:856 +#: inc/Engine/Admin/Settings/Page.php:889 +#: inc/Engine/Admin/Settings/Page.php:936 msgid "Excluded JavaScript Files" msgstr "Arquivos JavaScript Excluídos" @@ -484,10 +484,10 @@ msgid "LazyLoad for iframes/videos" msgstr "LazyLoad para iframes/vídeos" #: inc/admin/ui/meta-boxes.php:105 -msgid "Minify/combine CSS" -msgstr "Minificar/combinar o CSS" +msgid "Minify CSS" +msgstr "Minificar o CSS" -#: inc/admin/ui/meta-boxes.php:106 inc/Engine/Admin/Settings/Page.php:760 +#: inc/admin/ui/meta-boxes.php:106 inc/Engine/Admin/Settings/Page.php:736 msgid "Remove Unused CSS" msgstr "Remover CSS não utilizado" @@ -501,7 +501,7 @@ msgstr "Minificar/combinar o JS" msgid "CDN" msgstr "CDN" -#: inc/admin/ui/meta-boxes.php:109 inc/Engine/Admin/Settings/Page.php:789 +#: inc/admin/ui/meta-boxes.php:109 inc/Engine/Admin/Settings/Page.php:765 msgid "Load CSS asynchronously" msgstr "Carregar o CSS de forma assíncrona" @@ -509,17 +509,17 @@ msgstr "Carregar o CSS de forma assíncrona" msgid "Defer JS" msgstr "Adiar o JS" -#: inc/admin/ui/meta-boxes.php:111 inc/Engine/Admin/Settings/Page.php:931 +#: inc/admin/ui/meta-boxes.php:111 inc/Engine/Admin/Settings/Page.php:907 msgid "Delay JavaScript execution" msgstr "Atrasa a execução do JavaScript" #. translators: %s is the name of the option. -#: inc/admin/ui/meta-boxes.php:117 +#: inc/admin/ui/meta-boxes.php:130 msgid "Activate first the %s option." msgstr "Ative primeiro a opção %s." #. translators: %1$s = opening strong tag, %2$s = closing strong tag. -#: inc/admin/ui/meta-boxes.php:133 +#: inc/admin/ui/meta-boxes.php:146 msgid "" "%1$sNote:%2$s None of these options will be applied if this post has been " "excluded from cache in the global cache settings." @@ -803,20 +803,6 @@ msgstr "Reinstalar a versão %s" msgid "%s Update Rollback" msgstr "Reversão da Atualização %s" -#: inc/classes/logger/class-logger.php:260 -#: inc/classes/logger/class-logger.php:292 -msgid "The log file does not exist." -msgstr "O arquivo de registro não existe." - -#: inc/classes/logger/class-logger.php:266 -#: inc/classes/logger/class-logger.php:298 -msgid "The log file could not be read." -msgstr "Não foi possível ler o arquivo de registro." - -#: inc/classes/logger/class-logger.php:285 -msgid "The logs are not saved into a file." -msgstr "Os registros não foram salvos em um arquivo." - #. translators: %1$s = missing tags; #: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151 msgid "" @@ -1053,7 +1039,7 @@ msgid "Add URL" msgstr "Adicionar URL" #: inc/deprecated/deprecated.php:1245 -#: inc/Engine/Admin/Settings/Settings.php:452 +#: inc/Engine/Admin/Settings/Settings.php:451 msgid "Settings saved." msgstr "Configurações salvas." @@ -1275,7 +1261,7 @@ msgid "%1$d %2$s optimized." msgstr "%1$d %2$s otimizado." #. translators: %1$s = , %2$s = , %3$s = , %4$s = . -#: inc/Engine/Admin/DomainChange/Subscriber.php:158 +#: inc/Engine/Admin/DomainChange/Subscriber.php:143 msgid "" "%1$sWP Rocket:%2$s We detected that the website domain has changed. The " "configuration files must be regenerated for the page cache and all other " @@ -1286,7 +1272,7 @@ msgstr "" "páginas e todas as outras otimizações funcionem como esperado. %3$sSaiba " "mais%4$s" -#: inc/Engine/Admin/DomainChange/Subscriber.php:186 +#: inc/Engine/Admin/DomainChange/Subscriber.php:171 msgid "Regenerate WP Rocket configuration files now" msgstr "Regenerar os arquivos de configuração do WP Rocket agora" @@ -1450,13 +1436,12 @@ msgstr "Otimizar CSS e JS" #. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP #. Rocket”. #: inc/Engine/Admin/Settings/Page.php:611 -#: inc/Engine/Admin/Settings/Page.php:637 msgid "" "%1$s Minification is currently activated in Autoptimize. If" -" you want to use %2$s’s minification, disable those options in Autoptimize." +" you want to use %2$s’s minification, disable this option in Autoptimize." msgstr "" -"No momento a Minificação %1$s está ativada no Autoptimize. " -"Se deseja usar a minificação do %2$s, desabilite esta opção no Autoptimize." +"%1$s A Minificação está ativa no momento no Autoptimize. Se" +" deseja usar a minificação do , desative esta opção no Autoptimize.%2$s" #: inc/Engine/Admin/Settings/Page.php:621 msgid "CSS Files" @@ -1466,6 +1451,16 @@ msgstr "Arquivos CSS" msgid "JavaScript Files" msgstr "Arquivos JavaScript" +#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP +#. Rocket”. +#: inc/Engine/Admin/Settings/Page.php:637 +msgid "" +"%1$s Minification is currently activated in Autoptimize. If" +" you want to use %2$s’s minification, disable those options in Autoptimize." +msgstr "" +"No momento a Minificação %1$s está ativada no Autoptimize. " +"Se deseja usar a minificação do %2$s, desabilite esta opção no Autoptimize." + #: inc/Engine/Admin/Settings/Page.php:642 msgid "" "If you have problems after activating this option, copy and paste the " @@ -1510,18 +1505,16 @@ msgstr "" "tamanho do arquivo." #: inc/Engine/Admin/Settings/Page.php:677 -#: inc/Engine/Admin/Settings/Page.php:701 -#: inc/Engine/Admin/Settings/Page.php:765 +#: inc/Engine/Admin/Settings/Page.php:741 +#: inc/Engine/Admin/Settings/Page.php:807 #: inc/Engine/Admin/Settings/Page.php:831 -#: inc/Engine/Admin/Settings/Page.php:855 msgid "This could break things!" msgstr "Isto poderia quebrar coisas!" #: inc/Engine/Admin/Settings/Page.php:678 -#: inc/Engine/Admin/Settings/Page.php:702 -#: inc/Engine/Admin/Settings/Page.php:766 +#: inc/Engine/Admin/Settings/Page.php:742 +#: inc/Engine/Admin/Settings/Page.php:808 #: inc/Engine/Admin/Settings/Page.php:832 -#: inc/Engine/Admin/Settings/Page.php:856 msgid "" "If you notice any errors on your website after having activated this " "setting, just deactivate it again, and your site will be back to normal." @@ -1533,43 +1526,14 @@ msgstr "" msgid "Activate minify CSS" msgstr "Ativar minificar o CSS" -#: inc/Engine/Admin/Settings/Page.php:684 -msgid "Combine CSS files (Enable Minify CSS files to select)" -msgstr "" -"Combinar os arquivos CSS (Ative Minificar os arquivos CSS pra " -"selecionar)" - -#. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:686 -msgid "" -"Combine CSS merges all your files into 1, reducing HTTP requests. Not " -"recommended if your site uses HTTP/2. %1$sMore info%2$s" -msgstr "" -"Combinar o CSS mescla todos os seus arquivos em 1, reduzindo as requisições " -"HTTP. Não recomendamos se o seu site usa HTTP/2. %1$sMais informações%2$s" - -#. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:687 -msgid "" -"For compatibility and best results, this option is disabled when Remove " -"unused CSS is enabled." -msgstr "" -"Para compatibilidade e melhores resultados, esta opção fica desativada " -"quando a Remoção do CSS não usado está ativa." - -#: inc/Engine/Admin/Settings/Page.php:703 -msgid "Activate combine CSS" -msgstr "Ativar Combinar o CSS" - -#: inc/Engine/Admin/Settings/Page.php:709 +#: inc/Engine/Admin/Settings/Page.php:685 msgid "" -"Specify URLs of CSS files to be excluded from minification and concatenation" -" (one per line)." +"Specify URLs of CSS files to be excluded from minification (one per line)." msgstr "" -"Especifique URLs de arquivos CSS a serem excluídos da minificação e " -"concatenação (um por linha)." +"Especifique os URLs dos arquivos de CSS a serem excluídos da minificação (um" +" por linha)." -#: inc/Engine/Admin/Settings/Page.php:710 +#: inc/Engine/Admin/Settings/Page.php:686 msgid "" "Internal: The domain part of the URL will be stripped " "automatically. Use (.*).css wildcards to exclude all CSS files located at a " @@ -1580,7 +1544,7 @@ msgstr "" "em um caminho específico." #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:712 +#: inc/Engine/Admin/Settings/Page.php:688 msgid "" "3rd Party: Use either the full URL path or only the domain " "name, to exclude external CSS. %1$sMore info%2$s" @@ -1588,12 +1552,12 @@ msgstr "" "Terceiros: Use o caminho completo do URL ou apenas o nome " "do domínio, para excluir CSS externo. %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:725 -#: inc/Engine/Admin/Settings/Page.php:747 +#: inc/Engine/Admin/Settings/Page.php:701 +#: inc/Engine/Admin/Settings/Page.php:723 msgid "Optimize CSS delivery" msgstr "Otimizar a entrega do CSS" -#: inc/Engine/Admin/Settings/Page.php:730 +#: inc/Engine/Admin/Settings/Page.php:706 msgid "" "Optimize CSS delivery eliminates render-blocking CSS on your website. Only " "one method can be selected. Remove Unused CSS is recommended for optimal " @@ -1604,7 +1568,7 @@ msgstr "" "recomendado para um desempenho ótimo, mas limitado aos usuários com uma " "licença ativa." -#: inc/Engine/Admin/Settings/Page.php:730 +#: inc/Engine/Admin/Settings/Page.php:706 msgid "" "Optimize CSS delivery eliminates render-blocking CSS on your website. Only " "one method can be selected. Remove Unused CSS is recommended for optimal " @@ -1615,7 +1579,7 @@ msgstr "" "recomendado para um desempenho ótimo." #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:740 +#: inc/Engine/Admin/Settings/Page.php:716 msgid "" "Optimize CSS Delivery features are disabled on local environments. %1$sLearn" " more%2$s" @@ -1624,7 +1588,7 @@ msgstr "" "locais. %1$sSaiba mais%2$s" #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:763 +#: inc/Engine/Admin/Settings/Page.php:739 msgid "" "Removes unused CSS per page and helps to reduce page size and HTTP requests." " Recommended for best performance. Test thoroughly! %1$sMore info%2$s" @@ -1633,15 +1597,15 @@ msgstr "" "as requisições HTTP. Recomendado para melhor desempenho. Teste " "extensivamente! %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:767 +#: inc/Engine/Admin/Settings/Page.php:743 msgid "Activate Remove Unused CSS" msgstr "Ativa a remoção do CSS não usado" -#: inc/Engine/Admin/Settings/Page.php:773 +#: inc/Engine/Admin/Settings/Page.php:749 msgid "CSS safelist" msgstr "Lista de CSS seguro" -#: inc/Engine/Admin/Settings/Page.php:774 +#: inc/Engine/Admin/Settings/Page.php:750 msgid "" "Specify CSS filenames, IDs or classes that should not be removed (one per " "line)." @@ -1650,7 +1614,7 @@ msgstr "" "removidos (um por linha)." #. translators: %1$s = plugin name. -#: inc/Engine/Admin/Settings/Page.php:792 +#: inc/Engine/Admin/Settings/Page.php:768 msgctxt "WP Critical CSS compatibility" msgid "" "Load CSS asynchronously is currently handled by the %1$s plugin. If you want" @@ -1661,19 +1625,19 @@ msgstr "" " WP Rocket, desative o plugin %1$s." #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:794 +#: inc/Engine/Admin/Settings/Page.php:770 msgid "" "Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s" msgstr "" "Gera o CSS do caminho crítico e carrega o CSS de forma assíncrona. %1$sMais " "informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:800 +#: inc/Engine/Admin/Settings/Page.php:776 msgid "Fallback critical CSS" msgstr "CSS crítico opcional" #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:802 +#: inc/Engine/Admin/Settings/Page.php:778 msgid "" "Provides a fallback if auto-generated critical path CSS is incomplete. " "%1$sMore info%2$s" @@ -1681,22 +1645,22 @@ msgstr "" "Fornece uma opção se o caminho de CSS crítico gerado automaticamente estiver" " incompleto. %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:817 +#: inc/Engine/Admin/Settings/Page.php:793 msgid "Minify JavaScript files" msgstr "Minificar os arquivos JavaScript" -#: inc/Engine/Admin/Settings/Page.php:818 +#: inc/Engine/Admin/Settings/Page.php:794 msgid "" "Minify JavaScript removes whitespace and comments to reduce the file size." msgstr "" "Minificar o JavaScript remove os espaços em branco e comentários para " "reduzir o tamanho do arquivo." -#: inc/Engine/Admin/Settings/Page.php:833 +#: inc/Engine/Admin/Settings/Page.php:809 msgid "Activate minify JavaScript" msgstr "Ativar minificar o JavaScript" -#: inc/Engine/Admin/Settings/Page.php:838 +#: inc/Engine/Admin/Settings/Page.php:814 msgid "" "Combine JavaScript files (Enable Minify JavaScript files to select)" msgstr "" @@ -1704,7 +1668,7 @@ msgstr "" "para selecionar)" #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:840 +#: inc/Engine/Admin/Settings/Page.php:816 msgid "" "Combine JavaScript files combines your site’s internal, 3rd party and inline" " JS reducing HTTP requests. Not recommended if your site uses HTTP/2. " @@ -1715,7 +1679,7 @@ msgstr "" "%1$sMais informações%2$s" #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:841 +#: inc/Engine/Admin/Settings/Page.php:817 msgid "" "For compatibility and best results, this option is disabled when delay " "javascript execution is enabled." @@ -1723,12 +1687,12 @@ msgstr "" "Para compatibilidade e melhores resultados, esta opção está desativada " "quando a execução retrasada de javascript estiver ativa." -#: inc/Engine/Admin/Settings/Page.php:857 +#: inc/Engine/Admin/Settings/Page.php:833 msgid "Activate combine JavaScript" msgstr "Ativar combinar o JavaScript" #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:864 +#: inc/Engine/Admin/Settings/Page.php:840 msgid "" "Specify patterns of inline JavaScript to be excluded from concatenation (one" " per line). %1$sMore info%2$s" @@ -1736,7 +1700,7 @@ msgstr "" "Especifique padrões de JavaScript inline a serem excluídos da concatenação " "(um por linha). %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:881 +#: inc/Engine/Admin/Settings/Page.php:857 msgid "" "Specify URLs of JavaScript files to be excluded from minification and " "concatenation (one per line)." @@ -1744,7 +1708,7 @@ msgstr "" "Especifique URLs de arquivos JavaScript a serem excluídos da minificação e " "concatenação (um por linha)." -#: inc/Engine/Admin/Settings/Page.php:882 +#: inc/Engine/Admin/Settings/Page.php:858 msgid "" "Internal: The domain part of the URL will be stripped " "automatically. Use (.*).js wildcards to exclude all JS files located at a " @@ -1755,7 +1719,7 @@ msgstr "" "localizados em um caminho específico." #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:884 +#: inc/Engine/Admin/Settings/Page.php:860 msgid "" "3rd Party: Use either the full URL path or only the domain " "name, to exclude external JS. %1$sMore info%2$s" @@ -1763,12 +1727,12 @@ msgstr "" "Terceiros Use o caminho completo do URL ou apenas o " "domínio, para excluir JS externo. %1$sMais Informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:900 +#: inc/Engine/Admin/Settings/Page.php:876 msgid "Load JavaScript deferred" msgstr "Adiar o carregamento do JavaScript" #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:902 +#: inc/Engine/Admin/Settings/Page.php:878 msgid "" "Load JavaScript deferred eliminates render-blocking JS on your site and can " "improve load time. %1$sMore info%2$s" @@ -1777,7 +1741,7 @@ msgstr "" "seu site e pode melhorar o tempo de carregamento. %1$sMais informações%2$s" #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:915 +#: inc/Engine/Admin/Settings/Page.php:891 msgid "" "Specify URLs or keywords of JavaScript files to be excluded from defer (one " "per line). %1$sMore info%2$s" @@ -1786,7 +1750,7 @@ msgstr "" "do atraso (um por linha). %1$sMais informações%2$s" #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:933 +#: inc/Engine/Admin/Settings/Page.php:909 msgid "" "Improves performance by delaying the loading of JavaScript files until user " "interaction (e.g. scroll, click). %1$sMore info%2$s" @@ -1794,11 +1758,11 @@ msgstr "" "Melhora o desempenho atrasando o carregamento dos arquivos JavaScript até a " "interação com o usuário (como rolar ou clicar) %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:942 +#: inc/Engine/Admin/Settings/Page.php:918 msgid "One-click exclusions" msgstr "Exclusões de um clique" -#: inc/Engine/Admin/Settings/Page.php:943 +#: inc/Engine/Admin/Settings/Page.php:919 msgid "" "When using the Delay JavaScript Execution, you might experience delay " "loading elements located in the viewport that need to appear immediately - " @@ -1808,7 +1772,7 @@ msgstr "" " carregamento dos elementos localizados na área de visualização que deveriam" " aparecer imediatametne - por exemplo slider, header e menu." -#: inc/Engine/Admin/Settings/Page.php:944 +#: inc/Engine/Admin/Settings/Page.php:920 msgid "" "If you need instant visibility, click below on files that should NOT be " "delayed. This selection will help users interact with the elements straight " @@ -1818,7 +1782,7 @@ msgstr "" "devem ser atrasados. Esta seleção irá ajudar os usuários a interagirem com " "os elementos imediatamente." -#: inc/Engine/Admin/Settings/Page.php:961 +#: inc/Engine/Admin/Settings/Page.php:937 msgid "" "Specify URLs or keywords that can identify inline or JavaScript files to be " "excluded from delaying execution (one per line)." @@ -1826,24 +1790,24 @@ msgstr "" "Especifique URLs ou palavras-chave que podem identificar arquivos inline ou " "JavaScript a serem excluídos do adiamento da execução (um por linha)." -#: inc/Engine/Admin/Settings/Page.php:993 +#: inc/Engine/Admin/Settings/Page.php:969 msgid "Media" msgstr "Mídia" -#: inc/Engine/Admin/Settings/Page.php:994 +#: inc/Engine/Admin/Settings/Page.php:970 msgid "LazyLoad, image dimensions" msgstr "LazyLoad, dimensões da imagem" -#: inc/Engine/Admin/Settings/Page.php:1003 +#: inc/Engine/Admin/Settings/Page.php:979 msgid "Autoptimize" msgstr "Autoptimize" -#: inc/Engine/Admin/Settings/Page.php:1048 +#: inc/Engine/Admin/Settings/Page.php:1033 msgid "LazyLoad" msgstr "LazyLoad" #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:1051 +#: inc/Engine/Admin/Settings/Page.php:1036 msgid "" "It can improve actual and perceived loading time as images, iframes, and " "videos will be loaded only as they enter (or about to enter) the viewport " @@ -1855,7 +1819,7 @@ msgstr "" " Informações%2$s" #. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names. -#: inc/Engine/Admin/Settings/Page.php:1058 +#: inc/Engine/Admin/Settings/Page.php:1043 msgid "" "LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s " "LazyLoad, disable this option in %2$s." @@ -1863,12 +1827,12 @@ msgstr "" "No momento o LazyLoad do %2$s está ativo. Se deseja usar o LazyLoad do WP " "Rocket, desative esta opção no %2$s." -#: inc/Engine/Admin/Settings/Page.php:1061 +#: inc/Engine/Admin/Settings/Page.php:1046 msgid "Image Dimensions" msgstr "Dimensões da imagem" #. translators: %1$s = opening tag, %2$s = closing tag. -#: inc/Engine/Admin/Settings/Page.php:1064 +#: inc/Engine/Admin/Settings/Page.php:1049 msgid "" "Add missing width and height attributes to images. Helps prevent layout " "shifts and improve the reading experience for your visitors. %1$sMore " @@ -1878,12 +1842,12 @@ msgstr "" "mudanças de layout e melhora a experiência de leitura para os seus " "visitantes %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:1083 +#: inc/Engine/Admin/Settings/Page.php:1068 msgid "Enable for images" msgstr "Habilitar para imagens" #. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names. -#: inc/Engine/Admin/Settings/Page.php:1095 +#: inc/Engine/Admin/Settings/Page.php:1080 msgid "" "LazyLoad for images is currently activated in %2$s. If you want to use " "%1$s’s LazyLoad, disable this option in %2$s." @@ -1891,6 +1855,10 @@ msgstr "" "No momento o LazyLoad para imagens do %2$s está ativo. Se deseja usar o " "LazyLoad de %1$s, desative esta opção no %2$s." +#: inc/Engine/Admin/Settings/Page.php:1088 +msgid "Enable for CSS background images" +msgstr "Ativar para as imagens de fundo do CSS" + #: inc/Engine/Admin/Settings/Page.php:1103 msgid "Enable for iframes and videos" msgstr "Habilitar para iframes e vídeos" @@ -1922,12 +1890,12 @@ msgstr "Imagens e iFrames excluídos" #. translators: %1$s = opening tag, %2$s = closing tag. #: inc/Engine/Admin/Settings/Page.php:1137 msgid "" -"Specify keywords (e.g. image filename, CSS class, domain) from the image or " -"iframe code to be excluded (one per line). %1$sMore info%2$s" +"Specify keywords (e.g. image filename, CSS filename, CSS class, domain) from" +" the image or iframe code to be excluded (one per line). %1$sMore info%2$s" msgstr "" -"Especifique palavras-chave (ex: nome de arquivo de imagem, classe CSS, " -"domínio0 da imagem ou do código de iFrame a serem excluídas (uma por linha)." -" %1$sMais informações%2$s" +"Especifique palavras-chave (ex: nomes de arquivo de imagens ou de CSS, " +"classes de CSS ou domínios) a serem excluídas do código da imagem ou do " +"iFrame (um por linha). %1$sMais informações%2$s" #: inc/Engine/Admin/Settings/Page.php:1145 msgid "Add missing image dimensions" @@ -2644,7 +2612,7 @@ msgctxt "Sucuri" msgid "Find your API key" msgstr "Encontre a sua chave da API" -#: inc/Engine/Admin/Settings/Settings.php:362 +#: inc/Engine/Admin/Settings/Settings.php:361 msgid "" "Sucuri Add-on: The API key for the Sucuri firewall must be in format " "{32 characters}/{32 characters}." @@ -2652,7 +2620,7 @@ msgstr "" "Complemento Sucuri. A chave da API para o firewall Sucuri precisa estar no " "formato {32 caracteres}/{32 caracteres}." -#: inc/Engine/Admin/Settings/Settings.php:668 +#: inc/Engine/Admin/Settings/Settings.php:667 msgid "" "Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved " "because it disables caching and optimizations for every page on your site." @@ -3384,6 +3352,10 @@ msgstr "" "Você pode usar o WP Rocket em mais sites atualizando a sua licença (você só " "paga a diferença de preço entre a sua licença atual e a nova)." +#: inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php:45 +msgid "LazyLoad CSS backgrounds" +msgstr "LazyLoad nos fundos do CSS" + #: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195 msgid "Analytics & Ads" msgstr "Analíticas e Anúncios" @@ -3463,7 +3435,7 @@ msgid "To learn more about the process check our %1$sdocumentation%2$s." msgstr "" "Para aprender mais sobre o processo veja a nossa %1$sdocumentação%2$s." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:491 +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:443 msgid "" "We couldn't generate the used CSS because you're using a nulled version of " "WP Rocket. You need an active license to use the Remove Unused CSS feature " @@ -3475,13 +3447,13 @@ msgstr "" "seu site." #. translators: %1$s = promo percentage. -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:494 +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:446 msgid "Click here to get a WP Rocket single license at %1$s off!" msgstr "" "Clique aqui para obter uma licença única do WP Rocket com %1$s de desconto!" #. translators: %1$s = open tag, %2$s = closing tag. -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:547 +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:499 msgid "" "It seems a security plugin or the server's firewall prevents WP Rocket from " "accessing the Remove Unused CSS generator. IPs listed %1$shere in our " @@ -3492,11 +3464,11 @@ msgstr "" "%1$saqui na nossa documentação%2$s devem ser adicionados na sua lista de " "permitidos:" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:552 +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:504 msgid "- In the security plugin, if you are using one" msgstr "- No plugin de segurança, se estiver usando um." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:553 +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:505 msgid "- In the server's firewall. Your host can help you with this" msgstr "" "- No firewall do servidor. Sua compania de hospedagem poderá te ajudar com " @@ -3504,7 +3476,7 @@ msgstr "" #. translators: %1$s = plugin name, %2$s = table name, %3$s = open tag, #. %4$s = closing tag. -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:593 +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:545 msgid "" "%1$s: Could not create the %2$s table in the database which is necessary for" " the Remove Unused CSS feature to work. Please reach out to %3$sour " @@ -3515,12 +3487,12 @@ msgstr "" "contato com o %3$snosso suporte%4$s. " #. translators: %1$s = plugin name. -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:315 +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:314 msgid "%1$s: Used CSS option is not enabled!" msgstr "%1$s: A opção do CSS usado não está ativa!" #. translators: %1$s = plugin name. -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:337 +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:336 msgid "%1$s: Used CSS cache cleared!" msgstr "%1$s: Cache do CSS usado limpo!" @@ -3756,6 +3728,18 @@ msgstr "Se o problema persistir, %1$scontacte o suporte%2$s." msgid "License validation failed: %s" msgstr "A validação da licença falhou: %s" +#: inc/Logger/Logger.php:260 inc/Logger/Logger.php:292 +msgid "The log file does not exist." +msgstr "O arquivo de registro não existe." + +#: inc/Logger/Logger.php:266 inc/Logger/Logger.php:298 +msgid "The log file could not be read." +msgstr "Não foi possível ler o arquivo de registro." + +#: inc/Logger/Logger.php:285 +msgid "The logs are not saved into a file." +msgstr "Os registros não foram salvos em um arquivo." + #. Translators: %s = Hosting name. #: inc/ThirdParty/Hostings/Cloudways.php:82 msgid "" @@ -4005,7 +3989,7 @@ msgstr "Smush" msgid "Avada" msgstr "Avada" -#: inc/ThirdParty/Themes/Divi.php:341 +#: inc/ThirdParty/Themes/Divi.php:315 msgid "" "Your Divi template was updated. Clear the Used CSS if the layout, design or " "CSS styles were changed." diff --git a/wp-content/plugins/wp-rocket/languages/rocket-pt_PT.mo b/wp-content/plugins/wp-rocket/languages/rocket-pt_PT.mo index 11100e309a07ca697238fd742fe3af487a4a2366..2f3a4c26acfaa6221ac3c2465bf005e981f073c0 100755 GIT binary patch delta 17649 zcmaLe2Y3`!{O<7?N`OG~`>ksUYrLaeY zWpPR?9*f}=9F2>SqcbTXwLlxwr_|qNk%}mB+(a6|dqz%+tx7*o$R| zCtwj=f}L>#PQ?4T0~0B1j-D=-H53P7f39!sB9q_d;I5Wc0n104J8#v^vYN4DA8d`U zpbk8N$FNp+^Cb823*zV=v>?YfqZu9&_kGT7fnJtXlsF#S-~{B7)-G(q^{rgJX*O($ zC9oZ~!U0GtSxb;>SYM+~P_vIY!3b1+7Usu4Q5VY9*Ic-iYdzPFIEeaT7>c{muM7Q1 zCO1~=N3&ub)D1Pl7qBI6#Sc(T8c#n>!|RxWaRbbL=TY^2=$|!s23KP$S8ahs2h+mX z4Z|^EFzv4kZl$0wzK_N5BUGP$gQf9zEQ^JoH)Ej=YQHY1{f1%{9FK)?73RaOsPlh- zc*xIGcB+P)nz;UZe|~zq~H_Ooh^&9tQg#c+OeS5bWs^p-+A1)2kJt7 zk@05v+;|TbCq9j(@CFXTfAAvqA8u~g-zeI$nC@14)RT3@0{EO;J`~k8!`=Ecw|)|8 z%*;VO`Kwq0SL2)b9%>Br<0)$65NwaLu{@r_hMNCBk_@fK32cd%P&ZmS&NOu`Y);$)+hRHf;!aeT?#FVP{};%pFCU<$PvLlTqRLo_ zxRGmr^bk*QeFGDSKg5bybA)A;#I9HYhhtToimh=2G7PNmkY2DNe9R=SZ>=Yz8z?x^ zJrQcOcSYSmJgSf9piaCBS);7I_%;TPGB=!wFA^Wbp4frA(->HWdGK9S3++U;>{0YL zA@dy>HD$R(QxS?P?~XO_B~;UIMK#?qtc;hjI_69=EmIpqi6gN#PQ)s>0qf&QWRbKU zVL$AaO#8EDSZ^hp10SKLS)CNiiozMlK(&5A^>LTcrUho8hxl!5ipNk*{21$Et5nO% zz>!!4ub^(^7o3Wv(o9#qmPY#*q#%=mUbr7~W6^Xo8-g(}aV0E_wNazD6-MG9?2H>w zEp;DrVHvI-h#{`EFo?J@>U`}{VS>k!XC zjrJ_`;5k%_{Elks;^WPeRm01~t+5%FpI})ZV?PW-&qQY$`z|Ai)*CTfA&VK}zJ zai|l#hfHzn7_vlIp_5G)EJ01HO_&e2qi%2yR=_W@6h1)BmLRSbfelbiKL%B19pX=Z zJcD}ji>Q~yuc#B{oMM{166(exP-9^#HpUZJ4{e6FZlnSB#FnVRJQp?k7h-YD#!x(o ze$CUr$yCMa)6Bf@h82llbY1Uy9EVeW3uCd{bTfFfa0qen7tKp16+a+8g=&ErFIg7D z$y$YNu;dJLoxU?@|1K2Fr63y5qvDn`EsL3G&A`|2FMI_T&oW(7X|@>~4KaZ74yakt z4b^g9*U=bEJQelCuVV~;j5MwlI)}gg$!wit`YzyQGny-+4rq%yVG`;@lTm|m88*bt zn1tWrDeN}ayyePrx7@Qe44dE&_z_l^XV!)9QDf`ApN#q>$9%IeltNv|gJrQf>dE>d zQ`z!i3SL1Cw&z|oCrrR+h{w9|W>o!qm>yoR~4%wlt+9xO~;8{4ZFT9MHSr=a?N zIck1hN8RxQR7*TUJyGc;W;8cKts4WeHpXE)T!>Zi92UgCQRfL?*2! z+8gG^mSaicjp%=$%ziRyIA(=;(py-T_%W*Q%d9jDO$)3;oPz56m8hmYfa;3lI1bOD zF4&!BRecNwVS?)f*IBD*fA!r`3VP!qoERE5q8<>RZ%9*IHTj6&zTX87`2T*t3|1EREL|j1p5^C)) z^|qN-eNZQyivw|~>pj#1bXjlKgB@6t_&e-?g*KS!-481e`_svI$SlIjxD$2a3#g{L zhC1**YVbANXx+E*>iqZ$-7_8Ptt&Ht3 z2){(<`~M9xJt-)=&8&b4uGtt(d5%o;zK_EZ#F_X4mfmjG@})SO_-E{fJ$G2vEL?>e zQ`NJ0Z{R+xk2Q9hmK%uvP86h*S&n-#68pVpX2m*G)9uEQcnv++?R|5hB-anI0Of(% zrX@>ZdE)x0^6sef4#oi7h-&d|*|fjr`Ed$TvEm1&X&0jg%XZYDJc8BmCg#CHyUdbW z3U$JEXxp?BP9^TT+pG(xFpxOc9c26cni_t5`wWb6;kbQyuVkvFgx7TjxD zY9TKU!p&F(bMG@NW-XjVyb9IS<@TE|omrSd{4);V#)cj+gERY}dBF3i2m8%WrUsed zL*_}sk#4j)VI%wthhe?Lrpe}GGvbZdAFpC%Y<@&@iH~8}3NK+fEOXR+8S^oG6Vkm_p0j+a!c({qyMJcJ##PjfR`{F;uSli=nE>pK)o>7&!KwHT zuE4F>=?gPP{y+_)vgb_GPDb_VBJ7J>Fc5QoXQN;6qCQ*M6xiP;r<*vDtfXGWZB1F~qW+&vXeGPkanD??ZXT$=0ay zNSuW`@g&eZ0w%?iG z%K~ldSt=q}6)NBy?1Y<8qxBaog8!lxnj!^kr_XDnMsZ)%=ug7(xBxZUx1pZ&Bv!|J zSQvwYY-a_n8RWN}mq~L9G>AH)2Hj}XiE0-#7w(K|!oipiW8Cs2)P<&C9InKon5&RE zz7*<$jj=d(KrPjS-T0`V%vK7%MqO}rVROeDFo^gBmc*~{8s0IqX^r=nV5A!^LLje7ET(1Qo?C|*Tc)NgGlY5G1BBdGWt)ub&;+0GY? z0jLu!MvaY4SRapLC_cnGSR>dR*B5o8si@=p*bEn=#?UF$%jhz8)BJxxW*7zSOWV#{ zYaMEuZAC30dr>F)%B{bH>Vk);3kQ|4oev%@P-7?obz@6$3LZsuMTfFx@OH-<#3N9@ z1zHQpw86uejyd>O#IZOQ72icYc}#gTil?LEcii|B)EM~%wT|TDUokVVHfma~!BQ9< zVq5EQA`Zk55A$EsXFM5=>V+7HD^Ojq0o&pc)D!2bXvRt~wkK|bt#BIZiS}b%yop*r zN>;L+A11qDHR4Iw6W_uxd{Bw`uX)*|vh9329g5mv0S?7$7=__gY%3hs;z+!KLru5$Q7hmf)HMAV)sp8?)9W7g#$6XVLQBwYT{?=nJ!8~b!jGQFkV0n*1u5aFJ0fv zl2E*-`9FY6Cn`EOu&sY_A?m~npD|B%4%Nh0Q1kZ=s;RApW_p%J^>t&^3L1}<@Fh3i zh-%qmsN=sz-N%C^8I+aKuQhrinHD$|)n^}K7=G)&9zbkGlSdqo@yRWm}VRJSO9xsCUbV*2XW9j~G@&8|J_ItaDr2`HB^f;l%%< znmjzrc0Q|(!6@RR*cPjWnmd@{RB@T`-3(Z6H5T`zC*8D}NL3;oTW4;b%x|Tr=vKH77BT=7#rr^)` zH}=3EJKD~F+|u0N$vn|T{F{n$oz18Z?qUW}W!IKig8JSVf zb~QJ8AGJPIh%_x*6BUm_9p@iIM)P_RYLKl)4Ze-21toVk+xb)+g~L^jx^VvPwsjio zquzQ}4>KETp>D7t*W8y0*qHln+CVt<9)0bsT44U~e=7H?$lzX5L5V_rH(G=zzzl z4<0r9nL*PGwIF4oPIMak;$1w1&-OQiGVcJhBGyDLFzrzDygzCo^P*ZV1GREq!N2e! z`j3$LZJ?Ppy9SvjI)l2?Yxn@I!M61}{EnJF3!XQx(KT3=_!R2KenpM?&O=O>OhR?h zYE(;Zz&W@Vbt9dIGXK?t-l3+?(@;%04?Xw}>Sb~g^@-&-+=|_Y+0M7+N2sP8A7xr< z4(heN9(AL8Q47{7R14?xy6Xb!20D0||5~euQJ~R37InfYsJG$*RFfV@y#+5}65hjl zIBd9S;`yj}9j4>wsKMJQ+Fa;e)Qug*ig*!Q;A1}-O^@a=W?nvzx}kW~1^uYmun@Cx z3+km48*7&27jYNyMhwH@aklecy{tnG(o3k8yX6`YZ#zG5u0l;ue~}U9z|I&?!5plE zzo1?=AwJW`?NRgAhZ2CEP5~rTj6}ylc+w-muz0U5%?_eOst8gP&e`iZpZv7 z<^lJj_WK+&xV}|-v{@kL<4)ows3+=@YMy);s>$9$O|wV%9QIB#UnbwiSmHwI=B=24 zONbw$mh$--rfY9w6mg$1wzUc0L;rCy!^WCHQDdB0>)${R<=3$*<{EDXSx<~14xC`R zC>hmt({LPaMGfZa6K&^*j4rOrP!Dti)pZZCE*5!#`LBYuFPLww{ZSvQH=|a*?Klii z;Z&?U$$Zk;h8inhy76t)35!iO3r;xdD_CbY9)~AwrZvu{yxSD>jyOMs`L97#X{vb* z*TKWY3FyK4)66HB=TLop5Hs-~9EDq^n{Ps;Uo=fS1T~iS;S2Zxr(o(!=6l7js0C@o z4BPn+8ZP+B49dYjLd-NzaB#M1!n>#^C_2Y1so|KLI0HRA$wX|V6TNJ@?krXzj+kp& z(uaeIKSXs=@GG|Sk53WUkN5&=rS;dFXXbSzYIIM+4BU;KvHpD1G80e>#%^qbzhHiB z@T##jYK7~JGcgL)=QmO7#3R&TEWE(1h>6H7VE&WwQgIT8VCX_KPv@e#W+!UJ+lPAn zUUK~jpCNvTnznTonKi!+>Vn--v&D;5F&lg0CDipo7i$bL|6V1dLAV~Zg6+dRcp69G zd0d2HOU#A7z&D7$M|IJ(rM9&mx1$E-fMur3l2CoU7Q^vdRJ~`pnPp9IxaR+4GU}tN z*cyXgGYd*r)Dz6Zcku?Q$rrqC`fep^y6wh_cnQ@K|Dx9ZB5#;a&lND4I1#nPU&5RC z>eP4;aHy zPyDs(J=DS#u-0_tfVIqjJ$W1j!MG4VuzBy}9gKO)wpKGcdapO5{MU_UJ&4<6en>oq z`#7%GX0xOgdB+Um{-_0MG4{rwcWrAMdQqdl$QCmeMr`q$*W)e^5rxzQ`A1u8n*4Bl0!v9caDCU&5v=MmIP z?Hkk}_un9+9dDyX|DRY8^U)817>s(0RYr~WrWk;6s1qfk_8Ws5bW<@W&O;i+I?tc} zcmX%yLei5hO!L2i_F~fle7*C|^^zqcZ3``BQWCT>9f6!q$kCtGzgeW+Vb8bDny zoKM*l_uSfV9%%>ZyaKki)aA&*{7WWNgMwS6yQ*i#vL3nRnUpmp zX5d@L$zMgS`%gA?)mirKMfpIiNxYZTfwYBKFSEuZZ4KE+OZr916Ul4S`s4iUBDK9u z-p&(CX?3RXiaipqCL*-oYT(}?mxWdA00qwYRt;s?k|YvmNNhW8e|HRl1c43NZTm#StOQxi&wpMgM2;8wVZ1E zgt8AQv+*oRFPd7U&sE7*iZqs_f1+E9Z?jKb(t6@>)b=uY=lSQ5(YDz&fE{kS`Ih9p z)Ro2+ZkhJg$1QDIHRnB5?i9Lz7EykP<6d&>zag)!KCVIDLw@If7E<8~QZsh^#N9cI z_*r(WMLIzKGt{=n@ZaA&ZjKK+*3a&-D*B3~m)9uDCs95aOOVEp^ts|U$}Z{oS&E(Q zMgCTC^V9JGF{`ZeABBI!A|6pwDSe=5$-2Fy}d%bh{Q)j>wVH|RGz`U9Jiaq+x5TgFE@YD zEm=kVA8uJ|^4dnK|Mi~MR>7?tU_z^v8{6z$mUN8rJNT7*aIm|d(3|fKQYv+oRlt@^ zn&6&eF8LtpUdKSnp2O#HwdUV(D)i?1f`Yc#jifD<kGT(vvM0`D^YClt4Z%STQ6{ zV{IYjB?UjV{|@raDJzcm*uOt%0BI;GnzA2tU<~O`(sBxh<83OJ;L}?>>h8D&`atsZ zR*wCvP;iaZg#72EQlzg*+Fr%QI2RL~lK=Um>s#NuJN`ue68XEN-Q>4$Q4c=7)phr6 zLtP>j@4J=ff{> zH0e6~CXt>Y{{mJd6(apeJQJ&9Q;bAy4{)}d_n9KAG3WD>w7u!9zhstCppRLH*!d#) z;x8}jwo z_f7Qw!=K9pzmhJKf3mf35A2A4x_Q;*b1yQ3{AtSfK2`TTWj%@ayZii1z6t3T=`ZT~ zlC;H=K4zbz>i;EV4zNQs_P}a5iyf|GSIkM-mv{uVy+ZkuZ8&AWJqd7>n=g*z-Td#a ze3!BIkzOMH9*f~|zJFME30@)S?(X;^7g#{PGUeZqR+4fNmqTrT<4pE>NXp~h%q=`c zT~55`>}CF+(3*vInwXsPvdl4hrhAUG+6 z)01Z++k%0BwXiK7e`ZnF)!n}b)+P=i zX$x~r!A;cNG{x3bJZI|s*2`q}xF=A35%N<=2PvOTI!1oJTi>4g+mw}3IjJG#%PA|Z z1E1QKy7@Tj>ywg5o7n$#Orh>Md_cTd^M5o2v)uy{sCbL?WE;p%%LtB;9#j4g@h9Xr zlMa!hh_(Gh-LIIAD@j4*J5!fNTI=pJjPfVjee#znpQQfx5fmV3j5A1Il5P;chT1B) z7Q@ zp5d{c)Y$mgq*$srVO(;mbG{UBJO_EBIn>(!BE z3l?kNySHb!H+ocjYH|h_@g;iWvsR9qk|Qg0;^G`x6(@(~$ns4&99SYTg{uuui1nl- zWW@WD(mavAwDhcMF9+r-^uM1XEvwr6go0VeSFX%m@xP}0e?EIs^4P3_>oW3ZHP}|x zUUVqalQlUrEN50`*0DN6B79?fp7hwnlmwc@GnPloNQqJFgnHU1@K{a*^-ZI-bah{x z6DN4bCugMBp=;87@kt(Sg;*U$}Q7#wNrpO)^W@6$Z)IQ4SQ_Xy)MlA;-Hv58zQ zG1-%n%BW3>@#%InLVA0B!@VAcYnnSknm;O-b>yFr!rA{8u=f;M7S`Ji%>FFIexpb+ z21YF1&JA)-9+IZb9@@aZlOua*BYSqv?C56p)*RWvE$u!9LNqqGEB1XdT6{@dpCNR3 z%a~YS_Q;O*)m%Z&dD5IdicQRJ7HK~&nw>Gso)yrXXNphesd@VUUyE@U|BW!KmuAqi zHqGtw*}-x4-JtB~bi1pay+6awpR0IMa-!zte`j;<{`h!1xtYI*(_M+lF|i5B9%tA& zy%wFG;Z5*Oa5^s1mzbhH)@aH|_nBf2^Q8O6&{T>4{p;ovj TEyGK%rO|)s*%3SJdwKpBE&GtZ delta 17777 zcmajl2Xs}%zQ^%7l!TVhrNg0zlF(adfzW%4bdr!9Aduw56pEBXFQQZt1f_#0h(Le< zqM%3z_k zfzMz+T#m=^6=Qs6SbJmoQ}7s{$G#nmS&vt+9M0%yOjTTm1MxWO!WBCiQyRmuFh*f# z9ElTgC+@;f3Y*~-9EPR4*!xYu{4Sp{ACoEXGUn^9_Q{`gGo~pGi*+}qC3Z)hI3M)} zx9|cE=|PWiUcH{iJR=(95&RQ%<3jzcA&wC^i1Gm#hMB1QT*cg2A&UMFBvX}) zo+uP2VME-GJ5gO3^RzM3@e-zBG~=aq=TP6i1?ONv+=hAaAnHcPuq>Xz zm+&?g#_2T)s?TuTbE-(nyeiYKHW*q7P zKf)b&1@&NynLz4^b*P~`?D&z7%tsV_j(W09(ZzTRZ?W>HuGqn(OG)EK2W_0ydC`KZaW z0(GI)SRCKPwRi+Im*V4$sfA-O5|?8+{0bZ3BjkLa3FUP)mMzeY{jma$$FjHr^(K2z zJ#re=Q(s_nyp4L$>K@zGO|cnqCv1(=F(1B<8q(9K>t4sw+~4FJVV6;P)P?F{C2Z^H zK{xSS$Ja5D_(QCSO-35?6b{7ln1WStA-2Rl$mp71k={3bMzKlZZY<6HP1ywJLRf}) zAnE}!P-D6Rb>VH;3Qyr=%s1K?_9`n85I-Wr{K0r;@63KQBbigXasaO}6 zBb%lxotceRztKtCah8Iy|cO7-3yI2&Pj(jpqHeqlb)%ISgId-7GOF}u|x3|YKV@Y=FBP7gI>h)_%oKkg4|Q9raHDGnXddxL$C-n z1ecJmF}F}X@BsB@K~wF8%AvZx1?q;wP!Bo+H8(b3Bm5ETU}dJd9;h$&!l9_iy&Zj8 z4!g+|!!J^3l{q}i?rcqG+Z&C;E|hP_IDF*9L+9{wN+;sWSaz;4FW_F(5Vf0U=Sma? z5RXEw5-+L;XE-j!lEfS4(Y1QxgA~N$ZKTNbdd~hxJcs3oL+0Cd9Z(m_KwV%KYI3ed zt&W|@=4P(pY3%pB{rXknDS2iy0@agu@iZ0%f@e^Zto0&$ok3Wi*yF@2Q1u%yKfa5B_#r-xzVl?dk*TrRuG6uoo_GuO=Eauy zm#nFe6^P$NEuYh|S08wQqF9TG$WU;#91PM=%(FKwak{s=a;?=G9;a zk>N>930#dKm=BNp8yIumi7#PM%5Pv1e2m(Ff|uJK3Bg>%txyjhi3KqV!_b2@@kP}2 z4`H+>+lOR|W6c%z4I@xPG6b1N=5;KIjhOPqum|da<4_-wbkq$eV-zk#UGExxf{$@6 zo?U6nQ&!mrn~lDwsCbFYUVIbNF#Z+$rk`UO;yb9Z&-1F?SVFKi@i5f+^HDq8demHa z57pJ*qq_PIj>ku+2TP@!RX=w%{U1bT5e0I!<2KY-9>BhM9eD{8zQ+DexPThd(6#o0 zEl@+!2UYID#+Z(J(5yA&>(*JoWD6-C;SQZ-+*FwEn3~CI=;Ygf=Rq!X& z4U4UJ_HrCS+!Z~z3-#tDH`qyC70VL0#8Nm2b>DO!8I9=_)EF*x+=MR?XQ7_B$3}ah zcw9_830q+BCcC`4qAoZC2jUBkH&74WX0zQFUdI~5m#_o+0$#K0ygQbsU<|tPIjoFZ zQ5Qao>e??*C*DL&!a7^*Hz5L>6A#CFxEkBwIqZr>Ubp8B!-~Y4kRJ4z<7D*aUt&wV zgL<=?Z`j#A64gT~PCN_MwF^*Pxe9gu9@M^Y9Mxl2QIqx|24cyrc2&8tI&l&f(E49S zMq{%c^WY)Wayx;w@LR{AZMN&0VO`4OFcM!xo&Py%uG~lFtI7SQeb9}l>+HlR{2Fs( zgY67A_czVRRKwG#F8mFHu3e3|sWGE2!MVAKftuD!M^OX6ta z2z29C)QvuJES+V0Vic-pGq4;k$fExXkl98-H{6c_7_iSa48j4#)i4!(sILA6i(tY1 zc9K>?^Wzn60)+)E2t-IbI`8q zXsl0s4D}$7un#7_V|(Zj4kFI;uH7HvP&?^doQzNKC4Baf{ljVD!}crL)kkIkPj(P1 z(4hGH_6-}MmR}zX!Lg_}S%VC#*^CWwz!5$o_yU&1AF(M0d|-dTv_@TLIr6UNZES(f zkJ|hA#*=A9!7|hvUcliPc+CDzAB~#5TTvJK44dF%%#96>+a7F&MTpy>Zqy$O;b*AH zd=vFx53nHCIpP17_)Kdu>beXZhUc)98l1EnPiNGH`eJ^Jcgj<+3h}e3Ikd*9--f#3 zKGY;UhU(d3AKHznA$B1if%){PJINHI;2`QoA7db1#ld(B^+p{|*(X1S%s=xfx^dx0 z_HQ(Ipf;jTr|nKU2x}5gz!2Ps>Y>vZidV3|E*yNucIgPm)u)vylp<7=O>Ibr7K_Ad-NerYeT92e34N8E-}zOoNq>yrK6kHQ$rmti-2fNL@G zYx_5--#ga$hW_tEMe;ZH_xO9LF`IYU{vFS5)Yw(LV&A+A)+K%hE8%(!^kj>Ur4_+^Z< zaXJQFw|~{T2sLR>Ievl#h`+*0coQ`g`ES^{&cWgptVzgvfWc;K9mI1iux!#??70YZ@bKz8kc{$4Z?0ToP-1MB#y+&e8Pfp zzT-+%`Rk|$FPy_=X5mUqLU&GEz5q2>O5}3+f8eadr-(P8Ph)(5jJo6-tb%``E>M}Z z*ccaMFFb*ol%)b({y9(qHTKnU2ZrH$cp2y8I+n%^49(-xU;CJy_&nCmYwP#t<-fmd zr=Wd4mwz4qhV6;hvG}zw+`vv4P{8G%oISBH@etI8l8iNQE^5;5LXGh$)U3aOd{|#bAEoFHl2u4Yk4D#z1UU)aBo(I-vF)Uo08zMEg-)_B~d`z+!d|gd*pf zRal(z?ZsUtCw_nh@C2&oE;{AcP;dBy;~!XrIR8`jfy$%ayb8MYVQog{C27R}AEPc1RMO6oN?4b;4TfPV*2Z>PMo6AQg4v*;o%VQFG`T>cI+@aha*u3N;jm zuoU+<$H|1?x2O~I@n02NVGB&hi8u~_cH&Xx?3;g$n#E6?xC;LjQ*k6}j*P*II2}jg zM%;u2D!BZAE4~YTTCX8)m;YmM3pWtwsAxBy&8TH%D%n|H3iZa7QC%B`t+6Yr2j-*Z z&Kiuwqu2uTR<M2HnI>LTpbD2x0weQawjO2Rw$gFsO#h zOu%MX0y9yQ>=bUnC#WvoRMSqbgP2Bq61DtV*0MWeXVkLoh3d&+sMR(O`{H^ZnE_-T zU`y;-+vWd^zJTiLC8){vDyoZjIpxQ&0`bSV4DX@l%$!jBhR0A3egk!#zi|-e3$sJ# zL9GhkbTa+OEJS@=zIXf;M-k_!W5;R?>Ot0HY0SdGcpkOB!|K{MZ-bi5-LWl>MfLE0 z)DYcA4QZ2l{z>dJ(PVVtDX8VL6o1BduoG^t?=pYm@2Cs@-oU<5ctg7tw?}nxe<${! zx_TUHxh_Jjs%@wp^&8Yi_rxEw{wg%GUE31%ap{eEpg7bRkH?R3A?kv$jcxnM*o1g7 zHpG*tH~$MGuzC}_Oh@5F;yE}2b2fGP|LS%Qmf-&8AsJ1YLd~pYQ4bJ;O|d2FYd97g z;WCWDQ#b@`hubZ99_Ar_87t#@Cq9PyTAoF%vL7%23pHo`t4m9ec^U_yX8BIkvb>7= zx)o_*Cuv#CO`L(@I1wx2UW~xcow!s>`vA>RV;}9rs~itGe%F%qKZXW@tz2dbrlA*q z!6Y2s+IkLix!5`*>=;J2aryrzl33KFdW0H+=51a6pK>V}LwpEZqdU@eeGKj*{vOry z%iFR3HO3{{+p!PBK;j5gmvusY-G)2$si>WACTh8^!wkHPuVPdOyYc*r`W7U1w3GN{ zEJS=2E8wrFxmMKI$>skK2USr!)j<3aFJMo6zq8B#f5Q~%V&7yBKBoLWYF*#!YS;M_ z$70>=$E-H$r(9dq1CK=Q6EkrkmhNsJ(Dw!zUFb7ZS6+4EDn0Cpbx@PD8)|Y5Kux+> z)Q0jdcEnOWUH-o}h(+D_13ZgApqBOiUUm|Hhw6bGz5T1lXDX4=dK`qSaWZNWmhEHL zdw0|WEJCgGS5OvmlO)-h3L) z#v`cN-6hKIY_m`gumbe}8=dl9s2d%{!}yg`|H{*LYkdPX##yK#IEk85*Rdv={`7=q zVJ$LRR$Wm$RBzN|@nU0~iaH?+wMAb=&6Rto4JmPe?b5jzMZ5*y$G^~x?+vs&;#JhX z@))(O3k_lw=%Z4a%xDZlZJjUUAGixYz&8imRgyZyzR^6?gRa8+xF1*ITSM(?=`zfI zMF*jN56nhA*fwl{Iil@@HI8Qe>q7l0&=_T)#%wvNYuDg&xCixM5i#}w24ZRAF{rMc zjc(k4)$s!yh<9*1c8IlG@O@OzJ~Q0*-1Ol-`(~>t&^q6P+OdwJy4)3KZ&(}k0Ig7; z)&8i};6+_Z^DWlkq0j!T#~~+c5_fukw*eCvyrlnti1 zxqw6(fYJ8HWJlBv_ZI47a|t!pW{h3F)lieHKk5NvF$U97J$4c4 zVV}89rZWYF6YcN)!KipG4!~R310$2{q*{WS8}Fhnd;ufy2DZbHWIHrTsG%B*dXNRE zp;>`$d=ram{huMDWpov_KL0{ZqLN;Fp$OE+s55Gevry~$E^25@ifva3-GsHU1$J|s zhvCG>ur0ctv46m6hc&eRpChAXxEpuk3Dg@tn`#>_!VKb1QTs%;4gQnO&KvYG=eX$RYLH(k67d4beF&e+cY1oEkUJZ|+diItRo2g_%DX2cx zZah&KMm*GspU00}{5Kw)M|tdY`|-GqnpBNv*w1nV9wDBJZfrNx{*dvY#{MGiz(TWJ z{vSN=VI*;=Z?^5)XHb*tJWj&AbL<}$XX6&)z`1r~+JP?+-@!pSm?QJ-3tXIUdobto z_64e;w%RDvoSBDiUSuIQB;N6Y9Xj7NGF2!Tu)ucZWE@O<4mC!#7rM++)#KB62esu! zF0$)91~uCkqbBJY?2PRe+n!l~{`~`6Q68|weofn3eWo`V?Q}zN4yL2V{0VA(7hY;7 zV-?gEJPq69N{q!TI27ByXqW9;)XlF6Fd#D?>eaTLuji^a@0JWo?$3XlJN8xQ$&-Ghw_lujjiue!I9D8Yn%WT&A zKT1ZkGVx_QX4A1b@m_3$zo6IK&0HhhTranmby z=ysx3+Zps#By*39|JUfN_FGUDwdK}FFHS@41NZPI4qWZ>|9`%1*SO4i;;YyV_pG%; zlw+O!gG(9Ix1}HIhOy|znRp#Htz-QkCiDDy=MRk=?B8^ZMZNJ|$6Om-{{PFhG-@mp zQE&b%YEEp%eJ+0Q<6RuTnFnNbjND>pdEi#NA3TfmY5yg@izBwN{xzAZzG-Li7}SQe z1^Z&f?Jn~cW}s$&)wk?in1uRTp2lCW`VPAVm)>drsbvjZDO)qGCuf4jy6I>IT)A~m(4 z|KAB}#G$S8pT`w~H#kpSzuIY&UH=}Lb56kg{69x3WmQNgNxoF7pK>lxgM25_a8i_W zVo~ZwkuUR)oBTn&jzp51@)7>X{;N0fJhIw3-Oe>M@fK6w4EbK!Z$EhspBYHOTBo5( zdO0@=LM<^JN#q~V<{Q#BTjc-ab{Fzmey6D4jK@fa$ZP59$U}Z3w#3&++Lm?bXWkpc zjn)50{YCcw{ZKZAqz_8;KOX8=;tr(Rr2CxM6_??&P8-eWh2&@8UQ#sack0iP4vNj8o}^1Y{`D+{I+l8rM$(s1hc>YRly|0V9!UpV0l)tUIuhuc|Ep7R1FsS%(BMPT_rw>7vkyKO<|E3q zY;TZ`I~D1azeDnp+EA|}O>Ie!h}oOW6VlVR%Dk_?g_+|tR9OY5qAF!|NCCuOlfK|2 z9XTiqBXuWDBfjgDmm+@G$xp#X)bYc~sCTtV>G+t`m-rSb`v}td-%r6A8o%k3x*ho@ znUmB#L)?zMK0G>>Iu|HoLsOKxP2}|}s1GTIbc%GCcHg6pGPJoss!V>4zl8s2MSXYf zZ_1L8npudjK5vYI3v-xC)gH7EW6^}(q^{t<4(JtRIa{$o7( zZ*A6$pzJuQKgl;!g;eV3iYG{;Nt;M~i_Bqv4KaBgd@xNH(l#d!#kr)m)E(oTnNImt zBs7Duu`(PXZIKqkM=eoueT2I$Bcy zHvZwnV~8h`Z%A1;(jDR}BtHNC|8)D5#(y*wV`%g#DUpF?8+Xh8_ zizq%#RD#pzlb&}@KaIapUX`-HN!iC#C;u{rI&Hrue~na;ltfCUJld&SLwty|oA@g( zvVy#hwWRCnk(a6Xjg+KPjx16~8YN&6(q;1BQeP1BI46%H))7Elj(lgQJP>D5&JW3d z9m~k&ciI;xzun1y>9^;<+L_yAzoBq6CwIeg*w1PF?^b*>DWC4#;CH8DI_*l3FYWKs z(nP_e2vTKQ7AGww)gm72oEb^$vZUUmy_6?XUX7HObcR?*0X#_RL2BWY-E+?W1N%E= zEy&-Y{Q%O=9L_9jK=1+SES343hJ+?3@k*?X`$;<9rap!IJ@P+eUDD8hoRdL5rxRbs z29O?)m)gis-#46Jf8$%-eJv$+(FVYi+C03MW>z03Xt+rR*SOs zD&V+EoQrr1`Q_wa#&)>EKgcbKCOcR7#4(E6A4oc0B;BUGBwi-Pl9rNYstx6RoO9kM zevR_>_yQiI{5#aqgmjzo@|0b`an3oJ>f~z_WFM2LSmsntp)kd%Yem_|PQDrbN?g!6 zsUDsoEqBgaL47mw^YLkHil0zFTrp{j)9zEhY-J0mJWcRCUc~2c4XHMby`%}GhLm5V ztOrR)AZ1rb*+&!d8%TYevL9)`o62>VedH(K%Bc^`F4R`qnu<#}i8RcqxQqLod~xR_ zh2PQktAE7JDSO6=wFy-GM_mm03bfBf`9yr3*nQTg{*e@9AGgT- zNnC*ji^!M2siaAy8l;I%!i=P96@A5dZV2PF%?;SWLbHZGLy!Y^8h$`J&cg<{8{`GYmf#z_4V)|@pjt1 ziARWwklrP}hc`)Sq)XKK29n7>x>KOzV;n|0Pre(jblSvY4yR4Bza`roWi=@qN^0n| z`vB9auShyV>PcM~X&2>VNoz=jiLdLYl#Y)`gD7~BiXy1vRq|0bYdVqFF`e`m^&9X# ztb%Q@E~b$-lOKdX(f&u&;kB5}lpUbH5or}Eg!mU1yY~dA!Fb0pIE>2bq}(JO>qtLw z(i?bE1spqx-*xH_*dqQCBJ*zR_#BzH+V;)AbZpOpnMHdB2jz_H+c&e|kiEgmEIm8A zbR@b*BqVy$-05C-nkUf{mtLbq9Zym#6X{JFo{;Qut3{G0btFw<6BFGNycwy^841ap zQ?K^Y!D9ww9v6Mr< zG9lUR6mzAtjJP;YTH1(=#KZ}it6trlJ2QDhLjJ+t)YJ*J^^oq^RF6B^o34lUj^hNL zHQwt^9~GM(X8QiuX4&^n@!vDe?M>#igtW}F+bg@4w%buZv&fE!oS8A1`)X%SzVcyU z&IVx(GCSSe@A7r@Bzsb0)4i$T?p|I`d_uarURcwxdiC-R2(@u&+t@TuN^JV5aCcbP zze~G%CXDl@#;0{lNJ|fQM@Ki0_B4+kA6~C^{W!AOnPe3-k52Z-wHs2E9G&d-reqgK z`?90j4dR-6(&D0H)6-MAnzEzPlMZQk(UcI=A}Q2{!)sgZA~rrpArx#S4Vi zVal>$Tx+m@bd9+61%(u8Y?K~;m-IE-b@V_p~I*9W`j*3m?6~o<8 z{W^q}Y05qOdB&&5dy`@ll0*Auq@;LLshr?R%dBzhgB+O)f4m&D^wN{y%#lwj6k2|w zfU7{(*aEIog|!@)cP;M<^Jiv|spa*rmC+f=>9I`RcrVj1jRl&K#^Q?`${;<4jOjfP(uD1(k<*Dns>|cXPT7%xKZ|b|2fGCaX|mS8&eU-o*6S z)GYolnWqb6Ep6|*oGWWd7uW3~E!#M&EB451M>hBui(LS$!NgJCjQ?1Ju`H%IFZa*T zGW2Fm9O`;5AS)u?l`nYtYhG8S25H_f(?b_Z_awPfJgG?uX=w^mVpC(Y@09A!USr9O lh9@gB)z!zf{BD}7N!HtGu4_57_KtHUHO*SK!}Vw2{{Tl`u&Dq5 diff --git a/wp-content/plugins/wp-rocket/languages/rocket-pt_PT.po b/wp-content/plugins/wp-rocket/languages/rocket-pt_PT.po index 5d0aa0407..9a90ab049 100755 --- a/wp-content/plugins/wp-rocket/languages/rocket-pt_PT.po +++ b/wp-content/plugins/wp-rocket/languages/rocket-pt_PT.po @@ -1,14 +1,13 @@ -# Copyright (C) 2016 WP Rocket -# This file is distributed under the same license as the WP Rocket package. +# Copyright (C) 2023 WP Media +# This file is distributed under the same license as the WP Rocket plugin. # Translators: # Pedro Mendonça , 2023 -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: WP Rocket 3.13.3\n" +"Project-Id-Version: WP Rocket 3.15\n" "Report-Msgid-Bugs-To: http://wp-rocket.me/\n" -"POT-Creation-Date: 2023-07-17 09:09-0400\n" +"POT-Creation-Date: 2023-08-28T12:32:53+03:00\n" "PO-Revision-Date: 2019-08-26 15:14+0000\n" "Last-Translator: Pedro Mendonça , 2023\n" "Language-Team: Portuguese (Portugal) (https://app.transifex.com/wp-media/teams/18133/pt_PT/)\n" @@ -17,22 +16,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: pt_PT\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -"X-Generator: Poedit 1.8.11\n" -"X-Poedit-Basepath: ..\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPathExcluded-0: assets\n" -"X-Poedit-SearchPathExcluded-1: src\n" -"X-Poedit-SearchPathExcluded-2: vendor\n" -"X-Poedit-SearchPathExcluded-3: node_modules\n" -"X-Poedit-SearchPathExcluded-4: tests\n" -"X-Poedit-SearchPathExcluded-5: inc/Dependencies\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Textdomain-Support: yes\n" +"X-Domain: rocket\n" +"X-Generator: WP-CLI 2.7.1\n" +#. Translators: %s = Hosting name. #: inc/3rd-party/hosting/flywheel.php:18 #: inc/3rd-party/hosting/pressidium.php:18 -#: inc/3rd-party/hosting/wp-serveur.php:27 +#: inc/3rd-party/hosting/wp-serveur.php:27 inc/deprecated/3.6.php:697 +#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22 #: inc/ThirdParty/Hostings/Cloudways.php:90 #: inc/ThirdParty/Hostings/Dreampress.php:44 #: inc/ThirdParty/Hostings/Godaddy.php:63 @@ -40,9 +31,7 @@ msgstr "" #: inc/ThirdParty/Hostings/OneCom.php:137 #: inc/ThirdParty/Hostings/ProIsp.php:51 inc/ThirdParty/Hostings/Savvii.php:50 #: inc/ThirdParty/Hostings/WPEngine.php:47 -#: inc/ThirdParty/Hostings/WPXCloud.php:51 inc/deprecated/3.6.php:697 -#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22 -#, php-format +#: inc/ThirdParty/Hostings/WPXCloud.php:51 msgid "" "Your site is hosted on %s, we have enabled Varnish auto-purge for " "compatibility." @@ -68,6 +57,7 @@ msgid "Incorrect Cloudflare email address or API key." msgstr "" "O endereço de email ou a chave de API da Cloudflare estão incorrectos." +#. translators: %1$s = opening link; %2$s = closing link #: inc/Addon/Cloudflare/API/Client.php:198 #: inc/Addon/Cloudflare/API/Client.php:212 #: inc/Addon/Cloudflare/Cloudflare.php:75 @@ -76,10 +66,11 @@ msgstr "" #: inc/deprecated/3.5.php:92 inc/deprecated/3.5.php:116 #: inc/deprecated/3.5.php:129 inc/deprecated/3.5.php:157 #: inc/deprecated/3.5.php:173 -#, php-format msgid "Read the %1$sdocumentation%2$s for further guidance." msgstr "Leia a %1$sdocumentação%2$s para mais informações." +#. translators: Documentation exists in EN, FR; use localized URL if +#. applicable. #: inc/Addon/Cloudflare/API/Client.php:200 #: inc/Addon/Cloudflare/API/Client.php:214 #: inc/Addon/Cloudflare/Auth/APIKey.php:63 @@ -99,8 +90,8 @@ msgstr "" msgid "Incorrect Cloudflare Zone ID." msgstr "O ID da zona da Cloudflare está incorrecto." +#. translators: %1$s = opening link; %2$s = closing link #: inc/Addon/Cloudflare/Auth/APIKey.php:61 -#, php-format msgid "" "Cloudflare email and/or API key are not set. Read the %1$sdocumentation%2$s " "for further guidance." @@ -132,29 +123,30 @@ msgstr "minutos" msgid "hours" msgstr "horas" +#. translators: %1$s = , %2$s = , %3$s = CloudFare API return +#. message. #: inc/Addon/Cloudflare/Subscriber.php:232 #: inc/Addon/Cloudflare/Subscriber.php:261 -#, php-format msgid "%1$sWP Rocket:%2$s %3$s" msgstr "%1$sWP Rocket:%2$s %3$s" +#. translators: %1$s = , %2$s = . #: inc/Addon/Cloudflare/Subscriber.php:250 -#, php-format msgid "%1$sWP Rocket:%2$s Cloudflare cache successfully purged." msgstr "%1$sWP Rocket:%2$s Cache da Cloudflare limpa com sucesso." +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:311 -#, php-format msgid "Cloudflare development mode error: %s" msgstr "Erro no modo de desenvolvimento da Cloudflare: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:318 -#, php-format msgid "Cloudflare development mode %s" msgstr "Modo de desenvolvimento da Cloudflare %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:337 -#, php-format msgid "Cloudflare cache level error: %s" msgstr "Erro no nível de cache da Cloudflare: %s" @@ -163,48 +155,48 @@ msgctxt "Cloudflare caching level" msgid "standard" msgstr "padrão" +#. translators: %s is the caching level returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:350 -#, php-format msgid "Cloudflare cache level set to %s" msgstr "Nível de cache da Cloudflare definido para %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:368 -#, php-format msgid "Cloudflare minification error: %s" msgstr "Erro na minificação da Cloudflare: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:375 -#, php-format msgid "Cloudflare minification %s" msgstr "Minificação da Cloudflare %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:393 -#, php-format msgid "Cloudflare rocket loader error: %s" msgstr "Erro no Rocket Loader da Cloudflare: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:400 -#, php-format msgid "Cloudflare rocket loader %s" msgstr "Rocket Loader da Cloudflare %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:418 -#, php-format msgid "Cloudflare browser cache error: %s" msgstr "Erro na cache do navegador da Cloudflare: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:425 -#, php-format msgid "Cloudflare browser cache set to %s" msgstr "Cache do navegador da Cloudflare definida como %s" +#. translators: %1$s = strong opening tag, %2$s = strong closing tag. #: inc/Addon/Cloudflare/Subscriber.php:536 -#, php-format msgid "%1$sWP Rocket:%2$s Optimal settings activated for Cloudflare:" msgstr "%1$sWP Rocket:%2$s Opções ideais activadas para a Cloudflare:" +#. translators: %1$s = strong opening tag, %2$s = strong closing tag. #: inc/Addon/Cloudflare/Subscriber.php:545 -#, php-format msgid "" "%1$sWP Rocket:%2$s Optimal settings deactivated for Cloudflare, reverted to " "previous settings:" @@ -212,13 +204,13 @@ msgstr "" "%1$sWP Rocket:%2$s Opções ideais desactivadas para a Cloudflare, foram " "revertidas as opções anteriores:" -#: inc/Addon/Cloudflare/Subscriber.php:661 inc/admin/options.php:184 +#: inc/Addon/Cloudflare/Subscriber.php:661 inc/admin/options.php:144 #: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:148 msgid "WP Rocket: " msgstr "WP Rocket: " +#. translators: %s is the error message returned by the API. #: inc/Addon/Sucuri/Subscriber.php:96 -#, php-format msgid "Sucuri cache purge error: %s" msgstr "Erro na limpeza da cache do Sucuri: %s" @@ -238,8 +230,8 @@ msgstr "A chave de API do Sucuri não foi encontrada." msgid "Sucuri firewall API key is invalid." msgstr "A chave de API do Sucuri é inválida." +#. translators: %s is an error message. #: inc/Addon/Sucuri/Subscriber.php:286 -#, php-format msgid "Error when contacting Sucuri firewall API. Error message was: %s" msgstr "Erro ao ligar à API da firewall do Sucuri. A mensagem de erro: %s" @@ -255,16 +247,17 @@ msgstr "Resposta inválida da API da firewall do Sucuri." msgid "The Sucuri firewall API returned an unknown error." msgstr "A API da firewall do Sucuri devolveu um erro desconhecido." +#. translators: %s is an error message. #: inc/Addon/Sucuri/Subscriber.php:334 -#, php-format msgid "The Sucuri firewall API returned the following error: %s" msgid_plural "The Sucuri firewall API returned the following errors: %s" msgstr[0] "A API da firewall do Sucuri devolveu o seguinte erro: %s" msgstr[1] "A API da firewall do Sucuri devolveu os seguintes erros: %s" msgstr[2] "A API da firewall do Sucuri devolveu os seguintes erros: %s" +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:93 -#, php-format msgid "" "You are using %1$s to serve WebP images so you do not need to enable this " "option. %2$sMore info%3$s %4$s If you prefer to have WP Rocket serve WebP " @@ -290,9 +283,10 @@ msgstr[2] "" msgid "WebP cache is disabled by filter." msgstr "A cache de WebP está desactivada através de um filtro." +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:115 #: inc/Addon/WebP/AdminSubscriber.php:141 -#, php-format msgid "" "You are using %1$s to convert images to WebP. If you want WP Rocket to serve" " them for you, activate this option. %2$sMore info%3$s" @@ -309,9 +303,10 @@ msgstr[2] "" "Está a usar %1$s para converter imagens para WebP. Se quiser que o WP Rocket" " sirva estas imagens, active esta opção. %2$sMais informações%3$s" +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:127 #: inc/Addon/WebP/AdminSubscriber.php:153 -#, php-format msgid "" "You are using %1$s to convert images to WebP. WP Rocket will create separate" " cache files to serve your WebP images. %2$sMore info%3$s" @@ -331,8 +326,8 @@ msgstr[2] "" "ficheiros separados de cache para servir as suas imagens WebP. %2$sMais " "informações%3$s" +#. Translators: %1$s = opening tag, %2$s = closing tag. #: inc/Addon/WebP/AdminSubscriber.php:173 -#, php-format msgid "" "%5$sWe have not detected any compatible WebP plugin!%6$s%4$s If you don’t " "already have WebP images on your site consider using %3$sImagify%2$s or " @@ -350,3398 +345,3179 @@ msgstr "" "O WP Rocket irá criar ficheiros separados de cache para servir as suas " "imagens WebP." -#: inc/Engine/Admin/Database/Optimization.php:30 -#: inc/Engine/Admin/Settings/Page.php:1475 -msgid "Revisions" -msgstr "Revisões" +#: inc/admin/admin.php:18 inc/common/admin-bar.php:266 +#: inc/deprecated/deprecated.php:1787 +msgid "Support" +msgstr "Suporte" -#: inc/Engine/Admin/Database/Optimization.php:31 -#: inc/Engine/Admin/Settings/Page.php:1485 -msgid "Auto Drafts" -msgstr "Rascunhos automáticos" +#: inc/admin/admin.php:20 +msgid "Docs" +msgstr "Documentação" -#: inc/Engine/Admin/Database/Optimization.php:32 -#: inc/Engine/Admin/Settings/Page.php:1495 -msgid "Trashed Posts" -msgstr "Conteúdos no lixo" +#: inc/admin/admin.php:22 inc/common/admin-bar.php:254 +msgid "FAQ" +msgstr "Perguntas frequentes" -#: inc/Engine/Admin/Database/Optimization.php:33 -#: inc/Engine/Admin/Settings/Page.php:1505 -msgid "Spam Comments" -msgstr "Comentários de spam" +#: inc/admin/admin.php:24 inc/common/admin-bar.php:63 +msgid "Settings" +msgstr "Opções" -#: inc/Engine/Admin/Database/Optimization.php:34 -#: inc/Engine/Admin/Settings/Page.php:1515 -msgid "Trashed Comments" -msgstr "Comentários no lixo" +#: inc/admin/admin.php:96 inc/admin/admin.php:118 inc/deprecated/3.5.php:898 +#: inc/Engine/Cache/AdminSubscriber.php:134 +msgid "Clear this cache" +msgstr "Limpar esta cache" -#: inc/Engine/Admin/Database/Optimization.php:35 -msgid "Transients" -msgstr "Transientes" +#: inc/admin/admin.php:397 +msgid "Settings import failed: you do not have the permissions to do this." +msgstr "Falhou ao importar as opções: Não tem permissões para fazer isto." -#: inc/Engine/Admin/Database/Optimization.php:36 -msgid "Tables" -msgstr "Tabelas" +#: inc/admin/admin.php:401 +msgid "Settings import failed: no file uploaded." +msgstr "Falhou ao importar as opções: Nenhum ficheiro carregado." -#: inc/Engine/Admin/Database/Subscriber.php:79 -#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92 -#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137 -msgid "weekly" -msgstr "semanalmente" +#: inc/admin/admin.php:405 +msgid "Settings import failed: incorrect filename." +msgstr "Falhou ao importar as opções: Nome de ficheiro incorrecto." -#: inc/Engine/Admin/Database/Subscriber.php:85 -msgid "monthly" -msgstr "mensalmente" +#: inc/admin/admin.php:416 +msgid "Settings import failed: incorrect filetype." +msgstr "Falhou ao importar as opções: Tipo de ficheiro incorrecto." -#: inc/Engine/Admin/Database/Subscriber.php:194 -msgid "Database optimization process is running" -msgstr "O processo de optimização da base de dados está a decorrer" +#: inc/admin/admin.php:426 +msgid "Settings import failed: " +msgstr "Falhou ao importar as opções: " -#: inc/Engine/Admin/Database/Subscriber.php:224 -msgid "" -"Database optimization process is complete. Everything was already optimized!" -msgstr "" -"O processo de optimização da base de dados foi concluído. Está tudo " -"optimizado!" +#: inc/admin/admin.php:442 +msgid "Settings import failed: unexpected file content." +msgstr "Falhou ao importar as opções: Ficheiro com conteúdo inesperado." -#: inc/Engine/Admin/Database/Subscriber.php:227 -msgid "" -"Database optimization process is complete. List of optimized items below:" -msgstr "" -"O processo de optimização da base de dados foi concluído. Lista de itens " -"optimizados:" +#: inc/admin/admin.php:472 +msgid "Settings imported and saved." +msgstr "As opções foram importadas e guardadas." -#: inc/Engine/Admin/Database/Subscriber.php:235 -#, php-format -msgid "%1$d %2$s optimized." -msgstr "%1$d %2$s." +#: inc/admin/options.php:84 inc/Engine/Admin/Settings/Page.php:684 +msgid "Excluded CSS Files" +msgstr "Ficheiros de CSS excluídos" -#: inc/Engine/Admin/Settings/Page.php:201 -msgid "Save Changes" -msgstr "Guardar alterações" +#: inc/admin/options.php:85 inc/Engine/Admin/Settings/Page.php:838 +msgid "Excluded Inline JavaScript" +msgstr "JavaScript em linha excluído" -#: inc/Engine/Admin/Settings/Page.php:201 -msgid "Validate License" -msgstr "Validar licença" +#: inc/admin/options.php:86 inc/Engine/Admin/Settings/Page.php:856 +#: inc/Engine/Admin/Settings/Page.php:889 +#: inc/Engine/Admin/Settings/Page.php:936 +msgid "Excluded JavaScript Files" +msgstr "Ficheiros de JavaScript excluídos" -#: inc/Engine/Admin/Settings/Page.php:257 -#: inc/Engine/Admin/Settings/Page.php:258 -msgid "Unavailable" -msgstr "Indisponível" +#: inc/admin/options.php:87 +msgid "Defer JavaScript Files" +msgstr "Diferir ficheiros de JavaScript" -#: inc/Engine/Admin/Settings/Page.php:352 inc/deprecated/deprecated.php:1789 -#: views/settings/page-sections/dashboard.php:80 -msgid "License" -msgstr "Licença" +#: inc/admin/options.php:88 +msgid "Excluded Delay JavaScript Files" +msgstr "Ficheiros de JavaScript excluídos do diferimento" -#: inc/Engine/Admin/Settings/Page.php:369 -msgid "API key" -msgstr "Chave de API" +#: inc/admin/options.php:89 inc/Engine/Admin/Settings/Page.php:1329 +msgid "Never Cache URL(s)" +msgstr "Nunca criar cache dos URL" -#: inc/Engine/Admin/Settings/Page.php:384 -msgid "Email address" -msgstr "Endereço de email" +#: inc/admin/options.php:90 inc/Engine/Admin/Settings/Page.php:1343 +msgid "Never Cache User Agent(s)" +msgstr "Nunca criar cache de agentes de utilizador" -#: inc/Engine/Admin/Settings/Page.php:410 -msgid "Dashboard" -msgstr "Painel" +#: inc/admin/options.php:91 inc/Engine/Admin/Settings/Page.php:1349 +msgid "Always Purge URL(s)" +msgstr "Limpar sempre os URL" -#: inc/Engine/Admin/Settings/Page.php:411 -msgid "Get help, account info" -msgstr "Obter ajuda, informações da conta" +#: inc/admin/options.php:92 inc/Engine/Admin/Settings/Page.php:1616 +msgid "Exclude files from CDN" +msgstr "Excluir ficheiros da CDN" -#: inc/Engine/Admin/Settings/Page.php:420 -msgid "My Status" -msgstr "O meu estado" +#. translators: 1 and 2 can be anything. +#: inc/admin/options.php:110 +msgid "%1$s: %2$s" +msgstr "%1$s: %2$s" -#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75 -msgid "Rocket Analytics" -msgstr "Rocket Analytics" +#: inc/admin/options.php:120 +msgid "The following pattern is invalid and has been removed:" +msgid_plural "The following patterns are invalid and have been removed:" +msgstr[0] "Este padrão é inválido e foi removido:" +msgstr[1] "Estes padrões são inválidos e foram removidos:" +msgstr[2] "Estes padrões são inválidos e foram removidos:" -#: inc/Engine/Admin/Settings/Page.php:432 -#, php-format -msgid "" -"I agree to share anonymous data with the development team to help improve WP" -" Rocket. %1$sWhat info will we collect?%2$s" -msgstr "" -"Concordo em partilhar informações anónimas com a equipa de desenvolvimento " -"para ajudar a melhorar o WP Rocket. %1$sQue informações recolhemos?%2$s" +#: inc/admin/options.php:136 +msgid "More info" +msgstr "Mais informações" -#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354 -msgid "Cache" -msgstr "Cache" +#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:671 +#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147 +#: views/settings/page-sections/dashboard.php:150 +msgid "Clear cache" +msgstr "Limpar cache" -#: inc/Engine/Admin/Settings/Page.php:457 -msgid "Basic cache options" -msgstr "Opções básicas de cache" +#: inc/admin/ui/meta-boxes.php:67 +msgid "WP Rocket Options" +msgstr "Opções do WP Rocket" -#: inc/Engine/Admin/Settings/Page.php:464 -msgid "Mobile Cache" -msgstr "Cache de dispositivos móveis" +#: inc/admin/ui/meta-boxes.php:96 +msgid "Never cache this page" +msgstr "Nunca criar cache desta página" -#: inc/Engine/Admin/Settings/Page.php:466 -msgid "Speed up your site for mobile visitors." -msgstr "Acelere o seu site em dispositivos móveis." +#: inc/admin/ui/meta-boxes.php:100 +msgid "Activate these options on this post:" +msgstr "Activar estas opções neste conteúdo:" -#: inc/Engine/Admin/Settings/Page.php:471 -msgid "" -"We detected you use a plugin that requires a separate cache for mobile, and " -"automatically enabled this option for compatibility." -msgstr "" -"Foi detectada a utilização de um plugin que requer uma cache separada para " -"dispositivos móveis, e foi activada esta opção para garantir a " -"compatibilidade." +#: inc/admin/ui/meta-boxes.php:103 +msgid "LazyLoad for images" +msgstr "Carregar imagens em diferido" -#: inc/Engine/Admin/Settings/Page.php:475 -msgid "User Cache" -msgstr "Cache de utilizadores" +#: inc/admin/ui/meta-boxes.php:104 +msgid "LazyLoad for iframes/videos" +msgstr "Carregar iframes/vídeos em diferido" -#: inc/Engine/Admin/Settings/Page.php:478 -#, php-format -msgid "" -"%1$sUser cache%2$s is great when you have user-specific or restricted " -"content on your website." -msgstr "" -"A %1$scache de utilizadores%2$s é óptima quando tem conteúdos específicos " -"para utilizadores ou conteúdos restritos no seu site." +#: inc/admin/ui/meta-boxes.php:105 +msgid "Minify CSS" +msgstr "Minificar CSS" -#: inc/Engine/Admin/Settings/Page.php:486 -msgid "Cache Lifespan" -msgstr "Expiração da cache" +#: inc/admin/ui/meta-boxes.php:106 inc/Engine/Admin/Settings/Page.php:736 +msgid "Remove Unused CSS" +msgstr "Remover CSS não utilizado" -#: inc/Engine/Admin/Settings/Page.php:489 -#, php-format -msgid "" -"Cache files older than the specified lifespan will be deleted.
    Enable " -"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan " -"expiration." -msgstr "" -"Serão eliminados os ficheiros de cache mais antigos do que a expiração " -"especificada.
    Active o %1$spré-carregamento%2$s para a cache ser " -"reconstruída automaticamente após a sua expiração." +#: inc/admin/ui/meta-boxes.php:107 +msgid "Minify/combine JS" +msgstr "Minificar/combinar JS" -#: inc/Engine/Admin/Settings/Page.php:503 -msgid "Enable caching for logged-in WordPress users" -msgstr "Activar cache para utilizadores do WordPress com sessão iniciada" +#: inc/admin/ui/meta-boxes.php:108 inc/deprecated/deprecated.php:1773 +#: inc/Engine/Admin/Settings/Page.php:1586 +#: inc/Engine/Admin/Settings/Page.php:1597 +msgid "CDN" +msgstr "CDN" -#: inc/Engine/Admin/Settings/Page.php:511 -msgid "Enable caching for mobile devices" -msgstr "Activar cache para dispositivos móveis" +#: inc/admin/ui/meta-boxes.php:109 inc/Engine/Admin/Settings/Page.php:765 +msgid "Load CSS asynchronously" +msgstr "Carregamento assíncrono de CSS" -#: inc/Engine/Admin/Settings/Page.php:526 -msgid "Separate cache files for mobile devices" -msgstr "Ficheiros de cache separados para dispositivos móveis" +#: inc/admin/ui/meta-boxes.php:110 +msgid "Defer JS" +msgstr "Diferir JS" -#: inc/Engine/Admin/Settings/Page.php:528 -#, php-format +#: inc/admin/ui/meta-boxes.php:111 inc/Engine/Admin/Settings/Page.php:907 +msgid "Delay JavaScript execution" +msgstr "Diferir execução de JavaScript" + +#. translators: %s is the name of the option. +#: inc/admin/ui/meta-boxes.php:130 +msgid "Activate first the %s option." +msgstr "Active primeiro a opção %s." + +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/admin/ui/meta-boxes.php:146 msgid "" -"Most modern themes are responsive and should work without a separate cache. " -"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore " -"info%2$s" +"%1$sNote:%2$s None of these options will be applied if this post has been " +"excluded from cache in the global cache settings." msgstr "" -"A maioria dos temas modernos é responsiva e deverá funcionar sem uma cache " -"separada. Active isto apenas se tiver um tema ou plugin dedicado a " -"dispositivos móveis. %1$sMais informações%2$s" +"%1$sAtenção:%2$s Nenhuma destas opções será aplicada se este conteúdo tiver " +"sido excluído da cache nas opções globais da cache." -#: inc/Engine/Admin/Settings/Page.php:544 +#. translators: %1$s WP Rocket plugin name; %2$s = file name. +#: inc/admin/ui/notices.php:30 inc/admin/ui/notices.php:43 msgid "" -"Specify time after which the global cache is cleared
    (0 = unlimited )" +"%1$s has not been deactivated due to missing writing permissions.
    \n" +"Make %2$s writeable and retry deactivation, or force deactivation now:" msgstr "" -"Especifique o tempo após o qual a cache global é limpa
    (0 = ilimitado)" +"O %1$s não foi desactivado por falta de permissão de escrita.
    \n" +"Active a permissão de escrita para o %2$s e tente de novo, ou force a desativação agora:" -#: inc/Engine/Admin/Settings/Page.php:546 -#, php-format +#. translators: %s is WP Rocket plugin name. +#: inc/admin/ui/notices.php:97 msgid "" -"Reduce lifespan to 10 hours or less if you notice issues that seem to appear" -" periodically. %1$sWhy?%2$s" +"%s: One or more plugins have been enabled or disabled, " +"clear the cache if they affect the front end of your site." msgstr "" -"Reduza a expiração para 10 horas ou menos se notar erros que parecem surgir " -"periodicamente. %1$sPorquê?%2$s" - -#: inc/Engine/Admin/Settings/Page.php:552 -#: inc/Engine/License/views/promo-banner.php:30 -#: inc/Engine/License/views/renewal-soon-banner.php:13 -msgid "Hours" -msgstr "Horas" - -#: inc/Engine/Admin/Settings/Page.php:553 -#: inc/Engine/License/views/promo-banner.php:29 -#: inc/Engine/License/views/renewal-soon-banner.php:12 -msgid "Days" -msgstr "Dias" - -#: inc/Engine/Admin/Settings/Page.php:602 -msgid "File Optimization" -msgstr "Optimizar ficheiros" - -#: inc/Engine/Admin/Settings/Page.php:603 -msgid "Optimize CSS & JS" -msgstr "Optimize o CSS e JS" +"%s: Um ou mais plugins foram activados ou desactivados, " +"caso afectem a interface do seu site, deve limpar a cache." -#: inc/Engine/Admin/Settings/Page.php:611 -#: inc/Engine/Admin/Settings/Page.php:637 -#, php-format +#. translators: %s is WP Rocket plugin name. +#: inc/admin/ui/notices.php:141 msgid "" -"%1$s Minification is currently activated in Autoptimize. If" -" you want to use %2$s’s minification, disable those options in Autoptimize." +"%s: The following plugins are not compatible with this " +"plugin and may cause unexpected results:" msgstr "" -"De momento a minificação do %1$s está activada no " -"Autoptimize. Se quiser usar a minificação do %2$s, " -"desactive esta opção no Autoptimize." - -#: inc/Engine/Admin/Settings/Page.php:621 -msgid "CSS Files" -msgstr "Ficheiros de CSS" +"%s: Os seguintes plugins não são compatíveis com este " +"plugin e poderão causar resultados inesperados:" -#: inc/Engine/Admin/Settings/Page.php:630 -msgid "JavaScript Files" -msgstr "Ficheiros de JavaScript" +#: inc/admin/ui/notices.php:147 +msgid "Deactivate" +msgstr "Desactivar" -#: inc/Engine/Admin/Settings/Page.php:642 +#: inc/admin/ui/notices.php:189 msgid "" -"If you have problems after activating this option, copy and paste the " -"default exclusions to quickly resolve issues:" +"WP Rocket Footer JS is not an official add-on. It prevents some options in " +"WP Rocket from working correctly. Please deactivate it if you have problems." msgstr "" -"Se tiver algum problema depois de activar esta opção, copie e cole as " -"exclusões por omissão para corrigir os erros rapidamente:" +"O WP Rocket Footer JS não é um módulo oficial. Impede o funcionamento " +"correcto de algumas opções do WP Rocket. Deverá ser desactivado caso tenha " +"algum problema." -#: inc/Engine/Admin/Settings/Page.php:646 -#, php-format +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/admin/ui/notices.php:229 msgid "" -"Also, please check our %1$sdocumentation%2$s for a list of compatibility " -"exclusions." +"Endurance Cache is currently enabled, which will conflict with WP Rocket " +"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the " +"%1$sSettings > General%2$s page to prevent any issues." msgstr "" -"Além disto, por favor consulte a nossa %1$sdocumentação%2$s para uma lista " -"de exclusões compatíveis." +"O plugin Endurance Cache está activo de momento, e pode entrar em conflito " +"com o WP Rocket Cache. Por favor configure o nível de cache do Endurance " +"Cache para Inactivo (Level 0) na página %1$sConfigurações > Geral%2$s para " +"evitar quaisquer problemas." -#: inc/Engine/Admin/Settings/Page.php:651 +#. translators: %1$s WP Rocket plugin name; %2$s = opening link; %3$s = +#. closing link +#: inc/admin/ui/notices.php:250 msgid "" -"Internal scripts are excluded by default to prevent issues. Remove them to " -"take full advantage of this option." +"%1$s: A custom permalink structure is required for the plugin to work " +"properly. %2$sGo to permalinks settings%3$s" msgstr "" -"Os scripts internos estão excluídos por omissão para evitar problems. " -"Remova-os para tirar total partido desta opção." +"%1$s: É obrigatória uma estrutura personalizada de ligações permanentes para" +" o plugin funcionar correctamente. %2$sVá para as opções das ligações " +"permanentes%3$s" -#: inc/Engine/Admin/Settings/Page.php:654 -#, php-format +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:297 msgid "" -"If this causes trouble, restore the default exclusions, found %1$shere%2$s" +"%s could not modify the .htaccess file due to missing writing permissions." msgstr "" -"Se isto criar algum problema, recupere as exclusões por omissão %1$saqui%2$s" - -#: inc/Engine/Admin/Settings/Page.php:663 -msgid "Minify CSS files" -msgstr "Minificar ficheiros de CSS" +"O %s não pôde modificar o ficheiro .htaccess devido à falta de permissões de" +" escrita." -#: inc/Engine/Admin/Settings/Page.php:664 -msgid "Minify CSS removes whitespace and comments to reduce the file size." +#. translators: This is a doc title! %1$s = opening link; %2$s = closing link +#: inc/admin/ui/notices.php:303 inc/admin/ui/notices.php:788 +msgid "Troubleshoot: %1$sHow to make system files writeable%2$s" msgstr "" -"A minificação do CSS remove espaços em branco e comentários para reduzir o " -"tamanho do ficheiro." - -#: inc/Engine/Admin/Settings/Page.php:677 -#: inc/Engine/Admin/Settings/Page.php:701 -#: inc/Engine/Admin/Settings/Page.php:765 -#: inc/Engine/Admin/Settings/Page.php:831 -#: inc/Engine/Admin/Settings/Page.php:855 -msgid "This could break things!" -msgstr "Isto poderá danificar alguma coisa!" +"Resolução de problemas: %1$sComo activar a permissão escrita nos ficheiros " +"do sistema%2$s" -#: inc/Engine/Admin/Settings/Page.php:678 -#: inc/Engine/Admin/Settings/Page.php:702 -#: inc/Engine/Admin/Settings/Page.php:766 -#: inc/Engine/Admin/Settings/Page.php:832 -#: inc/Engine/Admin/Settings/Page.php:856 +#. translators: Documentation exists in EN, DE, FR, ES, IT; use loaclised URL +#. if applicable +#: inc/admin/ui/notices.php:305 inc/admin/ui/notices.php:790 msgid "" -"If you notice any errors on your website after having activated this " -"setting, just deactivate it again, and your site will be back to normal." -msgstr "" -"Se notar quaisquer erros no seu site depois de activar esta opção, basta " -"desactivar de novo para o seu site voltar ao normal." - -#: inc/Engine/Admin/Settings/Page.php:679 -msgid "Activate minify CSS" -msgstr "Activar minificação do CSS" - -#: inc/Engine/Admin/Settings/Page.php:684 -msgid "Combine CSS files (Enable Minify CSS files to select)" +"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" +"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" msgstr "" -"Combinar ficheiros de CSS (Active a minificação dos ficheiros de CSS " -"para poder seleccionar)" +"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" +"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" -#: inc/Engine/Admin/Settings/Page.php:686 -#, php-format +#: inc/admin/ui/notices.php:311 msgid "" -"Combine CSS merges all your files into 1, reducing HTTP requests. Not " -"recommended if your site uses HTTP/2. %1$sMore info%2$s" +"Don’t worry, WP Rocket’s page caching and settings will still function " +"correctly." msgstr "" -"A combinação do CSS junta todos os seus ficheiros num só, reduzindo os " -"pedidos HTTP. Não é recomendado se o seu site utilizar HTTP/2. %1$sMais " -"informações%2$s" +"Não se preocupe, a cache de páginas e as opções do WP Rocket continuarão a " +"funcionar correctamente." -#: inc/Engine/Admin/Settings/Page.php:687 +#: inc/admin/ui/notices.php:311 msgid "" -"For compatibility and best results, this option is disabled when Remove " -"unused CSS is enabled." +"For optimal performance, adding the following lines into your .htaccess is " +"recommended (not required):" msgstr "" -"Para compatibilidade e melhores resultados, esta opção é desactivada ao " -"activar a opção de remover CSS não utilizado." - -#: inc/Engine/Admin/Settings/Page.php:703 -msgid "Activate combine CSS" -msgstr "Activar combinação do CSS" - -#: inc/Engine/Admin/Settings/Page.php:708 inc/admin/options.php:124 -msgid "Excluded CSS Files" -msgstr "Ficheiros de CSS excluídos" +"Para um óptimo desempenho, é recomendado adicionar estas linhas ao seu " +"ficheiro .htaccess (não obrigatório):" -#: inc/Engine/Admin/Settings/Page.php:709 +#. translators: %1$s = plugin name, %2$s + %3$s = opening links, %4$s = +#. closing link +#: inc/admin/ui/notices.php:458 msgid "" -"Specify URLs of CSS files to be excluded from minification and concatenation" -" (one per line)." +"%1$s is good to go! %2$sTest your load time%4$s, or visit your " +"%3$ssettings%4$s." msgstr "" -"Especifique os URL de ficheiros de CSS a excluir da minificação e " -"concatenação (um por linha)." +"O %1$s está pronto! %2$sTeste o tempo de carregamento%4$s ou consulte as " +"suas %3$sopções%4$s." -#: inc/Engine/Admin/Settings/Page.php:710 +#: inc/admin/ui/notices.php:499 msgid "" -"Internal: The domain part of the URL will be stripped " -"automatically. Use (.*).css wildcards to exclude all CSS files located at a " -"specific path." +"Would you allow WP Rocket to collect non-sensitive diagnostic data from this" +" website?" msgstr "" -"Interno: O domínio será removido automaticamente do URL. " -"Use wildcards (.*).css para excluir todos os ficheiros de CSS localizados " -"num caminho específico." +"Permite que o WP Rocket recolha dados não sensíveis de diagnóstico deste " +"site?" -#: inc/Engine/Admin/Settings/Page.php:712 -#, php-format -msgid "" -"3rd Party: Use either the full URL path or only the domain " -"name, to exclude external CSS. %1$sMore info%2$s" -msgstr "" -"Terceiros: Use o caminho completo do URL ou apenas o nome " -"do domínio, para excluir CSS externo. %1$sMais informações%2$s" +#: inc/admin/ui/notices.php:500 +msgid "This would help us to improve WP Rocket for you in the future." +msgstr "Isto ajuda-nos a melhorar o WP Rocket no futuro." -#: inc/Engine/Admin/Settings/Page.php:725 -#: inc/Engine/Admin/Settings/Page.php:747 -msgid "Optimize CSS delivery" -msgstr "Optimizar entrega do CSS" +#. translators: button text, click will expand data collection preview +#: inc/admin/ui/notices.php:506 +msgid "What info will we collect?" +msgstr "Que informação vamos recolher?" -#: inc/Engine/Admin/Settings/Page.php:730 +#: inc/admin/ui/notices.php:511 msgid "" -"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " -"one method can be selected. Remove Unused CSS is recommended for optimal " -"performance, but limited only to the users with active license." +"Below is a detailed view of all data WP Rocket will collect if granted " +"permission. WP Rocket will never transmit any domain names or email " +"addresses (except for license validation), IP addresses, or third-party API " +"keys." msgstr "" -"A optimização de entrega do CSS elimina o CSS que bloqueia a apresentação do" -" seu site. Apenas pode seleccionar um método. Para um óptimo desempenho é " -"recomendado Remover CSS não utilizado, mas apenas para utilizadores com uma " -"licença activa." +"Abaixo está uma lista detalhada de todos os dados que o WP Rocket irá " +"recolher caso dê permissão. O WP Rocket nunca irá transmitir quaisquer nomes" +" de domínio ou endereços de email (excepto para validação de licença), " +"endereços de IP ou chaves de API de terceiros." -#: inc/Engine/Admin/Settings/Page.php:730 -msgid "" -"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " -"one method can be selected. Remove Unused CSS is recommended for optimal " -"performance." -msgstr "" -"A optimização de entrega do CSS elimina o CSS que bloqueia a apresentação do" -" seu site. Apenas pode seleccionar um método. Para um óptimo desempenho é " -"recomendado Remover CSS não utilizado." +#. translators: button text for data collection opt-in +#: inc/admin/ui/notices.php:520 +msgid "Yes, allow" +msgstr "Sim, permitir" -#: inc/Engine/Admin/Settings/Page.php:740 -#, php-format -msgid "" -"Optimize CSS Delivery features are disabled on local environments. %1$sLearn" -" more%2$s" -msgstr "" -"As funcionalidades de optimizar entrega do CSS estão desactivadas em " -"ambientes locais. %1$sSaiba mais%2$s" +#. translators: button text for data collection opt-in +#: inc/admin/ui/notices.php:523 +msgid "No, thanks" +msgstr "Não, obrigado" -#: inc/Engine/Admin/Settings/Page.php:760 inc/admin/ui/meta-boxes.php:106 -msgid "Remove Unused CSS" -msgstr "Remover CSS não utilizado" +#: inc/admin/ui/notices.php:562 +msgid "Thank you!" +msgstr "Obrigado!" -#: inc/Engine/Admin/Settings/Page.php:763 -#, php-format -msgid "" -"Removes unused CSS per page and helps to reduce page size and HTTP requests." -" Recommended for best performance. Test thoroughly! %1$sMore info%2$s" -msgstr "" -"Remove CSS não utilizado por página, o que ajuda a reduzir o tamanho da " -"página e os pedidos HTTP. Recomendado para um melhor desempenho. Teste com " -"cuidado! %1$sMais informações%2$s" +#: inc/admin/ui/notices.php:567 +msgid "WP Rocket now collects these metrics from your website:" +msgstr "O WP Rocket agora recolhe as seguintes métricas do seu site:" -#: inc/Engine/Admin/Settings/Page.php:767 -msgid "Activate Remove Unused CSS" -msgstr "Activar a remoção de CSS não utilizado" +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:605 +msgid "%s: Cache cleared." +msgstr "%s: A cache foi limpa." -#: inc/Engine/Admin/Settings/Page.php:773 -msgid "CSS safelist" -msgstr "CSS a não remover" +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:612 +msgid "%s: Post cache cleared." +msgstr "%s: A cache do conteúdo foi limpa." -#: inc/Engine/Admin/Settings/Page.php:774 -msgid "" -"Specify CSS filenames, IDs or classes that should not be removed (one per " -"line)." -msgstr "" -"Especifique os ficheiros, ID ou classes CSS que não devem ser removidos (um " -"por linha)." +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:619 +msgid "%s: Term cache cleared." +msgstr "%s: A cache do termo foi limpa." -#: inc/Engine/Admin/Settings/Page.php:789 inc/admin/ui/meta-boxes.php:109 -msgid "Load CSS asynchronously" -msgstr "Carregamento assíncrono de CSS" +#. translators: %s = plugin name). +#: inc/admin/ui/notices.php:626 +msgid "%s: User cache cleared." +msgstr "%s: A cache do utilizador foi limpa." -#: inc/Engine/Admin/Settings/Page.php:792 -#, php-format -msgctxt "WP Critical CSS compatibility" -msgid "" -"Load CSS asynchronously is currently handled by the %1$s plugin. If you want" -" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin." -msgstr "" -"De momento o CSS é carregado de modo assíncrono pelo plugin %1$s. Se quiser " -"usar o carregamento assíncrono de CSS do WP Rocket, desactive o plugin %1$s." +#: inc/admin/ui/notices.php:662 inc/Engine/License/views/promo-banner.php:36 +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32 +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42 +#: inc/Engine/License/views/renewal-expired-banner.php:30 +#: views/settings/page-sections/dashboard.php:46 +msgid "Dismiss this notice" +msgstr "Descartar esta notificação" -#: inc/Engine/Admin/Settings/Page.php:794 -#, php-format -msgid "" -"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s" -msgstr "" -"Gera CSS do caminho crítico e carrega o CSS de modo assíncrono. %1$sMais " -"informações%2$s" +#: inc/admin/ui/notices.php:682 +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131 +#: views/settings/page-sections/dashboard.php:188 +msgid "Clear Used CSS" +msgstr "Limpar CSS utilizado" -#: inc/Engine/Admin/Settings/Page.php:800 -msgid "Fallback critical CSS" -msgstr "Alternativa ao CSS crítico" +#: inc/admin/ui/notices.php:685 +msgid "Stop Preload" +msgstr "Parar pré-carregamento" -#: inc/Engine/Admin/Settings/Page.php:802 -#, php-format -msgid "" -"Provides a fallback if auto-generated critical path CSS is incomplete. " -"%1$sMore info%2$s" -msgstr "" -"Fornece uma alternativa caso o CSS do caminho crítico gerado automaticamente" -" esteja incompleto. %1$sMais informações%2$s" +#: inc/admin/ui/notices.php:691 +msgid "Turn on Remove Unused CSS" +msgstr "Ligar a remoção de CSS não utilizado" -#: inc/Engine/Admin/Settings/Page.php:817 -msgid "Minify JavaScript files" -msgstr "Minificar ficheiros de JavaScript" +#: inc/admin/ui/notices.php:697 +msgid "Enable “Separate Cache Files for Mobile Devices” now" +msgstr "Active agora os \"Ficheiros de cache separados para dispositivos móveis\"" -#: inc/Engine/Admin/Settings/Page.php:818 -msgid "" -"Minify JavaScript removes whitespace and comments to reduce the file size." +#: inc/admin/ui/notices.php:715 +msgid "Force deactivation " +msgstr "Forçar desactivação " + +#: inc/admin/ui/notices.php:745 +msgid "The following code should have been written to this file:" +msgstr "Deveria ter sido escrito neste ficheiro o seguinte código:" + +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:776 +msgid "%s cannot configure itself due to missing writing permissions." msgstr "" -"A minificação do JavaScript remove espaços em branco e comentários para " -"reduzir o tamanho do ficheiro." +"Não é possível configurar o %s devido à falta de permissões de escrita." -#: inc/Engine/Admin/Settings/Page.php:833 -msgid "Activate minify JavaScript" -msgstr "Activar minificação do JavaScript" +#. translators: %s = file/folder name +#: inc/admin/ui/notices.php:782 +msgid "Affected file/folder: %s" +msgstr "Ficheiro/pasta afectados: %s" + +#: inc/classes/admin/class-logs.php:124 +msgid "The debug file could not be deleted." +msgstr "Não foi possível eliminar o ficheiro de depuração." + +#. Translators: %1$s = Plugin name, %2$s = Plugin version. +#: inc/classes/class-wp-rocket-requirements-check.php:147 +msgid "To function properly, %1$s %2$s requires at least:" +msgstr "Para funcionar correctamente, o %1$s %2$s requer pelo menos:" -#: inc/Engine/Admin/Settings/Page.php:838 +#. Translators: %1$s = PHP version required. +#: inc/classes/class-wp-rocket-requirements-check.php:151 msgid "" -"Combine JavaScript files (Enable Minify JavaScript files to select)" +"PHP %1$s. To use this WP Rocket version, please ask your web host how to " +"upgrade your server to PHP %1$s or higher." msgstr "" -"Combinar ficheiros de JavaScript (Active a minificação dos ficheiros de " -"JavaScript para poder seleccionar)" +"PHP %1$s. Para usar esta versão do WP Rocket, por favor consulte o seu " +"serviço de alojamento para actualizar o seu servidor para o PHP %1$s ou " +"superior." -#: inc/Engine/Admin/Settings/Page.php:840 -#, php-format +#. Translators: %1$s = WordPress version required. +#: inc/classes/class-wp-rocket-requirements-check.php:156 msgid "" -"Combine JavaScript files combines your site’s internal, 3rd party and inline" -" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. " -"%1$sMore info%2$s" +"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to " +"version %1$s or higher." msgstr "" -"A combinação de ficheiros de JavaScript combina o JS interno, em linha e de " -"terceiros, reduzindo os pedidos HTTP. Não é recomendado se o seu site " -"utilizar HTTP/2. %1$sMais informações%2$s" +"WordPress %1$s. Para usar esta versão do WP Rocket, por favor actualize seu " +"WordPress para a versão %1$s ou superior." -#: inc/Engine/Admin/Settings/Page.php:841 +#: inc/classes/class-wp-rocket-requirements-check.php:159 msgid "" -"For compatibility and best results, this option is disabled when delay " -"javascript execution is enabled." +"If you are not able to upgrade, you can rollback to the previous version by " +"using the button below." msgstr "" -"Para compatibilidade e melhores resultados, esta opção é desactivada ao " -"activar a opção de diferir a execução de JavaScript." +"Se não puder actualizar, ainda pode reverter para a versão anterior através " +"do botão abaixo." -#: inc/Engine/Admin/Settings/Page.php:857 -msgid "Activate combine JavaScript" -msgstr "Activar combinação do JavaScript" +#. Translators: %s = Previous plugin version. +#: inc/classes/class-wp-rocket-requirements-check.php:161 +#: inc/deprecated/deprecated.php:1947 +msgid "Re-install version %s" +msgstr "Reinstalar a versão %s" -#: inc/Engine/Admin/Settings/Page.php:862 inc/admin/options.php:125 -msgid "Excluded Inline JavaScript" -msgstr "JavaScript em linha excluído" +#. translators: %s is the plugin name. +#: inc/classes/class-wp-rocket-requirements-check.php:203 +#: inc/classes/class-wp-rocket-requirements-check.php:214 +#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251 +#: inc/Engine/Plugin/UpdaterSubscriber.php:483 +#: inc/Engine/Plugin/UpdaterSubscriber.php:497 +msgid "%s Update Rollback" +msgstr "Reversão da actualização do %s" -#: inc/Engine/Admin/Settings/Page.php:864 -#, php-format +#. translators: %1$s = missing tags; +#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151 msgid "" -"Specify patterns of inline JavaScript to be excluded from concatenation (one" -" per line). %1$sMore info%2$s" -msgstr "" -"Especifique padrões de JavaScript em linha a excluir da concatenação (um por" -" linha). %1$sMais informações%2$s" - -#: inc/Engine/Admin/Settings/Page.php:880 -#: inc/Engine/Admin/Settings/Page.php:913 -#: inc/Engine/Admin/Settings/Page.php:960 inc/admin/options.php:126 -msgid "Excluded JavaScript Files" -msgstr "Ficheiros de JavaScript excluídos" +"Failed to detect the following requirement in your theme: closing %1$s." +msgid_plural "" +"Failed to detect the following requirements in your theme: closing %1$s." +msgstr[0] "" +"Falhou ao detectar o seguinte requisito no seu tema: fecho de %1$s." +msgstr[1] "" +"Falhou ao detectar os seguintes requisitos no seu tema: fecho de %1$s." +msgstr[2] "" +"Falhou ao detectar os seguintes requisitos no seu tema: fecho de %1$s." -#: inc/Engine/Admin/Settings/Page.php:881 +#. translators: Documentation exists in EN, FR; use localized URL if +#. applicable. +#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159 msgid "" -"Specify URLs of JavaScript files to be excluded from minification and " -"concatenation (one per line)." +"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" +"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" msgstr "" -"Especifique os URL de ficheiros de JavaScript a excluir da minificação e " -"concatenação (um por linha)." +"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" +"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" -#: inc/Engine/Admin/Settings/Page.php:882 -msgid "" -"Internal: The domain part of the URL will be stripped " -"automatically. Use (.*).js wildcards to exclude all JS files located at a " -"specific path." -msgstr "" -"Interno: O domínio será removido automaticamente do URL. " -"Use wildcards (.*).js para excluir todos os ficheiros de JS localizados num " -"caminho específico." +#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147 +#: views/settings/page-sections/dashboard.php:150 +msgid "Clear and preload cache" +msgstr "Limpar e pré-carregar cache" -#: inc/Engine/Admin/Settings/Page.php:884 -#, php-format -msgid "" -"3rd Party: Use either the full URL path or only the domain " -"name, to exclude external JS. %1$sMore info%2$s" -msgstr "" -"Terceiros: Use o caminho completo do URL ou apenas o nome " -"do domínio, para excluir JS externo. %1$sMais informações%2$s" +#: inc/common/admin-bar.php:135 inc/functions/i18n.php:40 +#: inc/functions/i18n.php:50 +msgid "All languages" +msgstr "Todos os idiomas" -#: inc/Engine/Admin/Settings/Page.php:900 -msgid "Load JavaScript deferred" -msgstr "Diferir carregamento de JavaScript" +#: inc/common/admin-bar.php:171 +msgid "Clear this post" +msgstr "Limpar este conteúdo" -#: inc/Engine/Admin/Settings/Page.php:902 -#, php-format -msgid "" -"Load JavaScript deferred eliminates render-blocking JS on your site and can " -"improve load time. %1$sMore info%2$s" -msgstr "" -"O carregamento diferido de JavaScript elimina JS que bloqueia a apresentação" -" do seu site e pode melhorar o tempo de carregamento. %1$sMais " -"informações%2$s" +#: inc/common/admin-bar.php:185 +msgid "Purge this URL" +msgstr "Limpar este URL" -#: inc/Engine/Admin/Settings/Page.php:915 -#, php-format -msgid "" -"Specify URLs or keywords of JavaScript files to be excluded from defer (one " -"per line). %1$sMore info%2$s" -msgstr "" -"Especifique os URL ou palavras-chave de ficheiros de JavaScript a excluir do" -" diferimento (um por linha). %1$sMais informações%2$s" +#: inc/common/admin-bar.php:205 +msgid "Purge Sucuri cache" +msgstr "Limpar cache do Sucuri" -#: inc/Engine/Admin/Settings/Page.php:931 inc/admin/ui/meta-boxes.php:111 -msgid "Delay JavaScript execution" -msgstr "Diferir execução de JavaScript" +#: inc/common/admin-bar.php:229 views/settings/fields/rocket-cdn.php:55 +msgid "Purge RocketCDN cache" +msgstr "Limpar a cache da RocketCDN" -#: inc/Engine/Admin/Settings/Page.php:933 -#, php-format -msgid "" -"Improves performance by delaying the loading of JavaScript files until user " -"interaction (e.g. scroll, click). %1$sMore info%2$s" -msgstr "" -"Melhore o desempenho diferindo o carregamento dos ficheiros de JavaScript " -"até interacção do utilizador (como scroll ou clique). %1$sMais " -"informações%2$s" +#: inc/common/admin-bar.php:242 views/settings/partials/documentation.php:14 +msgid "Documentation" +msgstr "Documentação" -#: inc/Engine/Admin/Settings/Page.php:942 -msgid "One-click exclusions" -msgstr "Exclusões com um clique" +#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36 +msgid "Activate Imagify" +msgstr "Activar o Imagify" -#: inc/Engine/Admin/Settings/Page.php:943 +#: inc/deprecated/3.2.php:52 +msgid "Install Imagify for Free" +msgstr "Instale gratuitamente o Imagify" + +#: inc/deprecated/3.2.php:67 msgid "" -"When using the Delay JavaScript Execution, you might experience delay " -"loading elements located in the viewport that need to appear immediately - " -"e.g. slider, header, menu." +"Speed up your website and boost your SEO by reducing image file sizes " +"without losing quality with Imagify." msgstr "" -"Ao usar o diferimento da execução do JavaScript, poderá ocorrer algum atraso" -" no carregamento de elementos localizados na área visível do ecrã que devam " -"ser mostrados de imediato, como por exemplo, slider, cabeçalho ou menu." +"Acelere o seu site e melhore o seu SEO diminuindo o tamanho dos ficheiros " +"das imagem sem perder qualidade com o Imagify." + +#: inc/deprecated/3.2.php:72 +msgid "More details" +msgstr "Mais detalhes" + +#. translators: %d is the number of pages preloaded. +#: inc/deprecated/3.2.php:228 +msgid "Sitemap preload: %d pages have been cached." +msgstr "Pré-carregamento do sitemap: %d páginas foram adicionadas à cache." -#: inc/Engine/Admin/Settings/Page.php:944 +#. translators: %d = Number of pages preloaded. +#: inc/deprecated/3.2.php:261 msgid "" -"If you need instant visibility, click below on files that should NOT be " -"delayed. This selection will help users interact with the elements straight " -"away." +"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see " +"progress)" msgstr "" -"Se precisar de visibilidade imediata, clique abaixo nos ficheiros que NÃO " -"devem ser diferidos. Esta selecção ajudará os utilizadores a interagir de " -"imediato com os elementos." +"Pré-carregamento do sitemap: %d páginas sem cache foram pré-carregadas. " +"(actualize a página para ver o progresso)" -#: inc/Engine/Admin/Settings/Page.php:961 +#. translators: %s is an URL. +#: inc/deprecated/3.3.php:761 inc/deprecated/3.3.php:770 +#: inc/Engine/Plugin/UpdaterApiTools.php:32 msgid "" -"Specify URLs or keywords that can identify inline or JavaScript files to be " -"excluded from delaying execution (one per line)." +"An unexpected error occurred. Something may be wrong with WP-Rocket.me or " +"this server’s configuration. If you continue to have problems, contact support." msgstr "" -"Especifique os URL ou palavras-chave que possam identificar o JavaScript em " -"linha ou em ficheiros a excluir da execução em diferido (um por linha)." - -#: inc/Engine/Admin/Settings/Page.php:993 -msgid "Media" -msgstr "Multimédia" - -#: inc/Engine/Admin/Settings/Page.php:994 -msgid "LazyLoad, image dimensions" -msgstr "Carregamento diferido, dimensões de imagens" +"Ocorreu um erro inesperado. Pode haver um problema no servidor WP-Rocker.me " +"ou na configuração deste servidor. Se o problema persistir, contacte o suporte." -#: inc/Engine/Admin/Settings/Page.php:1003 -msgid "Autoptimize" -msgstr "Autoptimize" +#: inc/deprecated/3.4.php:18 +msgid "Choose a domain from the list" +msgstr "Escolha um domínio da lista" -#: inc/Engine/Admin/Settings/Page.php:1048 -msgid "LazyLoad" -msgstr "Carregamento diferido" +#: inc/deprecated/3.4.php:31 +msgid "No domain available in your Cloudflare account" +msgstr "Nenhum domínio disponível na sua conta da Cloudflare" -#: inc/Engine/Admin/Settings/Page.php:1051 -#, php-format +#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195 msgid "" -"It can improve actual and perceived loading time as images, iframes, and " -"videos will be loaded only as they enter (or about to enter) the viewport " -"and reduces the number of HTTP requests. %1$sMore Info%2$s" +"Curl is disabled on your server. Please ask your host to enable it. This is " +"required for the Cloudflare Add-on to work correctly." msgstr "" -"Pode melhorar o tempo real e percebido de carregamento, uma vez que as " -"imagens, iframes e vídeos só serão carregados se estiverem na área visível " -"do ecrã (ou próximos), e reduz o número de pedidos HTTP. %1$sMais " -"informações%2$s" +"O Curl está desactivado no seu servidor. Peça ao seu serviço de alojamento " +"para activar. Isto é necessário para que o módulo da Cloudflare funcione " +"correctamente." -#: inc/Engine/Admin/Settings/Page.php:1058 -#, php-format +#. translators: %1$s = opening link; %2$s = closing link +#: inc/deprecated/3.5.php:79 msgid "" -"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s " -"LazyLoad, disable this option in %2$s." +"Cloudflare email, API key and Zone ID are not set. Read the " +"%1$sdocumentation%2$s for further guidance." msgstr "" -"De momento o carregamento diferido está activado em %2$s. Se quiser usar o " -"carregamento diferido do WP Rocket, desactive esta opção em %2$s." - -#: inc/Engine/Admin/Settings/Page.php:1061 -msgid "Image Dimensions" -msgstr "Dimensões das imagens" +"O email, a chave de API e o ID da zona não estão definidos. Leia a " +"%1$sdocumentação%2$s para mais informações." -#: inc/Engine/Admin/Settings/Page.php:1064 -#, php-format +#. translators: %1$s = opening link; %2$s = closing link +#: inc/deprecated/3.5.php:206 msgid "" -"Add missing width and height attributes to images. Helps prevent layout " -"shifts and improve the reading experience for your visitors. %1$sMore " -"info%2$s" -msgstr "" -"Adicione os atributos de largura e altura em falta nas imagens. Ajuda a " -"evitar alterações de layout e melhora a experiência de leitura dos seus " -"visitantes. %1$sMais informações%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1083 -msgid "Enable for images" -msgstr "Activar para imagens" - -#: inc/Engine/Admin/Settings/Page.php:1095 -#, php-format -msgid "" -"LazyLoad for images is currently activated in %2$s. If you want to use " -"%1$s’s LazyLoad, disable this option in %2$s." +"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for" +" further guidance." msgstr "" -"De momento o carregamento diferido de imagens está activado em %2$s. Se " -"quiser usar o carregamento diferido do %1$s, desactive esta opção em %2$s." +"O email e a chave de API da Cloudflare não estão definidos. Leia a " +"%1$sdocumentação%2$s para mais informações." -#: inc/Engine/Admin/Settings/Page.php:1103 -msgid "Enable for iframes and videos" -msgstr "Activar para iframes e vídeos" +#: inc/deprecated/3.5.php:271 +msgid "Connection to Cloudflare failed" +msgstr "Falhou ao ligar a Cloudflare" -#: inc/Engine/Admin/Settings/Page.php:1118 -msgid "Replace YouTube iframe with preview image" -msgstr "Substituir iframes do YouTube por imagens de pré-visualização" +#. translators: %s = CloudFare API return message. +#: inc/deprecated/3.5.php:587 +msgid "WP Rocket: %s" +msgstr "WP Rocket: %s" -#: inc/Engine/Admin/Settings/Page.php:1120 -#, php-format -msgid "Replace YouTube iframe with preview image is not compatible with %2$s." +#: inc/deprecated/3.5.php:592 +msgid "WP Rocket: Cloudflare cache successfully purged." msgstr "" -"A substituição de iframes do YouTube por imagens de pré-visualização não é " -"compatível com %2$s." +"WP Rocket: A cache da Cloudflare foi limpa com sucesso." -#: inc/Engine/Admin/Settings/Page.php:1120 +#: inc/deprecated/3.5.php:858 inc/Engine/HealthCheck/HealthCheck.php:81 msgid "" -"This can significantly improve your loading time if you have a lot of " -"YouTube videos on a page." -msgstr "" -"Isto pode melhorar significativamente o tempo de carregamento se tiver " -"muitos vídeos do YouTube numa só página." - -#: inc/Engine/Admin/Settings/Page.php:1135 -msgid "Excluded images or iframes" -msgstr "Imagens ou iframes excluídos" +"The following scheduled event failed to run. This may indicate the CRON " +"system is not running properly, which can prevent some WP Rocket features " +"from working as intended:" +msgid_plural "" +"The following scheduled events failed to run. This may indicate the CRON " +"system is not running properly, which can prevent some WP Rocket features " +"from working as intended:" +msgstr[0] "" +"Falhou a execução do evento agendado abaixo. Isto pode indicar que o sistema" +" CRON não está a funcionar correctamente, e impedir algumas funcionalidades " +"do WP Rocket de funcionarem como esperado:" +msgstr[1] "" +"Falhou a execução dos eventos agendados abaixo. Isto pode indicar que o " +"sistema CRON não está a funcionar correctamente, e impedir algumas " +"funcionalidades do WP Rocket de funcionarem como esperado:" +msgstr[2] "" +"Falhou a execução dos eventos agendados abaixo. Isto pode indicar que o " +"sistema CRON não está a funcionar correctamente, e impedir algumas " +"funcionalidades do WP Rocket de funcionarem como esperado:" -#: inc/Engine/Admin/Settings/Page.php:1137 -#, php-format -msgid "" -"Specify keywords (e.g. image filename, CSS class, domain) from the image or " -"iframe code to be excluded (one per line). %1$sMore info%2$s" +#: inc/deprecated/3.5.php:867 inc/Engine/HealthCheck/HealthCheck.php:88 +msgid "Please contact your host to check if CRON is working." msgstr "" -"Especifique palavras-chave (exemplo: nome do ficheiro de imagem, classe CSS," -" domínio) das imagens ou dos códigos de iframe a excluir (uma por linha). " -"%1$sMais informações%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1145 -msgid "Add missing image dimensions" -msgstr "Adicionar dimensões em falta das imagens" +"Contacte com o seu serviço de alojamento para verificar se o CRON está a " +"funcionar." -#: inc/Engine/Admin/Settings/Page.php:1164 inc/deprecated/deprecated.php:1776 -msgid "Preload" -msgstr "Pré-carregamento" +#: inc/deprecated/3.10.php:163 +msgid "OPcache purge failed." +msgstr "Falhou ao limpar a OPcache." -#: inc/Engine/Admin/Settings/Page.php:1165 -msgid "Generate cache files, preload fonts" -msgstr "Crie ficheiros de cache, pré-carregue tipos de letra" +#: inc/deprecated/3.10.php:168 +msgid "OPcache successfully purged" +msgstr "A OPcache foi limpa com sucesso" -#: inc/Engine/Admin/Settings/Page.php:1177 -msgid "Preload Cache" -msgstr "Pré-carregamento da cache" +#: inc/deprecated/3.11.php:81 +msgid "Yoast SEO XML sitemap" +msgstr "Sitemap XML do Yoast SEO" -#: inc/Engine/Admin/Settings/Page.php:1180 +#. translators: %s = Name of the plugin. +#. translators: %s = plugin name, e.g. Yoast SEO. +#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58 +#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186 +#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342 msgid "" -"When you enable preloading WP Rocket will automatically detect your sitemaps" -" and save all URLs to the database. The plugin will make sure that your " -"cache is always preloaded." +"We automatically detected the sitemap generated by the %s plugin. You can " +"check the option to preload it." msgstr "" -"Ao activar o pré-carregamento o WP Rocket irá detectar automaticamente os " -"seus sitemaps e guardar todos os URL na base de dados. O plugin assegura que" -" a sua cache seja sempre pré-carregada." +"Foi detectado automaticamente o sitemap gerado pelo plugin %s. Pode " +"seleccionar a opção para o pré-carregar." -#: inc/Engine/Admin/Settings/Page.php:1188 -msgid "Preload Links" -msgstr "Pré-carregamento das ligações" +#. translators: 1 and 3 are link openings, 2 is a link closing. +#: inc/deprecated/3.11.php:279 inc/Engine/Plugin/UpdaterSubscriber.php:520 +msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s" +msgstr "%1$sVolte para o WP Rocket%2$s ou %3$svá para a página de plugins%2$s" -#: inc/Engine/Admin/Settings/Page.php:1191 -#, php-format -msgid "" -"Link preloading improves the perceived load time by downloading a page when " -"a user hovers over the link. %1$sMore info%2$s" -msgstr "" -"O pré-carregamento de ligações melhora o tempo percebido de carregamento, " -"através de descarregar a página assim que o utilizador passa com o rato " -"sobre a respectiva ligação. %1$sMais informações%2$s" +#: inc/deprecated/3.12.php:56 +msgid "All in One SEO XML sitemap" +msgstr "Sitemap XML do All in One SEO" -#: inc/Engine/Admin/Settings/Page.php:1199 -msgid "Prefetch DNS Requests" -msgstr "Antecipar pedidos de DNS" +#: inc/deprecated/3.12.php:85 +msgid "Rank Math XML sitemap" +msgstr "Sitemap XML do Rank Math" -#: inc/Engine/Admin/Settings/Page.php:1201 -msgid "" -"DNS prefetching can make external files load faster, especially on mobile " -"networks" -msgstr "" -"A antecipação do pedido de DNS pode acelerar o carregamento de ficheiros " -"externos, especialmente em redes móveis" +#: inc/deprecated/3.12.php:184 +msgid "SEOPress XML sitemap" +msgstr "Sitemap XML do SEOPress" -#: inc/Engine/Admin/Settings/Page.php:1206 -msgid "Preload Fonts" -msgstr "Pré-carregar tipos de letra" +#: inc/deprecated/3.12.php:251 +msgid "The SEO Framework XML sitemap" +msgstr "Sitemap XML do The SEO Framework" -#: inc/Engine/Admin/Settings/Page.php:1209 -#, php-format -msgid "" -"Improves performance by helping browsers discover fonts in CSS files. " -"%1$sMore info%2$s" -msgstr "" -"Melhora o desempenho ao ajudar os navegadores a descobrir tipos de letra em " -"ficheiros de CSS. %1$sMais informações%2$s" +#: inc/deprecated/3.12.php:332 +msgid "Jetpack XML Sitemaps" +msgstr "Sitemaps XML do Jetpack" -#: inc/Engine/Admin/Settings/Page.php:1223 -msgid "Activate Preloading" -msgstr "Activar pré-carregamento" +#: inc/deprecated/3.12.php:334 +msgid "Preload the sitemap from the Jetpack plugin" +msgstr "Pré-carregar sitemap do plugin Jetpack" -#: inc/Engine/Admin/Settings/Page.php:1234 -msgid "Exclude URLs" -msgstr "Excluir estes URL" +#: inc/deprecated/deprecated.php:240 +msgid "JS files with Deferred Loading JavaScript" +msgstr "Ficheiros JS com carregamento diferido de JavaScript" -#: inc/Engine/Admin/Settings/Page.php:1239 -#, php-format -msgid "" -"Specify URLs to be excluded from the preload feature (one per line). " -"%1$sMore info%2$s" -msgstr "" -"Especifique os URL a excluir do pré-carregamento (um por linha). %1$sMais " -"informações%2$s" +#: inc/deprecated/deprecated.php:293 +msgid "Add URL" +msgstr "Adicionar URL" -#: inc/Engine/Admin/Settings/Page.php:1250 -msgid "URLs to prefetch" -msgstr "Os URL dos pedidos a antecipar" +#: inc/deprecated/deprecated.php:1245 +#: inc/Engine/Admin/Settings/Settings.php:451 +msgid "Settings saved." +msgstr "Opções guardadas." -#: inc/Engine/Admin/Settings/Page.php:1251 +#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22 msgid "" -"Specify external hosts to be prefetched (no http:, one per " -"line)" +"Before you can upload your import file, you will need to fix the following " +"error:" msgstr "" -"Especifique os servidores externos a antecipar os pedidos (sem " -"http:, um por linha)" +"Antes de poder carregar o seu ficheiro de importação tem de corrigir o " +"seguinte erro:" -#: inc/Engine/Admin/Settings/Page.php:1260 -msgid "Fonts to preload" -msgstr "Tipos de letra a pré-carregar" +#. translators: %s is the maximum upload size set on the current server. +#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35 +msgid "Choose a file from your computer (maximum size: %s)" +msgstr "Escolha um ficheiro do seu computador (tamanho máximo: %s)" -#: inc/Engine/Admin/Settings/Page.php:1261 -msgid "" -"Specify urls of the font files to be preloaded (one per line). Fonts must be" -" hosted on your own domain, or the domain you have specified on the CDN tab." -msgstr "" -"Especifique os URL dos ficheiros de tipos de letra a pré-carregar (um por " -"linha). Os tipos de letra devem ser alojados no seu domínio, ou no domínio " -"especificado no separador da CDN." +#: inc/deprecated/deprecated.php:1294 inc/Engine/Admin/Settings/Render.php:422 +msgid "Upload file and import settings" +msgstr "Carregar ficheiro e importar opções" -#: inc/Engine/Admin/Settings/Page.php:1262 -msgid "" -"The domain part of the URL will be stripped automatically.
    Allowed font " -"extensions: otf, ttf, svg, woff, woff2." -msgstr "" -"O domínio será removido automaticamente do URL.
    Extensões permitidas " -"para tipos de letra: otf, ttf, svg, woff, woff2." +#: inc/deprecated/deprecated.php:1385 +msgid "Your Cloudflare credentials are valid." +msgstr "As suas credenciais da Cloudflare são válidas." -#: inc/Engine/Admin/Settings/Page.php:1271 -msgid "Enable link preloading" -msgstr "Activar o pré-carregamento de ligações" +#: inc/deprecated/deprecated.php:1389 +msgid "Your Cloudflare credentials are invalid!" +msgstr "As suas credenciais da Cloudflare são inválidas!" -#: inc/Engine/Admin/Settings/Page.php:1290 -msgid "Advanced Rules" -msgstr "Regras avançadas" +#: inc/deprecated/deprecated.php:1453 +msgid "Save and optimize" +msgstr "Guardar e optimizar" -#: inc/Engine/Admin/Settings/Page.php:1291 -msgid "Fine-tune cache rules" -msgstr "Configure as regras de cache em pormenor" +#: inc/deprecated/deprecated.php:1453 +msgid "Optimize" +msgstr "Optimizar" -#: inc/Engine/Admin/Settings/Page.php:1302 -msgid "" -"Sensitive pages like custom login/logout URLs should be excluded from cache." -msgstr "" -"Devem excluir-se da cache os URL personalizados de páginas dinâmicas como as" -" de início e terminar sessão." +#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666 +msgctxt "screen-reader-text" +msgid "Note:" +msgstr "Atenção:" -#: inc/Engine/Admin/Settings/Page.php:1305 -msgctxt "plugin name" -msgid "WooCommerce" -msgstr "WooCommerce" +#: inc/deprecated/deprecated.php:1470 +msgctxt "screen-reader-text" +msgid "Performance tip:" +msgstr "Dica de desempenho:" -#: inc/Engine/Admin/Settings/Page.php:1307 -msgctxt "plugin name" -msgid "Easy Digital Downloads" -msgstr "Easy Digital Downloads" +#: inc/deprecated/deprecated.php:1476 +msgctxt "screen-reader-text" +msgid "Third-party feature detected:" +msgstr "Foi detectada uma funcionalidade de terceiros:" -#: inc/Engine/Admin/Settings/Page.php:1309 -msgctxt "plugin name" -msgid "iThemes Exchange" -msgstr "iThemes Exchange" +#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672 +msgctxt "screen-reader-text" +msgid "Warning:" +msgstr "Aviso:" -#: inc/Engine/Admin/Settings/Page.php:1311 -msgctxt "plugin name" -msgid "Jigoshop" -msgstr "Jigoshop" +#: inc/deprecated/deprecated.php:1501 +msgctxt "button text" +msgid "Download settings" +msgstr "Descarregar opções" -#: inc/Engine/Admin/Settings/Page.php:1313 -msgctxt "plugin name" -msgid "WP-Shop" -msgstr "WP-Shop" +#: inc/deprecated/deprecated.php:1531 +msgid "Replace site's hostname with:" +msgstr "Substituir o nome do alojamento do site por:" -#: inc/Engine/Admin/Settings/Page.php:1319 -#, php-format -msgid "" -"
    Cart, checkout and \"my account\" pages set in " -"%1$s%2$s%3$s will be detected and never cached by default." -msgstr "" -"
    As páginas do carrinho, finalizar compra e “Minha conta” definidas no " -"%1$s%2$s%3$s serão detectadas e por omissão nunca serão " -"armazenadas em cache." +#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587 +#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41 +#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105 +msgid "reserved for" +msgstr "reservado para" -#: inc/Engine/Admin/Settings/Page.php:1329 inc/admin/options.php:129 -msgid "Never Cache URL(s)" -msgstr "Nunca criar cache dos URL" +#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589 +#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44 +#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108 +msgid "All files" +msgstr "Todos os ficheiros" -#: inc/Engine/Admin/Settings/Page.php:1337 -msgid "Never Cache Cookies" -msgstr "Nunca criar cache de cookies" +#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594 +#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56 +#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120 +msgid "Images" +msgstr "Imagens" -#: inc/Engine/Admin/Settings/Page.php:1343 inc/admin/options.php:130 -msgid "Never Cache User Agent(s)" -msgstr "Nunca criar cache de agentes de utilizador" +#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132 +msgid "Add CNAME" +msgstr "Adicionar CNAME" -#: inc/Engine/Admin/Settings/Page.php:1349 inc/admin/options.php:131 -msgid "Always Purge URL(s)" -msgstr "Limpar sempre os URL" +#: inc/deprecated/deprecated.php:1706 +msgid "Watch the video" +msgstr "Ver o vídeo" -#: inc/Engine/Admin/Settings/Page.php:1355 -msgid "Cache Query String(s)" -msgstr "Cache de parâmetros de consulta" +#: inc/deprecated/deprecated.php:1771 +msgid "Basic" +msgstr "Básico" -#: inc/Engine/Admin/Settings/Page.php:1358 -#, php-format -msgid "" -"%1$sCache for query strings%2$s enables you to force caching for specific " -"GET parameters." -msgstr "" -"A %1$scache de parâmetros de consulta%2$s permite forçar a cache de " -"parâmetros GET específicos." +#: inc/deprecated/deprecated.php:1772 +msgid "Static Files" +msgstr "Ficheiros estáticos" -#: inc/Engine/Admin/Settings/Page.php:1369 -msgid "" -"Specify URLs of pages or posts that should never be cached (one per line)" -msgstr "" -"Especifique os URL de páginas ou conteúdos que nunca deverão ser guardados " -"em cache (um por linha)" +#: inc/deprecated/deprecated.php:1774 +msgid "Advanced" +msgstr "Avançado" -#: inc/Engine/Admin/Settings/Page.php:1370 -#: inc/Engine/Admin/Settings/Page.php:1398 +#: inc/deprecated/deprecated.php:1775 inc/Engine/Admin/Settings/Page.php:1431 +msgid "Database" +msgstr "Base de dados" + +#: inc/deprecated/deprecated.php:1776 inc/Engine/Admin/Settings/Page.php:1164 +msgid "Preload" +msgstr "Pré-carregamento" + +#: inc/deprecated/deprecated.php:1786 +#: inc/Engine/Admin/Settings/Subscriber.php:168 +#: views/settings/page-sections/tools.php:33 +msgid "Tools" +msgstr "Ferramentas" + +#: inc/deprecated/deprecated.php:1789 inc/Engine/Admin/Settings/Page.php:352 +#: views/settings/page-sections/dashboard.php:80 +msgid "License" +msgstr "Licença" + +#. Translators: %1$s = Plugin name, %2$s = Plugin version, %3$s = PHP version +#. required. +#: inc/deprecated/deprecated.php:1944 msgid "" -"The domain part of the URL will be stripped automatically.
    Use (.*) " -"wildcards to address multiple URLs under a given path." +"%1$s %2$s requires at least PHP %3$s to function properly. To use this " +"version, please ask your web host how to upgrade your server to PHP %3$s or " +"higher. If you are not able to upgrade, you can rollback to the previous " +"version by using the button below." msgstr "" -"O domínio será removido automaticamente do URL.
    Utilize wildcards (.*) " -"para incluir múltiplos URL num determinado caminho." +"O %1$s %2$s requer pelo menos o PHP %3$s para funcionar correctamente. Para " +"usar esta versão, por favor consulte o seu serviço de alojamento para " +"actualizar o seu servidor para o PHP %3$s ou superior. Se não for possível " +"actualizar, poderá reverter o plugin para a versão anterior através do botão" +" abaixo." -#: inc/Engine/Admin/Settings/Page.php:1379 +#. translators: 1: PHP class name, 2: version number, 3: replacement class +#. name. +#: inc/deprecated/DeprecatedClassTrait.php:54 msgid "" -"Specify full or partial IDs of cookies that, when set in the visitor's " -"browser, should prevent a page from getting cached (one per line)" +"The called class %1$s is deprecated since version %2$s! Use" +" %3$s instead." msgstr "" -"Especifique os ID completos ou parciais dos cookies que, quando definidos no" -" navegador do visitante, deverão impedir uma página de ser guardada em cache" -" (um por linha)" +"A classe %1$s está obsoleta desde a versão %2$s! Utilize " +"%3$s em alternativa." -#: inc/Engine/Admin/Settings/Page.php:1387 +#. translators: 1: PHP class name, 2: version number. +#: inc/deprecated/DeprecatedClassTrait.php:65 msgid "" -"Specify user agent strings that should never see cached pages (one per line)" -msgstr "" -"Especifique strings de agentes de utilizador que nunca devem obter páginas " -"em cache (uma por linha)" +"The called class %1$s is deprecated since version %2$s!" +msgstr "A classe %1$s está obsoleta desde a versão %2$s!" -#: inc/Engine/Admin/Settings/Page.php:1388 -msgid "Use (.*) wildcards to detect parts of UA strings." -msgstr "" -"Utilize wildcards (.*) para detectar partes de strings de agentes de " -"utilizador." +#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92 +#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137 +#: inc/Engine/Admin/Database/Subscriber.php:79 +msgid "weekly" +msgstr "semanalmente" -#: inc/Engine/Admin/Settings/Page.php:1397 -msgid "" -"Specify URLs you always want purged from cache whenever you update any post " -"or page (one per line)" -msgstr "" -"Especifique os URL a limpar da cache sempre que actualizar qualquer conteúdo" -" ou página (um por linha)" +#: inc/Engine/Admin/Database/Optimization.php:30 +#: inc/Engine/Admin/Settings/Page.php:1475 +msgid "Revisions" +msgstr "Revisões" -#: inc/Engine/Admin/Settings/Page.php:1406 -msgid "Specify query strings for caching (one per line)" -msgstr "Especifique parâmetros de consulta a adicionar à cache (um por linha)" +#: inc/Engine/Admin/Database/Optimization.php:31 +#: inc/Engine/Admin/Settings/Page.php:1485 +msgid "Auto Drafts" +msgstr "Rascunhos automáticos" -#: inc/Engine/Admin/Settings/Page.php:1431 inc/deprecated/deprecated.php:1775 -msgid "Database" -msgstr "Base de dados" +#: inc/Engine/Admin/Database/Optimization.php:32 +#: inc/Engine/Admin/Settings/Page.php:1495 +msgid "Trashed Posts" +msgstr "Conteúdos no lixo" -#: inc/Engine/Admin/Settings/Page.php:1432 -msgid "Optimize, reduce bloat" -msgstr "Optimize, reduza a sobrecarga" +#: inc/Engine/Admin/Database/Optimization.php:33 +#: inc/Engine/Admin/Settings/Page.php:1505 +msgid "Spam Comments" +msgstr "Comentários de spam" -#: inc/Engine/Admin/Settings/Page.php:1439 -msgid "Post Cleanup" -msgstr "Limpeza de conteúdos" +#: inc/Engine/Admin/Database/Optimization.php:34 +#: inc/Engine/Admin/Settings/Page.php:1515 +msgid "Trashed Comments" +msgstr "Comentários no lixo" -#: inc/Engine/Admin/Settings/Page.php:1441 -msgid "" -"Post revisions and drafts will be permanently deleted. Do not use this " -"option if you need to retain revisions or drafts." -msgstr "" -"As revisões e rascunhos de conteúdos serão eliminados permanentemente. Não " -"use esta opção se precisar das revisões e dos rascunhos." +#: inc/Engine/Admin/Database/Optimization.php:35 +msgid "Transients" +msgstr "Transientes" -#: inc/Engine/Admin/Settings/Page.php:1446 -msgid "Comments Cleanup" -msgstr "Limpeza de comentários" +#: inc/Engine/Admin/Database/Optimization.php:36 +msgid "Tables" +msgstr "Tabelas" -#: inc/Engine/Admin/Settings/Page.php:1448 -msgid "Spam and trashed comments will be permanently deleted." -msgstr "Os comentários de spam e no lixo serão eliminados permanentemente." +#: inc/Engine/Admin/Database/Subscriber.php:85 +msgid "monthly" +msgstr "mensalmente" -#: inc/Engine/Admin/Settings/Page.php:1452 -msgid "Transients Cleanup" -msgstr "Limpeza de transientes" +#: inc/Engine/Admin/Database/Subscriber.php:194 +msgid "Database optimization process is running" +msgstr "O processo de optimização da base de dados está a decorrer" -#: inc/Engine/Admin/Settings/Page.php:1454 +#: inc/Engine/Admin/Database/Subscriber.php:224 msgid "" -"Transients are temporary options; they are safe to remove. They will be " -"automatically regenerated as your plugins require them." +"Database optimization process is complete. Everything was already optimized!" msgstr "" -"Os transientes são opções temporárias, é seguro removê-los. Serão " -"regenerados automaticamente quando os seus plugins precisarem." +"O processo de optimização da base de dados foi concluído. Está tudo " +"optimizado!" -#: inc/Engine/Admin/Settings/Page.php:1458 -msgid "Database Cleanup" -msgstr "Limpeza da base de dados" +#: inc/Engine/Admin/Database/Subscriber.php:227 +msgid "" +"Database optimization process is complete. List of optimized items below:" +msgstr "" +"O processo de optimização da base de dados foi concluído. Lista de itens " +"optimizados:" -#: inc/Engine/Admin/Settings/Page.php:1460 -msgid "Reduces overhead of database tables" -msgstr "Reduz a sobrecarga das tabelas da base de dados" +#. translators: %1$d = number of items optimized, %2$s = type of optimization +#: inc/Engine/Admin/Database/Subscriber.php:235 +msgid "%1$d %2$s optimized." +msgstr "%1$d %2$s." -#: inc/Engine/Admin/Settings/Page.php:1464 -msgid "Automatic Cleanup" -msgstr "Limpeza automática" +#. translators: %1$s = , %2$s = , %3$s = , %4$s = . +#: inc/Engine/Admin/DomainChange/Subscriber.php:143 +msgid "" +"%1$sWP Rocket:%2$s We detected that the website domain has changed. The " +"configuration files must be regenerated for the page cache and all other " +"optimizations to work as intended. %3$sLearn More%4$s" +msgstr "" +"%1$sWP Rocket:%2$s Foi detectado que o domínio do seu site foi alterado. Os " +"ficheiros de configuração têm de ser regenerados para que a cache das " +"páginas e as restantes optimizações funcionem como pretendido. %3$sSaiba " +"mais%4$s" -#: inc/Engine/Admin/Settings/Page.php:1477 -#, php-format -msgid "%s revision in your database." -msgid_plural "%s revisions in your database." -msgstr[0] "%s revisão na sua base de dados." -msgstr[1] "%s revisões na sua base de dados." -msgstr[2] "%s revisões na sua base de dados." +#: inc/Engine/Admin/DomainChange/Subscriber.php:171 +msgid "Regenerate WP Rocket configuration files now" +msgstr "Regenere agora os ficheiros de configuração do WP Rocket" -#: inc/Engine/Admin/Settings/Page.php:1487 -#, php-format -msgid "%s draft in your database." -msgid_plural "%s drafts in your database." -msgstr[0] "%s rascunho na sua base de dados." -msgstr[1] "%s rascunhos na sua base de dados." -msgstr[2] "%s rascunhos na sua base de dados." - -#: inc/Engine/Admin/Settings/Page.php:1497 -#, php-format -msgid "%s trashed post in your database." -msgid_plural "%s trashed posts in your database." -msgstr[0] "%s conteúdo no lixo na sua base de dados." -msgstr[1] "%s conteúdos no lixo na sua base de dados." -msgstr[2] "%s conteúdos no lixo na sua base de dados." +#: inc/Engine/Admin/Settings/Page.php:201 +msgid "Save Changes" +msgstr "Guardar alterações" -#: inc/Engine/Admin/Settings/Page.php:1507 -#, php-format -msgid "%s spam comment in your database." -msgid_plural "%s spam comments in your database." -msgstr[0] "%s comentário de spam na sua base de dados." -msgstr[1] "%s comentários de spam na sua base de dados." -msgstr[2] "%s comentários de spam na sua base de dados." +#: inc/Engine/Admin/Settings/Page.php:201 +msgid "Validate License" +msgstr "Validar licença" -#: inc/Engine/Admin/Settings/Page.php:1517 -#, php-format -msgid "%s trashed comment in your database." -msgid_plural "%s trashed comments in your database." -msgstr[0] "%s comentário no lixo na sua base de dados." -msgstr[1] "%s comentários no lixo na sua base de dados." -msgstr[2] "%s comentários no lixo na sua base de dados." +#: inc/Engine/Admin/Settings/Page.php:257 +#: inc/Engine/Admin/Settings/Page.php:258 +msgid "Unavailable" +msgstr "Indisponível" -#: inc/Engine/Admin/Settings/Page.php:1525 -msgid "All transients" -msgstr "Todos os transientes" +#: inc/Engine/Admin/Settings/Page.php:369 +msgid "API key" +msgstr "Chave de API" -#: inc/Engine/Admin/Settings/Page.php:1527 -#, php-format -msgid "%s transient in your database." -msgid_plural "%s transients in your database." -msgstr[0] "%s transiente na sua base de dados." -msgstr[1] "%s transientes na sua base de dados." -msgstr[2] "%s transientes na sua base de dados." +#: inc/Engine/Admin/Settings/Page.php:384 +msgid "Email address" +msgstr "Endereço de email" -#: inc/Engine/Admin/Settings/Page.php:1535 -msgid "Optimize Tables" -msgstr "Optimizar tabelas" +#: inc/Engine/Admin/Settings/Page.php:410 +msgid "Dashboard" +msgstr "Painel" -#: inc/Engine/Admin/Settings/Page.php:1537 -#, php-format -msgid "%s table to optimize in your database." -msgid_plural "%s tables to optimize in your database." -msgstr[0] "%s tabela a optimizar na sua base de dados." -msgstr[1] "%s tabelas a optimizar na sua base de dados." -msgstr[2] "%s tabelas a optimizar na sua base de dados." +#: inc/Engine/Admin/Settings/Page.php:411 +msgid "Get help, account info" +msgstr "Obter ajuda, informações da conta" -#: inc/Engine/Admin/Settings/Page.php:1548 -msgid "Schedule Automatic Cleanup" -msgstr "Agendar limpeza automática" +#: inc/Engine/Admin/Settings/Page.php:420 +msgid "My Status" +msgstr "O meu estado" -#: inc/Engine/Admin/Settings/Page.php:1560 -msgid "Frequency" -msgstr "Frequência" +#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75 +msgid "Rocket Analytics" +msgstr "Rocket Analytics" -#: inc/Engine/Admin/Settings/Page.php:1568 -msgid "Daily" -msgstr "Diariamente" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:432 +msgid "" +"I agree to share anonymous data with the development team to help improve WP" +" Rocket. %1$sWhat info will we collect?%2$s" +msgstr "" +"Concordo em partilhar informações anónimas com a equipa de desenvolvimento " +"para ajudar a melhorar o WP Rocket. %1$sQue informações recolhemos?%2$s" -#: inc/Engine/Admin/Settings/Page.php:1569 -msgid "Weekly" -msgstr "Semanalmente" +#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354 +msgid "Cache" +msgstr "Cache" -#: inc/Engine/Admin/Settings/Page.php:1570 -msgid "Monthly" -msgstr "Mensalmente" +#: inc/Engine/Admin/Settings/Page.php:457 +msgid "Basic cache options" +msgstr "Opções básicas de cache" -#: inc/Engine/Admin/Settings/Page.php:1586 -#: inc/Engine/Admin/Settings/Page.php:1597 inc/admin/ui/meta-boxes.php:108 -#: inc/deprecated/deprecated.php:1773 -msgid "CDN" -msgstr "CDN" +#: inc/Engine/Admin/Settings/Page.php:464 +msgid "Mobile Cache" +msgstr "Cache de dispositivos móveis" -#: inc/Engine/Admin/Settings/Page.php:1587 -msgid "Integrate your CDN" -msgstr "Integre a sua CDN" +#: inc/Engine/Admin/Settings/Page.php:466 +msgid "Speed up your site for mobile visitors." +msgstr "Acelere o seu site em dispositivos móveis." -#: inc/Engine/Admin/Settings/Page.php:1599 +#: inc/Engine/Admin/Settings/Page.php:471 msgid "" -"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)" -" you provide." +"We detected you use a plugin that requires a separate cache for mobile, and " +"automatically enabled this option for compatibility." msgstr "" -"Todos os URL de ficheiros estáticos (CSS, JS, imagens) serão reescritos " -"no(s) CNAME(s) que fornecer." +"Foi detectada a utilização de um plugin que requer uma cache separada para " +"dispositivos móveis, e foi activada esta opção para garantir a " +"compatibilidade." -#: inc/Engine/Admin/Settings/Page.php:1601 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:475 +msgid "User Cache" +msgstr "Cache de utilizadores" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:478 msgid "" -"Not required for services like Cloudflare and Sucuri. Please see our " -"available %1$sAdd-ons%2$s." +"%1$sUser cache%2$s is great when you have user-specific or restricted " +"content on your website." msgstr "" -"Não é necessário para serviços como a Cloudflare e Sucuri. Por favor " -"consulte os nossos %1$smódulos%2$s disponíveis." +"A %1$scache de utilizadores%2$s é óptima quando tem conteúdos específicos " +"para utilizadores ou conteúdos restritos no seu site." -#: inc/Engine/Admin/Settings/Page.php:1616 inc/admin/options.php:132 -msgid "Exclude files from CDN" -msgstr "Excluir ficheiros da CDN" +#: inc/Engine/Admin/Settings/Page.php:486 +msgid "Cache Lifespan" +msgstr "Expiração da cache" -#: inc/Engine/Admin/Settings/Page.php:1648 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:489 msgid "" -"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings " -"is not required for %2$l to work on your site." -msgid_plural "" -"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN " -"settings is not required for %2$l to work on your site." -msgstr[0] "" -"O %1$smódulo %2$l%3$s está activo de momento. Não é necessário configurar a " -"CDN para o módulo %2$l funcionar no seu site." -msgstr[1] "" -"Os %1$smódulos %2$l%3$s estão activos de momento. Não é necessário " -"configurar a CDN para os módulos %2$l funcionarem no seu site." -msgstr[2] "" -"Os %1$smódulos %2$l%3$s estão activos de momento. Não é necessário " -"configurar a CDN para os módulos %2$l funcionarem no seu site." +"Cache files older than the specified lifespan will be deleted.
    Enable " +"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan " +"expiration." +msgstr "" +"Serão eliminados os ficheiros de cache mais antigos do que a expiração " +"especificada.
    Active o %1$spré-carregamento%2$s para a cache ser " +"reconstruída automaticamente após a sua expiração." -#: inc/Engine/Admin/Settings/Page.php:1673 -msgid "Enable Content Delivery Network" -msgstr "Activar CDN" +#: inc/Engine/Admin/Settings/Page.php:503 +msgid "Enable caching for logged-in WordPress users" +msgstr "Activar cache para utilizadores do WordPress com sessão iniciada" -#: inc/Engine/Admin/Settings/Page.php:1682 -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159 -msgid "CDN CNAME(s)" -msgstr "CNAME(s) da CDN" +#: inc/Engine/Admin/Settings/Page.php:511 +msgid "Enable caching for mobile devices" +msgstr "Activar cache para dispositivos móveis" -#: inc/Engine/Admin/Settings/Page.php:1683 -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160 -msgid "Specify the CNAME(s) below" -msgstr "Especifique o(s) CNAME(s) abaixo" +#: inc/Engine/Admin/Settings/Page.php:526 +msgid "Separate cache files for mobile devices" +msgstr "Ficheiros de cache separados para dispositivos móveis" -#: inc/Engine/Admin/Settings/Page.php:1690 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:528 msgid "" -"Specify URL(s) of files that should not get served via CDN (one per line)." +"Most modern themes are responsive and should work without a separate cache. " +"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore " +"info%2$s" msgstr "" -"Especifique os URL dos ficheiros que não devem ser servidos pela CDN (um por" -" linha)." +"A maioria dos temas modernos é responsiva e deverá funcionar sem uma cache " +"separada. Active isto apenas se tiver um tema ou plugin dedicado a " +"dispositivos móveis. %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:1691 +#: inc/Engine/Admin/Settings/Page.php:544 msgid "" -"The domain part of the URL will be stripped automatically.
    Use (.*) " -"wildcards to exclude all files of a given file type located at a specific " -"path." +"Specify time after which the global cache is cleared
    (0 = unlimited )" msgstr "" -"O domínio será removido automaticamente do URL.
    Utilize wildcards (.*) " -"para excluir todos os ficheiros de um determinado tipo, localizados num " -"caminho específico." - -#: inc/Engine/Admin/Settings/Page.php:1714 -#: inc/Engine/Admin/Settings/Page.php:1722 -msgid "Heartbeat" -msgstr "Heartbeat" - -#: inc/Engine/Admin/Settings/Page.php:1715 -msgid "Control WordPress Heartbeat API" -msgstr "Controle a Heartbeat API do WordPress" +"Especifique o tempo após o qual a cache global é limpa
    (0 = ilimitado)" -#: inc/Engine/Admin/Settings/Page.php:1723 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:546 msgid "" -"Reducing or disabling the Heartbeat API’s activity can help save some of " -"your server’s resources." +"Reduce lifespan to 10 hours or less if you notice issues that seem to appear" +" periodically. %1$sWhy?%2$s" msgstr "" -"Reduzir ou desactivar a actividade da Hartbeat API pode economizar alguns " -"recursos do seu servidor." +"Reduza a expiração para 10 horas ou menos se notar erros que parecem surgir " +"periodicamente. %1$sPorquê?%2$s" -#: inc/Engine/Admin/Settings/Page.php:1729 -msgid "Reduce or disable Heartbeat activity" -msgstr "Reduzir ou desactivar a actividade do Heartbeat" +#: inc/Engine/Admin/Settings/Page.php:552 +#: inc/Engine/License/views/promo-banner.php:30 +#: inc/Engine/License/views/renewal-soon-banner.php:13 +msgid "Hours" +msgstr "Horas" -#: inc/Engine/Admin/Settings/Page.php:1730 -msgid "" -"Reducing activity will change Heartbeat frequency from one hit each minute " -"to one hit every 2 minutes." -msgstr "" -"A redução de actividade altera a frequência do Heartbeat de um acesso por " -"minuto para um acesso a cada 2 minutos." +#: inc/Engine/Admin/Settings/Page.php:553 +#: inc/Engine/License/views/promo-banner.php:29 +#: inc/Engine/License/views/renewal-soon-banner.php:12 +msgid "Days" +msgstr "Dias" -#: inc/Engine/Admin/Settings/Page.php:1730 +#: inc/Engine/Admin/Settings/Page.php:602 +msgid "File Optimization" +msgstr "Optimizar ficheiros" + +#: inc/Engine/Admin/Settings/Page.php:603 +msgid "Optimize CSS & JS" +msgstr "Optimize o CSS e JS" + +#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP +#. Rocket”. +#: inc/Engine/Admin/Settings/Page.php:611 msgid "" -"Disabling Heartbeat entirely may break plugins and themes using this API." +"%1$s Minification is currently activated in Autoptimize. If" +" you want to use %2$s’s minification, disable this option in Autoptimize." msgstr "" -"Desactivar completamente o Heartbeat pode prejudicar os plugins e temas que " -"usem esta API." +"De momento a minificação do %1$s está activada no " +"Autoptimize. Se quiser usar a minificação do %2$s, " +"desactive esta opção no Autoptimize." -#: inc/Engine/Admin/Settings/Page.php:1744 -msgid "Do not limit" -msgstr "Não limitar" +#: inc/Engine/Admin/Settings/Page.php:621 +msgid "CSS Files" +msgstr "Ficheiros de CSS" -#: inc/Engine/Admin/Settings/Page.php:1745 -msgid "Reduce activity" -msgstr "Reduzir actividade" +#: inc/Engine/Admin/Settings/Page.php:630 +msgid "JavaScript Files" +msgstr "Ficheiros de JavaScript" -#: inc/Engine/Admin/Settings/Page.php:1746 -msgid "Disable" -msgstr "Desactivar" +#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP +#. Rocket”. +#: inc/Engine/Admin/Settings/Page.php:637 +msgid "" +"%1$s Minification is currently activated in Autoptimize. If" +" you want to use %2$s’s minification, disable those options in Autoptimize." +msgstr "" +"De momento a minificação do %1$s está activada no " +"Autoptimize. Se quiser usar a minificação do %2$s, " +"desactive esta opção no Autoptimize." -#: inc/Engine/Admin/Settings/Page.php:1754 -msgid "Control Heartbeat" -msgstr "Controlar Heartbeat" +#: inc/Engine/Admin/Settings/Page.php:642 +msgid "" +"If you have problems after activating this option, copy and paste the " +"default exclusions to quickly resolve issues:" +msgstr "" +"Se tiver algum problema depois de activar esta opção, copie e cole as " +"exclusões por omissão para corrigir os erros rapidamente:" -#: inc/Engine/Admin/Settings/Page.php:1763 -msgid "Behavior in backend" -msgstr "Comportamento no painel de administração" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:646 +msgid "" +"Also, please check our %1$sdocumentation%2$s for a list of compatibility " +"exclusions." +msgstr "" +"Além disto, por favor consulte a nossa %1$sdocumentação%2$s para uma lista " +"de exclusões compatíveis." -#: inc/Engine/Admin/Settings/Page.php:1770 -msgid "Behavior in post editor" -msgstr "Comportamento no editor de conteúdos" +#: inc/Engine/Admin/Settings/Page.php:651 +msgid "" +"Internal scripts are excluded by default to prevent issues. Remove them to " +"take full advantage of this option." +msgstr "" +"Os scripts internos estão excluídos por omissão para evitar problems. " +"Remova-os para tirar total partido desta opção." -#: inc/Engine/Admin/Settings/Page.php:1776 -msgid "Behavior in frontend" -msgstr "Comportamento na interface do site" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:654 +msgid "" +"If this causes trouble, restore the default exclusions, found %1$shere%2$s" +msgstr "" +"Se isto criar algum problema, recupere as exclusões por omissão %1$saqui%2$s" -#: inc/Engine/Admin/Settings/Page.php:1793 -#: views/settings/page-sections/tutorials.php:39 -msgid "Add-ons" -msgstr "Módulos" +#: inc/Engine/Admin/Settings/Page.php:663 +msgid "Minify CSS files" +msgstr "Minificar ficheiros de CSS" -#: inc/Engine/Admin/Settings/Page.php:1794 -msgid "Add more features" -msgstr "Adicione mais funcionalidades" +#: inc/Engine/Admin/Settings/Page.php:664 +msgid "Minify CSS removes whitespace and comments to reduce the file size." +msgstr "" +"A minificação do CSS remove espaços em branco e comentários para reduzir o " +"tamanho do ficheiro." -#: inc/Engine/Admin/Settings/Page.php:1801 -msgid "One-click Rocket Add-ons" -msgstr "Módulos do Rocket com um clique" +#: inc/Engine/Admin/Settings/Page.php:677 +#: inc/Engine/Admin/Settings/Page.php:741 +#: inc/Engine/Admin/Settings/Page.php:807 +#: inc/Engine/Admin/Settings/Page.php:831 +msgid "This could break things!" +msgstr "Isto poderá danificar alguma coisa!" -#: inc/Engine/Admin/Settings/Page.php:1802 +#: inc/Engine/Admin/Settings/Page.php:678 +#: inc/Engine/Admin/Settings/Page.php:742 +#: inc/Engine/Admin/Settings/Page.php:808 +#: inc/Engine/Admin/Settings/Page.php:832 msgid "" -"One-Click Add-ons are features extending available options without " -"configuration needed. Switch the option \"on\" to enable from this screen." +"If you notice any errors on your website after having activated this " +"setting, just deactivate it again, and your site will be back to normal." msgstr "" -"Os módulos disponíveis com um clique são funcionalidades que aumentam as " -"opções disponíveis sem necessidade de configuração. Ligue as opções para " -"activar os módulos neste mesmo ecrã." +"Se notar quaisquer erros no seu site depois de activar esta opção, basta " +"desactivar de novo para o seu site voltar ao normal." -#: inc/Engine/Admin/Settings/Page.php:1812 -msgid "Rocket Add-ons" -msgstr "Módulos do Rocket" +#: inc/Engine/Admin/Settings/Page.php:679 +msgid "Activate minify CSS" +msgstr "Activar minificação do CSS" -#: inc/Engine/Admin/Settings/Page.php:1813 -msgid "Rocket Add-ons are complementary features extending available options." +#: inc/Engine/Admin/Settings/Page.php:685 +msgid "" +"Specify URLs of CSS files to be excluded from minification (one per line)." msgstr "" -"Os módulos do Rocket são funcionalidades complementares que aumentam as " -"opções disponíveis." - -#: inc/Engine/Admin/Settings/Page.php:1823 -#: inc/Engine/Admin/Settings/Page.php:1992 -msgid "Cloudflare" -msgstr "Cloudflare" +"Especifique os URL de ficheiros de CSS a excluir da minificação (um por " +"linha)." -#: inc/Engine/Admin/Settings/Page.php:1829 -msgid "Integrate your Cloudflare account with this add-on." -msgstr "Integre a sua conta da Cloudflare com este módulo." +#: inc/Engine/Admin/Settings/Page.php:686 +msgid "" +"Internal: The domain part of the URL will be stripped " +"automatically. Use (.*).css wildcards to exclude all CSS files located at a " +"specific path." +msgstr "" +"Interno: O domínio será removido automaticamente do URL. " +"Use wildcards (.*).css para excluir todos os ficheiros de CSS localizados " +"num caminho específico." -#: inc/Engine/Admin/Settings/Page.php:1830 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:688 msgid "" -"Provide your account email, global API key, and domain to use options such " -"as clearing the Cloudflare cache and enabling optimal settings with WP " -"Rocket." +"3rd Party: Use either the full URL path or only the domain " +"name, to exclude external CSS. %1$sMore info%2$s" msgstr "" -"Forneça o email, a chave global de API e o domínio da sua conta para usar " -"opções tais como limpar a cache da Cloudflare e permitir a configuração " -"ideal com o WP Rocket." +"Terceiros: Use o caminho completo do URL ou apenas o nome " +"do domínio, para excluir CSS externo. %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:1833 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:701 +#: inc/Engine/Admin/Settings/Page.php:723 +msgid "Optimize CSS delivery" +msgstr "Optimizar entrega do CSS" + +#: inc/Engine/Admin/Settings/Page.php:706 msgid "" -"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just " -"activate the official Cloudflare plugin and configure it. WP Rocket will " -"automatically enable compatibility." +"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " +"one method can be selected. Remove Unused CSS is recommended for optimal " +"performance, but limited only to the users with active license." msgstr "" -"%1$sEstá a pensar usar a Automatic Platform Optimization (APO)?%2$s Basta " -"activar e o plugin oficial da Cloudflare e configurar. O WP Rocket activará " -"a compatibilidade automaticamente." +"A optimização de entrega do CSS elimina o CSS que bloqueia a apresentação do" +" seu site. Apenas pode seleccionar um método. Para um óptimo desempenho é " +"recomendado Remover CSS não utilizado, mas apenas para utilizadores com uma " +"licença activa." -#: inc/Engine/Admin/Settings/Page.php:1881 -msgid "Varnish" -msgstr "Varnish" +#: inc/Engine/Admin/Settings/Page.php:706 +msgid "" +"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " +"one method can be selected. Remove Unused CSS is recommended for optimal " +"performance." +msgstr "" +"A optimização de entrega do CSS elimina o CSS que bloqueia a apresentação do" +" seu site. Apenas pode seleccionar um método. Para um óptimo desempenho é " +"recomendado Remover CSS não utilizado." -#: inc/Engine/Admin/Settings/Page.php:1887 -msgid "If Varnish runs on your server, you must activate this add-on." -msgstr "Se utilizar o Varnish no seu servidor, deve activar este módulo." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:716 +msgid "" +"Optimize CSS Delivery features are disabled on local environments. %1$sLearn" +" more%2$s" +msgstr "" +"As funcionalidades de optimizar entrega do CSS estão desactivadas em " +"ambientes locais. %1$sSaiba mais%2$s" -#: inc/Engine/Admin/Settings/Page.php:1889 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:739 msgid "" -"Varnish cache will be purged each time WP Rocket clears its cache to ensure " -"content is always up-to-date.
    %1$sLearn more%2$s" +"Removes unused CSS per page and helps to reduce page size and HTTP requests." +" Recommended for best performance. Test thoroughly! %1$sMore info%2$s" msgstr "" -"O cache do Varnish será limpa sempre que limpar a cache do WP Rocket para " -"garantir que o conteúdo está sempre actualizado.
    %1$sSaiba mais%2$s" +"Remove CSS não utilizado por página, o que ajuda a reduzir o tamanho da " +"página e os pedidos HTTP. Recomendado para um melhor desempenho. Teste com " +"cuidado! %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:1924 -msgid "WebP Compatibility" -msgstr "Compatibilidade com WebP" +#: inc/Engine/Admin/Settings/Page.php:743 +msgid "Activate Remove Unused CSS" +msgstr "Activar a remoção de CSS não utilizado" -#: inc/Engine/Admin/Settings/Page.php:1930 -msgid "Improve browser compatibility for WebP images." -msgstr "Melhorar a compatibilidade dos navegadores para imagens WebP." +#: inc/Engine/Admin/Settings/Page.php:749 +msgid "CSS safelist" +msgstr "CSS a não remover" -#: inc/Engine/Admin/Settings/Page.php:1934 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:750 msgid "" -"Enable this option if you would like WP Rocket to serve WebP images to " -"compatible browsers. Please note that WP Rocket cannot create WebP images " -"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore " -"info%2$s" +"Specify CSS filenames, IDs or classes that should not be removed (one per " +"line)." msgstr "" -"Active esta opção se quiser que o WP Rocket sirva imagens WebP aos " -"navegadores compatíveis. Atenção que o WP Rocket não pode criar imagens WebP" -" por si. Para criar imagens WebP recomendamos o %1$sImagify%2$s. %3$sMais " -"informações%2$s" +"Especifique os ficheiros, ID ou classes CSS que não devem ser removidos (um " +"por linha)." -#: inc/Engine/Admin/Settings/Page.php:1954 -msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared." -msgstr "Limpar a cache do Sucuri ao limpar a cache do WP Rocket." +#. translators: %1$s = plugin name. +#: inc/Engine/Admin/Settings/Page.php:768 +msgctxt "WP Critical CSS compatibility" +msgid "" +"Load CSS asynchronously is currently handled by the %1$s plugin. If you want" +" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin." +msgstr "" +"De momento o CSS é carregado de modo assíncrono pelo plugin %1$s. Se quiser " +"usar o carregamento assíncrono de CSS do WP Rocket, desactive o plugin %1$s." -#: inc/Engine/Admin/Settings/Page.php:1957 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:770 msgid "" -"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is " -"cleared." +"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s" msgstr "" -"Forneça a sua chave de API para limpar a cache do Sucuri ao limpar a cache " -"do WP Rocket." +"Gera CSS do caminho crítico e carrega o CSS de modo assíncrono. %1$sMais " +"informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:1965 -#: inc/Engine/Admin/Settings/Page.php:2109 -msgid "Sucuri" -msgstr "Sucuri" +#: inc/Engine/Admin/Settings/Page.php:776 +msgid "Fallback critical CSS" +msgstr "Alternativa ao CSS crítico" -#: inc/Engine/Admin/Settings/Page.php:1971 -msgid "Synchronize Sucuri cache with this add-on." -msgstr "Sincronize a cache do Sucuri com este módulo." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:778 +msgid "" +"Provides a fallback if auto-generated critical path CSS is incomplete. " +"%1$sMore info%2$s" +msgstr "" +"Fornece uma alternativa caso o CSS do caminho crítico gerado automaticamente" +" esteja incompleto. %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:2009 -msgid "Cloudflare credentials" -msgstr "Credenciais da Cloudflare" +#: inc/Engine/Admin/Settings/Page.php:793 +msgid "Minify JavaScript files" +msgstr "Minificar ficheiros de JavaScript" -#: inc/Engine/Admin/Settings/Page.php:2018 -msgid "Cloudflare settings" -msgstr "Opções da Cloudflare" +#: inc/Engine/Admin/Settings/Page.php:794 +msgid "" +"Minify JavaScript removes whitespace and comments to reduce the file size." +msgstr "" +"A minificação do JavaScript remove espaços em branco e comentários para " +"reduzir o tamanho do ficheiro." -#: inc/Engine/Admin/Settings/Page.php:2032 -msgctxt "Cloudflare" -msgid "Global API key:" -msgstr "Chave global de API:" +#: inc/Engine/Admin/Settings/Page.php:809 +msgid "Activate minify JavaScript" +msgstr "Activar minificação do JavaScript" -#: inc/Engine/Admin/Settings/Page.php:2033 -msgctxt "Cloudflare" -msgid "Find your API key" -msgstr "Consulte a sua chave de API" +#: inc/Engine/Admin/Settings/Page.php:814 +msgid "" +"Combine JavaScript files (Enable Minify JavaScript files to select)" +msgstr "" +"Combinar ficheiros de JavaScript (Active a minificação dos ficheiros de " +"JavaScript para poder seleccionar)" -#: inc/Engine/Admin/Settings/Page.php:2045 -msgctxt "Cloudflare" -msgid "Account email" -msgstr "Email da conta" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:816 +msgid "" +"Combine JavaScript files combines your site’s internal, 3rd party and inline" +" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. " +"%1$sMore info%2$s" +msgstr "" +"A combinação de ficheiros de JavaScript combina o JS interno, em linha e de " +"terceiros, reduzindo os pedidos HTTP. Não é recomendado se o seu site " +"utilizar HTTP/2. %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:2054 -msgctxt "Cloudflare" -msgid "Zone ID" -msgstr "ID da zona" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:817 +msgid "" +"For compatibility and best results, this option is disabled when delay " +"javascript execution is enabled." +msgstr "" +"Para compatibilidade e melhores resultados, esta opção é desactivada ao " +"activar a opção de diferir a execução de JavaScript." -#: inc/Engine/Admin/Settings/Page.php:2064 -msgid "Development mode" -msgstr "Modo de desenvolvimento" +#: inc/Engine/Admin/Settings/Page.php:833 +msgid "Activate combine JavaScript" +msgstr "Activar combinação do JavaScript" -#: inc/Engine/Admin/Settings/Page.php:2066 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:840 msgid "" -"Temporarily activate development mode on your website. This setting will " -"automatically turn off after 3 hours. %1$sLearn more%2$s" +"Specify patterns of inline JavaScript to be excluded from concatenation (one" +" per line). %1$sMore info%2$s" msgstr "" -"Active temporariamente o modo de desenvolvimento no seu site. Esta opção " -"desactiva-se automaticamente após 3 horas. %1$sSaiba mais%2$s" - -#: inc/Engine/Admin/Settings/Page.php:2074 -msgid "Optimal settings" -msgstr "Configuração ideal" +"Especifique padrões de JavaScript em linha a excluir da concatenação (um por" +" linha). %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:2075 +#: inc/Engine/Admin/Settings/Page.php:857 msgid "" -"Automatically enhances your Cloudflare configuration for speed, performance " -"grade and compatibility." +"Specify URLs of JavaScript files to be excluded from minification and " +"concatenation (one per line)." msgstr "" -"Melhore automaticamente a sua configuração da Cloudflare para melhor " -"velocidade, grau de desempenho e compatibilidade." +"Especifique os URL de ficheiros de JavaScript a excluir da minificação e " +"concatenação (um por linha)." -#: inc/Engine/Admin/Settings/Page.php:2083 -msgid "Relative protocol" -msgstr "Protocolo relativo" +#: inc/Engine/Admin/Settings/Page.php:858 +msgid "" +"Internal: The domain part of the URL will be stripped " +"automatically. Use (.*).js wildcards to exclude all JS files located at a " +"specific path." +msgstr "" +"Interno: O domínio será removido automaticamente do URL. " +"Use wildcards (.*).js para excluir todos os ficheiros de JS localizados num " +"caminho específico." -#: inc/Engine/Admin/Settings/Page.php:2084 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:860 msgid "" -"Should only be used with Cloudflare's flexible SSL feature. URLs of static " -"files (CSS, JS, images) will be rewritten to use // instead of http:// or " -"https://." +"3rd Party: Use either the full URL path or only the domain " +"name, to exclude external JS. %1$sMore info%2$s" msgstr "" -"Só deve ser usado com a função de SSL flexível da Cloudflare. Os URL de " -"ficheiros estáticos (CSS, JS, imagens) serão reescritos para usar // em vez " -"de http:// ou https://." +"Terceiros: Use o caminho completo do URL ou apenas o nome " +"do domínio, para excluir JS externo. %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Page.php:2122 -msgid "Sucuri credentials" -msgstr "Credenciais do Sucuri" +#: inc/Engine/Admin/Settings/Page.php:876 +msgid "Load JavaScript deferred" +msgstr "Diferir carregamento de JavaScript" -#: inc/Engine/Admin/Settings/Page.php:2135 -msgctxt "Sucuri" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:878 msgid "" -"Firewall API key (for plugin), must be in format {32 characters}/{32 " -"characters}:" +"Load JavaScript deferred eliminates render-blocking JS on your site and can " +"improve load time. %1$sMore info%2$s" msgstr "" -"A chave de API da firewall (do plugin) tem de estar no formato {32 " -"caracteres}/{32 caracteres}:" - -#: inc/Engine/Admin/Settings/Page.php:2136 -msgctxt "Sucuri" -msgid "Find your API key" -msgstr "Consulte a sua chave de API" +"O carregamento diferido de JavaScript elimina JS que bloqueia a apresentação" +" do seu site e pode melhorar o tempo de carregamento. %1$sMais " +"informações%2$s" -#: inc/Engine/Admin/Settings/Render.php:422 inc/deprecated/deprecated.php:1294 -msgid "Upload file and import settings" -msgstr "Carregar ficheiro e importar opções" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:891 +msgid "" +"Specify URLs or keywords of JavaScript files to be excluded from defer (one " +"per line). %1$sMore info%2$s" +msgstr "" +"Especifique os URL ou palavras-chave de ficheiros de JavaScript a excluir do" +" diferimento (um por linha). %1$sMais informações%2$s" -#: inc/Engine/Admin/Settings/Settings.php:362 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:909 msgid "" -"Sucuri Add-on: The API key for the Sucuri firewall must be in format " -"{32 characters}/{32 characters}." +"Improves performance by delaying the loading of JavaScript files until user " +"interaction (e.g. scroll, click). %1$sMore info%2$s" msgstr "" -"Módulo do Sucuri. A chave de API para a firewall do Sucuri tem de estar no " -"formato {32 caracteres}/{32 caracteres}." +"Melhore o desempenho diferindo o carregamento dos ficheiros de JavaScript " +"até interacção do utilizador (como scroll ou clique). %1$sMais " +"informações%2$s" -#: inc/Engine/Admin/Settings/Settings.php:452 -#: inc/deprecated/deprecated.php:1245 -msgid "Settings saved." -msgstr "Opções guardadas." +#: inc/Engine/Admin/Settings/Page.php:918 +msgid "One-click exclusions" +msgstr "Exclusões com um clique" -#: inc/Engine/Admin/Settings/Settings.php:668 +#: inc/Engine/Admin/Settings/Page.php:919 msgid "" -"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved " -"because it disables caching and optimizations for every page on your site." +"When using the Delay JavaScript Execution, you might experience delay " +"loading elements located in the viewport that need to appear immediately - " +"e.g. slider, header, menu." msgstr "" -"Desculpe! Não foi guardado /(.*) em Regras avançadas > Nunca criar cache dos" -" URL porque isto desactiva o armazenamento de cache e as optimizações para " -"cada página do seu site." +"Ao usar o diferimento da execução do JavaScript, poderá ocorrer algum atraso" +" no carregamento de elementos localizados na área visível do ecrã que devam " +"ser mostrados de imediato, como por exemplo, slider, cabeçalho ou menu." -#: inc/Engine/Admin/Settings/Subscriber.php:168 -#: inc/deprecated/deprecated.php:1786 -#: views/settings/page-sections/tools.php:33 -msgid "Tools" -msgstr "Ferramentas" +#: inc/Engine/Admin/Settings/Page.php:920 +msgid "" +"If you need instant visibility, click below on files that should NOT be " +"delayed. This selection will help users interact with the elements straight " +"away." +msgstr "" +"Se precisar de visibilidade imediata, clique abaixo nos ficheiros que NÃO " +"devem ser diferidos. Esta selecção ajudará os utilizadores a interagir de " +"imediato com os elementos." -#: inc/Engine/Admin/Settings/Subscriber.php:169 -msgid "Import, Export, Rollback" -msgstr "Importar, exportar, reverter" +#: inc/Engine/Admin/Settings/Page.php:937 +msgid "" +"Specify URLs or keywords that can identify inline or JavaScript files to be " +"excluded from delaying execution (one per line)." +msgstr "" +"Especifique os URL ou palavras-chave que possam identificar o JavaScript em " +"linha ou em ficheiros a excluir da execução em diferido (um por linha)." -#: inc/Engine/Admin/Settings/Subscriber.php:194 -#: views/settings/page-sections/imagify.php:14 -msgid "Image Optimization" -msgstr "Optimizar imagens" +#: inc/Engine/Admin/Settings/Page.php:969 +msgid "Media" +msgstr "Multimédia" -#: inc/Engine/Admin/Settings/Subscriber.php:195 -msgid "Compress your images" -msgstr "Comprima as suas imagens" +#: inc/Engine/Admin/Settings/Page.php:970 +msgid "LazyLoad, image dimensions" +msgstr "Carregamento diferido, dimensões de imagens" -#: inc/Engine/Admin/Settings/Subscriber.php:212 -#: views/settings/page-sections/tutorials.php:48 -msgid "Tutorials" -msgstr "Tutoriais" +#: inc/Engine/Admin/Settings/Page.php:979 +msgid "Autoptimize" +msgstr "Autoptimize" -#: inc/Engine/Admin/Settings/Subscriber.php:213 -msgid "Getting started and how to videos" -msgstr "Vídeos de introdução e aprendizagem" +#: inc/Engine/Admin/Settings/Page.php:1033 +msgid "LazyLoad" +msgstr "Carregamento diferido" -#: inc/Engine/CDN/RocketCDN/APIClient.php:134 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1036 msgid "" -"We could not fetch the current price because RocketCDN API returned an " -"unexpected error code." +"It can improve actual and perceived loading time as images, iframes, and " +"videos will be loaded only as they enter (or about to enter) the viewport " +"and reduces the number of HTTP requests. %1$sMore Info%2$s" msgstr "" -"Não foi possível obter o preço actual porque a RocketCDN API devolveu um " -"código de erro inesperado." - -#: inc/Engine/CDN/RocketCDN/APIClient.php:140 -msgid "RocketCDN is not available at the moment. Please retry later." -msgstr "A RocketCDN não está disponível de momento. Tente mais tarde." +"Pode melhorar o tempo real e percebido de carregamento, uma vez que as " +"imagens, iframes e vídeos só serão carregados se estiverem na área visível " +"do ecrã (ou próximos), e reduz o número de pedidos HTTP. %1$sMais " +"informações%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:177 -msgid "RocketCDN cache purge failed: Missing identifier parameter." +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names. +#: inc/Engine/Admin/Settings/Page.php:1043 +msgid "" +"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s " +"LazyLoad, disable this option in %2$s." msgstr "" -"Falhou ao limpar a cache da RocketCDN: Parâmetro identificador em falta." +"De momento o carregamento diferido está activado em %2$s. Se quiser usar o " +"carregamento diferido do WP Rocket, desactive esta opção em %2$s." -#: inc/Engine/CDN/RocketCDN/APIClient.php:186 -msgid "RocketCDN cache purge failed: Missing user token." -msgstr "Falhou ao limpar a cache da RocketCDN: Token de utilizador em falta." +#: inc/Engine/Admin/Settings/Page.php:1046 +msgid "Image Dimensions" +msgstr "Dimensões das imagens" -#: inc/Engine/CDN/RocketCDN/APIClient.php:212 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1049 msgid "" -"RocketCDN cache purge failed: The API returned an unexpected response code." +"Add missing width and height attributes to images. Helps prevent layout " +"shifts and improve the reading experience for your visitors. %1$sMore " +"info%2$s" msgstr "" -"Falhou ao limpar a cache da RocketCDN: A API devolveu um código de resposta " -"inesperado." +"Adicione os atributos de largura e altura em falta nas imagens. Ajuda a " +"evitar alterações de layout e melhora a experiência de leitura dos seus " +"visitantes. %1$sMais informações%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:221 -msgid "RocketCDN cache purge failed: The API returned an empty response." -msgstr "" -"Falhou ao limpar a cache da RocketCDN: A API devolveu uma resposta vazia." +#: inc/Engine/Admin/Settings/Page.php:1068 +msgid "Enable for images" +msgstr "Activar para imagens" -#: inc/Engine/CDN/RocketCDN/APIClient.php:230 -msgid "RocketCDN cache purge failed: The API returned an unexpected response." +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names. +#: inc/Engine/Admin/Settings/Page.php:1080 +msgid "" +"LazyLoad for images is currently activated in %2$s. If you want to use " +"%1$s’s LazyLoad, disable this option in %2$s." msgstr "" -"Falhou ao limpar a cache da RocketCDN: A API devolveu uma resposta " -"inesperada." +"De momento o carregamento diferido de imagens está activado em %2$s. Se " +"quiser usar o carregamento diferido do %1$s, desactive esta opção em %2$s." -#: inc/Engine/CDN/RocketCDN/APIClient.php:239 -#, php-format -msgid "RocketCDN cache purge failed: %s." -msgstr "Falhou ao limpar a cache da RocketCDN: %s." +#: inc/Engine/Admin/Settings/Page.php:1088 +msgid "Enable for CSS background images" +msgstr "Activar para imagens de fundo CSS" -#: inc/Engine/CDN/RocketCDN/APIClient.php:247 -msgid "RocketCDN cache purge successful." -msgstr "A cache da RocketCDN foi limpa com sucesso." +#: inc/Engine/Admin/Settings/Page.php:1103 +msgid "Enable for iframes and videos" +msgstr "Activar para iframes e vídeos" -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90 -msgid "Next Billing Date" -msgstr "Data da próxima facturação" +#: inc/Engine/Admin/Settings/Page.php:1118 +msgid "Replace YouTube iframe with preview image" +msgstr "Substituir iframes do YouTube por imagens de pré-visualização" -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99 -msgid "No Subscription" -msgstr "Sem subscrição" - -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135 -msgid "Your RocketCDN subscription is currently active." -msgstr "A sua assinatura da RocketCDN está activa." +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names. +#: inc/Engine/Admin/Settings/Page.php:1120 +msgid "Replace YouTube iframe with preview image is not compatible with %2$s." +msgstr "" +"A substituição de iframes do YouTube por imagens de pré-visualização não é " +"compatível com %2$s." -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141 -#, php-format -msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s." -msgstr "Para usar a RocketCDN, substitua o seu CNAME por %1$s%2$s%3$s." +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names. +#: inc/Engine/Admin/Settings/Page.php:1120 +msgid "" +"This can significantly improve your loading time if you have a lot of " +"YouTube videos on a page." +msgstr "" +"Isto pode melhorar significativamente o tempo de carregamento se tiver " +"muitos vídeos do YouTube numa só página." -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152 -#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230 -#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334 -#, php-format -msgid "%1$sMore Info%2$s" -msgstr "%1$sMais informações%2$s" +#: inc/Engine/Admin/Settings/Page.php:1135 +msgid "Excluded images or iframes" +msgstr "Imagens ou iframes excluídos" -#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137 -msgid "RocketCDN enabled" -msgstr "RocketCDN activada" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1137 +msgid "" +"Specify keywords (e.g. image filename, CSS filename, CSS class, domain) from" +" the image or iframe code to be excluded (one per line). %1$sMore info%2$s" +msgstr "" +"Especifique palavras-chave (exemplo: nome do ficheiro de imagem, nome do " +"ficheiro CSS, classe CSS, domínio) das imagens ou dos códigos de iframe a " +"excluir (uma por linha). %1$sMais informações%2$s" -#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160 -msgid "RocketCDN disabled" -msgstr "RocketCDN desactivada" +#: inc/Engine/Admin/Settings/Page.php:1145 +msgid "Add missing image dimensions" +msgstr "Adicionar dimensões em falta das imagens" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27 -#, php-format -msgid "Valid until %s only!" -msgstr "Válido apenas até %s!" +#: inc/Engine/Admin/Settings/Page.php:1165 +msgid "Generate cache files, preload fonts" +msgstr "Crie ficheiros de cache, pré-carregue tipos de letra" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36 -msgid "Speed up your website thanks to:" -msgstr "Acelere o seu site com o seguinte:" +#: inc/Engine/Admin/Settings/Page.php:1177 +msgid "Preload Cache" +msgstr "Pré-carregamento da cache" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1180 msgid "" -"High performance Content Delivery Network (CDN) with %1$sunlimited " -"bandwidth%2$s" +"When you enable preloading WP Rocket will automatically detect your sitemaps" +" and save all URLs to the database. The plugin will make sure that your " +"cache is always preloaded." msgstr "" -"Content Delivery Network (CDN) de alto desempenho com %1$slargura de banda " -"ilimitada%2$s" +"Ao activar o pré-carregamento o WP Rocket irá detectar automaticamente os " +"seus sitemaps e guardar todos os URL na base de dados. O plugin assegura que" +" a sua cache seja sempre pré-carregada." -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1188 +msgid "Preload Links" +msgstr "Pré-carregamento das ligações" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1191 msgid "" -"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied" +"Link preloading improves the perceived load time by downloading a page when " +"a user hovers over the link. %1$sMore info%2$s" msgstr "" -"Fácil configuração: As %1$smelhores configurações de CDN%2$s aplicadas " -"automaticamente" +"O pré-carregamento de ligações melhora o tempo percebido de carregamento, " +"através de descarregar a página assim que o utilizador passa com o rato " +"sobre a respectiva ligação. %1$sMais informações%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1199 +msgid "Prefetch DNS Requests" +msgstr "Antecipar pedidos de DNS" + +#: inc/Engine/Admin/Settings/Page.php:1201 msgid "" -"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in" -" our plugin" +"DNS prefetching can make external files load faster, especially on mobile " +"networks" msgstr "" -"Integração do WP Rocket: A opção da CDN é %1$sconfigurada " -"automaticamente%2$s no nosso plugin" +"A antecipação do pedido de DNS pode acelerar o carregamento de ficheiros " +"externos, especialmente em redes móveis" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58 -msgid "Learn more about RocketCDN" -msgstr "Saiba mais sobre a RocketCDN" +#: inc/Engine/Admin/Settings/Page.php:1206 +msgid "Preload Fonts" +msgstr "Pré-carregar tipos de letra" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1209 msgid "" -"*$%1$s/month for 12 months then $%2$s/month. You can cancel your " -"subscription at any time." +"Improves performance by helping browsers discover fonts in CSS files. " +"%1$sMore info%2$s" msgstr "" -"*$%1$s por mês durante 12 meses, depois $%2$s por mês. Pode cancelar a sua " -"subscrição a qualquer momento." - -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86 -msgid "Billed monthly" -msgstr "Facturado mensalmente" +"Melhora o desempenho ao ajudar os navegadores a descobrir tipos de letra em " +"ficheiros de CSS. %1$sMais informações%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87 -msgid "Get Started" -msgstr "Começar" +#: inc/Engine/Admin/Settings/Page.php:1223 +msgid "Activate Preloading" +msgstr "Activar pré-carregamento" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92 -msgid "Reduce this banner" -msgstr "Reduzir este banner" +#: inc/Engine/Admin/Settings/Page.php:1234 +msgid "Exclude URLs" +msgstr "Excluir estes URL" -#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1239 msgid "" -"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network." +"Specify URLs to be excluded from the preload feature (one per line). " +"%1$sMore info%2$s" msgstr "" -"Acelere o seu site com a RocketCDN, a Content Delivery Network do WP Rocket." +"Especifique os URL a excluir do pré-carregamento (um por linha). %1$sMais " +"informações%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20 -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13 -msgid "Learn More" -msgstr "Saiba mais" +#: inc/Engine/Admin/Settings/Page.php:1250 +msgid "URLs to prefetch" +msgstr "Os URL dos pedidos a antecipar" -#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23 -msgid "RocketCDN is unavailable on local domains and staging sites." -msgstr "A RocketCDN não funciona em domínios locais e em sites de staging." +#: inc/Engine/Admin/Settings/Page.php:1251 +msgid "" +"Specify external hosts to be prefetched (no http:, one per " +"line)" +msgstr "" +"Especifique os servidores externos a antecipar os pedidos (sem " +"http:, um por linha)" -#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32 -msgid "Get RocketCDN" -msgstr "Obter RocketCDN" +#: inc/Engine/Admin/Settings/Page.php:1260 +msgid "Fonts to preload" +msgstr "Tipos de letra a pré-carregar" -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11 -msgid "New!" -msgstr "Novo!" +#: inc/Engine/Admin/Settings/Page.php:1261 +msgid "" +"Specify urls of the font files to be preloaded (one per line). Fonts must be" +" hosted on your own domain, or the domain you have specified on the CDN tab." +msgstr "" +"Especifique os URL dos ficheiros de tipos de letra a pré-carregar (um por " +"linha). Os tipos de letra devem ser alojados no seu domínio, ou no domínio " +"especificado no separador da CDN." -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12 +#: inc/Engine/Admin/Settings/Page.php:1262 msgid "" -"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!" +"The domain part of the URL will be stripped automatically.
    Allowed font " +"extensions: otf, ttf, svg, woff, woff2." msgstr "" -"Acelere o seu site com a RocketCDN, a Content Delivery Network do WP Rocket!" +"O domínio será removido automaticamente do URL.
    Extensões permitidas " +"para tipos de letra: otf, ttf, svg, woff, woff2." -#: inc/Engine/Cache/AdminSubscriber.php:118 inc/admin/admin.php:96 -#: inc/admin/admin.php:118 inc/deprecated/3.5.php:898 -msgid "Clear this cache" -msgstr "Limpar esta cache" +#: inc/Engine/Admin/Settings/Page.php:1271 +msgid "Enable link preloading" +msgstr "Activar o pré-carregamento de ligações" -#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75 -msgid "WP Rocket Expired Cache Interval" -msgstr "Intervalo de expiração da cache do WP Rocket" +#: inc/Engine/Admin/Settings/Page.php:1290 +msgid "Advanced Rules" +msgstr "Regras avançadas" -#: inc/Engine/Cache/WPCache.php:337 -msgid "WP_CACHE value" -msgstr "Valor de WP_CACHE" +#: inc/Engine/Admin/Settings/Page.php:1291 +msgid "Fine-tune cache rules" +msgstr "Configure as regras de cache em pormenor" -#: inc/Engine/Cache/WPCache.php:358 +#: inc/Engine/Admin/Settings/Page.php:1302 msgid "" -"The WP_CACHE constant needs to be set to true for WP Rocket cache to work " -"properly" +"Sensitive pages like custom login/logout URLs should be excluded from cache." msgstr "" -"A constante WP_Cache tem de estar definida como 'true' para que a cache do " -"WP Rocket funcione correctamente" - -#: inc/Engine/Cache/WPCache.php:367 -msgid "WP_CACHE is set to true" -msgstr "WP_CACHE está definida como true" +"Devem excluir-se da cache os URL personalizados de páginas dinâmicas como as" +" de início e terminar sessão." -#: inc/Engine/Cache/WPCache.php:375 -msgid "WP_CACHE is not set" -msgstr "WP_CACHE não está definida" +#: inc/Engine/Admin/Settings/Page.php:1305 +msgctxt "plugin name" +msgid "WooCommerce" +msgstr "WooCommerce" -#: inc/Engine/Cache/WPCache.php:383 -msgid "WP_CACHE is set to false" -msgstr "WP_CACHE está definida como false" +#: inc/Engine/Admin/Settings/Page.php:1307 +msgctxt "plugin name" +msgid "Easy Digital Downloads" +msgstr "Easy Digital Downloads" -#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253 -msgid "Every minute" -msgstr "A cada minuto" +#: inc/Engine/Admin/Settings/Page.php:1309 +msgctxt "plugin name" +msgid "iThemes Exchange" +msgstr "iThemes Exchange" -#: inc/Engine/CriticalPath/APIClient.php:64 -#, php-format -msgid "Critical CSS for %1$s not generated. Error: %2$s" -msgstr "O CSS crítico de %1$s não foi gerado. Erro: %2$s" +#: inc/Engine/Admin/Settings/Page.php:1311 +msgctxt "plugin name" +msgid "Jigoshop" +msgstr "Jigoshop" -#: inc/Engine/CriticalPath/APIClient.php:170 -#, php-format -msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The API returned an " -"empty response." -msgstr "" -"O CSS crítico de %1$s para dispositivos móveis não foi gerado. Erro: A API " -"devolveu uma resposta vazia." +#: inc/Engine/Admin/Settings/Page.php:1313 +msgctxt "plugin name" +msgid "WP-Shop" +msgstr "WP-Shop" -#: inc/Engine/CriticalPath/APIClient.php:173 -#, php-format +#. translators: %1$s = opening tag, %2$s = plugin name, %3$s closing +#. tag. +#: inc/Engine/Admin/Settings/Page.php:1319 msgid "" -"Critical CSS for %1$s not generated. Error: The API returned an empty " -"response." +"
    Cart, checkout and \"my account\" pages set in " +"%1$s%2$s%3$s will be detected and never cached by default." msgstr "" -"O CSS crítico de %1$s não foi gerado. Erro: A API devolveu uma resposta " -"vazia." +"
    As páginas do carrinho, finalizar compra e “Minha conta” definidas no " +"%1$s%2$s%3$s serão detectadas e por omissão nunca serão " +"armazenadas em cache." -#: inc/Engine/CriticalPath/APIClient.php:185 -#, php-format -msgid "Critical CSS for %1$s on mobile not generated." -msgstr "O CSS crítico de %1$s para dispositivos móveis não foi gerado." +#: inc/Engine/Admin/Settings/Page.php:1337 +msgid "Never Cache Cookies" +msgstr "Nunca criar cache de cookies" -#: inc/Engine/CriticalPath/APIClient.php:187 -#: inc/Engine/CriticalPath/ProcessorService.php:194 -#, php-format -msgid "Critical CSS for %1$s not generated." -msgstr "O CSS crítico de %1$s não foi gerado." +#: inc/Engine/Admin/Settings/Page.php:1355 +msgid "Cache Query String(s)" +msgstr "Cache de parâmetros de consulta" -#: inc/Engine/CriticalPath/APIClient.php:195 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1358 msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The API returned an " -"invalid response code." +"%1$sCache for query strings%2$s enables you to force caching for specific " +"GET parameters." msgstr "" -"O CSS crítico de %1$s para dispositivos móveis não foi gerado. Erro: A API " -"devolveu um código de resposta inválido." +"A %1$scache de parâmetros de consulta%2$s permite forçar a cache de " +"parâmetros GET específicos." -#: inc/Engine/CriticalPath/APIClient.php:197 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1369 msgid "" -"Critical CSS for %1$s not generated. Error: The API returned an invalid " -"response code." +"Specify URLs of pages or posts that should never be cached (one per line)" msgstr "" -"O CSS crítico de %1$s não foi gerado. Erro: A API devolveu um código de " -"resposta inválido." - -#: inc/Engine/CriticalPath/APIClient.php:205 -#: inc/Engine/CriticalPath/ProcessorService.php:201 -#, php-format -msgid "Error: %1$s" -msgstr "Erro: %1$s" - -#: inc/Engine/CriticalPath/Admin/Admin.php:264 -msgid "Regenerate Critical Path CSS" -msgstr "Regenerar CSS do caminho crítico" - -#: inc/Engine/CriticalPath/Admin/Post.php:144 -#: views/cpcss/metabox/generate.php:47 -msgid "Generate Specific CPCSS" -msgstr "Gerar CSS crítico específico" +"Especifique os URL de páginas ou conteúdos que nunca deverão ser guardados " +"em cache (um por linha)" -#: inc/Engine/CriticalPath/Admin/Post.php:145 -#: views/cpcss/metabox/generate.php:45 -msgid "Regenerate specific CPCSS" -msgstr "Regenerar CSS crítico específico" +#: inc/Engine/Admin/Settings/Page.php:1370 +#: inc/Engine/Admin/Settings/Page.php:1398 +msgid "" +"The domain part of the URL will be stripped automatically.
    Use (.*) " +"wildcards to address multiple URLs under a given path." +msgstr "" +"O domínio será removido automaticamente do URL.
    Utilize wildcards (.*) " +"para incluir múltiplos URL num determinado caminho." -#: inc/Engine/CriticalPath/Admin/Post.php:216 -msgid "This feature is not available for non-public post types." +#: inc/Engine/Admin/Settings/Page.php:1379 +msgid "" +"Specify full or partial IDs of cookies that, when set in the visitor's " +"browser, should prevent a page from getting cached (one per line)" msgstr "" -"Esta funcionalidade não está disponível para tipos de conteúdo não públicos." +"Especifique os ID completos ou parciais dos cookies que, quando definidos no" +" navegador do visitante, deverão impedir uma página de ser guardada em cache" +" (um por linha)" -#: inc/Engine/CriticalPath/Admin/Post.php:219 -msgid "%l to use this feature." -msgstr "%l para usar esta funcionalidade." +#: inc/Engine/Admin/Settings/Page.php:1387 +msgid "" +"Specify user agent strings that should never see cached pages (one per line)" +msgstr "" +"Especifique strings de agentes de utilizador que nunca devem obter páginas " +"em cache (uma por linha)" -#: inc/Engine/CriticalPath/Admin/Post.php:222 -#, php-format -msgid "Publish the %s" -msgstr "Publique o(a) %s" +#: inc/Engine/Admin/Settings/Page.php:1388 +msgid "Use (.*) wildcards to detect parts of UA strings." +msgstr "" +"Utilize wildcards (.*) para detectar partes de strings de agentes de " +"utilizador." -#: inc/Engine/CriticalPath/Admin/Post.php:223 -msgid "Enable Load CSS asynchronously in WP Rocket settings" -msgstr "Active o carregamento assíncrono do CSS nas opções do WP Rocket" +#: inc/Engine/Admin/Settings/Page.php:1397 +msgid "" +"Specify URLs you always want purged from cache whenever you update any post " +"or page (one per line)" +msgstr "" +"Especifique os URL a limpar da cache sempre que actualizar qualquer conteúdo" +" ou página (um por linha)" -#: inc/Engine/CriticalPath/Admin/Post.php:224 -msgid "Enable Load CSS asynchronously in the options above" -msgstr "Active o carregamento assíncrono do CSS nas opções acima" +#: inc/Engine/Admin/Settings/Page.php:1406 +msgid "Specify query strings for caching (one per line)" +msgstr "Especifique parâmetros de consulta a adicionar à cache (um por linha)" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176 -msgid "Critical CSS generation is currently running." -msgstr "A geração do CSS crítico está em curso." +#: inc/Engine/Admin/Settings/Page.php:1432 +msgid "Optimize, reduce bloat" +msgstr "Optimize, reduza a sobrecarga" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181 -#, php-format -msgid "Go to the %1$sWP Rocket settings%2$s page to track progress." -msgstr "Vá às %1$sopções do WP Rocket%2$s para acompanhar o progresso." +#: inc/Engine/Admin/Settings/Page.php:1439 +msgid "Post Cleanup" +msgstr "Limpeza de conteúdos" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1441 msgid "" -"Critical CSS generation is currently running: %1$d of %2$d page types " -"completed. (Refresh this page to view progress)" +"Post revisions and drafts will be permanently deleted. Do not use this " +"option if you need to retain revisions or drafts." msgstr "" -"A geração do CSS crítico está em curso: %1$d de %2$d páginas concluídas. " -"(Actualize a página para ver o progresso)" +"As revisões e rascunhos de conteúdos serão eliminados permanentemente. Não " +"use esta opção se precisar das revisões e dos rascunhos." -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472 -#, php-format -msgid "Critical CSS generation finished for %1$d of %2$d page types." -msgstr "A geração de CSS crítico foi concluída para %1$d de %2$d páginas." +#: inc/Engine/Admin/Settings/Page.php:1446 +msgid "Comments Cleanup" +msgstr "Limpeza de comentários" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 -msgid "Critical CSS generation encountered one or more errors." -msgstr "Foram encontrados um ou mais erros ao gerar o CSS crítico." +#: inc/Engine/Admin/Settings/Page.php:1448 +msgid "Spam and trashed comments will be permanently deleted." +msgstr "Os comentários de spam e no lixo serão eliminados permanentemente." -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 -msgid "Learn more." -msgstr "Saiba mais." +#: inc/Engine/Admin/Settings/Page.php:1452 +msgid "Transients Cleanup" +msgstr "Limpeza de transientes" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1454 msgid "" -"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS " -"optimization. Load CSS Asynchronously is always available as a back-up." +"Transients are temporary options; they are safe to remove. They will be " +"automatically regenerated as your plugins require them." msgstr "" -"É altamente recomendada a funcionalidade actualizada de %1$sremoção de CSS " -"não utilizado%2$s para uma melhor optimização do CSS. Em alternativa, o " -"carregamento assíncrono de CSS está sempre disponível." +"Os transientes são opções temporárias, é seguro removê-los. Serão " +"regenerados automaticamente quando os seus plugins precisarem." -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845 -msgid "Stay with the old option" -msgstr "Manter a opção antiga" +#: inc/Engine/Admin/Settings/Page.php:1458 +msgid "Database Cleanup" +msgstr "Limpeza da base de dados" -#: inc/Engine/CriticalPath/DataManager.php:68 -#, php-format -msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The destination folder" -" could not be created." -msgstr "" -"O CSS crítico de %1$s para dispositivos móveis não foi gerado. Erro: Não foi" -" possível criar o directório de destino." +#: inc/Engine/Admin/Settings/Page.php:1460 +msgid "Reduces overhead of database tables" +msgstr "Reduz a sobrecarga das tabelas da base de dados" -#: inc/Engine/CriticalPath/DataManager.php:71 -#, php-format -msgid "" -"Critical CSS for %1$s not generated. Error: The destination folder could not" -" be created." -msgstr "" -"O CSS crítico de %1$s não foi gerado. Erro: Não foi possível criar o " -"directório de destino." +#: inc/Engine/Admin/Settings/Page.php:1464 +msgid "Automatic Cleanup" +msgstr "Limpeza automática" -#: inc/Engine/CriticalPath/DataManager.php:106 -msgid "Critical CSS file for mobile does not exist" -msgstr "O ficheiro de CSS crítico para dispositivos móveis não existe" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1477 +msgid "%s revision in your database." +msgid_plural "%s revisions in your database." +msgstr[0] "%s revisão na sua base de dados." +msgstr[1] "%s revisões na sua base de dados." +msgstr[2] "%s revisões na sua base de dados." -#: inc/Engine/CriticalPath/DataManager.php:108 -msgid "Critical CSS file does not exist" -msgstr "O ficheiro de CSS crítico não existe" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1487 +msgid "%s draft in your database." +msgid_plural "%s drafts in your database." +msgstr[0] "%s rascunho na sua base de dados." +msgstr[1] "%s rascunhos na sua base de dados." +msgstr[2] "%s rascunhos na sua base de dados." -#: inc/Engine/CriticalPath/DataManager.php:120 -msgid "Critical CSS file for mobile cannot be deleted" -msgstr "" -"Não foi possível eliminar o ficheiro de CSS crítico para dispositivos móveis" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1497 +msgid "%s trashed post in your database." +msgid_plural "%s trashed posts in your database." +msgstr[0] "%s conteúdo no lixo na sua base de dados." +msgstr[1] "%s conteúdos no lixo na sua base de dados." +msgstr[2] "%s conteúdos no lixo na sua base de dados." -#: inc/Engine/CriticalPath/DataManager.php:122 -msgid "Critical CSS file cannot be deleted" -msgstr "Não foi possível eliminar o ficheiro de CSS crítico" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1507 +msgid "%s spam comment in your database." +msgid_plural "%s spam comments in your database." +msgstr[0] "%s comentário de spam na sua base de dados." +msgstr[1] "%s comentários de spam na sua base de dados." +msgstr[2] "%s comentários de spam na sua base de dados." -#: inc/Engine/CriticalPath/ProcessorService.php:187 -#, php-format -msgid "Mobile Critical CSS for %1$s not generated." -msgstr "O CSS crítico de %1$s para dispositivos móveis não foi gerado." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1517 +msgid "%s trashed comment in your database." +msgid_plural "%s trashed comments in your database." +msgstr[0] "%s comentário no lixo na sua base de dados." +msgstr[1] "%s comentários no lixo na sua base de dados." +msgstr[2] "%s comentários no lixo na sua base de dados." -#: inc/Engine/CriticalPath/ProcessorService.php:228 -#, php-format -msgid "Critical CSS for %s in progress." -msgstr "Está em curso a geração do CSS crítico de %s." +#: inc/Engine/Admin/Settings/Page.php:1525 +msgid "All transients" +msgstr "Todos os transientes" -#: inc/Engine/CriticalPath/ProcessorService.php:262 -#, php-format -msgid "Mobile Critical CSS for %s generated." -msgstr "O CSS crítico de %s para dispositivos móveis foi gerado." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1527 +msgid "%s transient in your database." +msgid_plural "%s transients in your database." +msgstr[0] "%s transiente na sua base de dados." +msgstr[1] "%s transientes na sua base de dados." +msgstr[2] "%s transientes na sua base de dados." -#: inc/Engine/CriticalPath/ProcessorService.php:273 -#, php-format -msgid "Critical CSS for %s generated." -msgstr "O CSS crítico de %s foi gerado." +#: inc/Engine/Admin/Settings/Page.php:1535 +msgid "Optimize Tables" +msgstr "Optimizar tabelas" -#: inc/Engine/CriticalPath/ProcessorService.php:295 -msgid "Critical CSS file deleted successfully." -msgstr "Ficheiro de CSS crítico eliminado com sucesso." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1537 +msgid "%s table to optimize in your database." +msgid_plural "%s tables to optimize in your database." +msgstr[0] "%s tabela a optimizar na sua base de dados." +msgstr[1] "%s tabelas a optimizar na sua base de dados." +msgstr[2] "%s tabelas a optimizar na sua base de dados." -#: inc/Engine/CriticalPath/ProcessorService.php:317 -#, php-format -msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later." -msgstr "" -"Foi ultrapassado o tempo de execução da geração do CSS crítico de %1$s para " -"dispositivos móveis. Tente de novo pouco mais tarde." +#: inc/Engine/Admin/Settings/Page.php:1548 +msgid "Schedule Automatic Cleanup" +msgstr "Agendar limpeza automática" -#: inc/Engine/CriticalPath/ProcessorService.php:330 -#, php-format -msgid "Critical CSS for %1$s timeout. Please retry a little later." -msgstr "" -"Foi ultrapassado o tempo de execução da geração do CSS crítico de %1$s. " -"Tente de novo pouco mais tarde." +#: inc/Engine/Admin/Settings/Page.php:1560 +msgid "Frequency" +msgstr "Frequência" -#: inc/Engine/CriticalPath/RESTWP.php:141 -msgid "Mobile CPCSS generation not enabled." -msgstr "A geração de CSS crítico para dispositivos móveis não está activada." +#: inc/Engine/Admin/Settings/Page.php:1568 +msgid "Daily" +msgstr "Diariamente" -#: inc/Engine/CriticalPath/RESTWPPost.php:36 -#: inc/Engine/CriticalPath/RESTWPPost.php:69 -msgid "Requested post does not exist." -msgstr "O conteúdo solicitado não existe." +#: inc/Engine/Admin/Settings/Page.php:1569 +msgid "Weekly" +msgstr "Semanalmente" -#: inc/Engine/CriticalPath/RESTWPPost.php:46 -msgid "Cannot generate CPCSS for unpublished post." -msgstr "Não é possível gerar o CSS crítico de conteúdos não publicados." +#: inc/Engine/Admin/Settings/Page.php:1570 +msgid "Monthly" +msgstr "Mensalmente" + +#: inc/Engine/Admin/Settings/Page.php:1587 +msgid "Integrate your CDN" +msgstr "Integre a sua CDN" -#: inc/Engine/HealthCheck/HealthCheck.php:82 inc/deprecated/3.5.php:858 +#: inc/Engine/Admin/Settings/Page.php:1599 msgid "" -"The following scheduled event failed to run. This may indicate the CRON " -"system is not running properly, which can prevent some WP Rocket features " -"from working as intended:" +"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)" +" you provide." +msgstr "" +"Todos os URL de ficheiros estáticos (CSS, JS, imagens) serão reescritos " +"no(s) CNAME(s) que fornecer." + +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Admin/Settings/Page.php:1601 +msgid "" +"Not required for services like Cloudflare and Sucuri. Please see our " +"available %1$sAdd-ons%2$s." +msgstr "" +"Não é necessário para serviços como a Cloudflare e Sucuri. Por favor " +"consulte os nossos %1$smódulos%2$s disponíveis." + +#. translators: %1$s = opening em tag, %2$l = list of add-on name(s), %3$s = +#. closing em tag. +#: inc/Engine/Admin/Settings/Page.php:1647 +msgid "" +"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings " +"is not required for %2$l to work on your site." msgid_plural "" -"The following scheduled events failed to run. This may indicate the CRON " -"system is not running properly, which can prevent some WP Rocket features " -"from working as intended:" +"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN " +"settings is not required for %2$l to work on your site." msgstr[0] "" -"Falhou a execução do evento agendado abaixo. Isto pode indicar que o sistema" -" CRON não está a funcionar correctamente, e impedir algumas funcionalidades " -"do WP Rocket de funcionarem como esperado:" +"O %1$smódulo %2$l%3$s está activo de momento. Não é necessário configurar a " +"CDN para o módulo %2$l funcionar no seu site." msgstr[1] "" -"Falhou a execução dos eventos agendados abaixo. Isto pode indicar que o " -"sistema CRON não está a funcionar correctamente, e impedir algumas " -"funcionalidades do WP Rocket de funcionarem como esperado:" +"Os %1$smódulos %2$l%3$s estão activos de momento. Não é necessário " +"configurar a CDN para os módulos %2$l funcionarem no seu site." msgstr[2] "" -"Falhou a execução dos eventos agendados abaixo. Isto pode indicar que o " -"sistema CRON não está a funcionar correctamente, e impedir algumas " -"funcionalidades do WP Rocket de funcionarem como esperado:" - -#: inc/Engine/HealthCheck/HealthCheck.php:88 inc/deprecated/3.5.php:867 -msgid "Please contact your host to check if CRON is working." -msgstr "" -"Contacte com o seu serviço de alojamento para verificar se o CRON está a " -"funcionar." - -#: inc/Engine/HealthCheck/HealthCheck.php:142 -msgid "Scheduled Cache Purge" -msgstr "Limpeza de cache agendada" - -#: inc/Engine/HealthCheck/HealthCheck.php:143 -msgid "Scheduled Database Optimization" -msgstr "Optimização agendada da base de dados" +"Os %1$smódulos %2$l%3$s estão activos de momento. Não é necessário " +"configurar a CDN para os módulos %2$l funcionarem no seu site." -#: inc/Engine/HealthCheck/HealthCheck.php:144 -msgid "Database Optimization Process" -msgstr "Processo de optimização da base de dados" +#: inc/Engine/Admin/Settings/Page.php:1673 +msgid "Enable Content Delivery Network" +msgstr "Activar CDN" -#: inc/Engine/HealthCheck/HealthCheck.php:145 -msgctxt "noun" -msgid "Preload" -msgstr "Pré-carregamento" +#: inc/Engine/Admin/Settings/Page.php:1682 +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159 +msgid "CDN CNAME(s)" +msgstr "CNAME(s) da CDN" -#: inc/Engine/HealthCheck/HealthCheck.php:146 -msgid "Critical Path CSS Generation Process" -msgstr "Processo de geração do CSS do caminho crítico" +#: inc/Engine/Admin/Settings/Page.php:1683 +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160 +msgid "Specify the CNAME(s) below" +msgstr "Especifique o(s) CNAME(s) abaixo" -#: inc/Engine/License/Renewal.php:76 -#, php-format -msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!" -msgstr "Renove antes que seja tarde demais, pagará apenas %1$s%2$s%3$s!" +#: inc/Engine/Admin/Settings/Page.php:1690 +msgid "" +"Specify URL(s) of files that should not get served via CDN (one per line)." +msgstr "" +"Especifique os URL dos ficheiros que não devem ser servidos pela CDN (um por" +" linha)." -#: inc/Engine/License/Renewal.php:85 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1691 msgid "" -"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " -"%4$s%5$s%6$s!" +"The domain part of the URL will be stripped automatically.
    Use (.*) " +"wildcards to exclude all files of a given file type located at a specific " +"path." msgstr "" -"Renove com %1$s%2$s de desconto%3$s antes que seja tarde demais, por apenas " -"%4$s%5$s%6$s!" +"O domínio será removido automaticamente do URL.
    Utilize wildcards (.*) " +"para excluir todos os ficheiros de um determinado tipo, localizados num " +"caminho específico." -#: inc/Engine/License/Renewal.php:139 -#, php-format -msgid "Renew your license for 1 year now at %1$s%3$s%2$s." -msgstr "Renove agora a sua licença por 1 ano por %1$s%3$s%2$s." +#: inc/Engine/Admin/Settings/Page.php:1714 +#: inc/Engine/Admin/Settings/Page.php:1722 +msgid "Heartbeat" +msgstr "Heartbeat" -#: inc/Engine/License/Renewal.php:152 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1715 +msgid "Control WordPress Heartbeat API" +msgstr "Controle a Heartbeat API do WordPress" + +#: inc/Engine/Admin/Settings/Page.php:1723 msgid "" -"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you " -"will only pay %1$s%4$s%2$s!" +"Reducing or disabling the Heartbeat API’s activity can help save some of " +"your server’s resources." msgstr "" -"Renove agora a sua licença por 1 ano e obtenha de imediato %1$s%3$s de " -"desconto%2$s: apenas pagará %1$s%4$s%2$s!" +"Reduzir ou desactivar a actividade da Hartbeat API pode economizar alguns " +"recursos do seu servidor." -#: inc/Engine/License/Renewal.php:218 -#, php-format -msgid "Renew before it is too late, you will pay %1$s%3$s%2$s." -msgstr "Renove antes que seja tarde demais, pagará %1$s%3$s%2$s." +#: inc/Engine/Admin/Settings/Page.php:1729 +msgid "Reduce or disable Heartbeat activity" +msgstr "Reduzir ou desactivar a actividade do Heartbeat" -#: inc/Engine/License/Renewal.php:227 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1730 msgid "" -"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " -"%1$s%4$s%3$s!" +"Reducing activity will change Heartbeat frequency from one hit each minute " +"to one hit every 2 minutes." msgstr "" -"Renove com %1$s%2$s de desconto%3$s antes que seja tarde demais, por apenas " -"%1$s%4$s%3$s!" +"A redução de actividade altera a frequência do Heartbeat de um acesso por " +"minuto para um acesso a cada 2 minutos." -#: inc/Engine/License/Renewal.php:546 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1730 msgid "" -"You need a valid license to continue using this feature. %1$sRenew now%2$s " -"before losing access." +"Disabling Heartbeat entirely may break plugins and themes using this API." msgstr "" -"Precisa de uma licença válida para continuar a usar esta funcionalidade. " -"%1$sRenove agora%2$s antes de perde o acesso." +"Desactivar completamente o Heartbeat pode prejudicar os plugins e temas que " +"usem esta API." -#: inc/Engine/License/Renewal.php:567 -#, php-format -msgid "You need an active license to enable this option. %1$sRenew now%2$s." -msgstr "" -"Precisa de uma licença válida para activar esta opção. %1$sRenove agora%2$s." +#: inc/Engine/Admin/Settings/Page.php:1744 +msgid "Do not limit" +msgstr "Não limitar" -#: inc/Engine/License/Renewal.php:595 -#, php-format -msgid "You need an active license to enable this option. %1$sMore info%2$s." -msgstr "" -"Precisa de uma licença válida para activar esta opção. %1$sMais " -"informações%2$s." +#: inc/Engine/Admin/Settings/Page.php:1745 +msgid "Reduce activity" +msgstr "Reduzir actividade" -#: inc/Engine/License/Upgrade.php:252 -#, php-format -msgid "" -"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" -" for %3$supgrading your license to Plus or Infinite!%5$s" -msgid_plural "" -"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" -" for %3$supgrading your license to Infinite!%5$s" -msgstr[0] "" -"Aproveite a promoção %1$s para acelerar mais sites:%2$sObtenha " -"%3$s%4$s de desconto%5$s ao %3$sactualizar a sua licença para Plus ou " -"Infinite!%5$s" -msgstr[1] "" -"Aproveite a promoção %1$s para acelerar mais sites:%2$sObtenha " -"%3$s%4$s de desconto%5$s ao %3$sactualizar a sua licença para Infinite!%5$s" -msgstr[2] "" -"Aproveite a promoção %1$s para acelerar mais sites:%2$sObtenha " -"%3$s%4$s de desconto%5$s ao %3$sactualizar a sua licença para Infinite!%5$s" +#: inc/Engine/Admin/Settings/Page.php:1746 +msgid "Disable" +msgstr "Desactivar" -#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405 -msgid "Unlimited" -msgstr "Sem limite de" +#: inc/Engine/Admin/Settings/Page.php:1754 +msgid "Control Heartbeat" +msgstr "Controlar Heartbeat" -#: inc/Engine/License/views/promo-banner.php:16 -#, php-format -msgid "%s off" -msgstr "%s de desconto" +#: inc/Engine/Admin/Settings/Page.php:1763 +msgid "Behavior in backend" +msgstr "Comportamento no painel de administração" -#: inc/Engine/License/views/promo-banner.php:21 -#, php-format -msgid "%s promotion is live!" -msgstr "Promoção %s!" +#: inc/Engine/Admin/Settings/Page.php:1770 +msgid "Behavior in post editor" +msgstr "Comportamento no editor de conteúdos" -#: inc/Engine/License/views/promo-banner.php:27 -msgid "Hurry Up! Deal ends in:" -msgstr "Rápido! A oferta termina em:" +#: inc/Engine/Admin/Settings/Page.php:1776 +msgid "Behavior in frontend" +msgstr "Comportamento na interface do site" -#: inc/Engine/License/views/promo-banner.php:31 -#: inc/Engine/License/views/renewal-soon-banner.php:14 -msgid "Minutes" -msgstr "Minutos" +#: inc/Engine/Admin/Settings/Page.php:1793 +#: views/settings/page-sections/tutorials.php:39 +msgid "Add-ons" +msgstr "Módulos" -#: inc/Engine/License/views/promo-banner.php:32 -#: inc/Engine/License/views/renewal-soon-banner.php:15 -msgid "Seconds" -msgstr "Segundos" +#: inc/Engine/Admin/Settings/Page.php:1794 +msgid "Add more features" +msgstr "Adicione mais funcionalidades" -#: inc/Engine/License/views/promo-banner.php:34 -#: inc/Engine/License/views/upgrade-section.php:11 -msgid "Upgrade now" -msgstr "Actualize agora" - -#: inc/Engine/License/views/promo-banner.php:36 -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32 -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42 -#: inc/Engine/License/views/renewal-expired-banner.php:30 -#: inc/admin/ui/notices.php:742 views/settings/page-sections/dashboard.php:46 -msgid "Dismiss this notice" -msgstr "Descartar esta notificação" - -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11 -msgid "The Optimize CSS Delivery feature is disabled." -msgstr "A funcionalidade de optimizar entrega do CSS está desactivada." +#: inc/Engine/Admin/Settings/Page.php:1801 +msgid "One-click Rocket Add-ons" +msgstr "Módulos do Rocket com um clique" -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15 +#: inc/Engine/Admin/Settings/Page.php:1802 msgid "" -"You can no longer use the Remove Unused CSS or Load CSS asynchronously " -"options." +"One-Click Add-ons are features extending available options without " +"configuration needed. Switch the option \"on\" to enable from this screen." msgstr "" -"As opções de remoção de CSS não utilizado e de carregamento assíncrono de " -"CSS já não podem ser utilizadas." +"Os módulos disponíveis com um clique são funcionalidades que aumentam as " +"opções disponíveis sem necessidade de configuração. Ligue as opções para " +"activar os módulos neste mesmo ecrã." -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20 -#, php-format -msgid "" -"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, " -"which addresses a PageSpeed Insights recommendation and improves your page " -"performance." +#: inc/Engine/Admin/Settings/Page.php:1812 +msgid "Rocket Add-ons" +msgstr "Módulos do Rocket" + +#: inc/Engine/Admin/Settings/Page.php:1813 +msgid "Rocket Add-ons are complementary features extending available options." msgstr "" -"Precisa de uma %1$slicença activa%2$s para continuar a optimizar a entrega " -"de CSS, para cumprir a recomendação do PageSpeed Insights e melhorar o " -"desempenho da sua página." +"Os módulos do Rocket são funcionalidades complementares que aumentam as " +"opções disponíveis." -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29 -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39 -#: inc/Engine/License/views/renewal-expired-banner.php:27 -#: inc/Engine/License/views/renewal-soon-banner.php:31 -msgid "Renew now" -msgstr "Renove agora" +#: inc/Engine/Admin/Settings/Page.php:1823 +#: inc/Engine/Admin/Settings/Page.php:1992 +msgid "Cloudflare" +msgstr "Cloudflare" -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11 -msgid "You will soon lose access to some features" -msgstr "Em breve irá perder acesso a algumas funcionalidades" +#: inc/Engine/Admin/Settings/Page.php:1829 +msgid "Integrate your Cloudflare account with this add-on." +msgstr "Integre a sua conta da Cloudflare com este módulo." -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1830 msgid "" -"You need an %1$sactive license to continue optimizing your CSS delivery%2$s." +"Provide your account email, global API key, and domain to use options such " +"as clearing the Cloudflare cache and enabling optimal settings with WP " +"Rocket." msgstr "" -"Precisa de uma %1$slicença activa para continuar a optimizar a entrega do " -"CSS%2$s." +"Forneça o email, a chave global de API e o domínio da sua conta para usar " +"opções tais como limpar a cache da Cloudflare e permitir a configuração " +"ideal com o WP Rocket." -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24 +#. translators: %1$s = opening span tag, %2$s = closing span tag. +#: inc/Engine/Admin/Settings/Page.php:1833 msgid "" -"The Remove Unused CSS and Load CSS asynchronously features are great options" -" to address the PageSpeed Insights recommendations and improve your website " -"performance." +"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just " +"activate the official Cloudflare plugin and configure it. WP Rocket will " +"automatically enable compatibility." msgstr "" -"As funcionalidades de remoção de CSS não utilizado e de carregamento " -"assíncrono de CSS são óptimas para cumprir as recomendações do PageSpeed " -"Insights e melhorar o desempenho do seu site." - -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29 -#, php-format -msgid "They will be %1$sautomatically disabled on %3$s%2$s." -msgstr "Serão %1$sautomaticamente desactivadas em %3$s%2$s." +"%1$sEstá a pensar usar a Automatic Platform Optimization (APO)?%2$s Basta " +"activar e o plugin oficial da Cloudflare e configurar. O WP Rocket activará " +"a compatibilidade automaticamente." -#: inc/Engine/License/views/renewal-expired-banner.php:11 -msgid "Your WP Rocket license is expired!" -msgstr "A sua licença do WP Rocket está expirada!" +#: inc/Engine/Admin/Settings/Page.php:1881 +msgid "Varnish" +msgstr "Varnish" -#: inc/Engine/License/views/renewal-expired-banner.php:18 -#, php-format -msgid "" -"Your website could be much faster if it could take advantage of our %1$snew " -"features and enhancements%2$s. 🚀" -msgstr "" -"O seu site poderá ser muito mais rápido se tirar partido das nossas " -"%1$snovas funcionalidades e melhorias%2$s. 🚀" +#: inc/Engine/Admin/Settings/Page.php:1887 +msgid "If Varnish runs on your server, you must activate this add-on." +msgstr "Se utilizar o Varnish no seu servidor, deve activar este módulo." -#: inc/Engine/License/views/renewal-soon-banner.php:22 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1889 msgid "" -"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access" -" to product updates and support." +"Varnish cache will be purged each time WP Rocket clears its cache to ensure " +"content is always up-to-date.
    %1$sLearn more%2$s" msgstr "" -"A %1$slicença do WP Rocket está prestes a expirar%2$s: em breve deixará de " -"ter acesso às actualizações e suporte do produto." +"O cache do Varnish será limpa sempre que limpar a cache do WP Rocket para " +"garantir que o conteúdo está sempre actualizado.
    %1$sSaiba mais%2$s" -#: inc/Engine/License/views/upgrade-popin.php:12 -msgid "Speed Up More Websites" -msgstr "Acelere mais sites" +#: inc/Engine/Admin/Settings/Page.php:1924 +msgid "WebP Compatibility" +msgstr "Compatibilidade com WebP" -#: inc/Engine/License/views/upgrade-popin.php:19 -#, php-format -msgid "" -"You can use WP Rocket on more websites by upgrading your license. To " -"upgrade, simply pay the %1$sprice difference%2$s between your current and " -"new licenses, as shown below." -msgstr "" -"Pode usar o WP Rocket em mais sites ao actualizar a sua licença. Para " -"actualizar, basta pagar a %1$sdiferença de preço%2$s de entre a sua licença " -"actual e a nova, como demostrado abaixo." +#: inc/Engine/Admin/Settings/Page.php:1930 +msgid "Improve browser compatibility for WebP images." +msgstr "Melhorar a compatibilidade dos navegadores para imagens WebP." -#: inc/Engine/License/views/upgrade-popin.php:25 -#, php-format +#. translators: %1$s and %3$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1934 msgid "" -"%1$sN.B.%2$s: Upgrading your license does not change your expiration date" +"Enable this option if you would like WP Rocket to serve WebP images to " +"compatible browsers. Please note that WP Rocket cannot create WebP images " +"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore " +"info%2$s" msgstr "" -"%1$sAtenção%2$s: Actualizar a licença não altera a sua data de expiração" - -#: inc/Engine/License/views/upgrade-popin.php:35 -#, php-format -msgid "Save $%s" -msgstr "Poupe $%s" - -#: inc/Engine/License/views/upgrade-popin.php:48 -#, php-format -msgid "%s websites" -msgstr "%s sites" +"Active esta opção se quiser que o WP Rocket sirva imagens WebP aos " +"navegadores compatíveis. Atenção que o WP Rocket não pode criar imagens WebP" +" por si. Para criar imagens WebP recomendamos o %1$sImagify%2$s. %3$sMais " +"informações%2$s" -#: inc/Engine/License/views/upgrade-popin.php:54 -#, php-format -msgid "Upgrade to %s" -msgstr "Actualizar para %s" +#: inc/Engine/Admin/Settings/Page.php:1954 +msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared." +msgstr "Limpar a cache do Sucuri ao limpar a cache do WP Rocket." -#: inc/Engine/License/views/upgrade-section.php:11 +#: inc/Engine/Admin/Settings/Page.php:1957 msgid "" -"You can use WP Rocket on more websites by upgrading your license (you will " -"only pay the price difference between your current and new licenses)." +"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is " +"cleared." msgstr "" -"Pode usar o WP Rocket em mais sites ao actualizar a sua licença (apenas paga" -" a diferença de preço entre a sua licença actual e a nova)." - -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195 -msgid "Analytics & Ads" -msgstr "Dados analíticos e anúncios" - -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200 -msgid "Plugins" -msgstr "Plugins" +"Forneça a sua chave de API para limpar a cache do Sucuri ao limpar a cache " +"do WP Rocket." -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205 -msgid "Themes" -msgstr "Temas" +#: inc/Engine/Admin/Settings/Page.php:1965 +#: inc/Engine/Admin/Settings/Page.php:2109 +msgid "Sucuri" +msgstr "Sucuri" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101 -msgid "" -"You need an active license to get the latest version of the lists from our " -"server." -msgstr "" -"Precisa de uma licença activa para obter a última versão das listas do nosso" -" servidor." +#: inc/Engine/Admin/Settings/Page.php:1971 +msgid "Synchronize Sucuri cache with this add-on." +msgstr "Sincronize a cache do Sucuri com este módulo." -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115 -msgid "Could not get updated lists from server." -msgstr "Não foi possível obter as listas actualizadas do servidor." +#: inc/Engine/Admin/Settings/Page.php:2009 +msgid "Cloudflare credentials" +msgstr "Credenciais da Cloudflare" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124 -msgid "Lists are up to date." -msgstr "As listas estão actualizadas." +#: inc/Engine/Admin/Settings/Page.php:2018 +msgid "Cloudflare settings" +msgstr "Opções da Cloudflare" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133 -msgid "Could not update lists." -msgstr "Não foi possível actualizar as listas." +#: inc/Engine/Admin/Settings/Page.php:2032 +msgctxt "Cloudflare" +msgid "Global API key:" +msgstr "Chave global de API:" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142 -msgid "Lists are successfully updated." -msgstr "As listas foram actualizadas com sucesso." +#: inc/Engine/Admin/Settings/Page.php:2033 +msgctxt "Cloudflare" +msgid "Find your API key" +msgstr "Consulte a sua chave de API" -#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:52 -msgid "Default Lists" -msgstr "Listas por omissão" +#: inc/Engine/Admin/Settings/Page.php:2045 +msgctxt "Cloudflare" +msgid "Account email" +msgstr "Email da conta" -#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:58 -msgid "Delay JavaScript Execution Exclusion Lists" -msgstr "Listas de exclusão do diferimento da execução de JavaScript" +#: inc/Engine/Admin/Settings/Page.php:2054 +msgctxt "Cloudflare" +msgid "Zone ID" +msgstr "ID da zona" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131 -#: views/settings/page-sections/dashboard.php:188 -msgid "Clear Used CSS" -msgstr "Limpar CSS utilizado" +#: inc/Engine/Admin/Settings/Page.php:2064 +msgid "Development mode" +msgstr "Modo de desenvolvimento" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224 -#, php-format +#. translators: %1$s = link opening tag, %2$s = link closing tag. +#: inc/Engine/Admin/Settings/Page.php:2066 msgid "" -"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing " -"your pages." +"Temporarily activate development mode on your website. This setting will " +"automatically turn off after 3 hours. %1$sLearn more%2$s" msgstr "" -"%1$s: Por favor aguarde %2$s segundos. O serviço de remoção de CSS não " -"utilizado está a processar as suas páginas." +"Active temporariamente o modo de desenvolvimento no seu site. Esta opção " +"desactiva-se automaticamente após 3 horas. %1$sSaiba mais%2$s" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:274 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2074 +msgid "Optimal settings" +msgstr "Configuração ideal" + +#: inc/Engine/Admin/Settings/Page.php:2075 msgid "" -"%1$s: The Used CSS of your homepage has been processed. WP Rocket will " -"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)." +"Automatically enhances your Cloudflare configuration for speed, performance " +"grade and compatibility." msgstr "" -"%1$s: O CSS utilizado da sua página inicial foi processado. O WP Rocket " -"continuará a gerar o CSS utilizado até %2$s URL a cada %3$s segundo(s)." - -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283 -#, php-format -msgid "We suggest enabling %1$sPreload%2$s for the fastest results." -msgstr "" -"Sugerimos activar o %1$spré-carregamento%2$s para resultados mais rápidos." - -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:293 -#, php-format -msgid "To learn more about the process check our %1$sdocumentation%2$s." -msgstr "" -"Para saber mais sobre o processo consulte a nossa %1$sdocumentação%2$s." - -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:491 -msgid "" -"We couldn't generate the used CSS because you're using a nulled version of " -"WP Rocket. You need an active license to use the Remove Unused CSS feature " -"and further improve your website's performance." -msgstr "" -"Não foi possível gerar o CSS utilizado porque está a usar uma versão " -"cancelada do WP Rocket. Precisa de uma licença activa para usar a " -"funcionalidade de Remover CSS não utilizado e melhorar ainda mais o " -"desempenho do seu site." +"Melhore automaticamente a sua configuração da Cloudflare para melhor " +"velocidade, grau de desempenho e compatibilidade." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:494 -#, php-format -msgid "Click here to get a WP Rocket single license at %1$s off!" -msgstr "" -"Clique aqui para obter uma licença Single do WP Rocket com %1$s de desconto!" +#: inc/Engine/Admin/Settings/Page.php:2083 +msgid "Relative protocol" +msgstr "Protocolo relativo" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:547 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2084 msgid "" -"It seems a security plugin or the server's firewall prevents WP Rocket from " -"accessing the Remove Unused CSS generator. IPs listed %1$shere in our " -"documentation%2$s should be added to your allowlists:" +"Should only be used with Cloudflare's flexible SSL feature. URLs of static " +"files (CSS, JS, images) will be rewritten to use // instead of http:// or " +"https://." msgstr "" -"Parece que um plugin de segurança ou o firewall do servidor está a impedir o" -" acesso do WP Rocket ao gerador de remoção de CSS não utilizado. Os IP " -"listados %1$saqui na nossa documentação%2$s devem ser adicionados às suas " -"listas de permissões:" - -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:552 -msgid "- In the security plugin, if you are using one" -msgstr "- No plugin de segurança, se estiver a utilizar algum" +"Só deve ser usado com a função de SSL flexível da Cloudflare. Os URL de " +"ficheiros estáticos (CSS, JS, imagens) serão reescritos para usar // em vez " +"de http:// ou https://." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:553 -msgid "- In the server's firewall. Your host can help you with this" -msgstr "" -"- Na firewall do servidor. O seu serviço de alojamento pode ajudar nesta " -"tarefa" +#: inc/Engine/Admin/Settings/Page.php:2122 +msgid "Sucuri credentials" +msgstr "Credenciais do Sucuri" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:593 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2135 +msgctxt "Sucuri" msgid "" -"%1$s: Could not create the %2$s table in the database which is necessary for" -" the Remove Unused CSS feature to work. Please reach out to %3$sour " -"support%4$s." +"Firewall API key (for plugin), must be in format {32 characters}/{32 " +"characters}:" msgstr "" -"%1$s: Não foi possível criar a tabela %2$s na base de dados, necessária para" -" o funcionamento da opção de Remover CSS não utilizado. Por favor contacte o" -" %3$snosso suporte%4$s." - -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:324 -#, php-format -msgid "%1$s: Used CSS option is not enabled!" -msgstr "%1$s: A opção do CSS utilizado não está activa!" - -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:345 -#, php-format -msgid "%1$s: Used CSS cache cleared!" -msgstr "%1$s: A cache do CSS utilizado foi limpa!" - -#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:787 -msgid "Clear Used CSS of this URL" -msgstr "Limpar CSS utilizado deste URL" - -#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160 -msgid "WP Rocket Remove Unused CSS pending jobs" -msgstr "Tarefas pendentes do WP Rocket de remoção de CSS não utilizado" +"A chave de API da firewall (do plugin) tem de estar no formato {32 " +"caracteres}/{32 caracteres}:" -#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174 -msgid "WP Rocket clear Remove Unused CSS failed jobs" -msgstr "Limpar tarefas falhadas do WP Rocket de remoção de CSS não utilizado" +#: inc/Engine/Admin/Settings/Page.php:2136 +msgctxt "Sucuri" +msgid "Find your API key" +msgstr "Consulte a sua chave de API" -#: inc/Engine/Plugin/UpdaterApiTools.php:32 inc/deprecated/3.3.php:761 -#: inc/deprecated/3.3.php:770 -#, php-format +#: inc/Engine/Admin/Settings/Settings.php:361 msgid "" -"An unexpected error occurred. Something may be wrong with WP-Rocket.me or " -"this server’s configuration. If you continue to have problems, contact support." +"Sucuri Add-on: The API key for the Sucuri firewall must be in format " +"{32 characters}/{32 characters}." msgstr "" -"Ocorreu um erro inesperado. Pode haver um problema no servidor WP-Rocker.me " -"ou na configuração deste servidor. Se o problema persistir, contacte o suporte." - -#: inc/Engine/Plugin/UpdaterSubscriber.php:483 -#: inc/Engine/Plugin/UpdaterSubscriber.php:497 -#: inc/classes/class-wp-rocket-requirements-check.php:203 -#: inc/classes/class-wp-rocket-requirements-check.php:214 -#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251 -#, php-format -msgid "%s Update Rollback" -msgstr "Reversão da actualização do %s" - -#: inc/Engine/Plugin/UpdaterSubscriber.php:520 inc/deprecated/3.11.php:279 -#, php-format -msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s" -msgstr "%1$sVolte para o WP Rocket%2$s ou %3$svá para a página de plugins%2$s" +"Módulo do Sucuri. A chave de API para a firewall do Sucuri tem de estar no " +"formato {32 caracteres}/{32 caracteres}." -#: inc/Engine/Preload/Admin/Settings.php:57 -#, php-format +#: inc/Engine/Admin/Settings/Settings.php:667 msgid "" -"%1$s: The preload service is now active. After the initial preload it will " -"continue to cache all your pages whenever they are purged. No further action" -" is needed." +"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved " +"because it disables caching and optimizations for every page on your site." msgstr "" -"%1$s: O serviço de pré-carregamento está agora activo. Após o pré-" -"carregamento inicial, continuará a ser criada a cache de todas as suas " -"páginas, sempre que as respectivas caches forem limpas. Não é necessária " -"qualquer outra acção." - -#: inc/Engine/Preload/Cron/Subscriber.php:138 -msgid "WP Rocket Preload pending jobs" -msgstr "Tarefas pendentes do pré-carregamento do WP Rocket" - -#: inc/Engine/Preload/Cron/Subscriber.php:166 -msgid "WP Rocket Preload revert stuck failed jobs" -msgstr "Reverter tarefas falhadas de pré-carregamento do WP Rocket" +"Desculpe! Não foi guardado /(.*) em Regras avançadas > Nunca criar cache dos" +" URL porque isto desactiva o armazenamento de cache e as optimizações para " +"cada página do seu site." -#: inc/ThirdParty/Hostings/Cloudways.php:82 -#, php-format -msgid "" -"Varnish auto-purge will be automatically enabled once Varnish is enabled on " -"your %s server." -msgstr "" -"O limpeza automática do Varnish será activada automaticamente ao activar o " -"Varnish no seu servidor %s." +#: inc/Engine/Admin/Settings/Subscriber.php:169 +msgid "Import, Export, Rollback" +msgstr "Importar, exportar, reverter" -#: inc/ThirdParty/Hostings/Kinsta.php:158 -#, php-format -msgid "" -"Your installation seems to be missing core Kinsta files managing Cache " -"clearing, which will prevent your Kinsta installation and WP Rocket from " -"working correctly. Please get in touch with Kinsta support through your " -"%1$sMyKinsta%2$s account to resolve this issue." -msgstr "" -"A sua instalação parece não ter ficheiros essenciais do Kinsta que gerem a " -"limpeza de cache, o que impedirá o funcionamento correcto da sua instalação " -"Kinsta e do WP Rocket. Para corrigir o problema, por favor entre em contacto" -" com o suporte do Kinsta através da sua conta %1$sMyKinsta%2$s." +#: inc/Engine/Admin/Settings/Subscriber.php:194 +#: views/settings/page-sections/imagify.php:14 +msgid "Image Optimization" +msgstr "Optimizar imagens" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:126 -#, php-format -msgid "" -"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of " -"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it." -msgstr "" -"%1$s: HTTP/2 Server Push do Cloudflare é incompatível com as funcionalidades" -" de Remover CSS não utilizado e de Combinar ficheiros de CSS. Recomendamos " -"vivamente a sua desactivação." +#: inc/Engine/Admin/Settings/Subscriber.php:195 +msgid "Compress your images" +msgstr "Comprima as suas imagens" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169 -msgid "" -"Your site is using the official Cloudflare plugin. We have enabled " -"Cloudflare auto-purge for compatibility. If you have APO activated, it is " -"also compatible." -msgstr "" -"O seu site está a usar o plugin oficial da Cloudflare. Foi activada a " -"limpeza automática da Cloudflare para compatibilidade. Se tiver activado a " -"APO, também é compatível." +#: inc/Engine/Admin/Settings/Subscriber.php:212 +#: views/settings/page-sections/tutorials.php:48 +msgid "Tutorials" +msgstr "Tutoriais" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:170 -msgid "" -"Cloudflare cache will be purged each time WP Rocket clears its cache to " -"ensure content is always up-to-date." -msgstr "" -"A cache da Cloudflare será limpa sempre que limpar a cache do WP Rocket para" -" garantir que o conteúdo está sempre actualizado." +#: inc/Engine/Admin/Settings/Subscriber.php:213 +msgid "Getting started and how to videos" +msgstr "Vídeos de introdução e aprendizagem" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:214 -#, php-format -msgid "" -"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO " -"is not yet compatible with that feature." -msgstr "" -"%1$sWP Rocket:%2$s Está a usar \"Cache de cookies dinâmicos\". A Cloudflare " -"APO ainda não é compatível com esta funcionalidade." +#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75 +msgid "WP Rocket Expired Cache Interval" +msgstr "Intervalo de expiração da cache do WP Rocket" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:220 -#, php-format -msgid "" -"You should either disable Cloudflare APO or check with the theme/plugin " -"requiring the use of “Dynamic Cookies Cache” developers for an alternative " -"way to be page-cache friendly. %1$sMore info%2$s" -msgstr "" -"Deve desactivar a Cloudflare APO ou verificar com os programadores do " -"tema/plugin que requerem a utilização da \"Cache de cookies dinâmicos\" se " -"existe uma forma alternativa para criar cache de páginas facilmente. " -"%1$sMais informações%2$s" +#: inc/Engine/Cache/WPCache.php:337 +msgid "WP_CACHE value" +msgstr "Valor de WP_CACHE" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:271 -#, php-format +#: inc/Engine/Cache/WPCache.php:358 msgid "" -"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile " -"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on " -"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s" +"The WP_CACHE constant needs to be set to true for WP Rocket cache to work " +"properly" msgstr "" -"%1$sWP Rocket:%2$s Está a usar \"Ficheiros de cache separados para " -"dispositivos móveis\". Deve activar a %3$sopção%5$s \"Cache by Device Type\"" -" na Cloudflare APO para fornecer a versão correcta da cache. %4$sMais " -"informações%5$s" +"A constante WP_Cache tem de estar definida como 'true' para que a cache do " +"WP Rocket funcione correctamente" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:292 -#, php-format -msgid "" -"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare " -"APO. If you judge it necessary for the website to have a different cache on " -"mobile and desktop, we suggest you enable our “Separate Cache Files for " -"Mobiles Devices” to ensure the generated cache is accurate." -msgstr "" -"%1$sWP Rocket:%2$s A \"Cache by Device Type\" está activada na Cloudflare " -"APO. Se considerar necessário o site ter uma cache diferente no telemóvel e " -"no computador, sugerimos que active os \"Ficheiros de cache separados para " -"dispositivos móveis\" para garantir que a cache gerada é a correcta." +#: inc/Engine/Cache/WPCache.php:367 +msgid "WP_CACHE is set to true" +msgstr "WP_CACHE está definida como true" -#: inc/ThirdParty/Plugins/ModPagespeed.php:102 -#, php-format -msgid "" -"%1$s: Mod PageSpeed is not compatible with this plugin and " -"may cause unexpected results. %2$sMore Info%3$s" -msgstr "" -"%1$s: O Mod PageSpeed não é compatível com este plugin e " -"pode causar resultados inesperados. %2$sMais informações%3$s" +#: inc/Engine/Cache/WPCache.php:375 +msgid "WP_CACHE is not set" +msgstr "WP_CACHE não está definida" -#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:76 -#, php-format -msgid "" -"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript " -"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will " -"not be applied to the file it creates. We suggest disabling %1$sJavaScript " -"Aggregation%2$s to take full advantage of Delay JavaScript Execution." -msgstr "" -"%1$sWP Rocket: %2$sFoi detectado que está activa a funcionalidade de agregar" -" JavaScript do Autoptimize. O diferimento da execução de JavaScript do WP " -"Rocket não será aplicado ao ficheiro criado. Sugerimos que desactive a opção" -" %1$sAgregar ficheiros JS%2$s para tirar partido das vantagens de diferir a " -"execução do JavaScript." +#: inc/Engine/Cache/WPCache.php:383 +msgid "WP_CACHE is set to false" +msgstr "WP_CACHE está definida como false" -#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:131 -#, php-format -msgid "" -"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS " -"feature is enabled. WP Rocket's Load CSS Asynchronously will not work " -"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full " -"advantage of Load CSS Asynchronously Execution." -msgstr "" -"%1$sWP Rocket: %2$sFoi detectado que está activa a funcionalidade de agregar" -" CSS integrado em linha do Autoptimize. O carregamento assíncrono de CSS do " -"WP Rocket não funcionará correctamente. Sugerimos que desactive a opção " -"%1$sAgregar CSS integrado em linha%2$s para tirar partido das vantagens de " -"carregar CSS de modo assíncrono." +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90 +msgid "Next Billing Date" +msgstr "Data da próxima facturação" -#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45 -#, php-format -msgid "" -"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and " -"use %1$sEzoic's nameserver integration%2$s instead." -msgstr "" -"Este plugin bloqueia a cache e as optimizações do WP Rocket. Desactive-o e " -"em alternativa utilize a %1$sintegração de nameservers da Ezoic%2$s." +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99 +msgid "No Subscription" +msgstr "Sem subscrição" -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"Please deactivate the following %s option which conflicts with WP Rocket " -"features:" -msgid_plural "" -"Please deactivate the following %s options which conflict with WP Rocket " -"features:" -msgstr[0] "" -"Desactive esta opção do %s que está em conflito com funcionalidades do WP " -"Rocket:" -msgstr[1] "" -"Desactive estas opções do %s que estão em conflito com funcionalidades do WP" -" Rocket:" -msgstr[2] "" -"Desactive estas opções do %s que estão em conflito com funcionalidades do WP" -" Rocket:" +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135 +msgid "Your RocketCDN subscription is currently active." +msgstr "A sua assinatura da RocketCDN está activa." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s" -msgstr "" -"A opção de %2$sdesactivar emojis%3$s do %1$s está em conflito com a " -"%2$sdesactivar emojis%3$s do WP Rocket" +#. translators: %1$s = opening tag, %2$s = CDN URL, %3$s = closing +#. tag. +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141 +msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s." +msgstr "Para usar a RocketCDN, substitua o seu CNAME por %1$s%2$s%3$s." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP " -"compression%3$s" -msgstr "" -"A opção de %2$scompressão GZIP%3$s do %1$s está em conflito com a " -"%2$scompressão GZIP%3$s do WP Rocket" +#. translators: %1$is = opening link tag, %2$s = closing link tag. +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152 +#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230 +#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334 +msgid "%1$sMore Info%2$s" +msgstr "%1$sMais informações%2$s" -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223 -#, php-format -msgctxt "Hummingbird notice" +#: inc/Engine/CDN/RocketCDN/APIClient.php:134 msgid "" -"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser " -"caching%3$s" +"We could not fetch the current price because RocketCDN API returned an " +"unexpected error code." msgstr "" -"A opção de %2$scache do navegador%3$s do %1$s está em conflito com a " -"%2$scache do navegador%3$s do WP Rocket" +"Não foi possível obter o preço actual porque a RocketCDN API devolveu um " +"código de erro inesperado." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s" -msgstr "" -"A opção de %2$scache de páginas%3$s do %1$s está em conflito com a %2$scache" -" de páginas%3$s do WP Rocket" +#: inc/Engine/CDN/RocketCDN/APIClient.php:140 +msgid "RocketCDN is not available at the moment. Please retry later." +msgstr "A RocketCDN não está disponível de momento. Tente mais tarde." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile " -"optimization%3$s" +#: inc/Engine/CDN/RocketCDN/APIClient.php:177 +msgid "RocketCDN cache purge failed: Missing identifier parameter." msgstr "" -"A opção de %2$soptimização de recursos%3$s do %1$s está em conflito com a " -"%2$soptimização de ficheiros%3$s do WP Rocket" +"Falhou ao limpar a cache da RocketCDN: Parâmetro identificador em falta." -#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38 +#: inc/Engine/CDN/RocketCDN/APIClient.php:186 +msgid "RocketCDN cache purge failed: Missing user token." +msgstr "Falhou ao limpar a cache da RocketCDN: Token de utilizador em falta." + +#: inc/Engine/CDN/RocketCDN/APIClient.php:212 msgid "" -"Remove Unused CSS is currently activated in Perfmatters. If you want to use " -"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters." +"RocketCDN cache purge failed: The API returned an unexpected response code." msgstr "" -"A opção de Remover CSS não utilizado está de momento activada no " -"Perfmatters. Se quiser usar a remoção de CSS não utilizado do WP Rocket, " -"desactive esta opção no Perfmatters." +"Falhou ao limpar a cache da RocketCDN: A API devolveu um código de resposta " +"inesperado." -#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39 -msgid "" -"Automated unused CSS removal is currently activated in RapidLoad Power-Up " -"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, " -"disable the RapidLoad Power-Up for Autoptimize plugin." +#: inc/Engine/CDN/RocketCDN/APIClient.php:221 +msgid "RocketCDN cache purge failed: The API returned an empty response." msgstr "" -"A automação de Remover CSS não utilizado está de momento activada no " -"RapidLoad Power-Up for Autoptimize. Se quiser usar a remoção de CSS não " -"utilizado do WP Rocket, desactive o plugin RapidLoad Power-Up for " -"Autoptimize." +"Falhou ao limpar a cache da RocketCDN: A API devolveu uma resposta vazia." -#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42 -#, php-format -msgid "" -"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s " -"delay JS, disable %1$s" +#: inc/Engine/CDN/RocketCDN/APIClient.php:230 +msgid "RocketCDN cache purge failed: The API returned an unexpected response." msgstr "" -"De momento o diferimento da execução do JS está activado em %1$s. Se quiser " -"usar o diferimento de execução do JS do WP Rocket, desactive o %1$s." +"Falhou ao limpar a cache da RocketCDN: A API devolveu uma resposta " +"inesperada." -#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126 -msgid "Smush" -msgstr "Smush" +#. translators: %s = message returned by the API. +#: inc/Engine/CDN/RocketCDN/APIClient.php:239 +msgid "RocketCDN cache purge failed: %s." +msgstr "Falhou ao limpar a cache da RocketCDN: %s." -#: inc/ThirdParty/Themes/Avada.php:116 -msgid "Avada" -msgstr "Avada" +#: inc/Engine/CDN/RocketCDN/APIClient.php:247 +msgid "RocketCDN cache purge successful." +msgstr "A cache da RocketCDN foi limpa com sucesso." -#: inc/admin/admin.php:18 inc/common/admin-bar.php:255 -#: inc/deprecated/deprecated.php:1787 -msgid "Support" -msgstr "Suporte" +#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137 +msgid "RocketCDN enabled" +msgstr "RocketCDN activada" -#: inc/admin/admin.php:20 -msgid "Docs" -msgstr "Documentação" +#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160 +msgid "RocketCDN disabled" +msgstr "RocketCDN desactivada" -#: inc/admin/admin.php:22 inc/common/admin-bar.php:243 -msgid "FAQ" -msgstr "Perguntas frequentes" +#. Translators: %s = date formatted using date_i18n() and get_option( +#. 'date_format' ). +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27 +msgid "Valid until %s only!" +msgstr "Válido apenas até %s!" -#: inc/admin/admin.php:24 inc/common/admin-bar.php:63 -msgid "Settings" -msgstr "Opções" +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36 +msgid "Speed up your website thanks to:" +msgstr "Acelere o seu site com o seguinte:" -#: inc/admin/admin.php:458 -msgid "Settings import failed: you do not have the permissions to do this." -msgstr "Falhou ao importar as opções: Não tem permissões para fazer isto." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42 +msgid "" +"High performance Content Delivery Network (CDN) with %1$sunlimited " +"bandwidth%2$s" +msgstr "" +"Content Delivery Network (CDN) de alto desempenho com %1$slargura de banda " +"ilimitada%2$s" -#: inc/admin/admin.php:462 -msgid "Settings import failed: no file uploaded." -msgstr "Falhou ao importar as opções: Nenhum ficheiro carregado." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48 +msgid "" +"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied" +msgstr "" +"Fácil configuração: As %1$smelhores configurações de CDN%2$s aplicadas " +"automaticamente" -#: inc/admin/admin.php:466 -msgid "Settings import failed: incorrect filename." -msgstr "Falhou ao importar as opções: Nome de ficheiro incorrecto." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54 +msgid "" +"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in" +" our plugin" +msgstr "" +"Integração do WP Rocket: A opção da CDN é %1$sconfigurada " +"automaticamente%2$s no nosso plugin" -#: inc/admin/admin.php:477 -msgid "Settings import failed: incorrect filetype." -msgstr "Falhou ao importar as opções: Tipo de ficheiro incorrecto." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58 +msgid "Learn more about RocketCDN" +msgstr "Saiba mais sobre a RocketCDN" -#: inc/admin/admin.php:487 -msgid "Settings import failed: " -msgstr "Falhou ao importar as opções: " +#. translators: %1$s = discounted price, %2$s = regular price. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65 +msgid "" +"*$%1$s/month for 12 months then $%2$s/month. You can cancel your " +"subscription at any time." +msgstr "" +"*$%1$s por mês durante 12 meses, depois $%2$s por mês. Pode cancelar a sua " +"subscrição a qualquer momento." -#: inc/admin/admin.php:503 -msgid "Settings import failed: unexpected file content." -msgstr "Falhou ao importar as opções: Ficheiro com conteúdo inesperado." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86 +msgid "Billed monthly" +msgstr "Facturado mensalmente" -#: inc/admin/admin.php:533 -msgid "Settings imported and saved." -msgstr "As opções foram importadas e guardadas." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87 +msgid "Get Started" +msgstr "Começar" -#: inc/admin/options.php:127 -msgid "Defer JavaScript Files" -msgstr "Diferir ficheiros de JavaScript" +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92 +msgid "Reduce this banner" +msgstr "Reduzir este banner" -#: inc/admin/options.php:128 -msgid "Excluded Delay JavaScript Files" -msgstr "Ficheiros de JavaScript excluídos do diferimento" +#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17 +msgid "" +"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network." +msgstr "" +"Acelere o seu site com a RocketCDN, a Content Delivery Network do WP Rocket." -#: inc/admin/options.php:150 -#, php-format -msgid "%1$s: %2$s" -msgstr "%1$s: %2$s" +#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20 +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13 +msgid "Learn More" +msgstr "Saiba mais" -#: inc/admin/options.php:160 -msgid "The following pattern is invalid and has been removed:" -msgid_plural "The following patterns are invalid and have been removed:" -msgstr[0] "Este padrão é inválido e foi removido:" -msgstr[1] "Estes padrões são inválidos e foram removidos:" -msgstr[2] "Estes padrões são inválidos e foram removidos:" +#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23 +msgid "RocketCDN is unavailable on local domains and staging sites." +msgstr "A RocketCDN não funciona em domínios locais e em sites de staging." -#: inc/admin/options.php:176 -msgid "More info" -msgstr "Mais informações" +#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32 +msgid "Get RocketCDN" +msgstr "Obter RocketCDN" -#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:751 -#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136 -#: views/settings/page-sections/dashboard.php:150 -msgid "Clear cache" -msgstr "Limpar cache" +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11 +msgid "New!" +msgstr "Novo!" -#: inc/admin/ui/meta-boxes.php:67 -msgid "WP Rocket Options" -msgstr "Opções do WP Rocket" +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12 +msgid "" +"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!" +msgstr "" +"Acelere o seu site com a RocketCDN, a Content Delivery Network do WP Rocket!" -#: inc/admin/ui/meta-boxes.php:96 -msgid "Never cache this page" -msgstr "Nunca criar cache desta página" +#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253 +msgid "Every minute" +msgstr "A cada minuto" -#: inc/admin/ui/meta-boxes.php:100 -msgid "Activate these options on this post:" -msgstr "Activar estas opções neste conteúdo:" +#: inc/Engine/CriticalPath/Admin/Admin.php:264 +msgid "Regenerate Critical Path CSS" +msgstr "Regenerar CSS do caminho crítico" -#: inc/admin/ui/meta-boxes.php:103 -msgid "LazyLoad for images" -msgstr "Carregar imagens em diferido" +#: inc/Engine/CriticalPath/Admin/Post.php:144 +#: views/cpcss/metabox/generate.php:47 +msgid "Generate Specific CPCSS" +msgstr "Gerar CSS crítico específico" -#: inc/admin/ui/meta-boxes.php:104 -msgid "LazyLoad for iframes/videos" -msgstr "Carregar iframes/vídeos em diferido" +#: inc/Engine/CriticalPath/Admin/Post.php:145 +#: views/cpcss/metabox/generate.php:45 +msgid "Regenerate specific CPCSS" +msgstr "Regenerar CSS crítico específico" -#: inc/admin/ui/meta-boxes.php:105 -msgid "Minify CSS" -msgstr "Minificar CSS" +#: inc/Engine/CriticalPath/Admin/Post.php:216 +msgid "This feature is not available for non-public post types." +msgstr "" +"Esta funcionalidade não está disponível para tipos de conteúdo não públicos." -#: inc/admin/ui/meta-boxes.php:107 -msgid "Minify/combine JS" -msgstr "Minificar/combinar JS" +#: inc/Engine/CriticalPath/Admin/Post.php:219 +msgid "%l to use this feature." +msgstr "%l para usar esta funcionalidade." -#: inc/admin/ui/meta-boxes.php:110 -msgid "Defer JS" -msgstr "Diferir JS" +#. translators: %s = post type. +#: inc/Engine/CriticalPath/Admin/Post.php:222 +msgid "Publish the %s" +msgstr "Publique o(a) %s" -#: inc/admin/ui/meta-boxes.php:117 -#, php-format -msgid "Activate first the %s option." -msgstr "Active primeiro a opção %s." +#. translators: %s = post type. +#: inc/Engine/CriticalPath/Admin/Post.php:223 +msgid "Enable Load CSS asynchronously in WP Rocket settings" +msgstr "Active o carregamento assíncrono do CSS nas opções do WP Rocket" + +#: inc/Engine/CriticalPath/Admin/Post.php:224 +msgid "Enable Load CSS asynchronously in the options above" +msgstr "Active o carregamento assíncrono do CSS nas opções acima" + +#. translators: %1$s = type of content, %2$s = error message. +#: inc/Engine/CriticalPath/APIClient.php:64 +msgid "Critical CSS for %1$s not generated. Error: %2$s" +msgstr "O CSS crítico de %1$s não foi gerado. Erro: %2$s" -#: inc/admin/ui/meta-boxes.php:133 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:170 msgid "" -"%1$sNote:%2$s None of these options will be applied if this post has been " -"excluded from cache in the global cache settings." +"Critical CSS for %1$s on mobile not generated. Error: The API returned an " +"empty response." msgstr "" -"%1$sAtenção:%2$s Nenhuma destas opções será aplicada se este conteúdo tiver " -"sido excluído da cache nas opções globais da cache." +"O CSS crítico de %1$s para dispositivos móveis não foi gerado. Erro: A API " +"devolveu uma resposta vazia." -#: inc/admin/ui/notices.php:31 inc/admin/ui/notices.php:44 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:173 msgid "" -"%1$s has not been deactivated due to missing writing permissions.
    \n" -"Make %2$s writeable and retry deactivation, or force deactivation now:" +"Critical CSS for %1$s not generated. Error: The API returned an empty " +"response." msgstr "" -"O %1$s não foi desactivado por falta de permissão de escrita.
    \n" -"Active a permissão de escrita para o %2$s e tente de novo, ou force a desativação agora:" +"O CSS crítico de %1$s não foi gerado. Erro: A API devolveu uma resposta " +"vazia." -#: inc/admin/ui/notices.php:97 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:185 +msgid "Critical CSS for %1$s on mobile not generated." +msgstr "O CSS crítico de %1$s para dispositivos móveis não foi gerado." + +#. translators: %s = item URL. +#. translators: %1$s = item URL or item type. +#: inc/Engine/CriticalPath/APIClient.php:187 +#: inc/Engine/CriticalPath/ProcessorService.php:194 +msgid "Critical CSS for %1$s not generated." +msgstr "O CSS crítico de %1$s não foi gerado." + +#. translators: %s = URL. +#: inc/Engine/CriticalPath/APIClient.php:195 msgid "" -"%s: One or more plugins have been enabled or disabled, " -"clear the cache if they affect the front end of your site." +"Critical CSS for %1$s on mobile not generated. Error: The API returned an " +"invalid response code." msgstr "" -"%s: Um ou mais plugins foram activados ou desactivados, " -"caso afectem a interface do seu site, deve limpar a cache." +"O CSS crítico de %1$s para dispositivos móveis não foi gerado. Erro: A API " +"devolveu um código de resposta inválido." -#: inc/admin/ui/notices.php:221 -#, php-format +#. translators: %s = URL. +#: inc/Engine/CriticalPath/APIClient.php:197 msgid "" -"%s: The following plugins are not compatible with this " -"plugin and may cause unexpected results:" +"Critical CSS for %1$s not generated. Error: The API returned an invalid " +"response code." msgstr "" -"%s: Os seguintes plugins não são compatíveis com este " -"plugin e poderão causar resultados inesperados:" +"O CSS crítico de %1$s não foi gerado. Erro: A API devolveu um código de " +"resposta inválido." -#: inc/admin/ui/notices.php:227 -msgid "Deactivate" -msgstr "Desactivar" +#. translators: %1$s = error message. +#: inc/Engine/CriticalPath/APIClient.php:205 +#: inc/Engine/CriticalPath/ProcessorService.php:201 +msgid "Error: %1$s" +msgstr "Erro: %1$s" -#: inc/admin/ui/notices.php:269 -msgid "" -"WP Rocket Footer JS is not an official add-on. It prevents some options in " -"WP Rocket from working correctly. Please deactivate it if you have problems." -msgstr "" -"O WP Rocket Footer JS não é um módulo oficial. Impede o funcionamento " -"correcto de algumas opções do WP Rocket. Deverá ser desactivado caso tenha " -"algum problema." +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176 +msgid "Critical CSS generation is currently running." +msgstr "A geração do CSS crítico está em curso." -#: inc/admin/ui/notices.php:309 -#, php-format -msgid "" -"Endurance Cache is currently enabled, which will conflict with WP Rocket " -"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the " -"%1$sSettings > General%2$s page to prevent any issues." -msgstr "" -"O plugin Endurance Cache está activo de momento, e pode entrar em conflito " -"com o WP Rocket Cache. Por favor configure o nível de cache do Endurance " -"Cache para Inactivo (Level 0) na página %1$sConfigurações > Geral%2$s para " -"evitar quaisquer problemas." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181 +msgid "Go to the %1$sWP Rocket settings%2$s page to track progress." +msgstr "Vá às %1$sopções do WP Rocket%2$s para acompanhar o progresso." -#: inc/admin/ui/notices.php:330 -#, php-format +#. Translators: %1$d = number of critical CSS generated, %2$d = total number +#. of critical CSS to generate. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396 msgid "" -"%1$s: A custom permalink structure is required for the plugin to work " -"properly. %2$sGo to permalinks settings%3$s" +"Critical CSS generation is currently running: %1$d of %2$d page types " +"completed. (Refresh this page to view progress)" msgstr "" -"%1$s: É obrigatória uma estrutura personalizada de ligações permanentes para" -" o plugin funcionar correctamente. %2$sVá para as opções das ligações " -"permanentes%3$s" +"A geração do CSS crítico está em curso: %1$d de %2$d páginas concluídas. " +"(Actualize a página para ver o progresso)" -#: inc/admin/ui/notices.php:377 -#, php-format -msgid "" -"%s could not modify the .htaccess file due to missing writing permissions." -msgstr "" -"O %s não pôde modificar o ficheiro .htaccess devido à falta de permissões de" -" escrita." +#. Translators: %1$d = number of critical CSS generated, %2$d = total number +#. of critical CSS to generate. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472 +msgid "Critical CSS generation finished for %1$d of %2$d page types." +msgstr "A geração de CSS crítico foi concluída para %1$d de %2$d páginas." -#: inc/admin/ui/notices.php:383 inc/admin/ui/notices.php:846 -#, php-format -msgid "Troubleshoot: %1$sHow to make system files writeable%2$s" -msgstr "" -"Resolução de problemas: %1$sComo activar a permissão escrita nos ficheiros " -"do sistema%2$s" +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 +msgid "Critical CSS generation encountered one or more errors." +msgstr "Foram encontrados um ou mais erros ao gerar o CSS crítico." -#: inc/admin/ui/notices.php:385 inc/admin/ui/notices.php:848 -msgid "" -"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" -"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" -msgstr "" -"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" -"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 +msgid "Learn more." +msgstr "Saiba mais." -#: inc/admin/ui/notices.php:391 +#. translators: %1$ = opening bold tag, %2$ = closing bold tag. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840 msgid "" -"Don’t worry, WP Rocket’s page caching and settings will still function " -"correctly." +"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS " +"optimization. Load CSS Asynchronously is always available as a back-up." msgstr "" -"Não se preocupe, a cache de páginas e as opções do WP Rocket continuarão a " -"funcionar correctamente." +"É altamente recomendada a funcionalidade actualizada de %1$sremoção de CSS " +"não utilizado%2$s para uma melhor optimização do CSS. Em alternativa, o " +"carregamento assíncrono de CSS está sempre disponível." -#: inc/admin/ui/notices.php:391 -msgid "" -"For optimal performance, adding the following lines into your .htaccess is " -"recommended (not required):" -msgstr "" -"Para um óptimo desempenho, é recomendado adicionar estas linhas ao seu " -"ficheiro .htaccess (não obrigatório):" +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845 +msgid "Stay with the old option" +msgstr "Manter a opção antiga" -#: inc/admin/ui/notices.php:538 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/DataManager.php:68 msgid "" -"%1$s is good to go! %2$sTest your load time%4$s, or visit your " -"%3$ssettings%4$s." +"Critical CSS for %1$s on mobile not generated. Error: The destination folder" +" could not be created." msgstr "" -"O %1$s está pronto! %2$sTeste o tempo de carregamento%4$s ou consulte as " -"suas %3$sopções%4$s." +"O CSS crítico de %1$s para dispositivos móveis não foi gerado. Erro: Não foi" +" possível criar o directório de destino." -#: inc/admin/ui/notices.php:579 +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/DataManager.php:71 msgid "" -"Would you allow WP Rocket to collect non-sensitive diagnostic data from this" -" website?" +"Critical CSS for %1$s not generated. Error: The destination folder could not" +" be created." msgstr "" -"Permite que o WP Rocket recolha dados não sensíveis de diagnóstico deste " -"site?" +"O CSS crítico de %1$s não foi gerado. Erro: Não foi possível criar o " +"directório de destino." -#: inc/admin/ui/notices.php:580 -msgid "This would help us to improve WP Rocket for you in the future." -msgstr "Isto ajuda-nos a melhorar o WP Rocket no futuro." +#: inc/Engine/CriticalPath/DataManager.php:106 +msgid "Critical CSS file for mobile does not exist" +msgstr "O ficheiro de CSS crítico para dispositivos móveis não existe" -#: inc/admin/ui/notices.php:586 -msgid "What info will we collect?" -msgstr "Que informação vamos recolher?" +#: inc/Engine/CriticalPath/DataManager.php:108 +msgid "Critical CSS file does not exist" +msgstr "O ficheiro de CSS crítico não existe" -#: inc/admin/ui/notices.php:591 -msgid "" -"Below is a detailed view of all data WP Rocket will collect if granted " -"permission. WP Rocket will never transmit any domain names or email " -"addresses (except for license validation), IP addresses, or third-party API " -"keys." +#: inc/Engine/CriticalPath/DataManager.php:120 +msgid "Critical CSS file for mobile cannot be deleted" msgstr "" -"Abaixo está uma lista detalhada de todos os dados que o WP Rocket irá " -"recolher caso dê permissão. O WP Rocket nunca irá transmitir quaisquer nomes" -" de domínio ou endereços de email (excepto para validação de licença), " -"endereços de IP ou chaves de API de terceiros." +"Não foi possível eliminar o ficheiro de CSS crítico para dispositivos móveis" -#: inc/admin/ui/notices.php:600 -msgid "Yes, allow" -msgstr "Sim, permitir" +#: inc/Engine/CriticalPath/DataManager.php:122 +msgid "Critical CSS file cannot be deleted" +msgstr "Não foi possível eliminar o ficheiro de CSS crítico" -#: inc/admin/ui/notices.php:603 -msgid "No, thanks" -msgstr "Não, obrigado" +#. translators: %1$s = item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:187 +msgid "Mobile Critical CSS for %1$s not generated." +msgstr "O CSS crítico de %1$s para dispositivos móveis não foi gerado." -#: inc/admin/ui/notices.php:642 -msgid "Thank you!" -msgstr "Obrigado!" +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:228 +msgid "Critical CSS for %s in progress." +msgstr "Está em curso a geração do CSS crítico de %s." -#: inc/admin/ui/notices.php:647 -msgid "WP Rocket now collects these metrics from your website:" -msgstr "O WP Rocket agora recolhe as seguintes métricas do seu site:" +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:262 +msgid "Mobile Critical CSS for %s generated." +msgstr "O CSS crítico de %s para dispositivos móveis foi gerado." -#: inc/admin/ui/notices.php:685 -#, php-format -msgid "%s: Cache cleared." -msgstr "%s: A cache foi limpa." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:273 +msgid "Critical CSS for %s generated." +msgstr "O CSS crítico de %s foi gerado." -#: inc/admin/ui/notices.php:692 -#, php-format -msgid "%s: Post cache cleared." -msgstr "%s: A cache do conteúdo foi limpa." +#: inc/Engine/CriticalPath/ProcessorService.php:295 +msgid "Critical CSS file deleted successfully." +msgstr "Ficheiro de CSS crítico eliminado com sucesso." -#: inc/admin/ui/notices.php:699 -#, php-format -msgid "%s: Term cache cleared." -msgstr "%s: A cache do termo foi limpa." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:317 +msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later." +msgstr "" +"Foi ultrapassado o tempo de execução da geração do CSS crítico de %1$s para " +"dispositivos móveis. Tente de novo pouco mais tarde." -#: inc/admin/ui/notices.php:706 -#, php-format -msgid "%s: User cache cleared." -msgstr "%s: A cache do utilizador foi limpa." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:330 +msgid "Critical CSS for %1$s timeout. Please retry a little later." +msgstr "" +"Foi ultrapassado o tempo de execução da geração do CSS crítico de %1$s. " +"Tente de novo pouco mais tarde." -#: inc/admin/ui/notices.php:754 -msgid "Stop Preload" -msgstr "Parar pré-carregamento" +#: inc/Engine/CriticalPath/RESTWP.php:141 +msgid "Mobile CPCSS generation not enabled." +msgstr "A geração de CSS crítico para dispositivos móveis não está activada." -#: inc/admin/ui/notices.php:760 -msgid "Turn on Remove Unused CSS" -msgstr "Ligar a remoção de CSS não utilizado" +#: inc/Engine/CriticalPath/RESTWPPost.php:36 +#: inc/Engine/CriticalPath/RESTWPPost.php:69 +msgid "Requested post does not exist." +msgstr "O conteúdo solicitado não existe." -#: inc/admin/ui/notices.php:766 -msgid "Enable “Separate Cache Files for Mobile Devices” now" -msgstr "Active agora os \"Ficheiros de cache separados para dispositivos móveis\"" +#: inc/Engine/CriticalPath/RESTWPPost.php:46 +msgid "Cannot generate CPCSS for unpublished post." +msgstr "Não é possível gerar o CSS crítico de conteúdos não publicados." -#: inc/admin/ui/notices.php:784 -msgid "Force deactivation " -msgstr "Forçar desactivação " +#: inc/Engine/HealthCheck/HealthCheck.php:142 +msgid "Scheduled Cache Purge" +msgstr "Limpeza de cache agendada" -#: inc/admin/ui/notices.php:803 -msgid "The following code should have been written to this file:" -msgstr "Deveria ter sido escrito neste ficheiro o seguinte código:" +#: inc/Engine/HealthCheck/HealthCheck.php:143 +msgid "Scheduled Database Optimization" +msgstr "Optimização agendada da base de dados" -#: inc/admin/ui/notices.php:834 -#, php-format -msgid "%s cannot configure itself due to missing writing permissions." -msgstr "" -"Não é possível configurar o %s devido à falta de permissões de escrita." +#: inc/Engine/HealthCheck/HealthCheck.php:144 +msgid "Database Optimization Process" +msgstr "Processo de optimização da base de dados" + +#: inc/Engine/HealthCheck/HealthCheck.php:145 +msgctxt "noun" +msgid "Preload" +msgstr "Pré-carregamento" + +#: inc/Engine/HealthCheck/HealthCheck.php:146 +msgid "Critical Path CSS Generation Process" +msgstr "Processo de geração do CSS do caminho crítico" -#: inc/admin/ui/notices.php:840 -#, php-format -msgid "Affected file/folder: %s" -msgstr "Ficheiro/pasta afectados: %s" +#. translators: %1$s = , %2$s = price, %3$s = . +#: inc/Engine/License/Renewal.php:76 +msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!" +msgstr "Renove antes que seja tarde demais, pagará apenas %1$s%2$s%3$s!" -#: inc/classes/admin/class-logs.php:124 -msgid "The debug file could not be deleted." -msgstr "Não foi possível eliminar o ficheiro de depuração." +#. translators: %1$s = , %2$s = discount, %3$s = ,%4$s = +#. , %5$s = price, %6$s=. +#: inc/Engine/License/Renewal.php:85 +msgid "" +"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " +"%4$s%5$s%6$s!" +msgstr "" +"Renove com %1$s%2$s de desconto%3$s antes que seja tarde demais, por apenas " +"%4$s%5$s%6$s!" -#: inc/classes/class-wp-rocket-requirements-check.php:147 -#, php-format -msgid "To function properly, %1$s %2$s requires at least:" -msgstr "Para funcionar correctamente, o %1$s %2$s requer pelo menos:" +#. translators: %1$s = , %2$s = , %3$s = price. +#: inc/Engine/License/Renewal.php:139 +msgid "Renew your license for 1 year now at %1$s%3$s%2$s." +msgstr "Renove agora a sua licença por 1 ano por %1$s%3$s%2$s." -#: inc/classes/class-wp-rocket-requirements-check.php:151 -#, php-format +#. translators: %1$s = , %2$s = , %3$s = discount percentage, +#. %4$s = price. +#: inc/Engine/License/Renewal.php:152 msgid "" -"PHP %1$s. To use this WP Rocket version, please ask your web host how to " -"upgrade your server to PHP %1$s or higher." +"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you " +"will only pay %1$s%4$s%2$s!" msgstr "" -"PHP %1$s. Para usar esta versão do WP Rocket, por favor consulte o seu " -"serviço de alojamento para actualizar o seu servidor para o PHP %1$s ou " -"superior." +"Renove agora a sua licença por 1 ano e obtenha de imediato %1$s%3$s de " +"desconto%2$s: apenas pagará %1$s%4$s%2$s!" -#: inc/classes/class-wp-rocket-requirements-check.php:156 -#, php-format +#. translators: %1$s = , %2$s = , %3$s = discount price. +#: inc/Engine/License/Renewal.php:218 +msgid "Renew before it is too late, you will pay %1$s%3$s%2$s." +msgstr "Renove antes que seja tarde demais, pagará %1$s%3$s%2$s." + +#. translators: %1$s = , %2$s = discount percentage, %3$s = , +#. %4$s = discount price. +#: inc/Engine/License/Renewal.php:227 msgid "" -"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to " -"version %1$s or higher." +"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " +"%1$s%4$s%3$s!" msgstr "" -"WordPress %1$s. Para usar esta versão do WP Rocket, por favor actualize seu " -"WordPress para a versão %1$s ou superior." +"Renove com %1$s%2$s de desconto%3$s antes que seja tarde demais, por apenas " +"%1$s%4$s%3$s!" -#: inc/classes/class-wp-rocket-requirements-check.php:159 +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:546 msgid "" -"If you are not able to upgrade, you can rollback to the previous version by " -"using the button below." +"You need a valid license to continue using this feature. %1$sRenew now%2$s " +"before losing access." msgstr "" -"Se não puder actualizar, ainda pode reverter para a versão anterior através " -"do botão abaixo." - -#: inc/classes/class-wp-rocket-requirements-check.php:161 -#: inc/deprecated/deprecated.php:1947 -#, php-format -msgid "Re-install version %s" -msgstr "Reinstalar a versão %s" - -#: inc/classes/dependencies/wp-media/background-processing/wp-background-process.php:447 -#, php-format -msgid "Every %d Minutes" -msgstr "A cada %d minutos" - -#: inc/classes/logger/class-logger.php:260 -#: inc/classes/logger/class-logger.php:292 -msgid "The log file does not exist." -msgstr "O ficheiro de registo não existe." +"Precisa de uma licença válida para continuar a usar esta funcionalidade. " +"%1$sRenove agora%2$s antes de perde o acesso." -#: inc/classes/logger/class-logger.php:266 -#: inc/classes/logger/class-logger.php:298 -msgid "The log file could not be read." -msgstr "Não foi possível ler o ficheiro de registo." +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:567 +msgid "You need an active license to enable this option. %1$sRenew now%2$s." +msgstr "" +"Precisa de uma licença válida para activar esta opção. %1$sRenove agora%2$s." -#: inc/classes/logger/class-logger.php:285 -msgid "The logs are not saved into a file." -msgstr "Os registos não foram guardados num ficheiro." +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:595 +msgid "You need an active license to enable this option. %1$sMore info%2$s." +msgstr "" +"Precisa de uma licença válida para activar esta opção. %1$sMais " +"informações%2$s." -#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151 -#, php-format +#. translators: %1$s = promotion name, %2$s =
    , %3$s = , %4$s = +#. promotion discount percentage, %5$s = . +#: inc/Engine/License/Upgrade.php:251 msgid "" -"Failed to detect the following requirement in your theme: closing %1$s." +"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" +" for %3$supgrading your license to Plus or Infinite!%5$s" msgid_plural "" -"Failed to detect the following requirements in your theme: closing %1$s." +"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" +" for %3$supgrading your license to Infinite!%5$s" msgstr[0] "" -"Falhou ao detectar o seguinte requisito no seu tema: fecho de %1$s." +"Aproveite a promoção %1$s para acelerar mais sites:%2$sObtenha " +"%3$s%4$s de desconto%5$s ao %3$sactualizar a sua licença para Plus ou " +"Infinite!%5$s" msgstr[1] "" -"Falhou ao detectar os seguintes requisitos no seu tema: fecho de %1$s." +"Aproveite a promoção %1$s para acelerar mais sites:%2$sObtenha " +"%3$s%4$s de desconto%5$s ao %3$sactualizar a sua licença para Infinite!%5$s" msgstr[2] "" -"Falhou ao detectar os seguintes requisitos no seu tema: fecho de %1$s." - -#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159 -msgid "" -"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" -"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" -msgstr "" -"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" -"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" - -#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136 -#: views/settings/page-sections/dashboard.php:150 -msgid "Clear and preload cache" -msgstr "Limpar e pré-carregar cache" - -#: inc/common/admin-bar.php:124 inc/functions/i18n.php:41 -#: inc/functions/i18n.php:51 -msgid "All languages" -msgstr "Todos os idiomas" +"Aproveite a promoção %1$s para acelerar mais sites:%2$sObtenha " +"%3$s%4$s de desconto%5$s ao %3$sactualizar a sua licença para Infinite!%5$s" -#: inc/common/admin-bar.php:160 -msgid "Clear this post" -msgstr "Limpar este conteúdo" +#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405 +msgid "Unlimited" +msgstr "Sem limite de" -#: inc/common/admin-bar.php:174 -msgid "Purge this URL" -msgstr "Limpar este URL" +#. translators: %s = promotion discount percentage. +#: inc/Engine/License/views/promo-banner.php:16 +msgid "%s off" +msgstr "%s de desconto" -#: inc/common/admin-bar.php:194 -msgid "Purge Sucuri cache" -msgstr "Limpar cache do Sucuri" +#. translators: %s = promotion name. +#: inc/Engine/License/views/promo-banner.php:21 +msgid "%s promotion is live!" +msgstr "Promoção %s!" -#: inc/common/admin-bar.php:218 views/settings/fields/rocket-cdn.php:55 -msgid "Purge RocketCDN cache" -msgstr "Limpar a cache da RocketCDN" +#: inc/Engine/License/views/promo-banner.php:27 +msgid "Hurry Up! Deal ends in:" +msgstr "Rápido! A oferta termina em:" -#: inc/common/admin-bar.php:231 views/settings/partials/documentation.php:14 -msgid "Documentation" -msgstr "Documentação" +#: inc/Engine/License/views/promo-banner.php:31 +#: inc/Engine/License/views/renewal-soon-banner.php:14 +msgid "Minutes" +msgstr "Minutos" -#: inc/deprecated/3.10.php:163 -msgid "OPcache purge failed." -msgstr "Falhou ao limpar a OPcache." +#: inc/Engine/License/views/promo-banner.php:32 +#: inc/Engine/License/views/renewal-soon-banner.php:15 +msgid "Seconds" +msgstr "Segundos" -#: inc/deprecated/3.10.php:168 -msgid "OPcache successfully purged" -msgstr "A OPcache foi limpa com sucesso" +#: inc/Engine/License/views/promo-banner.php:34 +#: inc/Engine/License/views/upgrade-section.php:11 +msgid "Upgrade now" +msgstr "Actualize agora" -#: inc/deprecated/3.11.php:81 -msgid "Yoast SEO XML sitemap" -msgstr "Sitemap XML do Yoast SEO" +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11 +msgid "The Optimize CSS Delivery feature is disabled." +msgstr "A funcionalidade de optimizar entrega do CSS está desactivada." -#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58 -#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186 -#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342 -#, php-format +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15 msgid "" -"We automatically detected the sitemap generated by the %s plugin. You can " -"check the option to preload it." +"You can no longer use the Remove Unused CSS or Load CSS asynchronously " +"options." msgstr "" -"Foi detectado automaticamente o sitemap gerado pelo plugin %s. Pode " -"seleccionar a opção para o pré-carregar." - -#: inc/deprecated/3.12.php:56 -msgid "All in One SEO XML sitemap" -msgstr "Sitemap XML do All in One SEO" - -#: inc/deprecated/3.12.php:85 -msgid "Rank Math XML sitemap" -msgstr "Sitemap XML do Rank Math" - -#: inc/deprecated/3.12.php:184 -msgid "SEOPress XML sitemap" -msgstr "Sitemap XML do SEOPress" - -#: inc/deprecated/3.12.php:251 -msgid "The SEO Framework XML sitemap" -msgstr "Sitemap XML do The SEO Framework" - -#: inc/deprecated/3.12.php:332 -msgid "Jetpack XML Sitemaps" -msgstr "Sitemaps XML do Jetpack" +"As opções de remoção de CSS não utilizado e de carregamento assíncrono de " +"CSS já não podem ser utilizadas." -#: inc/deprecated/3.12.php:334 -msgid "Preload the sitemap from the Jetpack plugin" -msgstr "Pré-carregar sitemap do plugin Jetpack" +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20 +msgid "" +"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, " +"which addresses a PageSpeed Insights recommendation and improves your page " +"performance." +msgstr "" +"Precisa de uma %1$slicença activa%2$s para continuar a optimizar a entrega " +"de CSS, para cumprir a recomendação do PageSpeed Insights e melhorar o " +"desempenho da sua página." -#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36 -msgid "Activate Imagify" -msgstr "Activar o Imagify" +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29 +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39 +#: inc/Engine/License/views/renewal-expired-banner.php:27 +#: inc/Engine/License/views/renewal-soon-banner.php:31 +msgid "Renew now" +msgstr "Renove agora" -#: inc/deprecated/3.2.php:52 -msgid "Install Imagify for Free" -msgstr "Instale gratuitamente o Imagify" +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11 +msgid "You will soon lose access to some features" +msgstr "Em breve irá perder acesso a algumas funcionalidades" -#: inc/deprecated/3.2.php:67 +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18 msgid "" -"Speed up your website and boost your SEO by reducing image file sizes " -"without losing quality with Imagify." +"You need an %1$sactive license to continue optimizing your CSS delivery%2$s." msgstr "" -"Acelere o seu site e melhore o seu SEO diminuindo o tamanho dos ficheiros " -"das imagem sem perder qualidade com o Imagify." - -#: inc/deprecated/3.2.php:72 -msgid "More details" -msgstr "Mais detalhes" - -#: inc/deprecated/3.2.php:228 -#, php-format -msgid "Sitemap preload: %d pages have been cached." -msgstr "Pré-carregamento do sitemap: %d páginas foram adicionadas à cache." +"Precisa de uma %1$slicença activa para continuar a optimizar a entrega do " +"CSS%2$s." -#: inc/deprecated/3.2.php:261 -#, php-format +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24 msgid "" -"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see " -"progress)" +"The Remove Unused CSS and Load CSS asynchronously features are great options" +" to address the PageSpeed Insights recommendations and improve your website " +"performance." msgstr "" -"Pré-carregamento do sitemap: %d páginas sem cache foram pré-carregadas. " -"(actualize a página para ver o progresso)" +"As funcionalidades de remoção de CSS não utilizado e de carregamento " +"assíncrono de CSS são óptimas para cumprir as recomendações do PageSpeed " +"Insights e melhorar o desempenho do seu site." -#: inc/deprecated/3.4.php:18 -msgid "Choose a domain from the list" -msgstr "Escolha um domínio da lista" +#. translators: %1$s = , %2$s = , %3$s = date. +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29 +msgid "They will be %1$sautomatically disabled on %3$s%2$s." +msgstr "Serão %1$sautomaticamente desactivadas em %3$s%2$s." -#: inc/deprecated/3.4.php:31 -msgid "No domain available in your Cloudflare account" -msgstr "Nenhum domínio disponível na sua conta da Cloudflare" +#: inc/Engine/License/views/renewal-expired-banner.php:11 +msgid "Your WP Rocket license is expired!" +msgstr "A sua licença do WP Rocket está expirada!" -#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195 +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner.php:18 msgid "" -"Curl is disabled on your server. Please ask your host to enable it. This is " -"required for the Cloudflare Add-on to work correctly." +"Your website could be much faster if it could take advantage of our %1$snew " +"features and enhancements%2$s. 🚀" msgstr "" -"O Curl está desactivado no seu servidor. Peça ao seu serviço de alojamento " -"para activar. Isto é necessário para que o módulo da Cloudflare funcione " -"correctamente." +"O seu site poderá ser muito mais rápido se tirar partido das nossas " +"%1$snovas funcionalidades e melhorias%2$s. 🚀" -#: inc/deprecated/3.5.php:79 -#, php-format +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-soon-banner.php:22 msgid "" -"Cloudflare email, API key and Zone ID are not set. Read the " -"%1$sdocumentation%2$s for further guidance." +"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access" +" to product updates and support." msgstr "" -"O email, a chave de API e o ID da zona não estão definidos. Leia a " -"%1$sdocumentação%2$s para mais informações." +"A %1$slicença do WP Rocket está prestes a expirar%2$s: em breve deixará de " +"ter acesso às actualizações e suporte do produto." -#: inc/deprecated/3.5.php:206 -#, php-format +#: inc/Engine/License/views/upgrade-popin.php:12 +msgid "Speed Up More Websites" +msgstr "Acelere mais sites" + +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/License/views/upgrade-popin.php:19 msgid "" -"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for" -" further guidance." +"You can use WP Rocket on more websites by upgrading your license. To " +"upgrade, simply pay the %1$sprice difference%2$s between your current and " +"new licenses, as shown below." msgstr "" -"O email e a chave de API da Cloudflare não estão definidos. Leia a " -"%1$sdocumentação%2$s para mais informações." +"Pode usar o WP Rocket em mais sites ao actualizar a sua licença. Para " +"actualizar, basta pagar a %1$sdiferença de preço%2$s de entre a sua licença " +"actual e a nova, como demostrado abaixo." -#: inc/deprecated/3.5.php:271 -msgid "Connection to Cloudflare failed" -msgstr "Falhou ao ligar a Cloudflare" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/License/views/upgrade-popin.php:25 +msgid "" +"%1$sN.B.%2$s: Upgrading your license does not change your expiration date" +msgstr "" +"%1$sAtenção%2$s: Actualizar a licença não altera a sua data de expiração" -#: inc/deprecated/3.5.php:587 -#, php-format -msgid "WP Rocket: %s" -msgstr "WP Rocket: %s" +#. translators: %s = price. +#: inc/Engine/License/views/upgrade-popin.php:35 +msgid "Save $%s" +msgstr "Poupe $%s" -#: inc/deprecated/3.5.php:592 -msgid "WP Rocket: Cloudflare cache successfully purged." -msgstr "" -"WP Rocket: A cache da Cloudflare foi limpa com sucesso." +#. translators: %s = number of websites. +#: inc/Engine/License/views/upgrade-popin.php:48 +msgid "%s websites" +msgstr "%s sites" -#: inc/deprecated/DeprecatedClassTrait.php:54 -#, php-format +#. translators: %s = license name. +#: inc/Engine/License/views/upgrade-popin.php:54 +msgid "Upgrade to %s" +msgstr "Actualizar para %s" + +#: inc/Engine/License/views/upgrade-section.php:11 msgid "" -"The called class %1$s is deprecated since version %2$s! Use" -" %3$s instead." +"You can use WP Rocket on more websites by upgrading your license (you will " +"only pay the price difference between your current and new licenses)." msgstr "" -"A classe %1$s está obsoleta desde a versão %2$s! Utilize " -"%3$s em alternativa." +"Pode usar o WP Rocket em mais sites ao actualizar a sua licença (apenas paga" +" a diferença de preço entre a sua licença actual e a nova)." -#: inc/deprecated/DeprecatedClassTrait.php:65 -#, php-format -msgid "" -"The called class %1$s is deprecated since version %2$s!" -msgstr "A classe %1$s está obsoleta desde a versão %2$s!" +#: inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php:45 +msgid "LazyLoad CSS backgrounds" +msgstr "Carregar fundos CSS em diferido" -#: inc/deprecated/deprecated.php:240 -msgid "JS files with Deferred Loading JavaScript" -msgstr "Ficheiros JS com carregamento diferido de JavaScript" +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195 +msgid "Analytics & Ads" +msgstr "Dados analíticos e anúncios" -#: inc/deprecated/deprecated.php:293 -msgid "Add URL" -msgstr "Adicionar URL" +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200 +msgid "Plugins" +msgstr "Plugins" -#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22 +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205 +msgid "Themes" +msgstr "Temas" + +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101 msgid "" -"Before you can upload your import file, you will need to fix the following " -"error:" +"You need an active license to get the latest version of the lists from our " +"server." msgstr "" -"Antes de poder carregar o seu ficheiro de importação tem de corrigir o " -"seguinte erro:" +"Precisa de uma licença activa para obter a última versão das listas do nosso" +" servidor." -#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35 -#, php-format -msgid "Choose a file from your computer (maximum size: %s)" -msgstr "Escolha um ficheiro do seu computador (tamanho máximo: %s)" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115 +msgid "Could not get updated lists from server." +msgstr "Não foi possível obter as listas actualizadas do servidor." -#: inc/deprecated/deprecated.php:1385 -msgid "Your Cloudflare credentials are valid." -msgstr "As suas credenciais da Cloudflare são válidas." +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124 +msgid "Lists are up to date." +msgstr "As listas estão actualizadas." -#: inc/deprecated/deprecated.php:1389 -msgid "Your Cloudflare credentials are invalid!" -msgstr "As suas credenciais da Cloudflare são inválidas!" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133 +msgid "Could not update lists." +msgstr "Não foi possível actualizar as listas." -#: inc/deprecated/deprecated.php:1453 -msgid "Save and optimize" -msgstr "Guardar e optimizar" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142 +msgid "Lists are successfully updated." +msgstr "As listas foram actualizadas com sucesso." -#: inc/deprecated/deprecated.php:1453 -msgid "Optimize" -msgstr "Optimizar" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:60 +msgid "Default Lists" +msgstr "Listas por omissão" -#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666 -msgctxt "screen-reader-text" -msgid "Note:" -msgstr "Atenção:" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:66 +msgid "Delay JavaScript Execution Exclusion Lists" +msgstr "Listas de exclusão do diferimento da execução de JavaScript" -#: inc/deprecated/deprecated.php:1470 -msgctxt "screen-reader-text" -msgid "Performance tip:" -msgstr "Dica de desempenho:" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:72 +msgid "Incompatible plugins Lists" +msgstr "Listas de plugins incompatíveis" -#: inc/deprecated/deprecated.php:1476 -msgctxt "screen-reader-text" -msgid "Third-party feature detected:" -msgstr "Foi detectada uma funcionalidade de terceiros:" +#. translators: %1$s = plugin name, %2$s = number of seconds. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224 +msgid "" +"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing " +"your pages." +msgstr "" +"%1$s: Por favor aguarde %2$s segundos. O serviço de remoção de CSS não " +"utilizado está a processar as suas páginas." -#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672 -msgctxt "screen-reader-text" -msgid "Warning:" -msgstr "Aviso:" +#. translators: %1$s = plugin name, %2$s = number of URLs, %3$s = number of +#. seconds. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:274 +msgid "" +"%1$s: The Used CSS of your homepage has been processed. WP Rocket will " +"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)." +msgstr "" +"%1$s: O CSS utilizado da sua página inicial foi processado. O WP Rocket " +"continuará a gerar o CSS utilizado até %2$s URL a cada %3$s segundo(s)." -#: inc/deprecated/deprecated.php:1501 -msgctxt "button text" -msgid "Download settings" -msgstr "Descarregar opções" +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283 +msgid "We suggest enabling %1$sPreload%2$s for the fastest results." +msgstr "" +"Sugerimos activar o %1$spré-carregamento%2$s para resultados mais rápidos." -#: inc/deprecated/deprecated.php:1531 -msgid "Replace site's hostname with:" -msgstr "Substituir o nome do alojamento do site por:" +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:293 +msgid "To learn more about the process check our %1$sdocumentation%2$s." +msgstr "" +"Para saber mais sobre o processo consulte a nossa %1$sdocumentação%2$s." -#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587 -#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41 -#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105 -msgid "reserved for" -msgstr "reservado para" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:443 +msgid "" +"We couldn't generate the used CSS because you're using a nulled version of " +"WP Rocket. You need an active license to use the Remove Unused CSS feature " +"and further improve your website's performance." +msgstr "" +"Não foi possível gerar o CSS utilizado porque está a usar uma versão " +"cancelada do WP Rocket. Precisa de uma licença activa para usar a " +"funcionalidade de Remover CSS não utilizado e melhorar ainda mais o " +"desempenho do seu site." -#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589 -#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44 -#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108 -msgid "All files" -msgstr "Todos os ficheiros" +#. translators: %1$s = promo percentage. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:446 +msgid "Click here to get a WP Rocket single license at %1$s off!" +msgstr "" +"Clique aqui para obter uma licença Single do WP Rocket com %1$s de desconto!" -#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594 -#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56 -#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120 -msgid "Images" -msgstr "Imagens" +#. translators: %1$s = open tag, %2$s = closing tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:499 +msgid "" +"It seems a security plugin or the server's firewall prevents WP Rocket from " +"accessing the Remove Unused CSS generator. IPs listed %1$shere in our " +"documentation%2$s should be added to your allowlists:" +msgstr "" +"Parece que um plugin de segurança ou o firewall do servidor está a impedir o" +" acesso do WP Rocket ao gerador de remoção de CSS não utilizado. Os IP " +"listados %1$saqui na nossa documentação%2$s devem ser adicionados às suas " +"listas de permissões:" -#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132 -msgid "Add CNAME" -msgstr "Adicionar CNAME" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:504 +msgid "- In the security plugin, if you are using one" +msgstr "- No plugin de segurança, se estiver a utilizar algum" -#: inc/deprecated/deprecated.php:1706 -msgid "Watch the video" -msgstr "Ver o vídeo" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:505 +msgid "- In the server's firewall. Your host can help you with this" +msgstr "" +"- Na firewall do servidor. O seu serviço de alojamento pode ajudar nesta " +"tarefa" -#: inc/deprecated/deprecated.php:1771 -msgid "Basic" -msgstr "Básico" +#. translators: %1$s = plugin name, %2$s = table name, %3$s = open tag, +#. %4$s = closing tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:545 +msgid "" +"%1$s: Could not create the %2$s table in the database which is necessary for" +" the Remove Unused CSS feature to work. Please reach out to %3$sour " +"support%4$s." +msgstr "" +"%1$s: Não foi possível criar a tabela %2$s na base de dados, necessária para" +" o funcionamento da opção de Remover CSS não utilizado. Por favor contacte o" +" %3$snosso suporte%4$s." -#: inc/deprecated/deprecated.php:1772 -msgid "Static Files" -msgstr "Ficheiros estáticos" +#. translators: %1$s = plugin name. +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:314 +msgid "%1$s: Used CSS option is not enabled!" +msgstr "%1$s: A opção do CSS utilizado não está activa!" -#: inc/deprecated/deprecated.php:1774 -msgid "Advanced" -msgstr "Avançado" +#. translators: %1$s = plugin name. +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:336 +msgid "%1$s: Used CSS cache cleared!" +msgstr "%1$s: A cache do CSS utilizado foi limpa!" + +#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:787 +msgid "Clear Used CSS of this URL" +msgstr "Limpar CSS utilizado deste URL" + +#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160 +msgid "WP Rocket Remove Unused CSS pending jobs" +msgstr "Tarefas pendentes do WP Rocket de remoção de CSS não utilizado" + +#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174 +msgid "WP Rocket clear Remove Unused CSS failed jobs" +msgstr "Limpar tarefas falhadas do WP Rocket de remoção de CSS não utilizado" -#: inc/deprecated/deprecated.php:1944 -#, php-format +#. translators: %1$s = plugin name. +#: inc/Engine/Preload/Admin/Settings.php:57 msgid "" -"%1$s %2$s requires at least PHP %3$s to function properly. To use this " -"version, please ask your web host how to upgrade your server to PHP %3$s or " -"higher. If you are not able to upgrade, you can rollback to the previous " -"version by using the button below." +"%1$s: The preload service is now active. After the initial preload it will " +"continue to cache all your pages whenever they are purged. No further action" +" is needed." msgstr "" -"O %1$s %2$s requer pelo menos o PHP %3$s para funcionar correctamente. Para " -"usar esta versão, por favor consulte o seu serviço de alojamento para " -"actualizar o seu servidor para o PHP %3$s ou superior. Se não for possível " -"actualizar, poderá reverter o plugin para a versão anterior através do botão" -" abaixo." +"%1$s: O serviço de pré-carregamento está agora activo. Após o pré-" +"carregamento inicial, continuará a ser criada a cache de todas as suas " +"páginas, sempre que as respectivas caches forem limpas. Não é necessária " +"qualquer outra acção." + +#: inc/Engine/Preload/Cron/Subscriber.php:138 +msgid "WP Rocket Preload pending jobs" +msgstr "Tarefas pendentes do pré-carregamento do WP Rocket" + +#: inc/Engine/Preload/Cron/Subscriber.php:166 +msgid "WP Rocket Preload revert stuck failed jobs" +msgstr "Reverter tarefas falhadas de pré-carregamento do WP Rocket" #: inc/functions/admin.php:21 msgid "" @@ -3804,11 +3580,13 @@ msgstr "Quais as opções activadas no WP Rocket" msgid "The provided license data are not valid." msgstr "Os dados de licença fornecidos não são válidos." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:432 -#, php-format msgid "To resolve, please %1$scontact support%2$s." msgstr "Para resolver o problema, por favor %1$scontacte o suporte%2$s." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:491 inc/functions/options.php:530 msgid "" "License validation failed. Our server could not resolve the request from " @@ -3817,8 +3595,9 @@ msgstr "" "Falhou ao validar a licença. O nosso servidor não conseguiu resolver o " "pedido do seu site." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:491 -#, php-format msgid "" "Try clicking %1$sValidate License%2$s below. If the error persists, follow " "%3$sthis guide%4$s." @@ -3826,6 +3605,7 @@ msgstr "" "Tente clicar em %1$sValidar licença%2$s abaixo. Se o erro persistir, siga " "%3$seste guia%4$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 msgid "" "License validation failed. You may be using a nulled version of the plugin. " @@ -3834,25 +3614,28 @@ msgstr "" "Falhou ao validar a licença. Pode estar a usar uma versão cancelada do " "plugin. Faça o seguinte:" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 -#, php-format msgid "Login to your WP Rocket %1$saccount%2$s" msgstr "Inicie sessão na sua %1$sconta%2$s do WP Rocket" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 msgid "Download the zip file" msgstr "Descarregue o ficheiro zip" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 msgid "Reinstall" msgstr "Reinstalar" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 -#, php-format msgid "" "If you do not have a WP Rocket account, please %1$spurchase a license%2$s." msgstr "Se não tiver uma conta WP Rocket, %1$scompre uma licença%2$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:515 msgid "" "License validation failed. This user account does not exist in our database." @@ -3860,21 +3643,24 @@ msgstr "" "Falhou ao validar a licença. Esta conta de utilizador não existe na nossa " "base de dados." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:515 msgid "To resolve, please contact support." msgstr "Para resolver o problema, por favor contacte o suporte." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:523 msgid "License validation failed. This user account is blocked." msgstr "Falhou ao validar a licença. Esta conta de utilizador está bloqueada." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:523 -#, php-format msgid "Please see %1$sthis guide%2$s for more info." msgstr "Consulte %1$seste guia%2$s para mais informações." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:530 -#, php-format msgid "" "Try clicking %1$sSave Changes%2$s below. If the error persists, follow " "%3$sthis guide%4$s." @@ -3882,21 +3668,25 @@ msgstr "" "Tente clicar em %1$sGuardar alterações%2$s abaixo. Se o erro persistir, siga" " %3$seste guia%4$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:543 msgid "Your license is not valid." msgstr "A sua licença não é válida." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:543 -#, php-format msgid "Make sure you have an active %1$sWP Rocket license%2$s." msgstr "Certifique-se de que tem uma %1$slicença do WP Rocket%2$s activa." +#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s = +#. opening link tag. #: inc/functions/options.php:545 msgid "You have added as many sites as your current license allows." msgstr "Já alcançou o máximo de sites permitidos pela sua licença actual." +#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s = +#. opening link tag. #: inc/functions/options.php:545 -#, php-format msgid "" "Upgrade your %1$saccount%2$s or %3$stransfer your license%2$s to this " "domain." @@ -3904,48 +3694,300 @@ msgstr "" "Actualize a sua %1$sconta%2$s ou %3$stransfira a sua licença%2$s para este " "domínio." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:547 msgid "This website is not allowed." msgstr "Este site não é permitido." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:547 -#, php-format msgid "Please %1$scontact support%2$s." msgstr "Por favor %1$scontacte o suporte%2$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:549 msgid "This license key is not recognized." msgstr "Esta chave de licença não é reconhecida." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:549 -#, php-format msgid "If the issue persists, please %1$scontact support%2$s." msgstr "Se o problema persistir, %1$scontacte o suporte%2$s." +#. Translators: %s = error message returned. #: inc/functions/options.php:555 -#, php-format msgid "License validation failed: %s" msgstr "A validação da licença falhou: %s" -#: inc/vendors/classes/class-imagify-partner.php:531 -msgid "Plugin installed successfully." -msgstr "Plugin instalado com sucesso." +#: inc/Logger/Logger.php:260 inc/Logger/Logger.php:292 +msgid "The log file does not exist." +msgstr "O ficheiro de registo não existe." + +#: inc/Logger/Logger.php:266 inc/Logger/Logger.php:298 +msgid "The log file could not be read." +msgstr "Não foi possível ler o ficheiro de registo." + +#: inc/Logger/Logger.php:285 +msgid "The logs are not saved into a file." +msgstr "Os registos não foram guardados num ficheiro." + +#. Translators: %s = Hosting name. +#: inc/ThirdParty/Hostings/Cloudways.php:82 +msgid "" +"Varnish auto-purge will be automatically enabled once Varnish is enabled on " +"your %s server." +msgstr "" +"O limpeza automática do Varnish será activada automaticamente ao activar o " +"Varnish no seu servidor %s." + +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/ThirdParty/Hostings/Kinsta.php:158 +msgid "" +"Your installation seems to be missing core Kinsta files managing Cache " +"clearing, which will prevent your Kinsta installation and WP Rocket from " +"working correctly. Please get in touch with Kinsta support through your " +"%1$sMyKinsta%2$s account to resolve this issue." +msgstr "" +"A sua instalação parece não ter ficheiros essenciais do Kinsta que gerem a " +"limpeza de cache, o que impedirá o funcionamento correcto da sua instalação " +"Kinsta e do WP Rocket. Para corrigir o problema, por favor entre em contacto" +" com o suporte do Kinsta através da sua conta %1$sMyKinsta%2$s." + +#. translators: %1$s = plugin name. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:125 +msgid "" +"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of " +"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it." +msgstr "" +"%1$s: HTTP/2 Server Push do Cloudflare é incompatível com as funcionalidades" +" de Remover CSS não utilizado e de Combinar ficheiros de CSS. Recomendamos " +"vivamente a sua desactivação." + +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:168 +msgid "" +"Your site is using the official Cloudflare plugin. We have enabled " +"Cloudflare auto-purge for compatibility. If you have APO activated, it is " +"also compatible." +msgstr "" +"O seu site está a usar o plugin oficial da Cloudflare. Foi activada a " +"limpeza automática da Cloudflare para compatibilidade. Se tiver activado a " +"APO, também é compatível." + +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169 +msgid "" +"Cloudflare cache will be purged each time WP Rocket clears its cache to " +"ensure content is always up-to-date." +msgstr "" +"A cache da Cloudflare será limpa sempre que limpar a cache do WP Rocket para" +" garantir que o conteúdo está sempre actualizado." + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:213 +msgid "" +"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO " +"is not yet compatible with that feature." +msgstr "" +"%1$sWP Rocket:%2$s Está a usar \"Cache de cookies dinâmicos\". A Cloudflare " +"APO ainda não é compatível com esta funcionalidade." + +#. Translators:%1$s = opening tag, %2$s = closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:219 +msgid "" +"You should either disable Cloudflare APO or check with the theme/plugin " +"requiring the use of “Dynamic Cookies Cache” developers for an alternative " +"way to be page-cache friendly. %1$sMore info%2$s" +msgstr "" +"Deve desactivar a Cloudflare APO ou verificar com os programadores do " +"tema/plugin que requerem a utilização da \"Cache de cookies dinâmicos\" se " +"existe uma forma alternativa para criar cache de páginas facilmente. " +"%1$sMais informações%2$s" + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag, %3$s = +#. opening tag, %4$s = closing tag, %5$s = opening tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:270 +msgid "" +"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile " +"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on " +"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s" +msgstr "" +"%1$sWP Rocket:%2$s Está a usar \"Ficheiros de cache separados para " +"dispositivos móveis\". Deve activar a %3$sopção%5$s \"Cache by Device Type\"" +" na Cloudflare APO para fornecer a versão correcta da cache. %4$sMais " +"informações%5$s" + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:291 +msgid "" +"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare " +"APO. If you judge it necessary for the website to have a different cache on " +"mobile and desktop, we suggest you enable our “Separate Cache Files for " +"Mobiles Devices” to ensure the generated cache is accurate." +msgstr "" +"%1$sWP Rocket:%2$s A \"Cache by Device Type\" está activada na Cloudflare " +"APO. Se considerar necessário o site ter uma cache diferente no telemóvel e " +"no computador, sugerimos que active os \"Ficheiros de cache separados para " +"dispositivos móveis\" para garantir que a cache gerada é a correcta." + +#. translators: %1$s is WP Rocket plugin name, %2$s is opening tag, %3$s +#. is closing tag. +#: inc/ThirdParty/Plugins/ModPagespeed.php:102 +msgid "" +"%1$s: Mod PageSpeed is not compatible with this plugin and " +"may cause unexpected results. %2$sMore Info%3$s" +msgstr "" +"%1$s: O Mod PageSpeed não é compatível com este plugin e " +"pode causar resultados inesperados. %2$sMais informações%3$s" + +#. Translators: %1$s is an opening tag; %2$s is a closing +#. tag +#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:75 +msgid "" +"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript " +"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will " +"not be applied to the file it creates. We suggest disabling %1$sJavaScript " +"Aggregation%2$s to take full advantage of Delay JavaScript Execution." +msgstr "" +"%1$sWP Rocket: %2$sFoi detectado que está activa a funcionalidade de agregar" +" JavaScript do Autoptimize. O diferimento da execução de JavaScript do WP " +"Rocket não será aplicado ao ficheiro criado. Sugerimos que desactive a opção" +" %1$sAgregar ficheiros JS%2$s para tirar partido das vantagens de diferir a " +"execução do JavaScript." + +#. Translators: %1$s is an opening tag; %2$s is a closing +#. tag +#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:130 +msgid "" +"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS " +"feature is enabled. WP Rocket's Load CSS Asynchronously will not work " +"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full " +"advantage of Load CSS Asynchronously Execution." +msgstr "" +"%1$sWP Rocket: %2$sFoi detectado que está activa a funcionalidade de agregar" +" CSS integrado em linha do Autoptimize. O carregamento assíncrono de CSS do " +"WP Rocket não funcionará correctamente. Sugerimos que desactive a opção " +"%1$sAgregar CSS integrado em linha%2$s para tirar partido das vantagens de " +"carregar CSS de modo assíncrono." + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45 +msgid "" +"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and " +"use %1$sEzoic's nameserver integration%2$s instead." +msgstr "" +"Este plugin bloqueia a cache e as optimizações do WP Rocket. Desactive-o e " +"em alternativa utilize a %1$sintegração de nameservers da Ezoic%2$s." + +#. Translators: %s = Plugin name. +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78 +msgctxt "Hummingbird notice" +msgid "" +"Please deactivate the following %s option which conflicts with WP Rocket " +"features:" +msgid_plural "" +"Please deactivate the following %s options which conflict with WP Rocket " +"features:" +msgstr[0] "" +"Desactive esta opção do %s que está em conflito com funcionalidades do WP " +"Rocket:" +msgstr[1] "" +"Desactive estas opções do %s que estão em conflito com funcionalidades do WP" +" Rocket:" +msgstr[2] "" +"Desactive estas opções do %s que estão em conflito com funcionalidades do WP" +" Rocket:" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s" +msgstr "" +"A opção de %2$sdesactivar emojis%3$s do %1$s está em conflito com a " +"%2$sdesactivar emojis%3$s do WP Rocket" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP " +"compression%3$s" +msgstr "" +"A opção de %2$scompressão GZIP%3$s do %1$s está em conflito com a " +"%2$scompressão GZIP%3$s do WP Rocket" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser " +"caching%3$s" +msgstr "" +"A opção de %2$scache do navegador%3$s do %1$s está em conflito com a " +"%2$scache do navegador%3$s do WP Rocket" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s" +msgstr "" +"A opção de %2$scache de páginas%3$s do %1$s está em conflito com a %2$scache" +" de páginas%3$s do WP Rocket" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile " +"optimization%3$s" +msgstr "" +"A opção de %2$soptimização de recursos%3$s do %1$s está em conflito com a " +"%2$soptimização de ficheiros%3$s do WP Rocket" + +#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38 +msgid "" +"Remove Unused CSS is currently activated in Perfmatters. If you want to use " +"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters." +msgstr "" +"A opção de Remover CSS não utilizado está de momento activada no " +"Perfmatters. Se quiser usar a remoção de CSS não utilizado do WP Rocket, " +"desactive esta opção no Perfmatters." + +#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39 +msgid "" +"Automated unused CSS removal is currently activated in RapidLoad Power-Up " +"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, " +"disable the RapidLoad Power-Up for Autoptimize plugin." +msgstr "" +"A automação de Remover CSS não utilizado está de momento activada no " +"RapidLoad Power-Up for Autoptimize. Se quiser usar a remoção de CSS não " +"utilizado do WP Rocket, desactive o plugin RapidLoad Power-Up for " +"Autoptimize." -#: inc/vendors/classes/class-imagify-partner.php:532 -msgid "Sorry, you are not allowed to install plugins on this site." -msgstr "Não tem permissão para instalar plugins neste site." +#. translators: %1$s = plugin name. +#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42 +msgid "" +"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s " +"delay JS, disable %1$s" +msgstr "" +"De momento o diferimento da execução do JS está activado em %1$s. Se quiser " +"usar o diferimento de execução do JS do WP Rocket, desactive o %1$s." -#: inc/vendors/classes/class-imagify-partner.php:533 -msgid "Sorry, you are not allowed to do that." -msgstr "Não tem permissões para fazer isso." +#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126 +msgid "Smush" +msgstr "Smush" -#: inc/vendors/classes/class-imagify-partner.php:534 -msgid "Plugin install failed." -msgstr "A instalação do plugin falhou." +#: inc/ThirdParty/Themes/Avada.php:116 +msgid "Avada" +msgstr "Avada" -#: inc/vendors/classes/class-imagify-partner.php:535 -msgid "Go back" -msgstr "Voltar" +#: inc/ThirdParty/Themes/Divi.php:315 +msgid "" +"Your Divi template was updated. Clear the Used CSS if the layout, design or " +"CSS styles were changed." +msgstr "" +"O seu modelo Divi foi actualizado. Limpe o CSS utilizado se tiver alterado o" +" layout, design ou os estilos do CSS." #: views/cpcss/activate-cpcss-mobile.php:13 msgid "Load CSS asynchronously for mobile" @@ -3965,9 +4007,9 @@ msgstr "" "Clique no botão para activar o CSS crítico específico para dispositivos " "móveis no seu site." +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/activate-cpcss-mobile.php:20 #: views/settings/enable-google-fonts.php:19 -#, php-format msgid "" "This is a one-time action and this button will be removed afterwards. " "%1$sMore info%2$s" @@ -3975,8 +4017,8 @@ msgstr "" "Esta uma acção única e este botão será removido de seguida. %1$sMais " "informações%2$s" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/activate-cpcss-mobile.php:30 -#, php-format msgid "" "Your site is now using mobile-specific critical path CSS. %1$sMore info%2$s" msgstr "" @@ -3991,15 +4033,15 @@ msgstr "Gerar CSS crítico específico para dispositivos móveis" msgid "Critical Path CSS" msgstr "CSS do caminho crítico" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/metabox/generate.php:23 -#, php-format msgid "Generate specific Critical Path CSS for this post. %1$sMore info%2$s" msgstr "" "Pode gerar o CSS do caminho crítico específico para este conteúdo. %1$sMais " "informações%2$s" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/metabox/generate.php:33 -#, php-format msgid "This post uses specific Critical Path CSS. %1$sMore info%2$s" msgstr "" "Este conteúdo utiliza CSS do caminho crítico específico. %1$sMais " @@ -4022,8 +4064,8 @@ msgstr "" "maioria dos casos pode ser resolvida através de desactivar apenas algumas " "opções." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:29 -#, php-format msgid "" "Our advice? Instead of deactivating WP Rocket, use our %1$sSafe Mode%2$s to " "quickly disable LazyLoad, File Optimization, and CDN options. Then check to " @@ -4040,13 +4082,13 @@ msgstr "" "Gostaria de usar o nosso Modo de segurança para resolver problemas com o WP " "Rocket?" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:55 -#, php-format msgid "Yes, apply \"%1$sSafe Mode%2$s\"" msgstr "Sim, aplicar o \"%1$sModo de segurança%2$s\"" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:68 -#, php-format msgid "" "and export WP Rocket settings %1$s(Recommended as current settings will be " "deleted)%2$s" @@ -4082,8 +4124,9 @@ msgstr "Cancelar" msgid "Confirm" msgstr "Confirmar" +#. translators: %1$s = , %2$s = plugin version, %3$s = , %4$s +#. = , %5$s = , %6$s = . #: views/plugins/update-renewal-expired-notice.php:27 -#, php-format msgid "" " %1$sWP Rocket %2$s%3$s is available. %4$sLearn more%5$s about the updates " "and enhancements of this major version. You need an active license to use " @@ -4097,8 +4140,8 @@ msgstr "" msgid "Update Inclusion and Exclusion Lists" msgstr "Actualização das listas de inclusão e exclusão" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/settings/dynamic-lists-update.php:19 -#, php-format msgid "" "Compatibility lists are downloaded automatically every week. Click the " "button if you want to update them manually. %1$sMore info%2$s" @@ -4123,8 +4166,8 @@ msgstr "" "Melhora o desempenho dos tipos de letra e combina múltiplos pedidos de fonte" " para reduzir o número de pedidos HTTP." +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/settings/enable-google-fonts.php:29 -#, php-format msgid "" "Google Fonts Optimization is now enabled for your site. %1$sMore info%2$s" msgstr "" @@ -4172,11 +4215,12 @@ msgstr "Modificar opções" msgid "CDN CNAME" msgstr "CNAME da CDN" +#. translators: %s is a "Learn more" link. #: views/settings/fields/rocket-cdn.php:62 -#, php-format msgid "Purges RocketCDN cached resources for your website. %s" msgstr "Limpa os recursos na cache da RocketCDN para o seu site. %s" +#. translators: %s is a "Learn more" link. #: views/settings/fields/rocket-cdn.php:63 #: views/settings/page-sections/cloudflare.php:36 #: views/settings/page-sections/sucuri.php:37 @@ -4191,12 +4235,13 @@ msgstr "Limpe todos os ficheiros da cache da RocketCDN" msgid "Cloudflare Cache" msgstr "Cache da Cloudflare" +#. translators: %s is a "Learn more" link. #: views/settings/page-sections/cloudflare.php:35 #: views/settings/page-sections/sucuri.php:36 -#, php-format msgid "Purges cached resources for your website. %s" msgstr "Limpa os recursos da cache do seu site. %s" +#. translators: %s is a "Learn more" link. #: views/settings/page-sections/cloudflare.php:36 msgid "https://support.cloudflare.com/hc/en-us/articles/200169246" msgstr "https://support.cloudflare.com/hc/en-us/articles/200169246" @@ -4218,7 +4263,6 @@ msgid "Your website should be loading faster now!" msgstr "O seu site já deve estar a carregar mais rapidamente!" #: views/settings/page-sections/dashboard.php:44 -#, php-format msgid "" "To guarantee fast websites, WP Rocket automatically applies 80% of web " "performance best practices." @@ -4309,8 +4353,9 @@ msgstr "" msgid "Save Changes and Optimize" msgstr "Guardar alterações e optimizar" +#. Translators: %1$s = , %2$s = , %3$s = , %4$s = . #: views/settings/page-sections/imagify.php:21 -#, php-format msgid "" "%1$sWP ROCKET%2$s created %3$sIMAGIFY%4$s %1$sfor best-in-class image " "optimization.%2$s" @@ -4350,13 +4395,14 @@ msgstr "Instalar Imagify" msgid "WP Rocket was not able to automatically validate your license." msgstr "O WP Rocket não conseguiu validar automaticamente a sua licença." +#. translators: %1$s = tutorial URL, %2$s = support URL. #: views/settings/page-sections/license.php:29 -#, php-format msgid "Follow this %1$s, or contact %2$s to get the engine started." msgstr "Consulte este %1$s, ou entre em contacto com %2$s para começar." +#. translators: %1$s = , %4$s = . #: views/settings/page-sections/license.php:32 -#, php-format msgid "%1$s%2$s%3$stutorial%4$s" msgstr "%1$s%2$s%3$stutorial%4$s" @@ -4368,8 +4414,9 @@ msgstr "" "https://docs.wp-rocket.me/article/100-resolving-problems-with-license-" "validation/?utm_source=wp_plugin&utm_medium=wp_rocket" +#. translators: %1$s = , %4$s = . #: views/settings/page-sections/license.php:40 -#, php-format msgid "%1$s%2$s%3$ssupport%4$s" msgstr "%1$s%2$s%3$ssuporte%4$s" @@ -4377,18 +4424,19 @@ msgstr "%1$s%2$s%3$ssuporte%4$s" msgid "Clear all Sucuri cache files" msgstr "Limpar todos os ficheiros da cache do Sucuri" +#. translators: %1$s = formatted file size, %2$s = formatted number of entries +#. (don't use %2$d). #: views/settings/page-sections/tools.php:20 -#, php-format msgid "Files size: %1$s. Number of entries: %2$s." msgstr "Tamanho dos ficheiros: %1$s. Número de registos: %2$s." +#. translators: %1$s = opening tag, %2$s = closing tag. #: views/settings/page-sections/tools.php:23 -#, php-format msgid "%1$sDownload the file%2$s." msgstr "%1$sDescarregue o ficheiro%2$s." +#. translators: %1$s = opening tag, %2$s = closing tag. #: views/settings/page-sections/tools.php:26 -#, php-format msgid "%1$sDelete the file%2$s." msgstr "%1$sElimine o ficheiro%2$s." @@ -4408,13 +4456,13 @@ msgstr "Descarregar opções" msgid "Rollback" msgstr "Reverter" +#. translators: %s = WP Rocket version number. #: views/settings/page-sections/tools.php:64 -#, php-format msgid "Has version %s caused an issue on your website?" msgstr "A versão %s causou algum problema no seu site?" +#. translators: %s =
    . #: views/settings/page-sections/tools.php:69 -#, php-format msgid "" "You can rollback to the previous major version here.%sThen send us a support" " request." @@ -4422,8 +4470,8 @@ msgstr "" "Pode reverter para a última versão estável aqui.%sDe seguida envie-nos um " "pedido de suporte." +#. translators: %s = WP Rocket previous version. #: views/settings/page-sections/tools.php:80 -#, php-format msgid "Reinstall version %s" msgstr "Reinstalar a versão %s" @@ -4503,8 +4551,8 @@ msgstr "Configure o módulo da Cloudflare" msgid "WP Rocket Settings" msgstr "Opções do WP Rocket" +#. translators: %s = Plugin version number. #: views/settings/page.php:30 -#, php-format msgid "version %s" msgstr "versão %s" @@ -4512,8 +4560,8 @@ msgstr "versão %s" msgid "Show Sidebar" msgstr "Mostrar barra lateral" +#. translators: %1$s = , %2$s = . #: views/settings/page.php:82 -#, php-format msgid "" "Below is a detailed view of all data WP Rocket will collect %1$sif granted " "permission.%2$s" diff --git a/wp-content/plugins/wp-rocket/languages/rocket-tr_TR.mo b/wp-content/plugins/wp-rocket/languages/rocket-tr_TR.mo index 33c66e8860fa632e28fd6080268078f356fb2d01..445b3019aa1638add30dba26eb9d2d7d7f3baf15 100755 GIT binary patch delta 17637 zcmZ|V2Y3}l-0$&S0tr3zUJkv7D!um-dIu>d$w@enW(ts?9GWyyk8p zrHBH8Ac_SM5LAkaf~XYV?{8=EktyViB>g2UK93d3+O26UmH z$>hMQgJ@Q)jk=*m_&m12ZMX;3q%ri8UAR8#_;6JHVMs4n ze$)*f!0mVzbz{>m0dDfk3+XG=y~RupbRRm|@-T~rFycOEzHjk?f4 zWV~5^H{ORuh)-j2`~ipIL;My8N0=K9G>Wt=rn}Vv^<-TzFZOlIN20nW!rh)pQ1kyL8J(cK&opTmdWgGWc^r%CySb<* z*??-1gQ%7|fi3VN>PAaOo2IUb&4`<08%)96xC_;#2eFLi{{=GY%X_HlQy|8is1jBr zZsa-`J;dp*%Q2RCKUTmRV=Su}_P}x&fmLuSw!#g_FtDy6yo4r ziBO}x2kHi5P<=cXb>fxC8fCqY>oNB@bHm$l2Jr{j2Rn0j8Usr(1h=4CXcwwwk7A%P znQLU!lx5<~jxbbtFRYF)qMCjis_BklCA@^yFeu)%Of3u}4#!$J2`l3UtcNF&MbdhN zgRo};?a!KFtxGTmK0-~i+KHAm8fPK{)%p?D$K9VZEie;3#OtvM9z!+pW2}QMlPoJ0 z$6`VJ9(5zX<5Vo3Y`W_8WZFMJ1=}g;hX*kS7D_R*p#{Bb5pmgx&OEjHVQu1> zsL`H@9z2g~kv~yQT_nvsSyjA5+zOjw*>ubL7zbfn^h|Q5alrDD(UZivreiVUSy%{H zqHb&ls%1XIl6cFFgP%9^y@G3f3}SyfR10>(`8WvmG*NR@g$Qhk z6HzC47n$PLF=UCb!X}$8ScIBZn=lvdK;7UzEQeoUalD6`E%~@sN34%(`thhT>qCCz z!852Q{}%PK_ycvKped%wE23_!BWf&6#b@vY);FwaAc{smYBvoH)# zVnFls0huaTZJL?)J+T7u4A-|@k7ESoH_(SYr<=i>i6e-M%rGyRB-}%M3e^HLU$iWS zleH3CW3id$Is<3Y{@p2Gnv5EhORyns z#(4Y=Phrn_<}Fv6yXBs(QP>!N#E-DtD`s7|jv8Bc0%X)D*7h00h38$d? zekp2xUPayUJyc6PLOoH*MP@WNLaiG^u@**Sdt883@I25nnQkysf|pf30uR>Gh+%{!nP z`iNgaJ^5WMj`mvfv04&!LyfT{Mxt)u1yongLUr960XMS^7gKNub?1ZEnG?q0Ys4?2 z*8bw_&9oYTI^jGVii=%;Lp?zEx6FF56KfD(!_FAG!A$Q#SdKW5LdHWT11sS!)QK;k zn(7Mbz&ohH*L0(KH*~`m#N)6&Zoqc<752c=o6K=BSb=yOswK~$p8P7d()_rf{+fLagEpjzxEYOvaGn?Y9r!-;EPH5`vR&q^$VZ(~l) z|Knsd%|63gc*C{W7SnX?u^#2I*a26dPH-7D&mSY>*2=%tTwp8eJbQ59J3fykcbK(&F-8#I#-7+`r)AB? zm8daQEtB^K9>987eV1vup%~~&K?<3r_&$c?pm)uzSc_`9y*L)Hpa*;IHW!L_-H&-G z&z)sjvN)C{u7@h`g*xwW491P97Jny;_SZZ=PC*h@*khV@A!@MfKn=$xEfLSqX;tRwpQB7Uup!uaU6BCJV;}C9a^Caz%ZnU~$Bm4(PVco-~$zH{##2axiUdBq;?1<(PpJCV%FJc)ib<})vHNghN z<1qp^VOtF3J!VF0Pt=LhunDff9C#kpgx{dLq;i)zoEBgQy*9e=pSZ8HO6|W3W8##`^dL zcE_Bbm>chpMTkeDu9J)*I0N=ursQK60imAy4MQ%jISy@g$uCPSu-{+qi(d^IUc+Mnfhdcu|HPDVOR>M z;@kKJZo{shn=x`9HHb=|H%&Vk)u$Oa5VvA(4En;fRDLWtkJQWgIqKKHYEvXeI$)s)}BeU#U`#d`&BVH9q@O+EI9{^Go20#==0 z&7E|_!c-W6EActhfdzguW8hPaCZ2T1d=Xv21H>u6o9Wi@53^!=Q7yO_HR$r)H7!sH z^~5c31P;LIn)o}(Fk`I7_sn1l`IF!CQ~?w5942$e9q%(Ua1W2GCN2Drc{kL;_QWZu z3uj>v^}-&Q-vJvuw5)$A-;3##?|sCL;4>6f;QIV+-*yI7BDN)d347v6Y=)(HwdKYE zs0)w6HaG!QFAGOuj%>E`N#?`h#A{q1VLsxa+?A$j3|7FY=*<7MWU5hc6i4H2Y=ynD z+s^BG9;)xJp~l25H@=I@h#%k;T+HO2foZ|E^U?YklZodub=0NVbK1@eFx z;y17$eu!$(&+`Us=U1sq6zIY~;YS#f&vs_PY1EQ?6Lr8pt~v7C&R{Konk|(v2HT=; zcq6KbccYf{3mA$&pa$PvEQ|dDp|-`MXCf;Zv0G>n*x{Ih2-go0XrOb({pax+}Y>Z>E2Cl&dcmn6)W6X&!l{RB# zA!@8`$7)>PI!&e%-p2%N#s5W2!L2w2E3#hdM%JR5@O@MZeUH^q|JPDYUISI$8k2D( zp2V~6{#E5|=R05*`Y7+>Vg9Rcwvy5OK7ne1v#6%Nh^;VJ1#{rR?GXJ&kJf=WRR<)At{GZODID~j3_C&j~?R-M@ z#*xIca136@5!kzm?fg}1E2@RES2b2cwQP6P4bMm2;HNkfA5>-jYhF&PW}0#VZYJJ` z>htL8X0)f{IN~{|zPyJy@G)wdX0Ks8FPj3W8>ossup5rXMW~kg6SHHLnx@NY2FU0_ zZQO$XsQEkw)tBS(HC&9%v3f1rd0j`M2I(x+bXBOPxzmN4XPhHd3tx#iN z3~Hr(9joBGiWz^_H)MKKaKE1Iye7NUH+S5nffP%XL}HAs)37OwBGs^ge$<7|qVD`A>W<4iW8RYOu`lsh z)WWnMC*xPBF*2mF8U064O@0+Mt8SsX=00kSgf`)Lu5UFU(-wQ<0Gy9ryoOp@yEHW? z7>c@Jlp9Y)-RL~jldi`ucpBBW#hcmA*Kj&MLwpd`68BKED5yE@uhAGmrWVGaR;CQp zVB3j}@HSS$iY;vCOQ$nxX`SP`-StZxMfqdYv>e&eycPFjByr_drhGOYCcfT^`CpyP z=GM0JZ$QqW22o-g^CSl_ia5Bfd7^QsvGOTy!*cCx=Qo{GxQIBTy&3g2I+$729MuKA zP%SkW3t=LvE2ei~{_Dw?Q_uoG!s!^)(RTjv$t;{jT$4{)4W6B-!F3X~=HEe0-|C%h z=jGE9HOfa|GfcymF%utQyDsL_tW8(jIzhZVK&Bm;m~OW7k48432Fu#+W-x9;_4yIh zlUzn!;09_X3+`c_q#>>&?t#njH!OuOg`53vVRzyKZk(&9dGJ65GHRNhsCPg#4#qgt zU_6Q%RHb^Emr?|3$^H^oF9%D1TX!s=tDX+2y?*b8;zx3QDn|E2nx zrF1l^Z=z98n1&j~i%`?$FC2rV`Onq1b?H^q>oQP zF}DSaYyO`nqZ8dmy+-e%meyPY%#D=7L&S|yU2q>m&>Cp!=R{qwESAS^*cAP!+4Lsn zzz>qnRuFJcqT{~Kg91}Y9R6{1j2o{k!97f}mPw!yaZx8CZwiFg{SrD_i`eccsx zcpWVOw%^Nc;eC60#BpHNS={qFgL_d;@0>o_Cj^pcO#kqx>J6oaW0$}HO(rzw!|jH zgD@6f!9(}}eYk(LdD4nr)AV7e+0qL&EyrP344@XYvExm=unlBYEstM<#?tC3;-X24Z-ak++WsS3)KVBC`#Zjp9O~8Km zHtM{OQE$!gSo028i9olBaP(>Z_a~#ieh<|Jw@^*~05#7`Cz__Ngsq8tVq2W& zdI~!e=YP&L=|I%zUx{kLWB5LPjhcQ-lgwLn2L`ylb)8HOj7~PM#aPr6)Jri<*9jAd zGcX#1Qq4!@Skz!UfnMx9-gf@)*+zVqxcvm%`2)sZsJEkkqFD$2MZJE|{w)4MoKAg@4G-`uqn1!Y!eoEXIJ?MGSe8IHC_QacTIo?7) z&Yo#LrGCdr#C>O(x8Et8OMC~{;`6g@=U=~g=9pP@1J#wq19SP)33oOb%TnN-XD%E- z&5G5ix77*MV7!Z;<3rR9efF~Hk|M8|7MqLVl&`}Gyn`Mb@TzTnfT^hI*kr!x;=qe! zdQ-3-JK{Z@jLly&zkkTi_D2XfAC84t|*5ZJFQUfjNz!Rh(-1FG@OZNP_u0CD)TYA0|N^vcxSck{28wO8q-91 z-ZUo~jk=NNFc)sY`nVf)!JqIr2CucP%Xk{Ka_(4XTT}2e)Sq1Xtv5@tAAQ6#(OGHN zGyf}7@W8F$d5a1*PlCg7?FOc0Hr{$0ZRa12H+kEvber&Pj?1&fwk~28ss$HqH8=bv z&LS?f&3tYzL#>E^Vgzn^$NZuax}Ev26)s^rPsjyNVpHNTc9u>|072!oGg^DrLMT{@Y$5x0Cdx zThfMo*|IVJc+ER~dxIUnx;w>Y%13Y_Z9U1SkOq(zP&S&fF51D?gR-)e4Rhr&YxYRw)O0MY_ir=@~24CiA&&0 zZ0znE?4IBNG4B*-Yfc?)T`(16DgTIkWfC*iSxv7~-qEe^&Bpap*_nre-a3-412OA} z^YW-jejDi}%0npYh#QGnr>y&U75^k@D^FaV`~t<~BjIcE%gJkF;#f(f-`)5lr__0V z77BK-%37n@`8Fxb*=c?>qI?+H2c(|tyMx;8FCD^gzeY5ZB$$>b*`kUDUXwsGV$NxWMuJ`JoN$k(O3sI!;faw*$SnT?;3T2Nk- zbk5zcDLjFcojPwK3#?U#^cHbD)b??_HxMiwaM?ctp zC%y7ixl`!=$e{c~j(gGF{|$L<^>7U?*JtB>r-+kdQ!0MqR?Z~uM8%q~oMa|tn@q9w7jYg^s#|ZAt9C!2T$?^Zy1IF%{UZoQQFy|wd`7k0 z?K6xaeMgIa1Qt&wiZBU;~+LB4}lzmTnvSlZK#l3-|$oGU5MdCEpR+8R)C7!CklYBGE zir{b5A50oT8cB+z>}MSqMf!`hl!6Gn#m+_e^wyqzzqkbrp58&e4D~DH6;fmJ=Sam# zUz4=W$Avf#W1W)!{h{ky*WHRY$zLS@D`_wJtz6WDPj7YHx~0^?>6nx`CcSv;Jk+?C_GF$P14qnbkNB$ zqTRA!oKKlPFmIDObAq{UosIaOTTew}-SVlr2-|Rj^*ix5)a;am~?~m5Bmm^wE0LMQ|GAqe-W8O zREWghSQTee;VSmPAj-bLBdG0V%Aafzl-+$2;5av51k>F7pRWA!V;vy9NPHa&<8glf zuzn?YnV^?jaRwK7jeI4_uaQ=evJ;mnuOXqV+%L`h;h` z^{Zlbnt5XMIJb7fIoyL@G|k zA1NtkW}m=){`9OcIdlD4+&498HcMx~EPmxLvQaTMu!(n-qlP>f2YDko)Egh=@y5n_61Yy1C!vA48RtaFo|FX7goLDV94H@nR!$E0 zd6VKjJrk0ART^a!>{%=$p;u^T-d_3hW!4?OE`R3yv8D4D?$E!#C&C*!E+#1m znVgcQmY(2CqBWiV$c+E~Y>53#W{01=cJ+=W@ zr$Jbgu=<(%ZsrJDGPb8(EVI-v1M@QkB0TEuWWUFkGR{x;c;k=k(0^S2$SVKQRVjXm z*JC6n`ctTt;vX00>F-U8_IeKQj*sxg#;T%cJVS=6bZpAu{c#?D8Y4qTC&l?k4A`1 zu3v2!mu zRL(AvMYyp*Sv93MX`Gh<;EiXzCi~-bcOL)Y4gUD7m+IO5gR*{UX!i-q+S|lFn=NZm zbNg!Ek^|FH)?Zq74A0Mgyh>!Azc{(26pYDsV?Md+_t1aW`p){{Mmi$!W zssHQZB!6rieVy#9?dg#k>x==l53O}&%Ij&)81|>f`qKRIVU}4|I&{o>xXXSs4cCRNJupW2#AMXLu@lhKpnVTXJblWQ_PP8unUgC zNw^31VoeI0;58h9CA!-4C1XyvB{dUZWKVbp<6LsQz{jGtnt#JtDgD?nFQRlgVS+MK?`agh7B{I6A zn)o8t$DOzb)s-WkH)a}M!8i=&d8yqwRDF*@JRbZQ*I*>isVU~<>}9YcGF*%ob-uSS zAMP5$^Dju|2n8kZ0v5*~u@Gh-YD`HigBlA>QSAqz+DBnUoQ-*LJ7&jp)QOH`DLjkI z@O#XU(}o$78QVh8b^seaPs}24F4>b}OP#&nV8VpX%1nLk*tg zr~|FW!ngz1;!)IC3JW!+I!0nUOu^Fl71qP2$o@W4liSs^Y>plrh-GmCmcr$zJK2xw zku#{Cx`fT}d(?$i@!GC#j7^9;V=J77Iq(D2BRzvU?rki=`Aw$Lb{dsI9jFeL$F{Cs z^bpT+-GWiXC$Sth8e>cm9E@c!4lCgTY=Qfcr)z#edf)U7XOY5vSc3DLQW5Tfuq5$d z)CDA=p6PPbfwyBzJcW}n$5>-ntIQnSh@YcwU{a(pGw>DcjrqA+jfqhhfa6i^eCShG zFC^0tccZ%Y4yydATV6ccm_Xv*s7H~E>dHk}0k>imJc}NDj2f&(W9%5{h!u(Bu{Ne4 zi>CP~hW=+wF~wq;(-@0Esz6Pun{gob@|6w69eMu zMQniiaU1GF-o>eSBcA@(vkObGqj?hcC4L#R;8o0y-=fxs`>3vaj2g`WiS`jx!Y;(| zsGds4%yy_j5_gB)QMil0k|3Ui2g$LMCI{z+WH!k=|(|M^zVRr_M2Tl!urH_u^yJ5z&juN zU^#pV)e~z`2YwHW;5qyT?_gs*k<4R3Gm&orIEhSWpUFAN-eFP9MMa=%1Jr@qVgVeC zy09oz&%A=g@hvxgAM+Alas2@^5kEuqpx#&uAwL$z^_XAt{~#H4`AJk4J#rhAW{x!{ zu7^569BLj<#W8pdSprPwm+Yh1g?dCsQDf#5>Ow!qGWZaSVqVUvSyKhulT0`M(IZ%h zdIVRHt}*veJ@6QHXSt`?1C>T~eRI?aN1!frG-_;Yzy^39YheY3x-O_6_Qv6;!MziG znhyKO6v9iW>GuGuW9eyjCF_C>iDR)GZgTy|^&XC*JlAwyFlvV*@pBxG4QJSw&=NdI z{3EI-HqWI08CT}WOuMo*o@Gxo9=lS$6GQQ-8xNn&=ahED6Jhb{Ysbm} z%t{=NnkBKQ9-QvF7>f~am`m5{j?*a!!|#zI)B9!nk$4VE69>+-?K+|kl!Q9KOw{09 zjhY>Mkj2g1!ZXGs02fsrd=QmV)eGq2X z!_G~HD=|fJH3ni1JmGI(%y~Dyf(0qRg9Y#p)B=+tw!D85eAzui4qAoZT^%6-$op3S^zy+w|-NMiC z4_u3%yl%_mR@w`jg}x$GEF*IOcVGgBym z8Vm2Ey80%ntAD@=_!MqaI0LRJj)$Vj}87x1o-I5p@B#U7xL`|Fct2V4dBu6xJuMj=HmvsAo7H$KY(N zh(DrESZKYwmg8vRZs^6ms5>vV!4B$5Sc

    7RMo|^CtSp=$XERdWMT#H{vqlG}IOM zeA6B%3>OiAGI!=K=s%S)S&$h1F+aOJF7fcg*X~> zY5p%Iqi3@ov*BUXbo&Ua<8{~E+ill1!P=CEVmn-d+W#VItUN--tI4v%Ug(>s-yrf46-*#$XrX^B9h$_ShfK zXX5k3&+WCZ=fT*6I34F;j#TO`kqOQhMJ2uJm75|+kS)9C+PWVTb#9pA>RnDwA-m>UNXSH^hsp}P8K zEP#36wu7`hss}rwo^>=lO6 zlWymAFxDkLj=GSi*cYSTwLNqghY)9b&#n)lsFidMPR3`r3@0A8Kb+=2V&9V8d}Ic3 zW$9R!28BPcch~?m{rX}cjzita8sxE>O;{fX9pxp0^RXD-$HtiTnEilhg*r|Oav%7wCC|nAk&h9rKmf+fTJ+rxcyEaiyFP#PzU-F8{r?A1?!!#J=g>b5VuF2Xdvdp zFHwW}F6zP_V_vNFk^f!dGp)#|>ymH;p2Om5@UdNZx}Xl!4|8IeTONlMi6^4Q&>FXX zJL-f7QG@U}s%HzGv`FWubLdj{kSRn#I_gB9VgTO2p?D81fy0s7LYzcEG})7&8}# zqI%#K7Q~-W&pgXH`)(+Md59ZgUhIIKZ~#W&DjbdhpBlqcHeU2iAyfUlF|Xlv)Zl3K znZ42%u^jON%!+%kG9JVd_ziBu-*G2yx?so1fY0q1N=EhU71SgB2?t=#FYK5J`GSru zLqQY;g>fEcVK%J8ocPw4EKZnu(f-1q(`9>r6kJIA`?wun`pRB-^(*#$AC4m_Uy9xF zF|NgSSM6_5Z@O0fn*Q%gMaX9?o?NWUgyAe0JLAT>fjKvDy+7Ft=sPo+Mkr_y)z)id0jK$2vb1)0e$4R&t$6?-E zd>P{`oQAn?+h4UVL=DOz*LWM=x|#JTyQ)N!P`&m0o(jx z-vxuQE$!B$PJ9bzX38u6h6%&l(A4IQXYvTRb10Q1(Y|kq! z2fl=Qc5|^6u0yrEj=@;#ImiDUu>gk>pK`5|$?>m@(^1oL5&CrEZDiybtb#w{NGzJ! z@qdy{z(K?ZP|rFqb5vuX2r4dvuVW>=fk$u#ZpiBRKUM>oA_>HYP>(Vwo8zAqXR`74 zmy;AkW_Qd-*f59V|C0F|%Mf>A5$J>Am>UnFuKXh`f;Ujl`YCDC zvFWJkxzUY}U?t)kx#<7=WU}S9U0VXP5m!Q8KoFk59#|3!=W+Z?Y#r32Xzkh!HCUfV zwHu3La2D#qAD}Me8EOeHlh^St(barpH29igX4EuhUsmFVRjsedg+XH%ac((I@v8>fLeG~quQsUZuDK`5&6tlWIm(dFVtW~;x<5a;9UWib*p3+AEj;6tpAH?S7wDdzZp%x;M)k46u!Ks}m6SQ*b^SA2v;H2+%{ zw+#kjCn_SbAEu(7aX<;j|6Nc3HTWu^4%ott`=AD6Bx*2D!-lvUtKuE3i}_1B{y%WG zM~$&hu_Wg=m&s_bJ;o|nn7=A^z!s>N#&k@?UvLVBvs~&zzC(@jO#JmyJyaP3u_LO> zW8Lx@=p}v=cVUjQ?sP=oX$pcoc85RkHR62b><$}H&nkO)`)I15dL#(d#Z9mUdQqc( z1F8oOyXE&Wh`4$Md%;7n25};c#+u5}ZpC`^<#a$O%r&nSAtE)FrpgZ{ib%oUe9sg@~ zAm%0h8r8KAa4QzAYRA9_sL}rgM&d2hv+YyOPQM|TlXxT+#wgSyn}*$RqmRr;GC!fZ zs&942{~Dc&dWN%5gKec7??TP*W2k3-9v9)y*c4~faQv_B!5EI_jmh4Yg4HiIcEIBgg+8u?#g<3O8mJX#P(nqpn|znqFH_OY%O{U^$IC z(2v*}b2V}Ne{Al7A;jxZOK#?-cK;%%_T}8TCF+8^pcbT2sPnyoKCO65$>>>M#rD{` zndAQh!c0`pyn~unA7f?=Y;Na&P1HOdj2e6sus)_@1-y%GF;@%Qlf7KWxvpx#{12wV zF$#ub#g_K9ISoUJ@1e?jwsOo-+>U`5*V@s49x*FWgQ{U0yL8XMFyhmw8>-XRj-e&E zllUfnh>P1fW+@JC&-~Xk__4j6X8J@`*Azl^S!pbQ4N;Gz3s%PvY=-l3I)04nu}4S8 z|E>2BHOMA(vhRXbsA+rwJ$M&2=(GDe+qYUJoKHb8{)zW-D1P6?F{iLoSNk3>*v;|( zXOjV_vC^x%9h5^*&pZxw1M^V}*)r6HAH_HED|{WN^sujUU&)@fK|}0HMNcrtycU?dGj4NSz%I9D>ZbS7%q5k%Q>!8+y#;6+^g1WH; z^#A>D4Vju0?7?C94Qh}zA7FdNi@Nj4s3my@YRs%aUC35Eg2z!^Kl^$6b-WPOemUxd zJ5WpZC2WjO(Lev|4zzdJ2erTq#9SDSjc_8i!M$$%uc*XB1|KV}sBSUQ$&K_nja0{wS4`Wu^ zUB@-VcZb_Ap*bV$BUyv$*$*%VA7V2M4z^=pWiaz!SALiR4Vqi1QJs6FUE7P{0^&f_ z2@j&K{4%PiZljj$XRbv;Y>(B(D9Xd}2!4)UTsF$?{|xmgvV}7LHCO^e?fmS3orwpd zRZw#B+Q0M&ku>k6DpycPA#>wE2aqOmsdR3Dj%WcH%o z<26Uy*Xd!@9iK(@&_mRMQe=#+Z-%;%uBa16pzdfQeul53_KOL(({BkLA$|{Aqc6g) zJH8`ia#Qd-YVc$mYaNA}&*`WhsT1k=|H3&Ddl2u$Abf^e*{Vm`3vPv)z9FbV{3@!4 zR$_15>BfI!J?;;c2WGI4t>r1yU$869v6s>@fQ2IFDOig!?h=K<;&_kY1Yg4w7p zUxopA0JYM+hb{3gw#F*))^O}dyam;x4^jUIz%)s)T^NGz5+|XiVZB8AI_-{XHx;v> zlVsn90jRD%g{|;6)PmD^obAaT7)!hoM`O~atenLe~+iJ^GlBZzu^>SwyEpq zp?Y$!kNK}VyG4NplXr@JsVs5*4)ajna;oj29;jImg1XaLs6o3D^{5`9e?355aFJ>D zGkz-S#M!3XF;ENZ5OZNrW`(eNu`yDV8b>~^u+6&K*dUsSsp9W87GJ1)OMm>u0sAoMNXW>_< zX*Oz|{Wwj>*N6|Tx4*XQvBCCGkvHveB2gFeB4)=l)O33vb-rKlBh0^%`G1|v<&Abw zrEhY~6yhsb1c$$6m*zy&61)ht9z4N{n02$Qua3MxO=ld6JGU?`pW_Q@o8$j4+iiE) zpOp6DHufvB(=k`^gPqKOb>Z4w_KI)dY~s?p?dSJK)Qafrv9lr#gNaM*wJY32%+3kF z#Kx3gPqjT(VxN5%tV4~VQ&mX|8HDWD!AC}2l6=6PAO-b#{X1^NzG;sCzfSyy zV~AfkXcwqUIFdN~+jj7d#mvMLU45u^Wd@EzbI4xUc+_n93-yS6Q{S;GU%Km2)L=P@ zdIVo!HoT7--H+Y+zffZ)N4gzUB~cep4>cPaqXu(V)P65uR!m0by_tfH4WF4uMkiQ` z^oWVkKWrNDCwYdNA$cepL|*TRuDFZThq6D3KO?UlUy|;2&pn31hZ%*a6>kyggxmHY z;t=W@AyeLLBVUMg zm85lq727Zj%td1V-8Cf8)|7%Yk_J-77NJIL`k?sdc8y>w`)M|;cH3mszfb0z8!(># z&lXQvMbgJ4Up&=C+ym(Ar88+1X@I+9LF&TEm;A>`ey3hr6v;#RXn$n?=|eo1Y$esX z$Iu$Gi1H@Ld(HpT&@%FDJ~NntwQfU|^mb2_8@1?Yizfe+HeZvpq-tA5(rWlK=@j*w z@Hpu(d98lhvXOriTi{!yaDS=&W8_xihU)(h-9imQZE>XGq~L#C)Gx#xNi|51*s&Wf z#ffekjcDGe{@(>0Ag?vz3H9elhe*Y!+l+T9AA_|?y+~Jl{4Sm*QSBsRk zPf7iV?~yXL+?xMyQ*f5XJKR!_D=#u}i$|{n7if`h667MDdHi7(gn>C{;J3$&q^36~omD;-DN2IZ&jU--X=7_(B zn7lS#n5HXfyBpWUIi$AK9cP~zZut!)^uLZ9D#I2?*<&2zwt1xIpM{_mg%49cx3BrP8TsGvq%HFQ8%EjZ z>^s>lDqU=78^oqOt8T^&XTT8mF9$7)fucT;|vZawa(I^57kiH>* zo%+0(&D}YiSX)-&(&W3i>f^}&ME)VxCJq0`K1t*=x$!sHn)>r@{4V?aM!W}S;=e}ue1a{c3N)OG#Yx4; ze?pTEZZQ2r#M{R+mTBP^gSY_HmM$$;zcclHK zx-__qyGhz+60amJaoedZ7b!bs)hX+s0=65(nTa=(Pa(eo+v9ToLvBGd**(H%t^=t3 zj-+h~>3hnH;WwlZ(qhsKwV}MPyUz#2Z&BU>=i_n8zeR10NZ(UlhO!Gd-rXlvoqUUe zjO|4#mb#TMQ5fgewWRD*H{S$*AQZ*`3@1t@ZW^6gh zw{+_RG77bnwxZ$+zDOG3Ry@FiZoaU)lfrLl`_(_>Yt5H3Ry3)j#bpCb}WNi1y{7GDv1`Ej-#VMp0NmWUc+=kU$JJR+`@&~D_ zN79znbryA}NPiI5!ZEhmd_}&p+s1$YJ1JO3!I$_lPRCKCS4mUY=?K279Wrroc$D~` zTNUE+Zowk*9clB#ZL^K?-Q+){%whlCxSFzW@v!#E=>NBKu}w*!w77a+Yy{1e_KC6KOA=Nn8WW9vbIwoh>c z={))F_`2IB44-q`#Q0mX%u!a2vf-rqZo6ZcNPRidQBp7Jf=GKQA4gh4%1?Y-pHkXR zlZH^Rgo*;FZ58R5mFzt3VSZ~UfX^- z7mw?eH??4|Jh?Nq>(?(e@2~@Tlv(`A*b?o~Gdd#5o8U=|^(1(syrGFzo7eJ2w>0fy zqen%=cs*(n?TsHplaQz=PjYNhyt_w44Exlnv3O|YpwuH{J$X`{`@bkrI+ZL%j(Jqm!bdl2cc%+LR?V zWh|eS;1M{es|r}0=rvhN*$Scutw_SYbOIT)eEYZ+WBsXO}G^p5q0 zMI?Ia1T_w-Qzyrunl`T4HYC9t7m^s>)Dsl+@6vAG zf2sH1r8es?bx-xL9c=vX3+?9(i4P6$%?;G7%`N<|3ZK8G!-UYNq%d!oT7)DdcoP%; zSF`_YRi~*ZAwKlKHmTdxGtL_m790OxTh(jo<9Ua9gQH`^k{HncwQ>EXo# znlj!(Yqj^radvM^XvBXUlz9;9Z5JLA&n-6f4CvpnX355!v%hyjVpwc+NJLD{eo1k0 zvGG(UdlOPW{Vq$U)YtCs%AMNb+2?ulYgUblh>!AqxF#_oKH8g{mN%EvtAOTZ%9S!s z@sz1$oI?I+O&OU4fA@u_QX-TNPCiK qZ%o8Q`rtqJPYX(Px;ZJAlbnigy`1D^Nqc>w)2ngX$W&)*!2bZe6x<2` diff --git a/wp-content/plugins/wp-rocket/languages/rocket-tr_TR.po b/wp-content/plugins/wp-rocket/languages/rocket-tr_TR.po index 45d644c1b..6c24f4b5b 100755 --- a/wp-content/plugins/wp-rocket/languages/rocket-tr_TR.po +++ b/wp-content/plugins/wp-rocket/languages/rocket-tr_TR.po @@ -1,16 +1,15 @@ -# Copyright (C) 2016 WP Rocket -# This file is distributed under the same license as the WP Rocket package. +# Copyright (C) 2023 WP Media +# This file is distributed under the same license as the WP Rocket plugin. # Translators: # Romain • WP Rocket , 2019 # Muhittin Sahilli , 2021 # BouRock, 2023 -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: WP Rocket 3.13.3\n" +"Project-Id-Version: WP Rocket 3.15\n" "Report-Msgid-Bugs-To: http://wp-rocket.me/\n" -"POT-Creation-Date: 2023-07-17 09:09-0400\n" +"POT-Creation-Date: 2023-08-28T12:32:53+03:00\n" "PO-Revision-Date: 2019-08-26 15:14+0000\n" "Last-Translator: BouRock, 2023\n" "Language-Team: Turkish (Turkey) (https://app.transifex.com/wp-media/teams/18133/tr_TR/)\n" @@ -19,22 +18,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: tr_TR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 1.8.11\n" -"X-Poedit-Basepath: ..\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPathExcluded-0: assets\n" -"X-Poedit-SearchPathExcluded-1: src\n" -"X-Poedit-SearchPathExcluded-2: vendor\n" -"X-Poedit-SearchPathExcluded-3: node_modules\n" -"X-Poedit-SearchPathExcluded-4: tests\n" -"X-Poedit-SearchPathExcluded-5: inc/Dependencies\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Textdomain-Support: yes\n" +"X-Domain: rocket\n" +"X-Generator: WP-CLI 2.7.1\n" +#. Translators: %s = Hosting name. #: inc/3rd-party/hosting/flywheel.php:18 #: inc/3rd-party/hosting/pressidium.php:18 -#: inc/3rd-party/hosting/wp-serveur.php:27 +#: inc/3rd-party/hosting/wp-serveur.php:27 inc/deprecated/3.6.php:697 +#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22 #: inc/ThirdParty/Hostings/Cloudways.php:90 #: inc/ThirdParty/Hostings/Dreampress.php:44 #: inc/ThirdParty/Hostings/Godaddy.php:63 @@ -42,9 +33,7 @@ msgstr "" #: inc/ThirdParty/Hostings/OneCom.php:137 #: inc/ThirdParty/Hostings/ProIsp.php:51 inc/ThirdParty/Hostings/Savvii.php:50 #: inc/ThirdParty/Hostings/WPEngine.php:47 -#: inc/ThirdParty/Hostings/WPXCloud.php:51 inc/deprecated/3.6.php:697 -#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22 -#, php-format +#: inc/ThirdParty/Hostings/WPXCloud.php:51 msgid "" "Your site is hosted on %s, we have enabled Varnish auto-purge for " "compatibility." @@ -69,6 +58,7 @@ msgstr "Eksik Cloudflare sonucu." msgid "Incorrect Cloudflare email address or API key." msgstr "Yanlış Cloudflare e-posta adresi veya API anahtarı." +#. translators: %1$s = opening link; %2$s = closing link #: inc/Addon/Cloudflare/API/Client.php:198 #: inc/Addon/Cloudflare/API/Client.php:212 #: inc/Addon/Cloudflare/Cloudflare.php:75 @@ -77,10 +67,11 @@ msgstr "Yanlış Cloudflare e-posta adresi veya API anahtarı." #: inc/deprecated/3.5.php:92 inc/deprecated/3.5.php:116 #: inc/deprecated/3.5.php:129 inc/deprecated/3.5.php:157 #: inc/deprecated/3.5.php:173 -#, php-format msgid "Read the %1$sdocumentation%2$s for further guidance." msgstr "İleriki rehberlik için %1$sbelgeleri%2$s okuyun." +#. translators: Documentation exists in EN, FR; use localized URL if +#. applicable. #: inc/Addon/Cloudflare/API/Client.php:200 #: inc/Addon/Cloudflare/API/Client.php:214 #: inc/Addon/Cloudflare/Auth/APIKey.php:63 @@ -100,8 +91,8 @@ msgstr "" msgid "Incorrect Cloudflare Zone ID." msgstr "Yanlış Cloudflare Bölge Kimliği." +#. translators: %1$s = opening link; %2$s = closing link #: inc/Addon/Cloudflare/Auth/APIKey.php:61 -#, php-format msgid "" "Cloudflare email and/or API key are not set. Read the %1$sdocumentation%2$s " "for further guidance." @@ -133,29 +124,30 @@ msgstr "dakika" msgid "hours" msgstr "saat" +#. translators: %1$s = , %2$s = , %3$s = CloudFare API return +#. message. #: inc/Addon/Cloudflare/Subscriber.php:232 #: inc/Addon/Cloudflare/Subscriber.php:261 -#, php-format msgid "%1$sWP Rocket:%2$s %3$s" msgstr "%1$sWP Rocket:%2$s %3$s" +#. translators: %1$s = , %2$s = . #: inc/Addon/Cloudflare/Subscriber.php:250 -#, php-format msgid "%1$sWP Rocket:%2$s Cloudflare cache successfully purged." msgstr "%1$sWP Rocket:%2$s Cloudflare önbelleği başarılı olarak temizlendi." +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:311 -#, php-format msgid "Cloudflare development mode error: %s" msgstr "Cloudflare geliştirme kipi hatası: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:318 -#, php-format msgid "Cloudflare development mode %s" msgstr "Cloudflare geliştirme kipi %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:337 -#, php-format msgid "Cloudflare cache level error: %s" msgstr "Cloudflare önbellek seviyesi hatası: %s" @@ -164,48 +156,48 @@ msgctxt "Cloudflare caching level" msgid "standard" msgstr "standart" +#. translators: %s is the caching level returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:350 -#, php-format msgid "Cloudflare cache level set to %s" msgstr "Cloudflare önbellek seviyesi %s olarak ayarlandı" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:368 -#, php-format msgid "Cloudflare minification error: %s" msgstr "Cloudflare küçültme hatası: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:375 -#, php-format msgid "Cloudflare minification %s" msgstr "Cloudflare küçültme %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:393 -#, php-format msgid "Cloudflare rocket loader error: %s" msgstr "Cloudflare rocket yükleyici hatası: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:400 -#, php-format msgid "Cloudflare rocket loader %s" msgstr "Cloudflare rocket yükleyici %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:418 -#, php-format msgid "Cloudflare browser cache error: %s" msgstr "Cloudflare tarayıcı önbelleği hatası: %s" +#. translators: %s is the message returned by the CloudFlare API. #: inc/Addon/Cloudflare/Subscriber.php:425 -#, php-format msgid "Cloudflare browser cache set to %s" msgstr "Cloudflare tarayıcı önbelleği %s olarak ayarlandı" +#. translators: %1$s = strong opening tag, %2$s = strong closing tag. #: inc/Addon/Cloudflare/Subscriber.php:536 -#, php-format msgid "%1$sWP Rocket:%2$s Optimal settings activated for Cloudflare:" msgstr "%1$sWP Rocket:%2$s Cloudflare için en uygun ayarlar aktif edildi:" +#. translators: %1$s = strong opening tag, %2$s = strong closing tag. #: inc/Addon/Cloudflare/Subscriber.php:545 -#, php-format msgid "" "%1$sWP Rocket:%2$s Optimal settings deactivated for Cloudflare, reverted to " "previous settings:" @@ -213,13 +205,13 @@ msgstr "" "%1$sWP Rocket:%2$s Cloudflare için en uygun ayarlar devre dışı bırakıldı, " "önceki ayarlara geri döndürüldü:" -#: inc/Addon/Cloudflare/Subscriber.php:661 inc/admin/options.php:184 +#: inc/Addon/Cloudflare/Subscriber.php:661 inc/admin/options.php:144 #: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:148 msgid "WP Rocket: " msgstr "WP Rocket: " +#. translators: %s is the error message returned by the API. #: inc/Addon/Sucuri/Subscriber.php:96 -#, php-format msgid "Sucuri cache purge error: %s" msgstr "Sucuri önbellek temizleme hatası: %s" @@ -239,8 +231,8 @@ msgstr "Sucuri güvenlik duvarı API anahtarı bulunamadı." msgid "Sucuri firewall API key is invalid." msgstr "Sucuri güvenlik duvarı API anahtarı geçersiz." +#. translators: %s is an error message. #: inc/Addon/Sucuri/Subscriber.php:286 -#, php-format msgid "Error when contacting Sucuri firewall API. Error message was: %s" msgstr "" "Sucuri güvenlik duvarı API’si ile iletişime geçerken hata oldu. Hata " @@ -258,8 +250,8 @@ msgstr "Sucuri güvenlik duvarı API’sinden geçersiz bir yanıt alındı." msgid "The Sucuri firewall API returned an unknown error." msgstr "Sucuri güvenlik duvarı API’si bilinmeyen bir hata döndürdü." +#. translators: %s is an error message. #: inc/Addon/Sucuri/Subscriber.php:334 -#, php-format msgid "The Sucuri firewall API returned the following error: %s" msgid_plural "The Sucuri firewall API returned the following errors: %s" msgstr[0] "" @@ -267,8 +259,9 @@ msgstr[0] "" msgstr[1] "" "Sucuri güvenlik duvarı API’si şurada belirtilen hataları döndürdü: %s" +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:93 -#, php-format msgid "" "You are using %1$s to serve WebP images so you do not need to enable this " "option. %2$sMore info%3$s %4$s If you prefer to have WP Rocket serve WebP " @@ -292,9 +285,10 @@ msgstr[1] "" msgid "WebP cache is disabled by filter." msgstr "WebP önbelleği, süzgeç tarafından etkisizleştirildi." +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:115 #: inc/Addon/WebP/AdminSubscriber.php:141 -#, php-format msgid "" "You are using %1$s to convert images to WebP. If you want WP Rocket to serve" " them for you, activate this option. %2$sMore info%3$s" @@ -310,9 +304,10 @@ msgstr[1] "" "bunları sizin için sunmasını istiyorsanız, bu seçeneği aktif edin. %2$sDaha " "fazla bilgi%3$s" +#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing +#. tag. #: inc/Addon/WebP/AdminSubscriber.php:127 #: inc/Addon/WebP/AdminSubscriber.php:153 -#, php-format msgid "" "You are using %1$s to convert images to WebP. WP Rocket will create separate" " cache files to serve your WebP images. %2$sMore info%3$s" @@ -328,8 +323,8 @@ msgstr[1] "" "resimlerinizi sunmak için ayrı önbellek dosyaları oluşturacak. %2$sDaha " "fazla bilgi%3$s" +#. Translators: %1$s = opening tag, %2$s = closing tag. #: inc/Addon/WebP/AdminSubscriber.php:173 -#, php-format msgid "" "%5$sWe have not detected any compatible WebP plugin!%6$s%4$s If you don’t " "already have WebP images on your site consider using %3$sImagify%2$s or " @@ -347,3379 +342,3161 @@ msgstr "" "WP Rocket, WebP resimlerinizi sunmak için ayrı önbellek dosyaları " "oluşturacak." -#: inc/Engine/Admin/Database/Optimization.php:30 -#: inc/Engine/Admin/Settings/Page.php:1475 -msgid "Revisions" -msgstr "Düzeltmeler" +#: inc/admin/admin.php:18 inc/common/admin-bar.php:266 +#: inc/deprecated/deprecated.php:1787 +msgid "Support" +msgstr "Destek" -#: inc/Engine/Admin/Database/Optimization.php:31 -#: inc/Engine/Admin/Settings/Page.php:1485 -msgid "Auto Drafts" -msgstr "Otomatik Taslaklar" +#: inc/admin/admin.php:20 +msgid "Docs" +msgstr "Belgeler" -#: inc/Engine/Admin/Database/Optimization.php:32 -#: inc/Engine/Admin/Settings/Page.php:1495 -msgid "Trashed Posts" -msgstr "Çöpe Atılmış Yazılar" +#: inc/admin/admin.php:22 inc/common/admin-bar.php:254 +msgid "FAQ" +msgstr "SSS" -#: inc/Engine/Admin/Database/Optimization.php:33 -#: inc/Engine/Admin/Settings/Page.php:1505 -msgid "Spam Comments" -msgstr "İstenmeyen Yorumlar" +#: inc/admin/admin.php:24 inc/common/admin-bar.php:63 +msgid "Settings" +msgstr "Ayarlar" -#: inc/Engine/Admin/Database/Optimization.php:34 -#: inc/Engine/Admin/Settings/Page.php:1515 -msgid "Trashed Comments" -msgstr "Çöpe Atılmış Yorumlar" +#: inc/admin/admin.php:96 inc/admin/admin.php:118 inc/deprecated/3.5.php:898 +#: inc/Engine/Cache/AdminSubscriber.php:134 +msgid "Clear this cache" +msgstr "Bu önbelleği temizle" -#: inc/Engine/Admin/Database/Optimization.php:35 -msgid "Transients" -msgstr "Geçiciler" +#: inc/admin/admin.php:397 +msgid "Settings import failed: you do not have the permissions to do this." +msgstr "Ayarları içe aktarma başarısız oldu: bunu yapmak için izniniz yok." -#: inc/Engine/Admin/Database/Optimization.php:36 -msgid "Tables" -msgstr "Tablolar" +#: inc/admin/admin.php:401 +msgid "Settings import failed: no file uploaded." +msgstr "Ayarları içe aktarma başarısız oldu: gönderilen dosya yok." -#: inc/Engine/Admin/Database/Subscriber.php:79 -#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92 -#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137 -msgid "weekly" -msgstr "haftalık" +#: inc/admin/admin.php:405 +msgid "Settings import failed: incorrect filename." +msgstr "Ayarları içe aktarma başarısız oldu: yanlış dosya adı." -#: inc/Engine/Admin/Database/Subscriber.php:85 -msgid "monthly" -msgstr "aylık" +#: inc/admin/admin.php:416 +msgid "Settings import failed: incorrect filetype." +msgstr "Ayarları içe aktarma başarısız oldu: yanlış dosya türü." -#: inc/Engine/Admin/Database/Subscriber.php:194 -msgid "Database optimization process is running" -msgstr "Veritabanı iyileştirme işlemi çalışıyor" +#: inc/admin/admin.php:426 +msgid "Settings import failed: " +msgstr "Ayarları içe aktarma başarısız oldu:" -#: inc/Engine/Admin/Database/Subscriber.php:224 -msgid "" -"Database optimization process is complete. Everything was already optimized!" -msgstr "Veritabanı iyileştirme işlemi tamamlandı. Herşey zaten iyileştirildi!" +#: inc/admin/admin.php:442 +msgid "Settings import failed: unexpected file content." +msgstr "Ayarları içe aktarma başarısız oldu: beklenmeyen dosya içeriği." -#: inc/Engine/Admin/Database/Subscriber.php:227 -msgid "" -"Database optimization process is complete. List of optimized items below:" -msgstr "" -"Veritabanı iyileştirme işlemi tamamlandı. İyileştirilen öğelerin listesi " -"aşağıdadır:" +#: inc/admin/admin.php:472 +msgid "Settings imported and saved." +msgstr "Ayarlar içe aktarıldı ve kaydedildi." -#: inc/Engine/Admin/Database/Subscriber.php:235 -#, php-format -msgid "%1$d %2$s optimized." -msgstr "%1$d %2$s iyi hale getirildi." +#: inc/admin/options.php:84 inc/Engine/Admin/Settings/Page.php:684 +msgid "Excluded CSS Files" +msgstr "Hariç Tutulan CSS Dosyaları" -#: inc/Engine/Admin/Settings/Page.php:201 -msgid "Save Changes" -msgstr "Değişiklikleri Kaydet" +#: inc/admin/options.php:85 inc/Engine/Admin/Settings/Page.php:838 +msgid "Excluded Inline JavaScript" +msgstr "Hariç Tutulan Satır İçi JavaScript" -#: inc/Engine/Admin/Settings/Page.php:201 -msgid "Validate License" -msgstr "Lisansı Doğrula" +#: inc/admin/options.php:86 inc/Engine/Admin/Settings/Page.php:856 +#: inc/Engine/Admin/Settings/Page.php:889 +#: inc/Engine/Admin/Settings/Page.php:936 +msgid "Excluded JavaScript Files" +msgstr "Hariç Tutulan JavaScript Dosyaları" -#: inc/Engine/Admin/Settings/Page.php:257 -#: inc/Engine/Admin/Settings/Page.php:258 -msgid "Unavailable" -msgstr "Mevcut değil" +#: inc/admin/options.php:87 +msgid "Defer JavaScript Files" +msgstr "JavaScript Dosyalarını Ertele" -#: inc/Engine/Admin/Settings/Page.php:352 inc/deprecated/deprecated.php:1789 -#: views/settings/page-sections/dashboard.php:80 -msgid "License" -msgstr "Lisans" +#: inc/admin/options.php:88 +msgid "Excluded Delay JavaScript Files" +msgstr "Hariç Tutulan JavaScript Dosyalarını Geciktirme" -#: inc/Engine/Admin/Settings/Page.php:369 -msgid "API key" -msgstr "API anahtarı" +#: inc/admin/options.php:89 inc/Engine/Admin/Settings/Page.php:1329 +msgid "Never Cache URL(s)" +msgstr "Asla Önbelleklenmeyen URL(ler)" -#: inc/Engine/Admin/Settings/Page.php:384 -msgid "Email address" -msgstr "E-posta adresi" +#: inc/admin/options.php:90 inc/Engine/Admin/Settings/Page.php:1343 +msgid "Never Cache User Agent(s)" +msgstr "Asla Önbelleklenmeyen Kullanıcı Tanıtıcı(ları)sı" -#: inc/Engine/Admin/Settings/Page.php:410 -msgid "Dashboard" -msgstr "Panel" +#: inc/admin/options.php:91 inc/Engine/Admin/Settings/Page.php:1349 +msgid "Always Purge URL(s)" +msgstr "Her Zaman Temizlenen URL(ler)" -#: inc/Engine/Admin/Settings/Page.php:411 -msgid "Get help, account info" -msgstr "Yardım alın, hesap bilgisi" +#: inc/admin/options.php:92 inc/Engine/Admin/Settings/Page.php:1616 +msgid "Exclude files from CDN" +msgstr "CDN’den hariç tutulan dosyalar" -#: inc/Engine/Admin/Settings/Page.php:420 -msgid "My Status" -msgstr "Durumum" +#. translators: 1 and 2 can be anything. +#: inc/admin/options.php:110 +msgid "%1$s: %2$s" +msgstr "%1$s: %2$s" -#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75 -msgid "Rocket Analytics" -msgstr "Rocket Çözümsel" +#: inc/admin/options.php:120 +msgid "The following pattern is invalid and has been removed:" +msgid_plural "The following patterns are invalid and have been removed:" +msgstr[0] "Aşağıdaki desen geçersizdir ve kaldırıldı:" +msgstr[1] "Aşağıdaki desenler geçersizdir ve kaldırıldı:" -#: inc/Engine/Admin/Settings/Page.php:432 -#, php-format -msgid "" -"I agree to share anonymous data with the development team to help improve WP" -" Rocket. %1$sWhat info will we collect?%2$s" -msgstr "" -"WP Rocket’i iyileştirmeye yardımcı olmak için geliştirme ekibiyle isimsiz " -"verileri paylaşmayı kabul ediyorum. %1$sNe tür bilgi toplayacağız?%2$s" +#: inc/admin/options.php:136 +msgid "More info" +msgstr "Daha fazla bilgi" -#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354 -msgid "Cache" -msgstr "Önbellek" +#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:671 +#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147 +#: views/settings/page-sections/dashboard.php:150 +msgid "Clear cache" +msgstr "Önbelleği temizle" -#: inc/Engine/Admin/Settings/Page.php:457 -msgid "Basic cache options" -msgstr "Temel önbellek seçenekleri" +#: inc/admin/ui/meta-boxes.php:67 +msgid "WP Rocket Options" +msgstr "WP Rocket Seçenekleri" -#: inc/Engine/Admin/Settings/Page.php:464 -msgid "Mobile Cache" -msgstr "Mobil Önbelleği" +#: inc/admin/ui/meta-boxes.php:96 +msgid "Never cache this page" +msgstr "Bu sayfayı asla önbellekleme" -#: inc/Engine/Admin/Settings/Page.php:466 -msgid "Speed up your site for mobile visitors." -msgstr "Mobil ziyaretçiler için sitenizi hızlandırın." +#: inc/admin/ui/meta-boxes.php:100 +msgid "Activate these options on this post:" +msgstr "Şu seçenekleri bu yazıda aktif et:" -#: inc/Engine/Admin/Settings/Page.php:471 -msgid "" -"We detected you use a plugin that requires a separate cache for mobile, and " -"automatically enabled this option for compatibility." -msgstr "" -"Mobil için ayrı önbellek gerektiren bir eklenti kullandığınızı saptadık ve " -"uyumluluk için bu seçeneği otomatik olarak etkinleştirdik." +#: inc/admin/ui/meta-boxes.php:103 +msgid "LazyLoad for images" +msgstr "Resimler için LazyLoad" -#: inc/Engine/Admin/Settings/Page.php:475 -msgid "User Cache" -msgstr "Kullanıcı Önbelleği" +#: inc/admin/ui/meta-boxes.php:104 +msgid "LazyLoad for iframes/videos" +msgstr "Iframe’ler ve görüntüler için LazyLoad" -#: inc/Engine/Admin/Settings/Page.php:478 -#, php-format -msgid "" -"%1$sUser cache%2$s is great when you have user-specific or restricted " -"content on your website." -msgstr "" -"Web sitenizde kullanıcıya özgü ya da kısıtlı içeriğe sahip olduğunuzda " -"%1$skullanıcı önbelleği%2$s mükemmeldir." +#: inc/admin/ui/meta-boxes.php:105 +msgid "Minify CSS" +msgstr "CSS’yi küçült" -#: inc/Engine/Admin/Settings/Page.php:486 -msgid "Cache Lifespan" -msgstr "Önbellek Geçerlilik Süresi" +#: inc/admin/ui/meta-boxes.php:106 inc/Engine/Admin/Settings/Page.php:736 +msgid "Remove Unused CSS" +msgstr "Kullanılmayan CSS’yi Kaldır" -#: inc/Engine/Admin/Settings/Page.php:489 -#, php-format -msgid "" -"Cache files older than the specified lifespan will be deleted.
    Enable " -"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan " -"expiration." -msgstr "" -"Belirtilen geçerlilik süresinden eski önbellek dosyaları " -"silinecektir.
    Geçerlilik süresi sona erdikten sonra otomatik olarak " -"yeniden oluşturulması için önbellek %1$sönyüklemeyi%2$s etkinleştirin." +#: inc/admin/ui/meta-boxes.php:107 +msgid "Minify/combine JS" +msgstr "JS’yi küçült/birleştir" -#: inc/Engine/Admin/Settings/Page.php:503 -msgid "Enable caching for logged-in WordPress users" -msgstr "Oturum açmış WordPress kullanıcıları için önbelleklemeyi etkinleştir" +#: inc/admin/ui/meta-boxes.php:108 inc/deprecated/deprecated.php:1773 +#: inc/Engine/Admin/Settings/Page.php:1586 +#: inc/Engine/Admin/Settings/Page.php:1597 +msgid "CDN" +msgstr "CDN" -#: inc/Engine/Admin/Settings/Page.php:511 -msgid "Enable caching for mobile devices" -msgstr "Mobil cihazlar için önbelleklemeyi etkinleştir" +#: inc/admin/ui/meta-boxes.php:109 inc/Engine/Admin/Settings/Page.php:765 +msgid "Load CSS asynchronously" +msgstr "CSS’yi eşzamanlı olmadan yükle" -#: inc/Engine/Admin/Settings/Page.php:526 -msgid "Separate cache files for mobile devices" -msgstr "Mobil cihazlar için önbellek dosyalarını ayır" +#: inc/admin/ui/meta-boxes.php:110 +msgid "Defer JS" +msgstr "JS’i ertele" -#: inc/Engine/Admin/Settings/Page.php:528 -#, php-format +#: inc/admin/ui/meta-boxes.php:111 inc/Engine/Admin/Settings/Page.php:907 +msgid "Delay JavaScript execution" +msgstr "JavaScript’i Geciktir yürütmesi" + +#. translators: %s is the name of the option. +#: inc/admin/ui/meta-boxes.php:130 +msgid "Activate first the %s option." +msgstr "Önce %s seçeneğini aktif edin." + +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/admin/ui/meta-boxes.php:146 msgid "" -"Most modern themes are responsive and should work without a separate cache. " -"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore " -"info%2$s" +"%1$sNote:%2$s None of these options will be applied if this post has been " +"excluded from cache in the global cache settings." msgstr "" -"Çoğu modern temalar hassastır ve ayrı bir önbellek olmadan çalışmalıdır. " -"Bunu sadece tahsis edilmiş bir mobil temanız veya eklentiniz varsa " -"etkinleştirin. %1$sDaha fazla bilgi%2$s" +"%1$sNot:%2$s Bu yazı genel önbellek ayarlarındaki önbellekten hariç " +"tutulduysa, bu seçeneklerden hiçbiri uygulanmayacaktır." -#: inc/Engine/Admin/Settings/Page.php:544 +#. translators: %1$s WP Rocket plugin name; %2$s = file name. +#: inc/admin/ui/notices.php:30 inc/admin/ui/notices.php:43 msgid "" -"Specify time after which the global cache is cleared
    (0 = unlimited )" +"%1$s has not been deactivated due to missing writing permissions.
    \n" +"Make %2$s writeable and retry deactivation, or force deactivation now:" msgstr "" -"Genel önbelleğin ne kadar süre sonra temizleneceği zamanı belirtin
    (0 = " -"sınırsız)" +"%1$s, eksik yazma izinlerinden dolayı devre dışı bırakılmadı.
    \n" +"%2$s yazılabilir yapın ve devre dışı bırakmayı yeniden deneyin, ya da şimdi devre dışı bırakmaya zorlayın:" -#: inc/Engine/Admin/Settings/Page.php:546 -#, php-format +#. translators: %s is WP Rocket plugin name. +#: inc/admin/ui/notices.php:97 msgid "" -"Reduce lifespan to 10 hours or less if you notice issues that seem to appear" -" periodically. %1$sWhy?%2$s" +"%s: One or more plugins have been enabled or disabled, " +"clear the cache if they affect the front end of your site." msgstr "" -"Eğer belirli aralıklarla görünen sorunları fark ederseniz geçerlilik " -"süresini 10 saat veya daha azına düşürün. %1$sNeden?%2$s" - -#: inc/Engine/Admin/Settings/Page.php:552 -#: inc/Engine/License/views/promo-banner.php:30 -#: inc/Engine/License/views/renewal-soon-banner.php:13 -msgid "Hours" -msgstr "Saat" - -#: inc/Engine/Admin/Settings/Page.php:553 -#: inc/Engine/License/views/promo-banner.php:29 -#: inc/Engine/License/views/renewal-soon-banner.php:12 -msgid "Days" -msgstr "Gün" - -#: inc/Engine/Admin/Settings/Page.php:602 -msgid "File Optimization" -msgstr "Dosyaları İyileştirme" - -#: inc/Engine/Admin/Settings/Page.php:603 -msgid "Optimize CSS & JS" -msgstr "CSS ve JS kodlarını iyileştirin" +"%s: Bir ya da daha fazla eklenti etkinleştirildi veya " +"etkisizleştirildi, sitenizin ön ucunu etkilerse önbelleği temizleyin." -#: inc/Engine/Admin/Settings/Page.php:611 -#: inc/Engine/Admin/Settings/Page.php:637 -#, php-format +#. translators: %s is WP Rocket plugin name. +#: inc/admin/ui/notices.php:141 msgid "" -"%1$s Minification is currently activated in Autoptimize. If" -" you want to use %2$s’s minification, disable those options in Autoptimize." +"%s: The following plugins are not compatible with this " +"plugin and may cause unexpected results:" msgstr "" -"%1$s Küçültme şu anda Autoptimize içinde aktif edildi. Eğer" -" %2$s’in küçültmesini kullanmak istiyorsanız, Autoptimize içindeki bu " -"seçenekleri etkisizleştirin." - -#: inc/Engine/Admin/Settings/Page.php:621 -msgid "CSS Files" -msgstr "CSS Dosyaları" +"%s: Aşağıdaki eklentiler bu eklenti ile uyumlu değil ve " +"beklenmeyen sonuçlara neden olabilir:" -#: inc/Engine/Admin/Settings/Page.php:630 -msgid "JavaScript Files" -msgstr "JavaScript Dosyaları" +#: inc/admin/ui/notices.php:147 +msgid "Deactivate" +msgstr "Devre Dışı Bırak" -#: inc/Engine/Admin/Settings/Page.php:642 +#: inc/admin/ui/notices.php:189 msgid "" -"If you have problems after activating this option, copy and paste the " -"default exclusions to quickly resolve issues:" +"WP Rocket Footer JS is not an official add-on. It prevents some options in " +"WP Rocket from working correctly. Please deactivate it if you have problems." msgstr "" -"Eğer bu seçeneği etkinleştirdikten sonra sorun yaşarsanız, sorunları hızlı " -"bir şekilde çözmek için varsayılan hariç tutulanları kopyalayın ve " -"yapıştırın:" +"WP Rocket Footer JS resmi bir eklenti değildir. WP Rocket içindeki bazı " +"seçeneklerin doğru olarak çalışmasını önler. Eğer sorunlar yaşarsanız lütfen" +" devre dşı bırakın." -#: inc/Engine/Admin/Settings/Page.php:646 -#, php-format +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/admin/ui/notices.php:229 msgid "" -"Also, please check our %1$sdocumentation%2$s for a list of compatibility " -"exclusions." +"Endurance Cache is currently enabled, which will conflict with WP Rocket " +"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the " +"%1$sSettings > General%2$s page to prevent any issues." msgstr "" -"Ayrıca, uyumluluk istisnaları listesi için lütfen %1$sbelgelerimizi%2$s " -"gözden geçirin." +"WP Rocket Önbelleği ile çakışacak olan Endurance Önbelleği şu anda " +"etkinleştirildi. Herhangi bir sorunu önlemek için lütfen %1$sAyarlar > " +"Genel%2$s sayfasında Endurance Önbelleğinin önbellek seviyesini Kapalı " +"(Seviye 0) olarak ayarlayın." -#: inc/Engine/Admin/Settings/Page.php:651 +#. translators: %1$s WP Rocket plugin name; %2$s = opening link; %3$s = +#. closing link +#: inc/admin/ui/notices.php:250 msgid "" -"Internal scripts are excluded by default to prevent issues. Remove them to " -"take full advantage of this option." +"%1$s: A custom permalink structure is required for the plugin to work " +"properly. %2$sGo to permalinks settings%3$s" msgstr "" -"Sorunları önlemek için dahili betikler varsayılan olarak hariç tutulur. Bu " -"seçenekten tam olarak yararlanmak için bunları kaldırın." +"%1$s: Özel bir kalıcı bağlantı yapısı eklentinin düzgün bir şekilde " +"çalışması için gereklidir. %2$sKalıcı bağlantılar ayarlarına gidin%3$s" -#: inc/Engine/Admin/Settings/Page.php:654 -#, php-format +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:297 msgid "" -"If this causes trouble, restore the default exclusions, found %1$shere%2$s" +"%s could not modify the .htaccess file due to missing writing permissions." msgstr "" -"Eğer bu, soruna neden olursa, %1$sburada%2$s bulunan varsayılan hariç " -"tutulanları geri yükleyin" - -#: inc/Engine/Admin/Settings/Page.php:663 -msgid "Minify CSS files" -msgstr "CSS dosyalarını küçült" +"Eksik yazma izinlerinden dolayı %s .htaccess dosyasını yapılandıramadı." -#: inc/Engine/Admin/Settings/Page.php:664 -msgid "Minify CSS removes whitespace and comments to reduce the file size." +#. translators: This is a doc title! %1$s = opening link; %2$s = closing link +#: inc/admin/ui/notices.php:303 inc/admin/ui/notices.php:788 +msgid "Troubleshoot: %1$sHow to make system files writeable%2$s" msgstr "" -"CSS’yi küçültme, dosya boyutunu düşürmek için boşlukları ve açıklamaları " -"kaldırır." - -#: inc/Engine/Admin/Settings/Page.php:677 -#: inc/Engine/Admin/Settings/Page.php:701 -#: inc/Engine/Admin/Settings/Page.php:765 -#: inc/Engine/Admin/Settings/Page.php:831 -#: inc/Engine/Admin/Settings/Page.php:855 -msgid "This could break things!" -msgstr "Bu birşeyleri bozabilir!" +"Sorun giderme: %1$sSistem dosyalarını nasıl yazılabilir yaparsınız%2$s" -#: inc/Engine/Admin/Settings/Page.php:678 -#: inc/Engine/Admin/Settings/Page.php:702 -#: inc/Engine/Admin/Settings/Page.php:766 -#: inc/Engine/Admin/Settings/Page.php:832 -#: inc/Engine/Admin/Settings/Page.php:856 +#. translators: Documentation exists in EN, DE, FR, ES, IT; use loaclised URL +#. if applicable +#: inc/admin/ui/notices.php:305 inc/admin/ui/notices.php:790 msgid "" -"If you notice any errors on your website after having activated this " -"setting, just deactivate it again, and your site will be back to normal." -msgstr "" -"Bu ayarı aktif ettikten sonra web sitenizde herhangi bir hata fark " -"ederseniz, sadece tekrar devre dışı bırakın, ve siteniz normale dönecektir." - -#: inc/Engine/Admin/Settings/Page.php:679 -msgid "Activate minify CSS" -msgstr "CSS küçültmeyi aktif et" - -#: inc/Engine/Admin/Settings/Page.php:684 -msgid "Combine CSS files (Enable Minify CSS files to select)" +"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" +"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" msgstr "" -"CSS dosyalarını birleştir (Seçmek için CSS dosyalarını küçült’ü " -"etkinleştirin)" +"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" +"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" -#: inc/Engine/Admin/Settings/Page.php:686 -#, php-format +#: inc/admin/ui/notices.php:311 msgid "" -"Combine CSS merges all your files into 1, reducing HTTP requests. Not " -"recommended if your site uses HTTP/2. %1$sMore info%2$s" +"Don’t worry, WP Rocket’s page caching and settings will still function " +"correctly." msgstr "" -"CSS dosyalarını birleştirme, tüm dosyalarınızı 1 tane içine birleştirir, " -"HTTP isteklerini azaltır. Siteniz HTTP/2 kullanıyorsa önerilemez. %1$sDaha " -"fazla bilgi%2$s" +"Endişelenmeyin, WP Rocket’in sayfa önbelleklemesi ve ayarları hala düzgün " +"çalışacaktır." -#: inc/Engine/Admin/Settings/Page.php:687 +#: inc/admin/ui/notices.php:311 msgid "" -"For compatibility and best results, this option is disabled when Remove " -"unused CSS is enabled." +"For optimal performance, adding the following lines into your .htaccess is " +"recommended (not required):" msgstr "" -"Uyumluluk ve en iyi sonuçlar için Kullanılmayan CSS’yi Kaldır " -"etkinleştirildiğinde, bu seçenek etkisizleştirilir." - -#: inc/Engine/Admin/Settings/Page.php:703 -msgid "Activate combine CSS" -msgstr "CSS birleştirmeyi aktif et" - -#: inc/Engine/Admin/Settings/Page.php:708 inc/admin/options.php:124 -msgid "Excluded CSS Files" -msgstr "Hariç Tutulan CSS Dosyaları" +"En iyi performans için .htaccess dosyanıza aşağıdaki satırları eklemeniz " +"önerilir (gerekli değil):" -#: inc/Engine/Admin/Settings/Page.php:709 +#. translators: %1$s = plugin name, %2$s + %3$s = opening links, %4$s = +#. closing link +#: inc/admin/ui/notices.php:458 msgid "" -"Specify URLs of CSS files to be excluded from minification and concatenation" -" (one per line)." +"%1$s is good to go! %2$sTest your load time%4$s, or visit your " +"%3$ssettings%4$s." msgstr "" -"Küçültmeden ve birleştirmeden hariç tutulacak CSS dosyalarının URL’lerini " -"belirtin (her satıra bir tane)." +"%1$s gitmeye hazır! %2$sYükleme sürenizi deneyin%4$s, ya da " +"%3$sayarlarınızı%4$s ziyaret edin." -#: inc/Engine/Admin/Settings/Page.php:710 +#: inc/admin/ui/notices.php:499 msgid "" -"Internal: The domain part of the URL will be stripped " -"automatically. Use (.*).css wildcards to exclude all CSS files located at a " -"specific path." +"Would you allow WP Rocket to collect non-sensitive diagnostic data from this" +" website?" msgstr "" -"Dahili: URL’nin etki alanı kısmı otomatik olarak " -"sadeleştirilecektir. Belirli bir yolda bulunan tüm CSS dosyalarını hariç " -"tutmak için (.*).css joker karakterlerini kullanın." +"WP Rocket’in hassas olmayan tanılama verilerini bu web sitesinden " +"toplamasına izin verir misiniz?" -#: inc/Engine/Admin/Settings/Page.php:712 -#, php-format -msgid "" -"3rd Party: Use either the full URL path or only the domain " -"name, to exclude external CSS. %1$sMore info%2$s" +#: inc/admin/ui/notices.php:500 +msgid "This would help us to improve WP Rocket for you in the future." msgstr "" -"3. Taraf: Harici CSS dosyalarını dahil etmemek için ya URL " -"tam yolunu ya da sadece etki alanı adını kullanın. %1$sDaha fazla bilgi%2$s" +"Bu bize gelecekte WP Rocket’i sizin için iyileştirmemize yardımcı olacak." -#: inc/Engine/Admin/Settings/Page.php:725 -#: inc/Engine/Admin/Settings/Page.php:747 -msgid "Optimize CSS delivery" -msgstr "CSS teslimini iyileştir" +#. translators: button text, click will expand data collection preview +#: inc/admin/ui/notices.php:506 +msgid "What info will we collect?" +msgstr "Ne tür bilgi toplayacağız?" -#: inc/Engine/Admin/Settings/Page.php:730 +#: inc/admin/ui/notices.php:511 msgid "" -"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " -"one method can be selected. Remove Unused CSS is recommended for optimal " -"performance, but limited only to the users with active license." +"Below is a detailed view of all data WP Rocket will collect if granted " +"permission. WP Rocket will never transmit any domain names or email " +"addresses (except for license validation), IP addresses, or third-party API " +"keys." msgstr "" -"CSS teslimini en iyi hale getirmek, web sitenizde işleme engelleyici CSS’yi " -"ortadan kaldırır. Sadece bir yöntem seçilebilir. En iyi performans için " -"Kullanılmayan CSS’yi Kaldır önerilir, ancak sadece aktif lisansa sahip " -"kullanıcılarla sınırlıdır." +"Aşağıdakiler, izin verildiği takdirde WP Rocket’in toplayacağı tüm verilerin" +" ayrıntılı bir görünümüdür. WP Rocket asla herhangi bir etki alanı adı veya " +"e-posta adresini (lisans doğrulaması hariç), IP adresini ya da üçüncü taraf " +"API anahtarını iletmez." -#: inc/Engine/Admin/Settings/Page.php:730 -msgid "" -"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " -"one method can be selected. Remove Unused CSS is recommended for optimal " -"performance." -msgstr "" -"CSS teslimini en iyi hale getirmek, web sitenizde işleme engelleyici CSS’yi " -"ortadan kaldırır. Sadece bir yöntem seçilebilir. En iyi performans için " -"Kullanılmayan CSS’yi Kaldır önerilir." +#. translators: button text for data collection opt-in +#: inc/admin/ui/notices.php:520 +msgid "Yes, allow" +msgstr "Evet, izin ver" -#: inc/Engine/Admin/Settings/Page.php:740 -#, php-format -msgid "" -"Optimize CSS Delivery features are disabled on local environments. %1$sLearn" -" more%2$s" -msgstr "" -"CSS teslimini iyileştir özellikleri yerel ortamlarda etkisizleştirilir. " -"%1$sDaha fazla bilgi edinin%2$s" +#. translators: button text for data collection opt-in +#: inc/admin/ui/notices.php:523 +msgid "No, thanks" +msgstr "Hayır, teşekkürler" -#: inc/Engine/Admin/Settings/Page.php:760 inc/admin/ui/meta-boxes.php:106 -msgid "Remove Unused CSS" -msgstr "Kullanılmayan CSS’yi Kaldır" +#: inc/admin/ui/notices.php:562 +msgid "Thank you!" +msgstr "Teşekkür ederiz!" -#: inc/Engine/Admin/Settings/Page.php:763 -#, php-format -msgid "" -"Removes unused CSS per page and helps to reduce page size and HTTP requests." -" Recommended for best performance. Test thoroughly! %1$sMore info%2$s" -msgstr "" -"Kullanılmayan CSS’yi sayfa başına kaldırır ve sayfa boyutunu ve HTTP " -"isteklerini azaltmaya yardımcı olur. Daha iyi performans için önerilir. " -"İyice deneyin! %1$sDaha fazla bilgi%2$s" +#: inc/admin/ui/notices.php:567 +msgid "WP Rocket now collects these metrics from your website:" +msgstr "WP Rocket web sitenizden şimdi şu ölçümleri toplar:" -#: inc/Engine/Admin/Settings/Page.php:767 -msgid "Activate Remove Unused CSS" -msgstr "Kullanılmayan CSS’yi Kaldır’ı aktif et" +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:605 +msgid "%s: Cache cleared." +msgstr "%s: Önbellek temizlendi." -#: inc/Engine/Admin/Settings/Page.php:773 -msgid "CSS safelist" -msgstr "CSS güvenli listesi" +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:612 +msgid "%s: Post cache cleared." +msgstr "%s: Yazı önbelleği temizlendi." -#: inc/Engine/Admin/Settings/Page.php:774 -msgid "" -"Specify CSS filenames, IDs or classes that should not be removed (one per " -"line)." -msgstr "" -"Kaldırılmaması gereken CSS dosya adlarını, kimliklerini veya sınıfları " -"belirtin (her satıra bir tane)." +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:619 +msgid "%s: Term cache cleared." +msgstr "%s: Terim önbelleği temizlendi." -#: inc/Engine/Admin/Settings/Page.php:789 inc/admin/ui/meta-boxes.php:109 -msgid "Load CSS asynchronously" -msgstr "CSS’yi eşzamanlı olmadan yükle" +#. translators: %s = plugin name). +#: inc/admin/ui/notices.php:626 +msgid "%s: User cache cleared." +msgstr "%s: Kullanıcı önbelleği temizlendi." -#: inc/Engine/Admin/Settings/Page.php:792 -#, php-format -msgctxt "WP Critical CSS compatibility" -msgid "" -"Load CSS asynchronously is currently handled by the %1$s plugin. If you want" -" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin." -msgstr "" -"CSS’yi eşzamanlı olmadan yükleme, şu anda %1$s eklentisi tarafından " -"işlenmektedir. WP Rocket’in CSS’yi eşzamanlı olmadan yükleme seçeneğini " -"kullanmak istiyorsanız, %1$s eklentisini etkisizleştirin." +#: inc/admin/ui/notices.php:662 inc/Engine/License/views/promo-banner.php:36 +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32 +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42 +#: inc/Engine/License/views/renewal-expired-banner.php:30 +#: views/settings/page-sections/dashboard.php:46 +msgid "Dismiss this notice" +msgstr "Bu bildirimi anımsatma" -#: inc/Engine/Admin/Settings/Page.php:794 -#, php-format -msgid "" -"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s" -msgstr "" -"Önemli Yol CSS’yi oluşturur ve CSS’yi eşzamanlı olmadan yükler. %1$sDaha " -"fazla bilgi%2$s" +#: inc/admin/ui/notices.php:682 +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131 +#: views/settings/page-sections/dashboard.php:188 +msgid "Clear Used CSS" +msgstr "Kullanılan CSS’yi Temizle" -#: inc/Engine/Admin/Settings/Page.php:800 -msgid "Fallback critical CSS" -msgstr "Son çare önemli CSS" +#: inc/admin/ui/notices.php:685 +msgid "Stop Preload" +msgstr "Önyüklemeyi durdur" -#: inc/Engine/Admin/Settings/Page.php:802 -#, php-format -msgid "" -"Provides a fallback if auto-generated critical path CSS is incomplete. " -"%1$sMore info%2$s" -msgstr "" -"Otomatik oluşturulmuş önemli yol CSS tamamlanmazsa son bir çare sağlar. " -"%1$sDaha fazla bilgi%2$s" +#: inc/admin/ui/notices.php:691 +msgid "Turn on Remove Unused CSS" +msgstr "Kullanılmayan CSS’yi Kaldır’ı Aç" -#: inc/Engine/Admin/Settings/Page.php:817 -msgid "Minify JavaScript files" -msgstr "JavaScript dosyalarını küçült" +#: inc/admin/ui/notices.php:697 +msgid "Enable “Separate Cache Files for Mobile Devices” now" +msgstr "“Mobil Cihazlar İçin Önbellek Dosyalarını Ayır”ı şimdi etkinleştir" -#: inc/Engine/Admin/Settings/Page.php:818 -msgid "" -"Minify JavaScript removes whitespace and comments to reduce the file size." -msgstr "" -"JavaScript’i küçültme, dosya boyutunu düşürmek için boşlukları ve " -"açıklamaları kaldırır." +#: inc/admin/ui/notices.php:715 +msgid "Force deactivation " +msgstr "Devre dışı bırakmaya zorla" -#: inc/Engine/Admin/Settings/Page.php:833 -msgid "Activate minify JavaScript" -msgstr "JavaScript küçültmeyi aktif et" +#: inc/admin/ui/notices.php:745 +msgid "The following code should have been written to this file:" +msgstr "Aşağıdaki kod bu dosyaya yazılmalıdır:" + +#. translators: %s = plugin name. +#: inc/admin/ui/notices.php:776 +msgid "%s cannot configure itself due to missing writing permissions." +msgstr "Eksik yazma izinlerinden dolayı %s kendini yapılandıramıyor." + +#. translators: %s = file/folder name +#: inc/admin/ui/notices.php:782 +msgid "Affected file/folder: %s" +msgstr "Etkilenen dosya/klasör: %s" + +#: inc/classes/admin/class-logs.php:124 +msgid "The debug file could not be deleted." +msgstr "Hata ayıklama dosyası silinemedi." + +#. Translators: %1$s = Plugin name, %2$s = Plugin version. +#: inc/classes/class-wp-rocket-requirements-check.php:147 +msgid "To function properly, %1$s %2$s requires at least:" +msgstr "Düzgün bir şekilde işlemesi için %1$s %2$s en az gerektirdiği:" -#: inc/Engine/Admin/Settings/Page.php:838 +#. Translators: %1$s = PHP version required. +#: inc/classes/class-wp-rocket-requirements-check.php:151 msgid "" -"Combine JavaScript files (Enable Minify JavaScript files to select)" +"PHP %1$s. To use this WP Rocket version, please ask your web host how to " +"upgrade your server to PHP %1$s or higher." msgstr "" -"JavaScript dosyalarını birleştir (Seçmek için JavaScript dosyalarını " -"küçült’ü etkinleştirin)" +"PHP %1$s. Bu WP Rocket sürümünü kullanmak için lütfen web barındırıcınıza " +"sunucunuzu PHP %1$s veya daha yükseğine nasıl yükselteceğinizi sorun." -#: inc/Engine/Admin/Settings/Page.php:840 -#, php-format +#. Translators: %1$s = WordPress version required. +#: inc/classes/class-wp-rocket-requirements-check.php:156 msgid "" -"Combine JavaScript files combines your site’s internal, 3rd party and inline" -" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. " -"%1$sMore info%2$s" +"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to " +"version %1$s or higher." msgstr "" -"JavaScript dosyalarını birleştirme, sitenizin dahili, 3. taraf ve satır içi " -"JS dosyalarını birleştirir, HTTP isteklerini azaltır. Siteniz HTTP/2 " -"kullanıyorsa önerilmez. %1$sDaha fazla bilgi%2$s" +"WordPress %1$s. Bu WP Rocket sürümünü kullanmak için lütfen WordPress’i %1$s" +" sürümü veya daha yükseğine yükseltin." -#: inc/Engine/Admin/Settings/Page.php:841 +#: inc/classes/class-wp-rocket-requirements-check.php:159 msgid "" -"For compatibility and best results, this option is disabled when delay " -"javascript execution is enabled." +"If you are not able to upgrade, you can rollback to the previous version by " +"using the button below." msgstr "" -"Uyumluluk ve en iyi sonuçlar için javascript’i geciktir yürütmesi " -"etkinleştirildiğinde bu seçenek etkisizleştirilir." +"Eğer yükseltemiyorsanız, aşağıdaki düğmeyi kullanarak önceki sürüme geri " +"alabilirsiniz." -#: inc/Engine/Admin/Settings/Page.php:857 -msgid "Activate combine JavaScript" -msgstr "JavaScript birleştirmeyi aktif et" +#. Translators: %s = Previous plugin version. +#: inc/classes/class-wp-rocket-requirements-check.php:161 +#: inc/deprecated/deprecated.php:1947 +msgid "Re-install version %s" +msgstr "%s sürümünü yeniden yükle" -#: inc/Engine/Admin/Settings/Page.php:862 inc/admin/options.php:125 -msgid "Excluded Inline JavaScript" -msgstr "Hariç Tutulan Satır İçi JavaScript" +#. translators: %s is the plugin name. +#: inc/classes/class-wp-rocket-requirements-check.php:203 +#: inc/classes/class-wp-rocket-requirements-check.php:214 +#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251 +#: inc/Engine/Plugin/UpdaterSubscriber.php:483 +#: inc/Engine/Plugin/UpdaterSubscriber.php:497 +msgid "%s Update Rollback" +msgstr "%s Güncellemesi Geri Alma" -#: inc/Engine/Admin/Settings/Page.php:864 -#, php-format +#. translators: %1$s = missing tags; +#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151 msgid "" -"Specify patterns of inline JavaScript to be excluded from concatenation (one" -" per line). %1$sMore info%2$s" -msgstr "" -"Birleştirmeden hariç tutulacak satır içi JavaScript dosyalarının örneklerini" -" belirtin (her satıra bir tane). %1$sDaha fazla bilgi%2$s" - -#: inc/Engine/Admin/Settings/Page.php:880 -#: inc/Engine/Admin/Settings/Page.php:913 -#: inc/Engine/Admin/Settings/Page.php:960 inc/admin/options.php:126 -msgid "Excluded JavaScript Files" -msgstr "Hariç Tutulan JavaScript Dosyaları" +"Failed to detect the following requirement in your theme: closing %1$s." +msgid_plural "" +"Failed to detect the following requirements in your theme: closing %1$s." +msgstr[0] "" +"Temanızdaki şurada belirtilen gereksinimi algılama başarısız: %1$s " +"kapatılıyor." +msgstr[1] "" +"Temanızdaki şurada belirtilen gereksinimleri algılama başarısız: %1$s " +"kapatılıyor." -#: inc/Engine/Admin/Settings/Page.php:881 +#. translators: Documentation exists in EN, FR; use localized URL if +#. applicable. +#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159 msgid "" -"Specify URLs of JavaScript files to be excluded from minification and " -"concatenation (one per line)." +"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" +"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" msgstr "" -"Küçültmeden ve birleştirmeden hariç tutulacak JavaScript dosyalarının " -"URL’lerini belirtin (her satıra bir tane)." +"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" +"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" -#: inc/Engine/Admin/Settings/Page.php:882 -msgid "" -"Internal: The domain part of the URL will be stripped " -"automatically. Use (.*).js wildcards to exclude all JS files located at a " -"specific path." -msgstr "" -"Dahili: URL’nin etki alanı kısmı otomatik olarak " -"sadeleştirilecektir. Belirli bir yolda bulunan tüm JS dosyalarını hariç " -"tutmak için (.*).js joker karakterlerini kullanın." +#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147 +#: views/settings/page-sections/dashboard.php:150 +msgid "Clear and preload cache" +msgstr "Önbelleği temizle ve önyükle" -#: inc/Engine/Admin/Settings/Page.php:884 -#, php-format -msgid "" -"3rd Party: Use either the full URL path or only the domain " -"name, to exclude external JS. %1$sMore info%2$s" -msgstr "" -"3. Taraf: Harici JS dosyalarını dahil etmemek için ya URL " -"tam yolunu ya da sadece etki alanı adını kullanın. %1$sDaha fazla bilgi%2$s" +#: inc/common/admin-bar.php:135 inc/functions/i18n.php:40 +#: inc/functions/i18n.php:50 +msgid "All languages" +msgstr "Tüm diller" -#: inc/Engine/Admin/Settings/Page.php:900 -msgid "Load JavaScript deferred" -msgstr "Ertelenmiş JavaScript yükle" +#: inc/common/admin-bar.php:171 +msgid "Clear this post" +msgstr "Bu yazıyı temizle" -#: inc/Engine/Admin/Settings/Page.php:902 -#, php-format -msgid "" -"Load JavaScript deferred eliminates render-blocking JS on your site and can " -"improve load time. %1$sMore info%2$s" -msgstr "" -"Ertelenmiş JavaScript yüklemek, yükleme süresini iyileştirebilir ve " -"sitenizdeki işleyişi engelleyen JS’yi aradan kaldırır. %1$sDaha fazla " -"bilgi%2$s" +#: inc/common/admin-bar.php:185 +msgid "Purge this URL" +msgstr "Bu URL’yi temizle" -#: inc/Engine/Admin/Settings/Page.php:915 -#, php-format -msgid "" -"Specify URLs or keywords of JavaScript files to be excluded from defer (one " -"per line). %1$sMore info%2$s" -msgstr "" -"Ertelenmeden hariç tutulacak JavaScript dosyalarının URL’lerini ya da " -"anahtar kelimelerini belirtin (her satıra bir tane). %1$sDaha fazla " -"bilgi%2$s" +#: inc/common/admin-bar.php:205 +msgid "Purge Sucuri cache" +msgstr "Sucuri önbelleğini temizle" -#: inc/Engine/Admin/Settings/Page.php:931 inc/admin/ui/meta-boxes.php:111 -msgid "Delay JavaScript execution" -msgstr "JavaScript’i Geciktir yürütmesi" +#: inc/common/admin-bar.php:229 views/settings/fields/rocket-cdn.php:55 +msgid "Purge RocketCDN cache" +msgstr "RocketCDN önbelleğini temizle" -#: inc/Engine/Admin/Settings/Page.php:933 -#, php-format -msgid "" -"Improves performance by delaying the loading of JavaScript files until user " -"interaction (e.g. scroll, click). %1$sMore info%2$s" -msgstr "" -"JavaScript dosyalarının yüklenmesini, kullanıcı etkileşimine (örn. kaydırma," -" tıklama) kadar geciktirerek performansı artırır. %1$sDaha fazla bilgi%2$s" +#: inc/common/admin-bar.php:242 views/settings/partials/documentation.php:14 +msgid "Documentation" +msgstr "Belgeler" -#: inc/Engine/Admin/Settings/Page.php:942 -msgid "One-click exclusions" -msgstr "Tek tıkla hariç tutmalar" +#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36 +msgid "Activate Imagify" +msgstr "Imagify’ı Etkinleştir" + +#: inc/deprecated/3.2.php:52 +msgid "Install Imagify for Free" +msgstr "Imagify’ı Ücretsiz Yükleyin" -#: inc/Engine/Admin/Settings/Page.php:943 +#: inc/deprecated/3.2.php:67 msgid "" -"When using the Delay JavaScript Execution, you might experience delay " -"loading elements located in the viewport that need to appear immediately - " -"e.g. slider, header, menu." +"Speed up your website and boost your SEO by reducing image file sizes " +"without losing quality with Imagify." msgstr "" -"JavaScript’i Geciktir Yürütmesini kullanırken, görünüm alanında bulunan ve " -"hemen görünmesi gereken öğelerin yüklenmesinde gecikme yaşayabilirsiniz - " -"örn. kaydırıcı, başlık, menü." +"Imagify ile resim dosyası boyutlarını kalite kaybetmeden küçülterek web " +"sitenizi hızlandırın ve SEO’nuzu yükseltin." + +#: inc/deprecated/3.2.php:72 +msgid "More details" +msgstr "Daha fazla ayrıntı" + +#. translators: %d is the number of pages preloaded. +#: inc/deprecated/3.2.php:228 +msgid "Sitemap preload: %d pages have been cached." +msgstr "Site haritası önyükleme: %d sayfa önbelleklendi." -#: inc/Engine/Admin/Settings/Page.php:944 +#. translators: %d = Number of pages preloaded. +#: inc/deprecated/3.2.php:261 msgid "" -"If you need instant visibility, click below on files that should NOT be " -"delayed. This selection will help users interact with the elements straight " -"away." +"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see " +"progress)" msgstr "" -"Eğer anında görünürlüğe ihtiyacınız varsa, geciktirilmemesi gereken " -"dosyalara aşağıdan tıklayın. Bu seçim, kullanıcıların öğelerle hemen " -"etkileşim kurmasına yardımcı olacak." +"Site haritası önyükleme: %d önbelleklenmeyen sayfanın şimdi önyüklemesi " +"yapıldı. (ilerlemeyi görmek için yenileyin)" -#: inc/Engine/Admin/Settings/Page.php:961 +#. translators: %s is an URL. +#: inc/deprecated/3.3.php:761 inc/deprecated/3.3.php:770 +#: inc/Engine/Plugin/UpdaterApiTools.php:32 msgid "" -"Specify URLs or keywords that can identify inline or JavaScript files to be " -"excluded from delaying execution (one per line)." +"An unexpected error occurred. Something may be wrong with WP-Rocket.me or " +"this server’s configuration. If you continue to have problems, contact support." msgstr "" -"Yürütmeyi geciktirmenin dışında bırakılacağı satır içi veya JavaScript " -"dosyalarını tanımlayabilecek URL’leri veya anahtar kelimeleri belirtin (her " -"satıra bir tane)." - -#: inc/Engine/Admin/Settings/Page.php:993 -msgid "Media" -msgstr "Ortam" - -#: inc/Engine/Admin/Settings/Page.php:994 -msgid "LazyLoad, image dimensions" -msgstr "LazyLoad, resim boyutları" +"Beklenmeyen bir hata meydana geldi. WP-Rocket.me veya bu sunucunun " +"yapılandırması ile ilgili birşey yanlış gitmiş olabilir. Eğer sorunlar " +"yaşamaya devam ederseniz, destekle iletişime geçin." -#: inc/Engine/Admin/Settings/Page.php:1003 -msgid "Autoptimize" -msgstr "Otoiyileştir" +#: inc/deprecated/3.4.php:18 +msgid "Choose a domain from the list" +msgstr "Listeden bir etki alanı seçin" -#: inc/Engine/Admin/Settings/Page.php:1048 -msgid "LazyLoad" -msgstr "LazyLoad" +#: inc/deprecated/3.4.php:31 +msgid "No domain available in your Cloudflare account" +msgstr "Cloudflare hesabınızda hiç etki alanı mevcut değil" -#: inc/Engine/Admin/Settings/Page.php:1051 -#, php-format +#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195 msgid "" -"It can improve actual and perceived loading time as images, iframes, and " -"videos will be loaded only as they enter (or about to enter) the viewport " -"and reduces the number of HTTP requests. %1$sMore Info%2$s" +"Curl is disabled on your server. Please ask your host to enable it. This is " +"required for the Cloudflare Add-on to work correctly." msgstr "" -"Resimlerin, iframe’lerin, ve görüntülerin sadece görüntü alanına girmesiyle " -"(ya da girmek üzereyken) yükleneceği gibi asıl ve farkedilir yükleme " -"süresini iyileştirebilir ve HTTP isteklerinin sayısını azaltır. %1$sDaha " -"Fazla Bilgi%2$s" +"Curl, sunucunuzda etkisizleştirilmiş. Lütfen barındırıcınızdan bunu " +"etkinleştirmesini isteyin. Bu, Cloudflare Eklentisinin doğru çalışması için " +"gereklidir." -#: inc/Engine/Admin/Settings/Page.php:1058 -#, php-format +#. translators: %1$s = opening link; %2$s = closing link +#: inc/deprecated/3.5.php:79 msgid "" -"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s " -"LazyLoad, disable this option in %2$s." +"Cloudflare email, API key and Zone ID are not set. Read the " +"%1$sdocumentation%2$s for further guidance." msgstr "" -"LazyLoad şu anda %2$s içinde aktif edildi. Eğer WP Rocket’in LazyLoad’ını " -"kullanmak istiyorsanız, %2$s içindeki bu seçeneği etkisizleştirin." - -#: inc/Engine/Admin/Settings/Page.php:1061 -msgid "Image Dimensions" -msgstr "Resim Boyutları" +"Cloudflare e-posta adresi, API anahtarı ve Bölge Kimliği ayarlı değil. Daha " +"fazla rehberlik için %1$sbelgeleri%2$s okuyun." -#: inc/Engine/Admin/Settings/Page.php:1064 -#, php-format +#. translators: %1$s = opening link; %2$s = closing link +#: inc/deprecated/3.5.php:206 msgid "" -"Add missing width and height attributes to images. Helps prevent layout " -"shifts and improve the reading experience for your visitors. %1$sMore " -"info%2$s" +"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for" +" further guidance." msgstr "" -"Resimlere eksik genişlik ve yükseklik özniteliklerini ekleyin. Düzen " -"değişimlerini önlemeye ve ziyaretçileriniz için okuma deneyimini " -"iyileştirmeye yardımcı olur. %1$sDaha fazla bilgi%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1083 -msgid "Enable for images" -msgstr "Resimler için etkinleştir" - -#: inc/Engine/Admin/Settings/Page.php:1095 -#, php-format -msgid "" -"LazyLoad for images is currently activated in %2$s. If you want to use " -"%1$s’s LazyLoad, disable this option in %2$s." -msgstr "" -"Resimler için LazyLoad şu anda %2$s içinde aktif edildi. Eğer %1$s’in " -"LazyLoad’ını kullanmak istiyorsanız, %2$s içindeki bu seçeneği " -"etkisizleştirin." +"Cloudflare e-posta adresi ve API anahtarı ayarlı değil. Daha fazla rehberlik" +" için %1$sbelgeleri%2$s okuyun." -#: inc/Engine/Admin/Settings/Page.php:1103 -msgid "Enable for iframes and videos" -msgstr "Iframe’ler ve görüntüler için etkinleştir" +#: inc/deprecated/3.5.php:271 +msgid "Connection to Cloudflare failed" +msgstr "Cloudflare’a bağlantı başarısız oldu" -#: inc/Engine/Admin/Settings/Page.php:1118 -msgid "Replace YouTube iframe with preview image" -msgstr "Önizleme resmi ile YouTube iframe’ini değiştir" +#. translators: %s = CloudFare API return message. +#: inc/deprecated/3.5.php:587 +msgid "WP Rocket: %s" +msgstr "WP Rocket: %s" -#: inc/Engine/Admin/Settings/Page.php:1120 -#, php-format -msgid "Replace YouTube iframe with preview image is not compatible with %2$s." +#: inc/deprecated/3.5.php:592 +msgid "WP Rocket: Cloudflare cache successfully purged." msgstr "" -"Önizleme resmi ile değiştirilen YouTube iframe’i %2$s ile uyumlu değil." +"WP Rocket: Cloudflare önbelleği başarılı olarak temizlendi." -#: inc/Engine/Admin/Settings/Page.php:1120 +#: inc/deprecated/3.5.php:858 inc/Engine/HealthCheck/HealthCheck.php:81 msgid "" -"This can significantly improve your loading time if you have a lot of " -"YouTube videos on a page." -msgstr "" -"Bir sayfada çok sayıda YouTube görüntüsüne sahipseniz bu önemli ölçüde " -"yükleme sürenizi iyileştirebilir." - -#: inc/Engine/Admin/Settings/Page.php:1135 -msgid "Excluded images or iframes" -msgstr "Hariç tutulan resimler veya iframe’ler" +"The following scheduled event failed to run. This may indicate the CRON " +"system is not running properly, which can prevent some WP Rocket features " +"from working as intended:" +msgid_plural "" +"The following scheduled events failed to run. This may indicate the CRON " +"system is not running properly, which can prevent some WP Rocket features " +"from working as intended:" +msgstr[0] "" +"Aşağıdaki zamanlanan olayın çalıştırılması başarısız oldu. Bu, CRON " +"sisteminin düzgün bir şekilde çalışmadığını gösterebilir ve bu da bazı WP " +"Rocket özelliklerinin beklendiği gibi çalışmasını engelleyebilir:" +msgstr[1] "" +"Aşağıdaki zamanlanan olayların çalıştırılması başarısız oldu. Bu, CRON " +"sisteminin düzgün bir şekilde çalışmadığını gösterebilir ve bu da bazı WP " +"Rocket özelliklerinin beklendiği gibi çalışmasını engelleyebilir:" -#: inc/Engine/Admin/Settings/Page.php:1137 -#, php-format -msgid "" -"Specify keywords (e.g. image filename, CSS class, domain) from the image or " -"iframe code to be excluded (one per line). %1$sMore info%2$s" +#: inc/deprecated/3.5.php:867 inc/Engine/HealthCheck/HealthCheck.php:88 +msgid "Please contact your host to check if CRON is working." msgstr "" -"Resim veya iframe kodundan hariç tutulacak anahtar kelimeleri (örn. resim " -"dosya adı, CSS sınıfı, etki alanı) belirtin (her satıra bir tane). %1$sDaha " -"fazla bilgi%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1145 -msgid "Add missing image dimensions" -msgstr "Eksik resim boyutlarını ekle" +"CRON’un çalışıp çalışmadığını denetlemek için lütfen barındırıcınız ile " +"iletişime geçin." -#: inc/Engine/Admin/Settings/Page.php:1164 inc/deprecated/deprecated.php:1776 -msgid "Preload" -msgstr "Önyükleme" +#: inc/deprecated/3.10.php:163 +msgid "OPcache purge failed." +msgstr "OPcache temizleme başarısız oldu." -#: inc/Engine/Admin/Settings/Page.php:1165 -msgid "Generate cache files, preload fonts" -msgstr "Önbellek dosyalarını oluşturun, yazı tiplerini önyükleyin" +#: inc/deprecated/3.10.php:168 +msgid "OPcache successfully purged" +msgstr "OPcache başarılı olarak temizlendi" -#: inc/Engine/Admin/Settings/Page.php:1177 -msgid "Preload Cache" -msgstr "Önbelleği Önyükle" +#: inc/deprecated/3.11.php:81 +msgid "Yoast SEO XML sitemap" +msgstr "Yoast SEO XML site haritası" -#: inc/Engine/Admin/Settings/Page.php:1180 +#. translators: %s = Name of the plugin. +#. translators: %s = plugin name, e.g. Yoast SEO. +#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58 +#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186 +#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342 msgid "" -"When you enable preloading WP Rocket will automatically detect your sitemaps" -" and save all URLs to the database. The plugin will make sure that your " -"cache is always preloaded." +"We automatically detected the sitemap generated by the %s plugin. You can " +"check the option to preload it." msgstr "" -"Önceden yüklemeyi etkinleştirdiğinizde WP Rocket, site haritalarınızı " -"otomatik olarak algılayacak ve tüm URL’leri veritabanına kaydedecek. " -"Eklenti, önbelleğinizin her zaman önceden yüklendiğinden emin olacak." - -#: inc/Engine/Admin/Settings/Page.php:1188 -msgid "Preload Links" -msgstr "Bağlantıları Önyükle" +"%s eklentisi tarafından üretilen site haritasını otomatik olarak algıladık. " +"Önyüklemek için seçeneği işaretleyebilirsiniz." -#: inc/Engine/Admin/Settings/Page.php:1191 -#, php-format -msgid "" -"Link preloading improves the perceived load time by downloading a page when " -"a user hovers over the link. %1$sMore info%2$s" +#. translators: 1 and 3 are link openings, 2 is a link closing. +#: inc/deprecated/3.11.php:279 inc/Engine/Plugin/UpdaterSubscriber.php:520 +msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s" msgstr "" -"Bağlantı önyükleme, kullanıcı bağlantının üzerine geldiğinde bir sayfa " -"indirerek algılanan yükleme süresini iyileştirir. %1$sDaha fazla bilgi%2$s" - -#: inc/Engine/Admin/Settings/Page.php:1199 -msgid "Prefetch DNS Requests" -msgstr "DNS İsteklerini Önceden Getirme" +"%1$sWP Rocket’a geri dönün%2$s ya da %3$sEklentiler sayfasına gidin%2$s" -#: inc/Engine/Admin/Settings/Page.php:1201 -msgid "" -"DNS prefetching can make external files load faster, especially on mobile " -"networks" -msgstr "" -"Önceden DNS getirme, harici dosyaları daha hızlı yüklemeyi sağlayabilir, " -"özellikle de mobil ağlarda" +#: inc/deprecated/3.12.php:56 +msgid "All in One SEO XML sitemap" +msgstr "All in One SEO XML site haritası" -#: inc/Engine/Admin/Settings/Page.php:1206 -msgid "Preload Fonts" -msgstr "Yazı Tiplerini Önyükle" +#: inc/deprecated/3.12.php:85 +msgid "Rank Math XML sitemap" +msgstr "Rank Math XML site haritası" -#: inc/Engine/Admin/Settings/Page.php:1209 -#, php-format -msgid "" -"Improves performance by helping browsers discover fonts in CSS files. " -"%1$sMore info%2$s" -msgstr "" -"Tarayıcıların CSS dosyalarındaki yazı tiplerini keşfetmelerine yardımcı " -"olarak performansı artırır. %1$sDaha fazla bilgi%2$s" +#: inc/deprecated/3.12.php:184 +msgid "SEOPress XML sitemap" +msgstr "SEOPress XML site haritası" -#: inc/Engine/Admin/Settings/Page.php:1223 -msgid "Activate Preloading" -msgstr "Önyüklemeyi aktif et" +#: inc/deprecated/3.12.php:251 +msgid "The SEO Framework XML sitemap" +msgstr "SEO Framework XML site haritası" -#: inc/Engine/Admin/Settings/Page.php:1234 -msgid "Exclude URLs" -msgstr "Hariç tutulan URL’ler" +#: inc/deprecated/3.12.php:332 +msgid "Jetpack XML Sitemaps" +msgstr "Jetpack XML Site Haritaları" -#: inc/Engine/Admin/Settings/Page.php:1239 -#, php-format -msgid "" -"Specify URLs to be excluded from the preload feature (one per line). " -"%1$sMore info%2$s" -msgstr "" -"Önyükleme özelliğinden hariç tutulacak URL’leri belirtin (her satıra bir " -"tane). %1$sDaha fazla bilgi%2$s" +#: inc/deprecated/3.12.php:334 +msgid "Preload the sitemap from the Jetpack plugin" +msgstr "Jetpack eklentisinden site haritasını önyükleme yap" -#: inc/Engine/Admin/Settings/Page.php:1250 -msgid "URLs to prefetch" -msgstr "Önceden gertirmek için URL’ler" +#: inc/deprecated/deprecated.php:240 +msgid "JS files with Deferred Loading JavaScript" +msgstr "Yüklemesi Ertelenmiş JavaScript’i olan JS dosyaları" -#: inc/Engine/Admin/Settings/Page.php:1251 -msgid "" -"Specify external hosts to be prefetched (no http:, one per " -"line)" -msgstr "" -"Önceden getirilecek olan harici anamakineleri belirtin (http: " -"olmadan, her satıra bir tane)" +#: inc/deprecated/deprecated.php:293 +msgid "Add URL" +msgstr "URL ekle" -#: inc/Engine/Admin/Settings/Page.php:1260 -msgid "Fonts to preload" -msgstr "Önyüklenecek yazı tipleri" +#: inc/deprecated/deprecated.php:1245 +#: inc/Engine/Admin/Settings/Settings.php:451 +msgid "Settings saved." +msgstr "Ayarlar kaydedildi." -#: inc/Engine/Admin/Settings/Page.php:1261 +#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22 msgid "" -"Specify urls of the font files to be preloaded (one per line). Fonts must be" -" hosted on your own domain, or the domain you have specified on the CDN tab." +"Before you can upload your import file, you will need to fix the following " +"error:" msgstr "" -"Önyüklenecek yazı tipi dosyalarının URL’lerini belirtin (her satıra bir " -"tane). Yazı tipleri kendi etki alanınızda veya CDN sekmesinde belirttiğiniz " -"etki alanında barındırılmak zorundadır." +"İçe aktarma dosyanızı göndermeden önce, şurada belirtilen hatayı düzeltmeniz" +" gerekecek:" -#: inc/Engine/Admin/Settings/Page.php:1262 -msgid "" -"The domain part of the URL will be stripped automatically.
    Allowed font " -"extensions: otf, ttf, svg, woff, woff2." -msgstr "" -"URL’nin etki alanı kısmı otomatik olarak sadeleştirilecektir.
    İzin " -"verilen yazı tipi uzantıları: otf, ttf, svg, woff, woff2." +#. translators: %s is the maximum upload size set on the current server. +#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35 +msgid "Choose a file from your computer (maximum size: %s)" +msgstr "Bilgisayarınızdan bir dosya seçin (en fazla boyut: %s)" -#: inc/Engine/Admin/Settings/Page.php:1271 -msgid "Enable link preloading" -msgstr "Bağlantı önyüklemeyi etkinleştir" +#: inc/deprecated/deprecated.php:1294 inc/Engine/Admin/Settings/Render.php:422 +msgid "Upload file and import settings" +msgstr "Dosyayı gönder ve ayarları içe aktar" -#: inc/Engine/Admin/Settings/Page.php:1290 -msgid "Advanced Rules" -msgstr "Gelişmiş Kurallar" +#: inc/deprecated/deprecated.php:1385 +msgid "Your Cloudflare credentials are valid." +msgstr "Cloudflare kimlik bilgileriniz geçerli." -#: inc/Engine/Admin/Settings/Page.php:1291 -msgid "Fine-tune cache rules" -msgstr "Önbellek kurallarına ince ayar yapın" +#: inc/deprecated/deprecated.php:1389 +msgid "Your Cloudflare credentials are invalid!" +msgstr "Cloudflare kimlik bilgileriniz geçersiz!" -#: inc/Engine/Admin/Settings/Page.php:1302 -msgid "" -"Sensitive pages like custom login/logout URLs should be excluded from cache." -msgstr "" -"Özel oturum açma/oturum kapatma URL’leri gibi hassas sayfalar önbellekten " -"hariç tutulmalıdır." +#: inc/deprecated/deprecated.php:1453 +msgid "Save and optimize" +msgstr "Kaydet ve iyileştir" -#: inc/Engine/Admin/Settings/Page.php:1305 -msgctxt "plugin name" -msgid "WooCommerce" -msgstr "WooCommerce" +#: inc/deprecated/deprecated.php:1453 +msgid "Optimize" +msgstr "İyileştir" -#: inc/Engine/Admin/Settings/Page.php:1307 -msgctxt "plugin name" -msgid "Easy Digital Downloads" -msgstr "Easy Digital Downloads" +#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666 +msgctxt "screen-reader-text" +msgid "Note:" +msgstr "Not:" -#: inc/Engine/Admin/Settings/Page.php:1309 -msgctxt "plugin name" -msgid "iThemes Exchange" -msgstr "iThemes Exchange" +#: inc/deprecated/deprecated.php:1470 +msgctxt "screen-reader-text" +msgid "Performance tip:" +msgstr "Performans ipucu:" -#: inc/Engine/Admin/Settings/Page.php:1311 -msgctxt "plugin name" -msgid "Jigoshop" -msgstr "Jigoshop" +#: inc/deprecated/deprecated.php:1476 +msgctxt "screen-reader-text" +msgid "Third-party feature detected:" +msgstr "Üçüncü taraf özellik algılandı:" -#: inc/Engine/Admin/Settings/Page.php:1313 -msgctxt "plugin name" -msgid "WP-Shop" -msgstr "WP-Shop" +#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672 +msgctxt "screen-reader-text" +msgid "Warning:" +msgstr "Uyarı:" -#: inc/Engine/Admin/Settings/Page.php:1319 -#, php-format -msgid "" -"
    Cart, checkout and \"my account\" pages set in " -"%1$s%2$s%3$s will be detected and never cached by default." -msgstr "" -"
    %1$s%2$s%3$s içinde ayarlanan sepet, ödeme ve " -"\"hesabım\" sayfaları algılanacak ve varsayılan olarak asla " -"önbelleklenmeyecektir." +#: inc/deprecated/deprecated.php:1501 +msgctxt "button text" +msgid "Download settings" +msgstr "Ayarları indir" -#: inc/Engine/Admin/Settings/Page.php:1329 inc/admin/options.php:129 -msgid "Never Cache URL(s)" -msgstr "Asla Önbelleklenmeyen URL(ler)" +#: inc/deprecated/deprecated.php:1531 +msgid "Replace site's hostname with:" +msgstr "Sitenin anamakine adını şununla değiştir:" -#: inc/Engine/Admin/Settings/Page.php:1337 -msgid "Never Cache Cookies" -msgstr "Asla Önbelleklenmeyen Tanımlama Bilgileri" +#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587 +#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41 +#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105 +msgid "reserved for" +msgstr "şunun için ayrıldı:" -#: inc/Engine/Admin/Settings/Page.php:1343 inc/admin/options.php:130 -msgid "Never Cache User Agent(s)" -msgstr "Asla Önbelleklenmeyen Kullanıcı Tanıtıcı(ları)sı" +#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589 +#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44 +#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108 +msgid "All files" +msgstr "Tüm dosyalar" -#: inc/Engine/Admin/Settings/Page.php:1349 inc/admin/options.php:131 -msgid "Always Purge URL(s)" -msgstr "Her Zaman Temizlenen URL(ler)" +#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594 +#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56 +#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120 +msgid "Images" +msgstr "Resimler" -#: inc/Engine/Admin/Settings/Page.php:1355 -msgid "Cache Query String(s)" -msgstr "Önbelleklenen Sorgu Dizgi(leri)si" +#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132 +msgid "Add CNAME" +msgstr "CNAME ekle" -#: inc/Engine/Admin/Settings/Page.php:1358 -#, php-format -msgid "" -"%1$sCache for query strings%2$s enables you to force caching for specific " -"GET parameters." -msgstr "" -"%1$sSorgu dizgilerini önbelleklemek%2$s belirli GET parametreleri için " -"önbelleklemeye zorlamanızı etkinleştirir." +#: inc/deprecated/deprecated.php:1706 +msgid "Watch the video" +msgstr "Görüntüyü izleyin" -#: inc/Engine/Admin/Settings/Page.php:1369 -msgid "" -"Specify URLs of pages or posts that should never be cached (one per line)" -msgstr "" -"Asla önbelleklenmemesi gereken sayfa ve yazıların URL’lerini belirtin (her " -"satıra bir tane)" +#: inc/deprecated/deprecated.php:1771 +msgid "Basic" +msgstr "Temel" -#: inc/Engine/Admin/Settings/Page.php:1370 -#: inc/Engine/Admin/Settings/Page.php:1398 +#: inc/deprecated/deprecated.php:1772 +msgid "Static Files" +msgstr "Sabit Dosyalar" + +#: inc/deprecated/deprecated.php:1774 +msgid "Advanced" +msgstr "Gelişmiş" + +#: inc/deprecated/deprecated.php:1775 inc/Engine/Admin/Settings/Page.php:1431 +msgid "Database" +msgstr "Veritabanı" + +#: inc/deprecated/deprecated.php:1776 inc/Engine/Admin/Settings/Page.php:1164 +msgid "Preload" +msgstr "Önyükleme" + +#: inc/deprecated/deprecated.php:1786 +#: inc/Engine/Admin/Settings/Subscriber.php:168 +#: views/settings/page-sections/tools.php:33 +msgid "Tools" +msgstr "Araçlar" + +#: inc/deprecated/deprecated.php:1789 inc/Engine/Admin/Settings/Page.php:352 +#: views/settings/page-sections/dashboard.php:80 +msgid "License" +msgstr "Lisans" + +#. Translators: %1$s = Plugin name, %2$s = Plugin version, %3$s = PHP version +#. required. +#: inc/deprecated/deprecated.php:1944 msgid "" -"The domain part of the URL will be stripped automatically.
    Use (.*) " -"wildcards to address multiple URLs under a given path." +"%1$s %2$s requires at least PHP %3$s to function properly. To use this " +"version, please ask your web host how to upgrade your server to PHP %3$s or " +"higher. If you are not able to upgrade, you can rollback to the previous " +"version by using the button below." msgstr "" -"URL’nin etki alanı kısmı otomatik olarak sadeleştirilecektir.
    Verilen yol" -" altında çoklu URL’leri adreslemek için (.*) joker karakterlerini kullanın." +"%1$s %2$s, düzgün bir şekilde işlemesi için en az PHP %3$s gerektirir. Bu " +"sürümü kullanmak için lütfen web barındırıcınıza sunucunuzu PHP %3$s veya " +"daha yüksek sürümüne nasıl yükselteceğinizi sorun. Eğer yükseltemiyorsanız, " +"aşağıdaki düğmeyi kullanarak önceki sürüme geri döndürebilirsiniz." -#: inc/Engine/Admin/Settings/Page.php:1379 +#. translators: 1: PHP class name, 2: version number, 3: replacement class +#. name. +#: inc/deprecated/DeprecatedClassTrait.php:54 msgid "" -"Specify full or partial IDs of cookies that, when set in the visitor's " -"browser, should prevent a page from getting cached (one per line)" +"The called class %1$s is deprecated since version %2$s! Use" +" %3$s instead." msgstr "" -"Ziyaretçinin tarayıcısında ayarlandığında, bir sayfanın önbelleklenmesine " -"engel olması gereken, tanımlama bilgilerinin tam ya da kısmi kimliklerini " -"belirtin (satır başına bir tane)" +"Çağrılan %1$s sınıfı, %2$s sürümünden bu yana kullanım " +"dışıdır! Bunun yerine %3$s kullanın." -#: inc/Engine/Admin/Settings/Page.php:1387 +#. translators: 1: PHP class name, 2: version number. +#: inc/deprecated/DeprecatedClassTrait.php:65 msgid "" -"Specify user agent strings that should never see cached pages (one per line)" +"The called class %1$s is deprecated since version %2$s!" msgstr "" -"Önbelleklenmiş sayfaları asla görmemesi gereken kullanıcı tanıtıcı dizgisini" -" belirtin (her satıra bir tane)" +"Çağrılan %1$s sınıfı, %2$s sürümünden bu yana kullanım " +"dışıdır!" -#: inc/Engine/Admin/Settings/Page.php:1388 -msgid "Use (.*) wildcards to detect parts of UA strings." -msgstr "" -"UA dizgilerinin parçalarını algılamak için (.*) joker karakterlerini " -"kullanın." +#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92 +#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137 +#: inc/Engine/Admin/Database/Subscriber.php:79 +msgid "weekly" +msgstr "haftalık" -#: inc/Engine/Admin/Settings/Page.php:1397 -msgid "" -"Specify URLs you always want purged from cache whenever you update any post " -"or page (one per line)" -msgstr "" -"Herhangi bir yazıyı veya sayfayı her güncellediğinizde daima önbellekten " -"temizlenmesini istediğiniz URL’leri belirtin (her satıra bir tane)" +#: inc/Engine/Admin/Database/Optimization.php:30 +#: inc/Engine/Admin/Settings/Page.php:1475 +msgid "Revisions" +msgstr "Düzeltmeler" -#: inc/Engine/Admin/Settings/Page.php:1406 -msgid "Specify query strings for caching (one per line)" -msgstr "Önbellekleme için sorgu dizgilerini belirtin (her satıra bir tane)" +#: inc/Engine/Admin/Database/Optimization.php:31 +#: inc/Engine/Admin/Settings/Page.php:1485 +msgid "Auto Drafts" +msgstr "Otomatik Taslaklar" -#: inc/Engine/Admin/Settings/Page.php:1431 inc/deprecated/deprecated.php:1775 -msgid "Database" -msgstr "Veritabanı" +#: inc/Engine/Admin/Database/Optimization.php:32 +#: inc/Engine/Admin/Settings/Page.php:1495 +msgid "Trashed Posts" +msgstr "Çöpe Atılmış Yazılar" -#: inc/Engine/Admin/Settings/Page.php:1432 -msgid "Optimize, reduce bloat" -msgstr "İyileştirin, şişmeyi azaltın" +#: inc/Engine/Admin/Database/Optimization.php:33 +#: inc/Engine/Admin/Settings/Page.php:1505 +msgid "Spam Comments" +msgstr "İstenmeyen Yorumlar" -#: inc/Engine/Admin/Settings/Page.php:1439 -msgid "Post Cleanup" -msgstr "Yazı Temizleme" +#: inc/Engine/Admin/Database/Optimization.php:34 +#: inc/Engine/Admin/Settings/Page.php:1515 +msgid "Trashed Comments" +msgstr "Çöpe Atılmış Yorumlar" -#: inc/Engine/Admin/Settings/Page.php:1441 -msgid "" -"Post revisions and drafts will be permanently deleted. Do not use this " -"option if you need to retain revisions or drafts." -msgstr "" -"Yazı incelemeleri ve taslaklar kalıcı olarak silinecektir. İncelemeleri ya " -"da taslakları tutmanız gerekiyorsa bu seçeneği kullanmayın." +#: inc/Engine/Admin/Database/Optimization.php:35 +msgid "Transients" +msgstr "Geçiciler" -#: inc/Engine/Admin/Settings/Page.php:1446 -msgid "Comments Cleanup" -msgstr "Yorumları Temizleme" +#: inc/Engine/Admin/Database/Optimization.php:36 +msgid "Tables" +msgstr "Tablolar" -#: inc/Engine/Admin/Settings/Page.php:1448 -msgid "Spam and trashed comments will be permanently deleted." -msgstr "İstenmeyen mesaj ve çöpe atılmış yorumlar kalıcı olarak silinecektir." +#: inc/Engine/Admin/Database/Subscriber.php:85 +msgid "monthly" +msgstr "aylık" -#: inc/Engine/Admin/Settings/Page.php:1452 -msgid "Transients Cleanup" -msgstr "Geçicileri Temizleme" +#: inc/Engine/Admin/Database/Subscriber.php:194 +msgid "Database optimization process is running" +msgstr "Veritabanı iyileştirme işlemi çalışıyor" -#: inc/Engine/Admin/Settings/Page.php:1454 +#: inc/Engine/Admin/Database/Subscriber.php:224 msgid "" -"Transients are temporary options; they are safe to remove. They will be " -"automatically regenerated as your plugins require them." -msgstr "" -"Geçiciler geçici seçeneklerdir; kaldırması güvenlidir. Eklentilerinizin " -"gerektirdiklerini otomatik olarak oluşturacaklardır." +"Database optimization process is complete. Everything was already optimized!" +msgstr "Veritabanı iyileştirme işlemi tamamlandı. Herşey zaten iyileştirildi!" -#: inc/Engine/Admin/Settings/Page.php:1458 -msgid "Database Cleanup" -msgstr "Veritabanı Temizleme" +#: inc/Engine/Admin/Database/Subscriber.php:227 +msgid "" +"Database optimization process is complete. List of optimized items below:" +msgstr "" +"Veritabanı iyileştirme işlemi tamamlandı. İyileştirilen öğelerin listesi " +"aşağıdadır:" -#: inc/Engine/Admin/Settings/Page.php:1460 -msgid "Reduces overhead of database tables" -msgstr "Veritabanı tablolarının ek yükünü azaltır" +#. translators: %1$d = number of items optimized, %2$s = type of optimization +#: inc/Engine/Admin/Database/Subscriber.php:235 +msgid "%1$d %2$s optimized." +msgstr "%1$d %2$s iyi hale getirildi." -#: inc/Engine/Admin/Settings/Page.php:1464 -msgid "Automatic Cleanup" -msgstr "Otomatik Temizleme" +#. translators: %1$s = , %2$s = , %3$s = , %4$s = . +#: inc/Engine/Admin/DomainChange/Subscriber.php:143 +msgid "" +"%1$sWP Rocket:%2$s We detected that the website domain has changed. The " +"configuration files must be regenerated for the page cache and all other " +"optimizations to work as intended. %3$sLearn More%4$s" +msgstr "" +"%1$sWP Rocket:%2$s Web sitesi etki alanının değiştiğini tespit ettik. Sayfa " +"önbelleği ve diğer tüm iyileştirmelerin amaçlandığı gibi çalışması için " +"yapılandırma dosyaları yeniden oluşturulmak zorundadır. %3$sDaha fazla bilgi" +" edinin%4$s" -#: inc/Engine/Admin/Settings/Page.php:1477 -#, php-format -msgid "%s revision in your database." -msgid_plural "%s revisions in your database." -msgstr[0] "Veritabanınızda %s düzeltme." -msgstr[1] "Veritabanınızda %s düzeltme." +#: inc/Engine/Admin/DomainChange/Subscriber.php:171 +msgid "Regenerate WP Rocket configuration files now" +msgstr "WP Rocket yapılandırma dosyalarını şimdi yeniden oluştur" -#: inc/Engine/Admin/Settings/Page.php:1487 -#, php-format -msgid "%s draft in your database." -msgid_plural "%s drafts in your database." -msgstr[0] "Veritabanınızda %s taslak." -msgstr[1] "Veritabanınızda %s taslak." +#: inc/Engine/Admin/Settings/Page.php:201 +msgid "Save Changes" +msgstr "Değişiklikleri Kaydet" -#: inc/Engine/Admin/Settings/Page.php:1497 -#, php-format -msgid "%s trashed post in your database." -msgid_plural "%s trashed posts in your database." -msgstr[0] "Veritabanınızda %s çöpe atılmış yazı." -msgstr[1] "Veritabanınızda %s çöpe atılmış yazı." - -#: inc/Engine/Admin/Settings/Page.php:1507 -#, php-format -msgid "%s spam comment in your database." -msgid_plural "%s spam comments in your database." -msgstr[0] "Veritabanınızda %s istenmeyen yorum." -msgstr[1] "Veritabanınızda %s istenmeyen yorum." +#: inc/Engine/Admin/Settings/Page.php:201 +msgid "Validate License" +msgstr "Lisansı Doğrula" -#: inc/Engine/Admin/Settings/Page.php:1517 -#, php-format -msgid "%s trashed comment in your database." -msgid_plural "%s trashed comments in your database." -msgstr[0] "Veritabanınızda %s çöpe atılmış yorum." -msgstr[1] "Veritabanınızda %s çöpe atılmış yorum." +#: inc/Engine/Admin/Settings/Page.php:257 +#: inc/Engine/Admin/Settings/Page.php:258 +msgid "Unavailable" +msgstr "Mevcut değil" -#: inc/Engine/Admin/Settings/Page.php:1525 -msgid "All transients" -msgstr "Tüm geçiciler" +#: inc/Engine/Admin/Settings/Page.php:369 +msgid "API key" +msgstr "API anahtarı" -#: inc/Engine/Admin/Settings/Page.php:1527 -#, php-format -msgid "%s transient in your database." -msgid_plural "%s transients in your database." -msgstr[0] "Veritabanınızda %s geçici." -msgstr[1] "Veritabanınızda %s geçici." +#: inc/Engine/Admin/Settings/Page.php:384 +msgid "Email address" +msgstr "E-posta adresi" -#: inc/Engine/Admin/Settings/Page.php:1535 -msgid "Optimize Tables" -msgstr "Tabloları iyileştir" +#: inc/Engine/Admin/Settings/Page.php:410 +msgid "Dashboard" +msgstr "Panel" -#: inc/Engine/Admin/Settings/Page.php:1537 -#, php-format -msgid "%s table to optimize in your database." -msgid_plural "%s tables to optimize in your database." -msgstr[0] "Veritabanınızda iyileştirmek için %s tablo." -msgstr[1] "Veritabanınızda iyileştirmek için %s tablo." +#: inc/Engine/Admin/Settings/Page.php:411 +msgid "Get help, account info" +msgstr "Yardım alın, hesap bilgisi" -#: inc/Engine/Admin/Settings/Page.php:1548 -msgid "Schedule Automatic Cleanup" -msgstr "Otomatik Temizlemeyi Zamanla" +#: inc/Engine/Admin/Settings/Page.php:420 +msgid "My Status" +msgstr "Durumum" -#: inc/Engine/Admin/Settings/Page.php:1560 -msgid "Frequency" -msgstr "Sıklıkla" +#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75 +msgid "Rocket Analytics" +msgstr "Rocket Çözümsel" -#: inc/Engine/Admin/Settings/Page.php:1568 -msgid "Daily" -msgstr "Günlük" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:432 +msgid "" +"I agree to share anonymous data with the development team to help improve WP" +" Rocket. %1$sWhat info will we collect?%2$s" +msgstr "" +"WP Rocket’i iyileştirmeye yardımcı olmak için geliştirme ekibiyle isimsiz " +"verileri paylaşmayı kabul ediyorum. %1$sNe tür bilgi toplayacağız?%2$s" -#: inc/Engine/Admin/Settings/Page.php:1569 -msgid "Weekly" -msgstr "Haftalık" +#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354 +msgid "Cache" +msgstr "Önbellek" -#: inc/Engine/Admin/Settings/Page.php:1570 -msgid "Monthly" -msgstr "Aylık" +#: inc/Engine/Admin/Settings/Page.php:457 +msgid "Basic cache options" +msgstr "Temel önbellek seçenekleri" -#: inc/Engine/Admin/Settings/Page.php:1586 -#: inc/Engine/Admin/Settings/Page.php:1597 inc/admin/ui/meta-boxes.php:108 -#: inc/deprecated/deprecated.php:1773 -msgid "CDN" -msgstr "CDN" +#: inc/Engine/Admin/Settings/Page.php:464 +msgid "Mobile Cache" +msgstr "Mobil Önbelleği" -#: inc/Engine/Admin/Settings/Page.php:1587 -msgid "Integrate your CDN" -msgstr "CDN’nizi bütünleştirin" +#: inc/Engine/Admin/Settings/Page.php:466 +msgid "Speed up your site for mobile visitors." +msgstr "Mobil ziyaretçiler için sitenizi hızlandırın." -#: inc/Engine/Admin/Settings/Page.php:1599 +#: inc/Engine/Admin/Settings/Page.php:471 msgid "" -"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)" -" you provide." +"We detected you use a plugin that requires a separate cache for mobile, and " +"automatically enabled this option for compatibility." msgstr "" -"Sabit dosyaların (CSS, JS, resimler) tüm URL’leri, verdiğiniz CNAME(lere)e " -"yeniden yazılacaktır." +"Mobil için ayrı önbellek gerektiren bir eklenti kullandığınızı saptadık ve " +"uyumluluk için bu seçeneği otomatik olarak etkinleştirdik." -#: inc/Engine/Admin/Settings/Page.php:1601 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:475 +msgid "User Cache" +msgstr "Kullanıcı Önbelleği" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:478 msgid "" -"Not required for services like Cloudflare and Sucuri. Please see our " -"available %1$sAdd-ons%2$s." +"%1$sUser cache%2$s is great when you have user-specific or restricted " +"content on your website." msgstr "" -"Cloudflare ve Sucuri gibi hizmetler için gerekmez. Lütfen mevcut " -"%1$sEklentilerimize%2$s bakın." +"Web sitenizde kullanıcıya özgü ya da kısıtlı içeriğe sahip olduğunuzda " +"%1$skullanıcı önbelleği%2$s mükemmeldir." -#: inc/Engine/Admin/Settings/Page.php:1616 inc/admin/options.php:132 -msgid "Exclude files from CDN" -msgstr "CDN’den hariç tutulan dosyalar" +#: inc/Engine/Admin/Settings/Page.php:486 +msgid "Cache Lifespan" +msgstr "Önbellek Geçerlilik Süresi" -#: inc/Engine/Admin/Settings/Page.php:1648 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:489 msgid "" -"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings " -"is not required for %2$l to work on your site." -msgid_plural "" -"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN " -"settings is not required for %2$l to work on your site." -msgstr[0] "" -"%1$s%2$l Eklentisi%3$s şu anda etkinleştirildi. CDN ayarlarının " -"yapılandırması, sitenizde çalışması amacıyla %2$l için gerekmez." -msgstr[1] "" -"%1$s%2$l Eklentileri%3$s şu anda etkinleştirildi. CDN ayarlarının " -"yapılandırması, sitenizde çalışması amacıyla %2$l için gerekmez." +"Cache files older than the specified lifespan will be deleted.
    Enable " +"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan " +"expiration." +msgstr "" +"Belirtilen geçerlilik süresinden eski önbellek dosyaları " +"silinecektir.
    Geçerlilik süresi sona erdikten sonra otomatik olarak " +"yeniden oluşturulması için önbellek %1$sönyüklemeyi%2$s etkinleştirin." -#: inc/Engine/Admin/Settings/Page.php:1673 -msgid "Enable Content Delivery Network" -msgstr "İçerik Dağıtım Ağını (CDN) etkinleştir" +#: inc/Engine/Admin/Settings/Page.php:503 +msgid "Enable caching for logged-in WordPress users" +msgstr "Oturum açmış WordPress kullanıcıları için önbelleklemeyi etkinleştir" -#: inc/Engine/Admin/Settings/Page.php:1682 -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159 -msgid "CDN CNAME(s)" -msgstr "CDN CNAME(ler)" +#: inc/Engine/Admin/Settings/Page.php:511 +msgid "Enable caching for mobile devices" +msgstr "Mobil cihazlar için önbelleklemeyi etkinleştir" -#: inc/Engine/Admin/Settings/Page.php:1683 -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160 -msgid "Specify the CNAME(s) below" -msgstr "Aşağıda CNAME(leri) belirtin" +#: inc/Engine/Admin/Settings/Page.php:526 +msgid "Separate cache files for mobile devices" +msgstr "Mobil cihazlar için önbellek dosyalarını ayır" -#: inc/Engine/Admin/Settings/Page.php:1690 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:528 msgid "" -"Specify URL(s) of files that should not get served via CDN (one per line)." +"Most modern themes are responsive and should work without a separate cache. " +"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore " +"info%2$s" msgstr "" -"CDN aracılığıyla sunulmaması gereken dosyaların URL(lerini)sini belirtin " -"(her satıra bir tane)." +"Çoğu modern temalar hassastır ve ayrı bir önbellek olmadan çalışmalıdır. " +"Bunu sadece tahsis edilmiş bir mobil temanız veya eklentiniz varsa " +"etkinleştirin. %1$sDaha fazla bilgi%2$s" -#: inc/Engine/Admin/Settings/Page.php:1691 +#: inc/Engine/Admin/Settings/Page.php:544 msgid "" -"The domain part of the URL will be stripped automatically.
    Use (.*) " -"wildcards to exclude all files of a given file type located at a specific " -"path." +"Specify time after which the global cache is cleared
    (0 = unlimited )" msgstr "" -"URL’nin etki alanı kısmı otomatik olarak sadeleştirilecektir.
    Belirli bir" -" yolda bulunan verilen bir dosya türünün tüm dosyalarını hariç tutmak için " -"(.*) joker karakterlerini kullanın." +"Genel önbelleğin ne kadar süre sonra temizleneceği zamanı belirtin
    (0 = " +"sınırsız)" -#: inc/Engine/Admin/Settings/Page.php:1714 -#: inc/Engine/Admin/Settings/Page.php:1722 -msgid "Heartbeat" -msgstr "Kalp Atışı" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:546 +msgid "" +"Reduce lifespan to 10 hours or less if you notice issues that seem to appear" +" periodically. %1$sWhy?%2$s" +msgstr "" +"Eğer belirli aralıklarla görünen sorunları fark ederseniz geçerlilik " +"süresini 10 saat veya daha azına düşürün. %1$sNeden?%2$s" -#: inc/Engine/Admin/Settings/Page.php:1715 -msgid "Control WordPress Heartbeat API" -msgstr "WordPress Kalp Atışı API’sini denetleyin" +#: inc/Engine/Admin/Settings/Page.php:552 +#: inc/Engine/License/views/promo-banner.php:30 +#: inc/Engine/License/views/renewal-soon-banner.php:13 +msgid "Hours" +msgstr "Saat" -#: inc/Engine/Admin/Settings/Page.php:1723 +#: inc/Engine/Admin/Settings/Page.php:553 +#: inc/Engine/License/views/promo-banner.php:29 +#: inc/Engine/License/views/renewal-soon-banner.php:12 +msgid "Days" +msgstr "Gün" + +#: inc/Engine/Admin/Settings/Page.php:602 +msgid "File Optimization" +msgstr "Dosyaları İyileştirme" + +#: inc/Engine/Admin/Settings/Page.php:603 +msgid "Optimize CSS & JS" +msgstr "CSS ve JS kodlarını iyileştirin" + +#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP +#. Rocket”. +#: inc/Engine/Admin/Settings/Page.php:611 msgid "" -"Reducing or disabling the Heartbeat API’s activity can help save some of " -"your server’s resources." +"%1$s Minification is currently activated in Autoptimize. If" +" you want to use %2$s’s minification, disable this option in Autoptimize." msgstr "" -"Kalp Atışı API’si etkinliğini azaltmak veya etkisizleştirmek, sunucunuzun " -"kaynaklarının bazılarını kurtarmasına yardımcı olabilir." +"%1$s Küçültme şu anda Autoptimize içinde aktif edildi. Eğer" +" %2$s’in küçültmesini kullanmak istiyorsanız, Autoptimize içindeki bu " +"seçeneği etkisizleştirin." -#: inc/Engine/Admin/Settings/Page.php:1729 -msgid "Reduce or disable Heartbeat activity" -msgstr "Kalp Atışı etkinliğini azaltma veya etkisizleştirme" +#: inc/Engine/Admin/Settings/Page.php:621 +msgid "CSS Files" +msgstr "CSS Dosyaları" -#: inc/Engine/Admin/Settings/Page.php:1730 +#: inc/Engine/Admin/Settings/Page.php:630 +msgid "JavaScript Files" +msgstr "JavaScript Dosyaları" + +#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP +#. Rocket”. +#: inc/Engine/Admin/Settings/Page.php:637 msgid "" -"Reducing activity will change Heartbeat frequency from one hit each minute " -"to one hit every 2 minutes." +"%1$s Minification is currently activated in Autoptimize. If" +" you want to use %2$s’s minification, disable those options in Autoptimize." msgstr "" -"Etkinliği azaltmak Kalp Atışı sıklığını, her dakikada bir vuruştan her 2 " -"dakikada bir vuruşa değiştirecektir." +"%1$s Küçültme şu anda Autoptimize içinde aktif edildi. Eğer" +" %2$s’in küçültmesini kullanmak istiyorsanız, Autoptimize içindeki bu " +"seçenekleri etkisizleştirin." -#: inc/Engine/Admin/Settings/Page.php:1730 +#: inc/Engine/Admin/Settings/Page.php:642 msgid "" -"Disabling Heartbeat entirely may break plugins and themes using this API." +"If you have problems after activating this option, copy and paste the " +"default exclusions to quickly resolve issues:" msgstr "" -"Kalp Atışı’nın tamamen etkisizleştirilmesi bu API’yi kullanan eklentileri ve" -" temaları bozabilir." - -#: inc/Engine/Admin/Settings/Page.php:1744 -msgid "Do not limit" -msgstr "Sınırlandırma" - -#: inc/Engine/Admin/Settings/Page.php:1745 -msgid "Reduce activity" -msgstr "Etkinliği azalt" +"Eğer bu seçeneği etkinleştirdikten sonra sorun yaşarsanız, sorunları hızlı " +"bir şekilde çözmek için varsayılan hariç tutulanları kopyalayın ve " +"yapıştırın:" -#: inc/Engine/Admin/Settings/Page.php:1746 -msgid "Disable" -msgstr "Etkisizleştir" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:646 +msgid "" +"Also, please check our %1$sdocumentation%2$s for a list of compatibility " +"exclusions." +msgstr "" +"Ayrıca, uyumluluk istisnaları listesi için lütfen %1$sbelgelerimizi%2$s " +"gözden geçirin." -#: inc/Engine/Admin/Settings/Page.php:1754 -msgid "Control Heartbeat" -msgstr "Kalp Atışı’nı denetle" +#: inc/Engine/Admin/Settings/Page.php:651 +msgid "" +"Internal scripts are excluded by default to prevent issues. Remove them to " +"take full advantage of this option." +msgstr "" +"Sorunları önlemek için dahili betikler varsayılan olarak hariç tutulur. Bu " +"seçenekten tam olarak yararlanmak için bunları kaldırın." -#: inc/Engine/Admin/Settings/Page.php:1763 -msgid "Behavior in backend" -msgstr "Arka uçtaki davranış" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:654 +msgid "" +"If this causes trouble, restore the default exclusions, found %1$shere%2$s" +msgstr "" +"Eğer bu, soruna neden olursa, %1$sburada%2$s bulunan varsayılan hariç " +"tutulanları geri yükleyin" -#: inc/Engine/Admin/Settings/Page.php:1770 -msgid "Behavior in post editor" -msgstr "Yazı düzenleyicideki davranış" +#: inc/Engine/Admin/Settings/Page.php:663 +msgid "Minify CSS files" +msgstr "CSS dosyalarını küçült" -#: inc/Engine/Admin/Settings/Page.php:1776 -msgid "Behavior in frontend" -msgstr "Ön uçtaki davranış" +#: inc/Engine/Admin/Settings/Page.php:664 +msgid "Minify CSS removes whitespace and comments to reduce the file size." +msgstr "" +"CSS’yi küçültme, dosya boyutunu düşürmek için boşlukları ve açıklamaları " +"kaldırır." -#: inc/Engine/Admin/Settings/Page.php:1793 -#: views/settings/page-sections/tutorials.php:39 -msgid "Add-ons" -msgstr "Eklentiler" +#: inc/Engine/Admin/Settings/Page.php:677 +#: inc/Engine/Admin/Settings/Page.php:741 +#: inc/Engine/Admin/Settings/Page.php:807 +#: inc/Engine/Admin/Settings/Page.php:831 +msgid "This could break things!" +msgstr "Bu birşeyleri bozabilir!" -#: inc/Engine/Admin/Settings/Page.php:1794 -msgid "Add more features" -msgstr "Daha fazla özellik ekleyin" +#: inc/Engine/Admin/Settings/Page.php:678 +#: inc/Engine/Admin/Settings/Page.php:742 +#: inc/Engine/Admin/Settings/Page.php:808 +#: inc/Engine/Admin/Settings/Page.php:832 +msgid "" +"If you notice any errors on your website after having activated this " +"setting, just deactivate it again, and your site will be back to normal." +msgstr "" +"Bu ayarı aktif ettikten sonra web sitenizde herhangi bir hata fark " +"ederseniz, sadece tekrar devre dışı bırakın, ve siteniz normale dönecektir." -#: inc/Engine/Admin/Settings/Page.php:1801 -msgid "One-click Rocket Add-ons" -msgstr "Tek Tık Rocket Eklentileri" +#: inc/Engine/Admin/Settings/Page.php:679 +msgid "Activate minify CSS" +msgstr "CSS küçültmeyi aktif et" -#: inc/Engine/Admin/Settings/Page.php:1802 +#: inc/Engine/Admin/Settings/Page.php:685 msgid "" -"One-Click Add-ons are features extending available options without " -"configuration needed. Switch the option \"on\" to enable from this screen." +"Specify URLs of CSS files to be excluded from minification (one per line)." msgstr "" -"Tek Tık Eklentiler, yapılandırma gerekmeden mevcut seçenekleri genişleten " -"özelliklerdir. Etkinleştirmek için seçeneği bu ekrandan \"açık\" olarak " -"değiştirin." - -#: inc/Engine/Admin/Settings/Page.php:1812 -msgid "Rocket Add-ons" -msgstr "Rocket Eklentileri" +"Küçültmeden hariç tutulacak CSS dosyalarının URL’lerini belirtin (her satıra" +" bir tane)." -#: inc/Engine/Admin/Settings/Page.php:1813 -msgid "Rocket Add-ons are complementary features extending available options." +#: inc/Engine/Admin/Settings/Page.php:686 +msgid "" +"Internal: The domain part of the URL will be stripped " +"automatically. Use (.*).css wildcards to exclude all CSS files located at a " +"specific path." msgstr "" -"Rocket Eklentileri mevcut seçenekleri genişleten tamamlayıcı özelliklerdir." +"Dahili: URL’nin etki alanı kısmı otomatik olarak " +"sadeleştirilecektir. Belirli bir yolda bulunan tüm CSS dosyalarını hariç " +"tutmak için (.*).css joker karakterlerini kullanın." -#: inc/Engine/Admin/Settings/Page.php:1823 -#: inc/Engine/Admin/Settings/Page.php:1992 -msgid "Cloudflare" -msgstr "Cloudflare" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:688 +msgid "" +"3rd Party: Use either the full URL path or only the domain " +"name, to exclude external CSS. %1$sMore info%2$s" +msgstr "" +"3. Taraf: Harici CSS dosyalarını dahil etmemek için ya URL " +"tam yolunu ya da sadece etki alanı adını kullanın. %1$sDaha fazla bilgi%2$s" -#: inc/Engine/Admin/Settings/Page.php:1829 -msgid "Integrate your Cloudflare account with this add-on." -msgstr "Bu eklenti ile Cloudflare hesabınızı bütünleştirin." +#: inc/Engine/Admin/Settings/Page.php:701 +#: inc/Engine/Admin/Settings/Page.php:723 +msgid "Optimize CSS delivery" +msgstr "CSS teslimini iyileştir" -#: inc/Engine/Admin/Settings/Page.php:1830 +#: inc/Engine/Admin/Settings/Page.php:706 msgid "" -"Provide your account email, global API key, and domain to use options such " -"as clearing the Cloudflare cache and enabling optimal settings with WP " -"Rocket." +"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " +"one method can be selected. Remove Unused CSS is recommended for optimal " +"performance, but limited only to the users with active license." msgstr "" -"Cloudflare önbelleğini temizlemek ve WP Rocket ile en uygun ayarları " -"etkinleştirmek gibi seçenekleri kullanmak için hesap e-postanızı, genel API " -"anahtarını ve etki alanını sağlar." +"CSS teslimini en iyi hale getirmek, web sitenizde işleme engelleyici CSS’yi " +"ortadan kaldırır. Sadece bir yöntem seçilebilir. En iyi performans için " +"Kullanılmayan CSS’yi Kaldır önerilir, ancak sadece aktif lisansa sahip " +"kullanıcılarla sınırlıdır." -#: inc/Engine/Admin/Settings/Page.php:1833 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:706 msgid "" -"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just " -"activate the official Cloudflare plugin and configure it. WP Rocket will " -"automatically enable compatibility." +"Optimize CSS delivery eliminates render-blocking CSS on your website. Only " +"one method can be selected. Remove Unused CSS is recommended for optimal " +"performance." msgstr "" -"%1$sOtomatik Platform İyileştirmesini (APO) kullanmayı mı " -"planlıyorsunuz?%2$s Sadece resmi Cloudflare eklentisini aktif edin ve " -"yapılandırın. WP Rocket uyumluluğu otomatik olarak etkinleştirecektir." - -#: inc/Engine/Admin/Settings/Page.php:1881 -msgid "Varnish" -msgstr "Varnish" +"CSS teslimini en iyi hale getirmek, web sitenizde işleme engelleyici CSS’yi " +"ortadan kaldırır. Sadece bir yöntem seçilebilir. En iyi performans için " +"Kullanılmayan CSS’yi Kaldır önerilir." -#: inc/Engine/Admin/Settings/Page.php:1887 -msgid "If Varnish runs on your server, you must activate this add-on." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:716 +msgid "" +"Optimize CSS Delivery features are disabled on local environments. %1$sLearn" +" more%2$s" msgstr "" -"Varnish sunucunuzda çalışıyorsa, bu eklentiyi aktif etmek zorundasınız." +"CSS teslimini iyileştir özellikleri yerel ortamlarda etkisizleştirilir. " +"%1$sDaha fazla bilgi edinin%2$s" -#: inc/Engine/Admin/Settings/Page.php:1889 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:739 msgid "" -"Varnish cache will be purged each time WP Rocket clears its cache to ensure " -"content is always up-to-date.
    %1$sLearn more%2$s" +"Removes unused CSS per page and helps to reduce page size and HTTP requests." +" Recommended for best performance. Test thoroughly! %1$sMore info%2$s" msgstr "" -"Varnish önbelleği, WP Rocket önbelleğini her temizlediğinde içeriğin her " -"zaman güncel olmasını sağlamak için temizlenecektir.
    %1$sDaha fazla bilgi" -" edinin%2$s" +"Kullanılmayan CSS’yi sayfa başına kaldırır ve sayfa boyutunu ve HTTP " +"isteklerini azaltmaya yardımcı olur. Daha iyi performans için önerilir. " +"İyice deneyin! %1$sDaha fazla bilgi%2$s" -#: inc/Engine/Admin/Settings/Page.php:1924 -msgid "WebP Compatibility" -msgstr "WebP Uyumluluğu" +#: inc/Engine/Admin/Settings/Page.php:743 +msgid "Activate Remove Unused CSS" +msgstr "Kullanılmayan CSS’yi Kaldır’ı aktif et" -#: inc/Engine/Admin/Settings/Page.php:1930 -msgid "Improve browser compatibility for WebP images." -msgstr "WebP resimleri için tarayıcı uyumluluğunu iyileştirin." +#: inc/Engine/Admin/Settings/Page.php:749 +msgid "CSS safelist" +msgstr "CSS güvenli listesi" -#: inc/Engine/Admin/Settings/Page.php:1934 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:750 msgid "" -"Enable this option if you would like WP Rocket to serve WebP images to " -"compatible browsers. Please note that WP Rocket cannot create WebP images " -"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore " -"info%2$s" +"Specify CSS filenames, IDs or classes that should not be removed (one per " +"line)." msgstr "" -"WP Rocket’in WebP resimlerini uyumlu tarayıcılara sunmasını istiyorsanız bu " -"seçeneği etkinleştirin. WP Rocket’in sizin için WebP resimlerini " -"oluşturamayacağını lütfen unutmayın. WebP resimleri oluşturmak için " -"%1$sImagify%2$s öneriyoruz. %3$sDaha fazla bilgi%2$s" +"Kaldırılmaması gereken CSS dosya adlarını, kimliklerini veya sınıfları " +"belirtin (her satıra bir tane)." -#: inc/Engine/Admin/Settings/Page.php:1954 -msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared." -msgstr "WP Rocket’in önbelleği temizlendiğinde Sucuri önbelleğini temizler." +#. translators: %1$s = plugin name. +#: inc/Engine/Admin/Settings/Page.php:768 +msgctxt "WP Critical CSS compatibility" +msgid "" +"Load CSS asynchronously is currently handled by the %1$s plugin. If you want" +" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin." +msgstr "" +"CSS’yi eşzamanlı olmadan yükleme, şu anda %1$s eklentisi tarafından " +"işlenmektedir. WP Rocket’in CSS’yi eşzamanlı olmadan yükleme seçeneğini " +"kullanmak istiyorsanız, %1$s eklentisini etkisizleştirin." -#: inc/Engine/Admin/Settings/Page.php:1957 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:770 msgid "" -"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is " -"cleared." +"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s" msgstr "" -"WP Rocket’in önbelleği temizlendiğinde Sucuri önbelleğini temizlemek için " -"API anahtarınızı verin." +"Önemli Yol CSS’yi oluşturur ve CSS’yi eşzamanlı olmadan yükler. %1$sDaha " +"fazla bilgi%2$s" -#: inc/Engine/Admin/Settings/Page.php:1965 -#: inc/Engine/Admin/Settings/Page.php:2109 -msgid "Sucuri" -msgstr "Sucuri" +#: inc/Engine/Admin/Settings/Page.php:776 +msgid "Fallback critical CSS" +msgstr "Son çare önemli CSS" -#: inc/Engine/Admin/Settings/Page.php:1971 -msgid "Synchronize Sucuri cache with this add-on." -msgstr "Bu eklenti ile Sucuri önbelleğini eşitleyin." +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:778 +msgid "" +"Provides a fallback if auto-generated critical path CSS is incomplete. " +"%1$sMore info%2$s" +msgstr "" +"Otomatik oluşturulmuş önemli yol CSS tamamlanmazsa son bir çare sağlar. " +"%1$sDaha fazla bilgi%2$s" -#: inc/Engine/Admin/Settings/Page.php:2009 -msgid "Cloudflare credentials" -msgstr "Cloudflare kimlik bilgileri" +#: inc/Engine/Admin/Settings/Page.php:793 +msgid "Minify JavaScript files" +msgstr "JavaScript dosyalarını küçült" -#: inc/Engine/Admin/Settings/Page.php:2018 -msgid "Cloudflare settings" -msgstr "Cloudflare ayarları" +#: inc/Engine/Admin/Settings/Page.php:794 +msgid "" +"Minify JavaScript removes whitespace and comments to reduce the file size." +msgstr "" +"JavaScript’i küçültme, dosya boyutunu düşürmek için boşlukları ve " +"açıklamaları kaldırır." -#: inc/Engine/Admin/Settings/Page.php:2032 -msgctxt "Cloudflare" -msgid "Global API key:" -msgstr "Genel API anahtarı" +#: inc/Engine/Admin/Settings/Page.php:809 +msgid "Activate minify JavaScript" +msgstr "JavaScript küçültmeyi aktif et" -#: inc/Engine/Admin/Settings/Page.php:2033 -msgctxt "Cloudflare" -msgid "Find your API key" -msgstr "API anahtarınızı bulun" +#: inc/Engine/Admin/Settings/Page.php:814 +msgid "" +"Combine JavaScript files (Enable Minify JavaScript files to select)" +msgstr "" +"JavaScript dosyalarını birleştir (Seçmek için JavaScript dosyalarını " +"küçült’ü etkinleştirin)" -#: inc/Engine/Admin/Settings/Page.php:2045 -msgctxt "Cloudflare" -msgid "Account email" -msgstr "Hesap e-postası" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:816 +msgid "" +"Combine JavaScript files combines your site’s internal, 3rd party and inline" +" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. " +"%1$sMore info%2$s" +msgstr "" +"JavaScript dosyalarını birleştirme, sitenizin dahili, 3. taraf ve satır içi " +"JS dosyalarını birleştirir, HTTP isteklerini azaltır. Siteniz HTTP/2 " +"kullanıyorsa önerilmez. %1$sDaha fazla bilgi%2$s" -#: inc/Engine/Admin/Settings/Page.php:2054 -msgctxt "Cloudflare" -msgid "Zone ID" -msgstr "Bölge Kimliği - Zone ID" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:817 +msgid "" +"For compatibility and best results, this option is disabled when delay " +"javascript execution is enabled." +msgstr "" +"Uyumluluk ve en iyi sonuçlar için javascript’i geciktir yürütmesi " +"etkinleştirildiğinde bu seçenek etkisizleştirilir." -#: inc/Engine/Admin/Settings/Page.php:2064 -msgid "Development mode" -msgstr "Geliştirme kipi" +#: inc/Engine/Admin/Settings/Page.php:833 +msgid "Activate combine JavaScript" +msgstr "JavaScript birleştirmeyi aktif et" -#: inc/Engine/Admin/Settings/Page.php:2066 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:840 msgid "" -"Temporarily activate development mode on your website. This setting will " -"automatically turn off after 3 hours. %1$sLearn more%2$s" +"Specify patterns of inline JavaScript to be excluded from concatenation (one" +" per line). %1$sMore info%2$s" msgstr "" -"Web sitenizde geçici olarak geliştirme kipini aktif edin. Bu ayar otomatik " -"olarak 3 saat sonra kapanacak. %1$sDaha fazla bilgi edinin%2$s" - -#: inc/Engine/Admin/Settings/Page.php:2074 -msgid "Optimal settings" -msgstr "En uygun ayarlar" +"Birleştirmeden hariç tutulacak satır içi JavaScript dosyalarının örneklerini" +" belirtin (her satıra bir tane). %1$sDaha fazla bilgi%2$s" -#: inc/Engine/Admin/Settings/Page.php:2075 +#: inc/Engine/Admin/Settings/Page.php:857 msgid "" -"Automatically enhances your Cloudflare configuration for speed, performance " -"grade and compatibility." +"Specify URLs of JavaScript files to be excluded from minification and " +"concatenation (one per line)." msgstr "" -"Hız, performans puanı ve uyumluluk için Cloudflare yapılandırmanızı otomatik" -" olarak iyileştirir." +"Küçültmeden ve birleştirmeden hariç tutulacak JavaScript dosyalarının " +"URL’lerini belirtin (her satıra bir tane)." -#: inc/Engine/Admin/Settings/Page.php:2083 -msgid "Relative protocol" -msgstr "Göreli protokol" +#: inc/Engine/Admin/Settings/Page.php:858 +msgid "" +"Internal: The domain part of the URL will be stripped " +"automatically. Use (.*).js wildcards to exclude all JS files located at a " +"specific path." +msgstr "" +"Dahili: URL’nin etki alanı kısmı otomatik olarak " +"sadeleştirilecektir. Belirli bir yolda bulunan tüm JS dosyalarını hariç " +"tutmak için (.*).js joker karakterlerini kullanın." -#: inc/Engine/Admin/Settings/Page.php:2084 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:860 msgid "" -"Should only be used with Cloudflare's flexible SSL feature. URLs of static " -"files (CSS, JS, images) will be rewritten to use // instead of http:// or " -"https://." +"3rd Party: Use either the full URL path or only the domain " +"name, to exclude external JS. %1$sMore info%2$s" msgstr "" -"Sadece Cloudflare’in esnek SSL özelliği ile kullanılmalıdır. Sabit " -"dosyaların (CSS, JS, resimler) URL’leri, http:// veya https:// yerine // " -"kullanmak için yeniden yazılacaktır." +"3. Taraf: Harici JS dosyalarını dahil etmemek için ya URL " +"tam yolunu ya da sadece etki alanı adını kullanın. %1$sDaha fazla bilgi%2$s" -#: inc/Engine/Admin/Settings/Page.php:2122 -msgid "Sucuri credentials" -msgstr "Sucuri kimlik bilgileri" +#: inc/Engine/Admin/Settings/Page.php:876 +msgid "Load JavaScript deferred" +msgstr "Ertelenmiş JavaScript yükle" -#: inc/Engine/Admin/Settings/Page.php:2135 -msgctxt "Sucuri" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:878 msgid "" -"Firewall API key (for plugin), must be in format {32 characters}/{32 " -"characters}:" +"Load JavaScript deferred eliminates render-blocking JS on your site and can " +"improve load time. %1$sMore info%2$s" msgstr "" -"Güvenlik Duvarı API anahtarı (eklenti için), {32 karakter}/{32 karakter} " -"biçiminde olmak zorundadır:" - -#: inc/Engine/Admin/Settings/Page.php:2136 -msgctxt "Sucuri" -msgid "Find your API key" -msgstr "API anahtarınızı bulun" +"Ertelenmiş JavaScript yüklemek, yükleme süresini iyileştirebilir ve " +"sitenizdeki işleyişi engelleyen JS’yi aradan kaldırır. %1$sDaha fazla " +"bilgi%2$s" -#: inc/Engine/Admin/Settings/Render.php:422 inc/deprecated/deprecated.php:1294 -msgid "Upload file and import settings" -msgstr "Dosyayı gönder ve ayarları içe aktar" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:891 +msgid "" +"Specify URLs or keywords of JavaScript files to be excluded from defer (one " +"per line). %1$sMore info%2$s" +msgstr "" +"Ertelenmeden hariç tutulacak JavaScript dosyalarının URL’lerini ya da " +"anahtar kelimelerini belirtin (her satıra bir tane). %1$sDaha fazla " +"bilgi%2$s" -#: inc/Engine/Admin/Settings/Settings.php:362 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:909 msgid "" -"Sucuri Add-on: The API key for the Sucuri firewall must be in format " -"{32 characters}/{32 characters}." +"Improves performance by delaying the loading of JavaScript files until user " +"interaction (e.g. scroll, click). %1$sMore info%2$s" msgstr "" -"Sucuri Eklentisi: Sucuri güvenlik duvarı için API anahtarı, {32 " -"karakter}/{32 karakter} biçiminde olmak zorundadır." +"JavaScript dosyalarının yüklenmesini, kullanıcı etkileşimine (örn. kaydırma," +" tıklama) kadar geciktirerek performansı artırır. %1$sDaha fazla bilgi%2$s" -#: inc/Engine/Admin/Settings/Settings.php:452 -#: inc/deprecated/deprecated.php:1245 -msgid "Settings saved." -msgstr "Ayarlar kaydedildi." +#: inc/Engine/Admin/Settings/Page.php:918 +msgid "One-click exclusions" +msgstr "Tek tıkla hariç tutmalar" -#: inc/Engine/Admin/Settings/Settings.php:668 +#: inc/Engine/Admin/Settings/Page.php:919 msgid "" -"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved " -"because it disables caching and optimizations for every page on your site." +"When using the Delay JavaScript Execution, you might experience delay " +"loading elements located in the viewport that need to appear immediately - " +"e.g. slider, header, menu." msgstr "" -"Üzgünüz! Gelişmiş Kurallar > URL’(leri)yi Asla Önbellekleme içine /(.*) " -"eklemek, sitenizdeki her sayfa için önbelleğe almayı ve iyileştirmeleri " -"etkisizleştirdiğinden kaydedilmedi." +"JavaScript’i Geciktir Yürütmesini kullanırken, görünüm alanında bulunan ve " +"hemen görünmesi gereken öğelerin yüklenmesinde gecikme yaşayabilirsiniz - " +"örn. kaydırıcı, başlık, menü." -#: inc/Engine/Admin/Settings/Subscriber.php:168 -#: inc/deprecated/deprecated.php:1786 -#: views/settings/page-sections/tools.php:33 -msgid "Tools" -msgstr "Araçlar" +#: inc/Engine/Admin/Settings/Page.php:920 +msgid "" +"If you need instant visibility, click below on files that should NOT be " +"delayed. This selection will help users interact with the elements straight " +"away." +msgstr "" +"Eğer anında görünürlüğe ihtiyacınız varsa, geciktirilmemesi gereken " +"dosyalara aşağıdan tıklayın. Bu seçim, kullanıcıların öğelerle hemen " +"etkileşim kurmasına yardımcı olacak." -#: inc/Engine/Admin/Settings/Subscriber.php:169 -msgid "Import, Export, Rollback" -msgstr "İçe aktarın, Dışa aktarın, Geri alın" +#: inc/Engine/Admin/Settings/Page.php:937 +msgid "" +"Specify URLs or keywords that can identify inline or JavaScript files to be " +"excluded from delaying execution (one per line)." +msgstr "" +"Yürütmeyi geciktirmenin dışında bırakılacağı satır içi veya JavaScript " +"dosyalarını tanımlayabilecek URL’leri veya anahtar kelimeleri belirtin (her " +"satıra bir tane)." -#: inc/Engine/Admin/Settings/Subscriber.php:194 -#: views/settings/page-sections/imagify.php:14 -msgid "Image Optimization" -msgstr "Resim İyileştirme" +#: inc/Engine/Admin/Settings/Page.php:969 +msgid "Media" +msgstr "Ortam" -#: inc/Engine/Admin/Settings/Subscriber.php:195 -msgid "Compress your images" -msgstr "Resimlerinizi sıkıştırın" +#: inc/Engine/Admin/Settings/Page.php:970 +msgid "LazyLoad, image dimensions" +msgstr "LazyLoad, resim boyutları" -#: inc/Engine/Admin/Settings/Subscriber.php:212 -#: views/settings/page-sections/tutorials.php:48 -msgid "Tutorials" -msgstr "Eğitimler" +#: inc/Engine/Admin/Settings/Page.php:979 +msgid "Autoptimize" +msgstr "Otoiyileştir" -#: inc/Engine/Admin/Settings/Subscriber.php:213 -msgid "Getting started and how to videos" -msgstr "Başlarken ve nasıl yapılır videoları" +#: inc/Engine/Admin/Settings/Page.php:1033 +msgid "LazyLoad" +msgstr "LazyLoad" -#: inc/Engine/CDN/RocketCDN/APIClient.php:134 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1036 msgid "" -"We could not fetch the current price because RocketCDN API returned an " -"unexpected error code." -msgstr "" -"RocketCDN API beklenmeyen bir hata kodu döndürdüğünden şu anki fiyatı " -"getiremedik." - -#: inc/Engine/CDN/RocketCDN/APIClient.php:140 -msgid "RocketCDN is not available at the moment. Please retry later." +"It can improve actual and perceived loading time as images, iframes, and " +"videos will be loaded only as they enter (or about to enter) the viewport " +"and reduces the number of HTTP requests. %1$sMore Info%2$s" msgstr "" -"RocketCDN şu anda kullanılabilir değil. Lütfen daha sonra yeniden deneyin." +"Resimlerin, iframe’lerin, ve görüntülerin sadece görüntü alanına girmesiyle " +"(ya da girmek üzereyken) yükleneceği gibi asıl ve farkedilir yükleme " +"süresini iyileştirebilir ve HTTP isteklerinin sayısını azaltır. %1$sDaha " +"Fazla Bilgi%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:177 -msgid "RocketCDN cache purge failed: Missing identifier parameter." +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names. +#: inc/Engine/Admin/Settings/Page.php:1043 +msgid "" +"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s " +"LazyLoad, disable this option in %2$s." msgstr "" -"RocketCDN önbellek temizleme başarısız oldu: Eksik tanımlayıcı parametresi." +"LazyLoad şu anda %2$s içinde aktif edildi. Eğer WP Rocket’in LazyLoad’ını " +"kullanmak istiyorsanız, %2$s içindeki bu seçeneği etkisizleştirin." -#: inc/Engine/CDN/RocketCDN/APIClient.php:186 -msgid "RocketCDN cache purge failed: Missing user token." -msgstr "" -"RocketCDN önbellek temizleme başarısız oldu: Eksik kullanıcı belirteci." +#: inc/Engine/Admin/Settings/Page.php:1046 +msgid "Image Dimensions" +msgstr "Resim Boyutları" -#: inc/Engine/CDN/RocketCDN/APIClient.php:212 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1049 msgid "" -"RocketCDN cache purge failed: The API returned an unexpected response code." +"Add missing width and height attributes to images. Helps prevent layout " +"shifts and improve the reading experience for your visitors. %1$sMore " +"info%2$s" msgstr "" -"RocketCDN önbellek temizleme başarısız oldu: API beklenmeyen bir yanıt kodu " -"döndürdü." +"Resimlere eksik genişlik ve yükseklik özniteliklerini ekleyin. Düzen " +"değişimlerini önlemeye ve ziyaretçileriniz için okuma deneyimini " +"iyileştirmeye yardımcı olur. %1$sDaha fazla bilgi%2$s" -#: inc/Engine/CDN/RocketCDN/APIClient.php:221 -msgid "RocketCDN cache purge failed: The API returned an empty response." -msgstr "" -"RocketCDN önbellek temizleme başarısız oldu: API boş bir yanıt döndürdü." +#: inc/Engine/Admin/Settings/Page.php:1068 +msgid "Enable for images" +msgstr "Resimler için etkinleştir" -#: inc/Engine/CDN/RocketCDN/APIClient.php:230 -msgid "RocketCDN cache purge failed: The API returned an unexpected response." +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names. +#: inc/Engine/Admin/Settings/Page.php:1080 +msgid "" +"LazyLoad for images is currently activated in %2$s. If you want to use " +"%1$s’s LazyLoad, disable this option in %2$s." msgstr "" -"RocketCDN önbellek temizleme başarısız oldu: API beklenmeyen bir yanıt " -"döndürdü." - -#: inc/Engine/CDN/RocketCDN/APIClient.php:239 -#, php-format -msgid "RocketCDN cache purge failed: %s." -msgstr "RocketCDN önbellek temizleme başarısız oldu: %s" +"Resimler için LazyLoad şu anda %2$s içinde aktif edildi. Eğer %1$s’in " +"LazyLoad’ını kullanmak istiyorsanız, %2$s içindeki bu seçeneği " +"etkisizleştirin." -#: inc/Engine/CDN/RocketCDN/APIClient.php:247 -msgid "RocketCDN cache purge successful." -msgstr "RocketCDN önbellek temizleme başarılı." +#: inc/Engine/Admin/Settings/Page.php:1088 +msgid "Enable for CSS background images" +msgstr "CSS arka plan resimleri için etkinleştir" -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90 -msgid "Next Billing Date" -msgstr "Sonraki Fatura Tarihi" +#: inc/Engine/Admin/Settings/Page.php:1103 +msgid "Enable for iframes and videos" +msgstr "Iframe’ler ve görüntüler için etkinleştir" -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99 -msgid "No Subscription" -msgstr "Abonelik Yok" +#: inc/Engine/Admin/Settings/Page.php:1118 +msgid "Replace YouTube iframe with preview image" +msgstr "Önizleme resmi ile YouTube iframe’ini değiştir" -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135 -msgid "Your RocketCDN subscription is currently active." -msgstr "RocketCDN aboneliğiniz şu anda etkin." +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names. +#: inc/Engine/Admin/Settings/Page.php:1120 +msgid "Replace YouTube iframe with preview image is not compatible with %2$s." +msgstr "" +"Önizleme resmi ile değiştirilen YouTube iframe’i %2$s ile uyumlu değil." -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141 -#, php-format -msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s." -msgstr "RocketCDN’yi kullanmak için CNAME’nizi %1$s%2$s%3$s ile değiştirin." +#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names. +#: inc/Engine/Admin/Settings/Page.php:1120 +msgid "" +"This can significantly improve your loading time if you have a lot of " +"YouTube videos on a page." +msgstr "" +"Bir sayfada çok sayıda YouTube görüntüsüne sahipseniz bu önemli ölçüde " +"yükleme sürenizi iyileştirebilir." -#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152 -#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230 -#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334 -#, php-format -msgid "%1$sMore Info%2$s" -msgstr "%1$sDaha Fazla Bilgi%2$s" +#: inc/Engine/Admin/Settings/Page.php:1135 +msgid "Excluded images or iframes" +msgstr "Hariç tutulan resimler veya iframe’ler" -#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137 -msgid "RocketCDN enabled" -msgstr "RocketCDN etkinleştirildi" +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1137 +msgid "" +"Specify keywords (e.g. image filename, CSS filename, CSS class, domain) from" +" the image or iframe code to be excluded (one per line). %1$sMore info%2$s" +msgstr "" +"Resim veya iframe kodundan hariç tutulacak anahtar kelimeleri (örn. resim " +"dosya adı, CSS dosya adı, CSS sınıfı, etki alanı) belirtin (her satıra bir " +"tane). %1$sDaha fazla bilgi%2$s" -#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160 -msgid "RocketCDN disabled" -msgstr "RocketCDN etkisizleştirildi" +#: inc/Engine/Admin/Settings/Page.php:1145 +msgid "Add missing image dimensions" +msgstr "Eksik resim boyutlarını ekle" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27 -#, php-format -msgid "Valid until %s only!" -msgstr "Sadece %s tarihine kadar geçerli!" +#: inc/Engine/Admin/Settings/Page.php:1165 +msgid "Generate cache files, preload fonts" +msgstr "Önbellek dosyalarını oluşturun, yazı tiplerini önyükleyin" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36 -msgid "Speed up your website thanks to:" -msgstr "Şunlar sayesinde web sitenizi hızlandırın:" +#: inc/Engine/Admin/Settings/Page.php:1177 +msgid "Preload Cache" +msgstr "Önbelleği Önyükle" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1180 msgid "" -"High performance Content Delivery Network (CDN) with %1$sunlimited " -"bandwidth%2$s" +"When you enable preloading WP Rocket will automatically detect your sitemaps" +" and save all URLs to the database. The plugin will make sure that your " +"cache is always preloaded." msgstr "" -"%1$sSınırsız bant genişliği%2$s ile yüksek performanslı İçerik Dağıtım Ağı " -"(CDN)" +"Önceden yüklemeyi etkinleştirdiğinizde WP Rocket, site haritalarınızı " +"otomatik olarak algılayacak ve tüm URL’leri veritabanına kaydedecek. " +"Eklenti, önbelleğinizin her zaman önceden yüklendiğinden emin olacak." -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1188 +msgid "Preload Links" +msgstr "Bağlantıları Önyükle" + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1191 msgid "" -"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied" +"Link preloading improves the perceived load time by downloading a page when " +"a user hovers over the link. %1$sMore info%2$s" msgstr "" -"Kolay yapılandırma: %1$sen iyi CDN ayarları%2$s otomatik olarak uygulanır" +"Bağlantı önyükleme, kullanıcı bağlantının üzerine geldiğinde bir sayfa " +"indirerek algılanan yükleme süresini iyileştirir. %1$sDaha fazla bilgi%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1199 +msgid "Prefetch DNS Requests" +msgstr "DNS İsteklerini Önceden Getirme" + +#: inc/Engine/Admin/Settings/Page.php:1201 msgid "" -"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in" -" our plugin" +"DNS prefetching can make external files load faster, especially on mobile " +"networks" msgstr "" -"WP Rocket bütünleştirmesi: CDN seçeneği eklentimizde %1$sotomatik olarak " -"yapılandırılır%2$s" +"Önceden DNS getirme, harici dosyaları daha hızlı yüklemeyi sağlayabilir, " +"özellikle de mobil ağlarda" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58 -msgid "Learn more about RocketCDN" -msgstr "RocketCDN hakkında daha fazla bilgi edinin" +#: inc/Engine/Admin/Settings/Page.php:1206 +msgid "Preload Fonts" +msgstr "Yazı Tiplerini Önyükle" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1209 msgid "" -"*$%1$s/month for 12 months then $%2$s/month. You can cancel your " -"subscription at any time." +"Improves performance by helping browsers discover fonts in CSS files. " +"%1$sMore info%2$s" msgstr "" -"*12 ay için $%1$s/ay ardından $%2$s/ay. Aboneliğinizi istediğiniz zaman " -"iptal edebilirsiniz." - -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86 -msgid "Billed monthly" -msgstr "Aylık faturalandırılır" +"Tarayıcıların CSS dosyalarındaki yazı tiplerini keşfetmelerine yardımcı " +"olarak performansı artırır. %1$sDaha fazla bilgi%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87 -msgid "Get Started" -msgstr "Başlayın" +#: inc/Engine/Admin/Settings/Page.php:1223 +msgid "Activate Preloading" +msgstr "Önyüklemeyi aktif et" -#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92 -msgid "Reduce this banner" -msgstr "Bu afişi küçült" +#: inc/Engine/Admin/Settings/Page.php:1234 +msgid "Exclude URLs" +msgstr "Hariç tutulan URL’ler" -#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17 +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1239 msgid "" -"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network." +"Specify URLs to be excluded from the preload feature (one per line). " +"%1$sMore info%2$s" msgstr "" -"RocketCDN, WP Rocket’in İçerik Dağıtım Ağı ile web sitenizi hızlandırın." +"Önyükleme özelliğinden hariç tutulacak URL’leri belirtin (her satıra bir " +"tane). %1$sDaha fazla bilgi%2$s" -#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20 -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13 -msgid "Learn More" -msgstr "Daha Fazla Bilgi Edinin" +#: inc/Engine/Admin/Settings/Page.php:1250 +msgid "URLs to prefetch" +msgstr "Önceden gertirmek için URL’ler" -#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23 -msgid "RocketCDN is unavailable on local domains and staging sites." +#: inc/Engine/Admin/Settings/Page.php:1251 +msgid "" +"Specify external hosts to be prefetched (no http:, one per " +"line)" msgstr "" -"RocketCDN yerel etki alanlarında ve hazırlık sitelerinde kullanılamaz." +"Önceden getirilecek olan harici anamakineleri belirtin (http: " +"olmadan, her satıra bir tane)" -#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32 -msgid "Get RocketCDN" -msgstr "RocketCDN’yi Al" +#: inc/Engine/Admin/Settings/Page.php:1260 +msgid "Fonts to preload" +msgstr "Önyüklenecek yazı tipleri" -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11 -msgid "New!" -msgstr "Yeni!" +#: inc/Engine/Admin/Settings/Page.php:1261 +msgid "" +"Specify urls of the font files to be preloaded (one per line). Fonts must be" +" hosted on your own domain, or the domain you have specified on the CDN tab." +msgstr "" +"Önyüklenecek yazı tipi dosyalarının URL’lerini belirtin (her satıra bir " +"tane). Yazı tipleri kendi etki alanınızda veya CDN sekmesinde belirttiğiniz " +"etki alanında barındırılmak zorundadır." -#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12 +#: inc/Engine/Admin/Settings/Page.php:1262 msgid "" -"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!" +"The domain part of the URL will be stripped automatically.
    Allowed font " +"extensions: otf, ttf, svg, woff, woff2." msgstr "" -"RocketCDN, WP Rocket’in İçerik Dağıtım Ağı ile web sitenizi hızlandırın!" +"URL’nin etki alanı kısmı otomatik olarak sadeleştirilecektir.
    İzin " +"verilen yazı tipi uzantıları: otf, ttf, svg, woff, woff2." -#: inc/Engine/Cache/AdminSubscriber.php:118 inc/admin/admin.php:96 -#: inc/admin/admin.php:118 inc/deprecated/3.5.php:898 -msgid "Clear this cache" -msgstr "Bu önbelleği temizle" +#: inc/Engine/Admin/Settings/Page.php:1271 +msgid "Enable link preloading" +msgstr "Bağlantı önyüklemeyi etkinleştir" -#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75 -msgid "WP Rocket Expired Cache Interval" -msgstr "WP Roket Süresi Dolmuş Önbellek Aralığı" +#: inc/Engine/Admin/Settings/Page.php:1290 +msgid "Advanced Rules" +msgstr "Gelişmiş Kurallar" -#: inc/Engine/Cache/WPCache.php:337 -msgid "WP_CACHE value" -msgstr "WP_CACHE değeri" +#: inc/Engine/Admin/Settings/Page.php:1291 +msgid "Fine-tune cache rules" +msgstr "Önbellek kurallarına ince ayar yapın" -#: inc/Engine/Cache/WPCache.php:358 +#: inc/Engine/Admin/Settings/Page.php:1302 msgid "" -"The WP_CACHE constant needs to be set to true for WP Rocket cache to work " -"properly" +"Sensitive pages like custom login/logout URLs should be excluded from cache." msgstr "" -"WP Rocket önbelleğinin düzgün çalışması için WP_CACHE sabitinin true olarak " -"ayarlanması gerekir" +"Özel oturum açma/oturum kapatma URL’leri gibi hassas sayfalar önbellekten " +"hariç tutulmalıdır." -#: inc/Engine/Cache/WPCache.php:367 -msgid "WP_CACHE is set to true" -msgstr "WP_CACHE, true olarak ayarlı" +#: inc/Engine/Admin/Settings/Page.php:1305 +msgctxt "plugin name" +msgid "WooCommerce" +msgstr "WooCommerce" -#: inc/Engine/Cache/WPCache.php:375 -msgid "WP_CACHE is not set" -msgstr "WP_CACHE ayarlı değil" +#: inc/Engine/Admin/Settings/Page.php:1307 +msgctxt "plugin name" +msgid "Easy Digital Downloads" +msgstr "Easy Digital Downloads" -#: inc/Engine/Cache/WPCache.php:383 -msgid "WP_CACHE is set to false" -msgstr "WP_CACHE, false olarak ayarlı" +#: inc/Engine/Admin/Settings/Page.php:1309 +msgctxt "plugin name" +msgid "iThemes Exchange" +msgstr "iThemes Exchange" -#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253 -msgid "Every minute" -msgstr "Her dakika" +#: inc/Engine/Admin/Settings/Page.php:1311 +msgctxt "plugin name" +msgid "Jigoshop" +msgstr "Jigoshop" -#: inc/Engine/CriticalPath/APIClient.php:64 -#, php-format -msgid "Critical CSS for %1$s not generated. Error: %2$s" -msgstr "%1$s için Önemli CSS oluşturulmadı. Hata: %2$s" +#: inc/Engine/Admin/Settings/Page.php:1313 +msgctxt "plugin name" +msgid "WP-Shop" +msgstr "WP-Shop" -#: inc/Engine/CriticalPath/APIClient.php:170 -#, php-format +#. translators: %1$s = opening tag, %2$s = plugin name, %3$s closing +#. tag. +#: inc/Engine/Admin/Settings/Page.php:1319 msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The API returned an " -"empty response." +"
    Cart, checkout and \"my account\" pages set in " +"%1$s%2$s%3$s will be detected and never cached by default." msgstr "" -"Mobil üzerinde %1$s için Önemli CSS oluşturulmadı. Hata: API boş bir yanıt " -"döndürdü." - -#: inc/Engine/CriticalPath/APIClient.php:173 -#, php-format -msgid "" -"Critical CSS for %1$s not generated. Error: The API returned an empty " -"response." -msgstr "%1$s için Önemli CSS oluşturulmadı. Hata: API boş bir yanıt döndürdü." +"
    %1$s%2$s%3$s içinde ayarlanan sepet, ödeme ve " +"\"hesabım\" sayfaları algılanacak ve varsayılan olarak asla " +"önbelleklenmeyecektir." -#: inc/Engine/CriticalPath/APIClient.php:185 -#, php-format -msgid "Critical CSS for %1$s on mobile not generated." -msgstr "Mobil üzerinde %1$s için Önemli CSS oluşturulmadı." +#: inc/Engine/Admin/Settings/Page.php:1337 +msgid "Never Cache Cookies" +msgstr "Asla Önbelleklenmeyen Tanımlama Bilgileri" -#: inc/Engine/CriticalPath/APIClient.php:187 -#: inc/Engine/CriticalPath/ProcessorService.php:194 -#, php-format -msgid "Critical CSS for %1$s not generated." -msgstr "%1$s için Önemli CSS oluşturulmadı." +#: inc/Engine/Admin/Settings/Page.php:1355 +msgid "Cache Query String(s)" +msgstr "Önbelleklenen Sorgu Dizgi(leri)si" -#: inc/Engine/CriticalPath/APIClient.php:195 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1358 msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The API returned an " -"invalid response code." +"%1$sCache for query strings%2$s enables you to force caching for specific " +"GET parameters." msgstr "" -"Mobil üzerinde %1$s için Önemli CSS oluşturulmadı. Hata: API geçersiz bir " -"yanıt kodu döndürdü." +"%1$sSorgu dizgilerini önbelleklemek%2$s belirli GET parametreleri için " +"önbelleklemeye zorlamanızı etkinleştirir." -#: inc/Engine/CriticalPath/APIClient.php:197 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1369 msgid "" -"Critical CSS for %1$s not generated. Error: The API returned an invalid " -"response code." +"Specify URLs of pages or posts that should never be cached (one per line)" msgstr "" -"%1$s için Önemli CSS oluşturulmadı. Hata: API geçersiz bir yanıt kodu " -"döndürdü." - -#: inc/Engine/CriticalPath/APIClient.php:205 -#: inc/Engine/CriticalPath/ProcessorService.php:201 -#, php-format -msgid "Error: %1$s" -msgstr "Hata: %1$s" - -#: inc/Engine/CriticalPath/Admin/Admin.php:264 -msgid "Regenerate Critical Path CSS" -msgstr "Önemli Yol CSS’yi yeniden oluştur" - -#: inc/Engine/CriticalPath/Admin/Post.php:144 -#: views/cpcss/metabox/generate.php:47 -msgid "Generate Specific CPCSS" -msgstr "Belirli ÖYCSS’yi Oluştur" - -#: inc/Engine/CriticalPath/Admin/Post.php:145 -#: views/cpcss/metabox/generate.php:45 -msgid "Regenerate specific CPCSS" -msgstr "Belirli ÖYCSS’yi Yeniden Oluştur" +"Asla önbelleklenmemesi gereken sayfa ve yazıların URL’lerini belirtin (her " +"satıra bir tane)" -#: inc/Engine/CriticalPath/Admin/Post.php:216 -msgid "This feature is not available for non-public post types." +#: inc/Engine/Admin/Settings/Page.php:1370 +#: inc/Engine/Admin/Settings/Page.php:1398 +msgid "" +"The domain part of the URL will be stripped automatically.
    Use (.*) " +"wildcards to address multiple URLs under a given path." msgstr "" -"Bu özellik ortak olmayan gönderi türleri için kullanılabilir değildir." - -#: inc/Engine/CriticalPath/Admin/Post.php:219 -msgid "%l to use this feature." -msgstr "Bu özelliği kullanmak için %l." - -#: inc/Engine/CriticalPath/Admin/Post.php:222 -#, php-format -msgid "Publish the %s" -msgstr "%s Yayınla" - -#: inc/Engine/CriticalPath/Admin/Post.php:223 -msgid "Enable Load CSS asynchronously in WP Rocket settings" -msgstr "WP Rocket ayarlarında CSS’yi eşzamanlı olmadan yükle’yi etkinleştir" +"URL’nin etki alanı kısmı otomatik olarak sadeleştirilecektir.
    Verilen yol" +" altında çoklu URL’leri adreslemek için (.*) joker karakterlerini kullanın." -#: inc/Engine/CriticalPath/Admin/Post.php:224 -msgid "Enable Load CSS asynchronously in the options above" -msgstr "Yukarıdaki seçeneklerde CSS’yi eşzamanlı olmadan yükle’yi etkinleştir" +#: inc/Engine/Admin/Settings/Page.php:1379 +msgid "" +"Specify full or partial IDs of cookies that, when set in the visitor's " +"browser, should prevent a page from getting cached (one per line)" +msgstr "" +"Ziyaretçinin tarayıcısında ayarlandığında, bir sayfanın önbelleklenmesine " +"engel olması gereken, tanımlama bilgilerinin tam ya da kısmi kimliklerini " +"belirtin (satır başına bir tane)" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176 -msgid "Critical CSS generation is currently running." -msgstr "Önemli CSS üretimi şu anda çalışıyor." +#: inc/Engine/Admin/Settings/Page.php:1387 +msgid "" +"Specify user agent strings that should never see cached pages (one per line)" +msgstr "" +"Önbelleklenmiş sayfaları asla görmemesi gereken kullanıcı tanıtıcı dizgisini" +" belirtin (her satıra bir tane)" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181 -#, php-format -msgid "Go to the %1$sWP Rocket settings%2$s page to track progress." -msgstr "İlerlemeyi izlemek için %1$sWP Rocket ayarları%2$s sayfasına gidin." +#: inc/Engine/Admin/Settings/Page.php:1388 +msgid "Use (.*) wildcards to detect parts of UA strings." +msgstr "" +"UA dizgilerinin parçalarını algılamak için (.*) joker karakterlerini " +"kullanın." -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1397 msgid "" -"Critical CSS generation is currently running: %1$d of %2$d page types " -"completed. (Refresh this page to view progress)" +"Specify URLs you always want purged from cache whenever you update any post " +"or page (one per line)" msgstr "" -"Önemli CSS oluşturma şu anda çalışıyor: %1$d / %2$d sayfa türü tamamlandı. " -"(İlerlemeyi görmek için bu sayfayı yenileyin)" +"Herhangi bir yazıyı veya sayfayı her güncellediğinizde daima önbellekten " +"temizlenmesini istediğiniz URL’leri belirtin (her satıra bir tane)" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472 -#, php-format -msgid "Critical CSS generation finished for %1$d of %2$d page types." -msgstr "Önemli CSS oluşturma, %1$d / %2$d sayfa türü için bitti." +#: inc/Engine/Admin/Settings/Page.php:1406 +msgid "Specify query strings for caching (one per line)" +msgstr "Önbellekleme için sorgu dizgilerini belirtin (her satıra bir tane)" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 -msgid "Critical CSS generation encountered one or more errors." -msgstr "Önemli CSS oluşturma, bir ya da daha fazla hata ile karşılaştı." +#: inc/Engine/Admin/Settings/Page.php:1432 +msgid "Optimize, reduce bloat" +msgstr "İyileştirin, şişmeyi azaltın" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 -msgid "Learn more." -msgstr "Daha fazla bilgi edinin." +#: inc/Engine/Admin/Settings/Page.php:1439 +msgid "Post Cleanup" +msgstr "Yazı Temizleme" -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1441 msgid "" -"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS " -"optimization. Load CSS Asynchronously is always available as a back-up." +"Post revisions and drafts will be permanently deleted. Do not use this " +"option if you need to retain revisions or drafts." msgstr "" -"Daha iyi bir CSS iyileştirmesi için %1$sgüncellenmiş Kullanılmayan CSS’yi " -"Kaldır’ı%2$s şiddetle tavsiye ederiz. CSS’yi Eşzamanlı Olmadan Yükle, her " -"zaman yedek olarak kullanılabilir." +"Yazı incelemeleri ve taslaklar kalıcı olarak silinecektir. İncelemeleri ya " +"da taslakları tutmanız gerekiyorsa bu seçeneği kullanmayın." -#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845 -msgid "Stay with the old option" -msgstr "Eski seçenekle kal" +#: inc/Engine/Admin/Settings/Page.php:1446 +msgid "Comments Cleanup" +msgstr "Yorumları Temizleme" -#: inc/Engine/CriticalPath/DataManager.php:68 -#, php-format -msgid "" -"Critical CSS for %1$s on mobile not generated. Error: The destination folder" -" could not be created." -msgstr "" -"Mobil üzerinde %1$s için Önemli CSS oluşturulmadı. Hata: Hedef klasör " -"oluşturulamadı." +#: inc/Engine/Admin/Settings/Page.php:1448 +msgid "Spam and trashed comments will be permanently deleted." +msgstr "İstenmeyen mesaj ve çöpe atılmış yorumlar kalıcı olarak silinecektir." -#: inc/Engine/CriticalPath/DataManager.php:71 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1452 +msgid "Transients Cleanup" +msgstr "Geçicileri Temizleme" + +#: inc/Engine/Admin/Settings/Page.php:1454 msgid "" -"Critical CSS for %1$s not generated. Error: The destination folder could not" -" be created." +"Transients are temporary options; they are safe to remove. They will be " +"automatically regenerated as your plugins require them." msgstr "" -"%1$s için Önemli CSS oluşturulmadı. Hata: Hedef klasör oluşturulamadı." +"Geçiciler geçici seçeneklerdir; kaldırması güvenlidir. Eklentilerinizin " +"gerektirdiklerini otomatik olarak oluşturacaklardır." -#: inc/Engine/CriticalPath/DataManager.php:106 -msgid "Critical CSS file for mobile does not exist" -msgstr "Mobil için Önemli CSS dosyası yok" +#: inc/Engine/Admin/Settings/Page.php:1458 +msgid "Database Cleanup" +msgstr "Veritabanı Temizleme" -#: inc/Engine/CriticalPath/DataManager.php:108 -msgid "Critical CSS file does not exist" -msgstr "Önemli CSS dosyası yok" +#: inc/Engine/Admin/Settings/Page.php:1460 +msgid "Reduces overhead of database tables" +msgstr "Veritabanı tablolarının ek yükünü azaltır" -#: inc/Engine/CriticalPath/DataManager.php:120 -msgid "Critical CSS file for mobile cannot be deleted" -msgstr "Mobil için Önemli CSS dosyası silinemez" +#: inc/Engine/Admin/Settings/Page.php:1464 +msgid "Automatic Cleanup" +msgstr "Otomatik Temizleme" -#: inc/Engine/CriticalPath/DataManager.php:122 -msgid "Critical CSS file cannot be deleted" -msgstr "Önemli CSS dosyası silinemez" +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1477 +msgid "%s revision in your database." +msgid_plural "%s revisions in your database." +msgstr[0] "Veritabanınızda %s düzeltme." +msgstr[1] "Veritabanınızda %s düzeltme." -#: inc/Engine/CriticalPath/ProcessorService.php:187 -#, php-format -msgid "Mobile Critical CSS for %1$s not generated." -msgstr "%1$s için Mobil Önemli CSS oluşturulmadı." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1487 +msgid "%s draft in your database." +msgid_plural "%s drafts in your database." +msgstr[0] "Veritabanınızda %s taslak." +msgstr[1] "Veritabanınızda %s taslak." -#: inc/Engine/CriticalPath/ProcessorService.php:228 -#, php-format -msgid "Critical CSS for %s in progress." -msgstr "%s için Önemli CSS devam ediyor." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1497 +msgid "%s trashed post in your database." +msgid_plural "%s trashed posts in your database." +msgstr[0] "Veritabanınızda %s çöpe atılmış yazı." +msgstr[1] "Veritabanınızda %s çöpe atılmış yazı." -#: inc/Engine/CriticalPath/ProcessorService.php:262 -#, php-format -msgid "Mobile Critical CSS for %s generated." -msgstr "%s için Mobil Önemli CSS oluşturuldu." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1507 +msgid "%s spam comment in your database." +msgid_plural "%s spam comments in your database." +msgstr[0] "Veritabanınızda %s istenmeyen yorum." +msgstr[1] "Veritabanınızda %s istenmeyen yorum." -#: inc/Engine/CriticalPath/ProcessorService.php:273 -#, php-format -msgid "Critical CSS for %s generated." -msgstr "%s için Önemli CSS oluşturuldu." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1517 +msgid "%s trashed comment in your database." +msgid_plural "%s trashed comments in your database." +msgstr[0] "Veritabanınızda %s çöpe atılmış yorum." +msgstr[1] "Veritabanınızda %s çöpe atılmış yorum." -#: inc/Engine/CriticalPath/ProcessorService.php:295 -msgid "Critical CSS file deleted successfully." -msgstr "Önemli CSS dosyası başarılı olarak silindi." +#: inc/Engine/Admin/Settings/Page.php:1525 +msgid "All transients" +msgstr "Tüm geçiciler" -#: inc/Engine/CriticalPath/ProcessorService.php:317 -#, php-format -msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later." -msgstr "" -"%1$s için Mobil Önemli CSS zaman aşımına uğradı. Lütfen biraz sonra yeniden " -"deneyin." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1527 +msgid "%s transient in your database." +msgid_plural "%s transients in your database." +msgstr[0] "Veritabanınızda %s geçici." +msgstr[1] "Veritabanınızda %s geçici." -#: inc/Engine/CriticalPath/ProcessorService.php:330 -#, php-format -msgid "Critical CSS for %1$s timeout. Please retry a little later." -msgstr "" -"%1$s için Önemli CSS zaman aşımına uğradı. Lütfen biraz sonra yeniden " -"deneyin." +#: inc/Engine/Admin/Settings/Page.php:1535 +msgid "Optimize Tables" +msgstr "Tabloları iyileştir" -#: inc/Engine/CriticalPath/RESTWP.php:141 -msgid "Mobile CPCSS generation not enabled." -msgstr "Mobil ÖYCSS oluşturma etkinleştirilmedi." +#. translators: %s is the number of revisions found in the database. It's a +#. formatted number, don't use %d. +#: inc/Engine/Admin/Settings/Page.php:1537 +msgid "%s table to optimize in your database." +msgid_plural "%s tables to optimize in your database." +msgstr[0] "Veritabanınızda iyileştirmek için %s tablo." +msgstr[1] "Veritabanınızda iyileştirmek için %s tablo." -#: inc/Engine/CriticalPath/RESTWPPost.php:36 -#: inc/Engine/CriticalPath/RESTWPPost.php:69 -msgid "Requested post does not exist." -msgstr "İstenen yazı yok." +#: inc/Engine/Admin/Settings/Page.php:1548 +msgid "Schedule Automatic Cleanup" +msgstr "Otomatik Temizlemeyi Zamanla" -#: inc/Engine/CriticalPath/RESTWPPost.php:46 -msgid "Cannot generate CPCSS for unpublished post." -msgstr "Yayınlanmamış yazı için ÖYCSS oluşturulamıyor." +#: inc/Engine/Admin/Settings/Page.php:1560 +msgid "Frequency" +msgstr "Sıklıkla" -#: inc/Engine/HealthCheck/HealthCheck.php:82 inc/deprecated/3.5.php:858 -msgid "" -"The following scheduled event failed to run. This may indicate the CRON " -"system is not running properly, which can prevent some WP Rocket features " -"from working as intended:" -msgid_plural "" -"The following scheduled events failed to run. This may indicate the CRON " -"system is not running properly, which can prevent some WP Rocket features " -"from working as intended:" -msgstr[0] "" -"Aşağıdaki zamanlanan olayın çalıştırılması başarısız oldu. Bu, CRON " -"sisteminin düzgün bir şekilde çalışmadığını gösterebilir ve bu da bazı WP " -"Rocket özelliklerinin beklendiği gibi çalışmasını engelleyebilir:" -msgstr[1] "" -"Aşağıdaki zamanlanan olayların çalıştırılması başarısız oldu. Bu, CRON " -"sisteminin düzgün bir şekilde çalışmadığını gösterebilir ve bu da bazı WP " -"Rocket özelliklerinin beklendiği gibi çalışmasını engelleyebilir:" +#: inc/Engine/Admin/Settings/Page.php:1568 +msgid "Daily" +msgstr "Günlük" -#: inc/Engine/HealthCheck/HealthCheck.php:88 inc/deprecated/3.5.php:867 -msgid "Please contact your host to check if CRON is working." -msgstr "" -"CRON’un çalışıp çalışmadığını denetlemek için lütfen barındırıcınız ile " -"iletişime geçin." +#: inc/Engine/Admin/Settings/Page.php:1569 +msgid "Weekly" +msgstr "Haftalık" -#: inc/Engine/HealthCheck/HealthCheck.php:142 -msgid "Scheduled Cache Purge" -msgstr "Zamanlanmış Önbellek Temizleme" +#: inc/Engine/Admin/Settings/Page.php:1570 +msgid "Monthly" +msgstr "Aylık" -#: inc/Engine/HealthCheck/HealthCheck.php:143 -msgid "Scheduled Database Optimization" -msgstr "Zamanlanmış Veritabanı İyileştirme" +#: inc/Engine/Admin/Settings/Page.php:1587 +msgid "Integrate your CDN" +msgstr "CDN’nizi bütünleştirin" -#: inc/Engine/HealthCheck/HealthCheck.php:144 -msgid "Database Optimization Process" -msgstr "Veritabanı İyileştirme İşlemi" +#: inc/Engine/Admin/Settings/Page.php:1599 +msgid "" +"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)" +" you provide." +msgstr "" +"Sabit dosyaların (CSS, JS, resimler) tüm URL’leri, verdiğiniz CNAME(lere)e " +"yeniden yazılacaktır." -#: inc/Engine/HealthCheck/HealthCheck.php:145 -msgctxt "noun" -msgid "Preload" -msgstr "Önyükleme" +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Admin/Settings/Page.php:1601 +msgid "" +"Not required for services like Cloudflare and Sucuri. Please see our " +"available %1$sAdd-ons%2$s." +msgstr "" +"Cloudflare ve Sucuri gibi hizmetler için gerekmez. Lütfen mevcut " +"%1$sEklentilerimize%2$s bakın." -#: inc/Engine/HealthCheck/HealthCheck.php:146 -msgid "Critical Path CSS Generation Process" -msgstr "Önemli Yol CSS’yi Oluşturma İşlemi" +#. translators: %1$s = opening em tag, %2$l = list of add-on name(s), %3$s = +#. closing em tag. +#: inc/Engine/Admin/Settings/Page.php:1647 +msgid "" +"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings " +"is not required for %2$l to work on your site." +msgid_plural "" +"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN " +"settings is not required for %2$l to work on your site." +msgstr[0] "" +"%1$s%2$l Eklentisi%3$s şu anda etkinleştirildi. CDN ayarlarının " +"yapılandırması, sitenizde çalışması amacıyla %2$l için gerekmez." +msgstr[1] "" +"%1$s%2$l Eklentileri%3$s şu anda etkinleştirildi. CDN ayarlarının " +"yapılandırması, sitenizde çalışması amacıyla %2$l için gerekmez." -#: inc/Engine/License/Renewal.php:76 -#, php-format -msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!" -msgstr "Çok geç olmadan yenileyin, sadece %1$s%2$s%3$s ödeyeceksiniz!" +#: inc/Engine/Admin/Settings/Page.php:1673 +msgid "Enable Content Delivery Network" +msgstr "İçerik Dağıtım Ağını (CDN) etkinleştir" -#: inc/Engine/License/Renewal.php:85 -#, php-format -msgid "" -"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " -"%4$s%5$s%6$s!" -msgstr "" -"Çok geç olmadan %1$s%2$s indirim%3$s ile yenileyin, sadece %4$s%5$s%6$s " -"ödeyeceksiniz!" +#: inc/Engine/Admin/Settings/Page.php:1682 +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159 +msgid "CDN CNAME(s)" +msgstr "CDN CNAME(ler)" -#: inc/Engine/License/Renewal.php:139 -#, php-format -msgid "Renew your license for 1 year now at %1$s%3$s%2$s." -msgstr "Lisansınızı şimdi %1$s%3$s%2$s adresinden 1 yıllığına yenileyin." +#: inc/Engine/Admin/Settings/Page.php:1683 +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160 +msgid "Specify the CNAME(s) below" +msgstr "Aşağıda CNAME(leri) belirtin" -#: inc/Engine/License/Renewal.php:152 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1690 msgid "" -"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you " -"will only pay %1$s%4$s%2$s!" +"Specify URL(s) of files that should not get served via CDN (one per line)." msgstr "" -"Lisansınızı 1 yıllığına hemen yenileyin ve %1$s%3$s İNDİRİM%2$s alın: sadece" -" %1$s%4$s%2$s ödeyeceksiniz!" - -#: inc/Engine/License/Renewal.php:218 -#, php-format -msgid "Renew before it is too late, you will pay %1$s%3$s%2$s." -msgstr "Çok geç olmadan yenileyin, %1$s%3$s%2$s ödeyeceksiniz." +"CDN aracılığıyla sunulmaması gereken dosyaların URL(lerini)sini belirtin " +"(her satıra bir tane)." -#: inc/Engine/License/Renewal.php:227 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1691 msgid "" -"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " -"%1$s%4$s%3$s!" +"The domain part of the URL will be stripped automatically.
    Use (.*) " +"wildcards to exclude all files of a given file type located at a specific " +"path." msgstr "" -"Çok geç olmadan %1$s%2$s indirim%3$s ile yenileyin, sadece %1$s%4$s%3$s " -"ödeyeceksiniz!" +"URL’nin etki alanı kısmı otomatik olarak sadeleştirilecektir.
    Belirli bir" +" yolda bulunan verilen bir dosya türünün tüm dosyalarını hariç tutmak için " +"(.*) joker karakterlerini kullanın." -#: inc/Engine/License/Renewal.php:546 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1714 +#: inc/Engine/Admin/Settings/Page.php:1722 +msgid "Heartbeat" +msgstr "Kalp Atışı" + +#: inc/Engine/Admin/Settings/Page.php:1715 +msgid "Control WordPress Heartbeat API" +msgstr "WordPress Kalp Atışı API’sini denetleyin" + +#: inc/Engine/Admin/Settings/Page.php:1723 msgid "" -"You need a valid license to continue using this feature. %1$sRenew now%2$s " -"before losing access." +"Reducing or disabling the Heartbeat API’s activity can help save some of " +"your server’s resources." msgstr "" -"Bu özelliği kullanmaya devam etmek için geçerli bir lisansa ihtiyacınız var." -" Erişimi kaybetmeden önce %1$sşimdi yenileyin%2$s." +"Kalp Atışı API’si etkinliğini azaltmak veya etkisizleştirmek, sunucunuzun " +"kaynaklarının bazılarını kurtarmasına yardımcı olabilir." -#: inc/Engine/License/Renewal.php:567 -#, php-format -msgid "You need an active license to enable this option. %1$sRenew now%2$s." -msgstr "" -"Bu seçeneği etkinleştirmek için aktif bir lisansa ihtiyacınız var. %1$sŞimdi" -" yenile%2$s." +#: inc/Engine/Admin/Settings/Page.php:1729 +msgid "Reduce or disable Heartbeat activity" +msgstr "Kalp Atışı etkinliğini azaltma veya etkisizleştirme" -#: inc/Engine/License/Renewal.php:595 -#, php-format -msgid "You need an active license to enable this option. %1$sMore info%2$s." +#: inc/Engine/Admin/Settings/Page.php:1730 +msgid "" +"Reducing activity will change Heartbeat frequency from one hit each minute " +"to one hit every 2 minutes." msgstr "" -"Bu seçeneği etkinleştirmek için aktif bir lisansa ihtiyacınız var. %1$sDaha " -"fazla bilgi%2$s." +"Etkinliği azaltmak Kalp Atışı sıklığını, her dakikada bir vuruştan her 2 " +"dakikada bir vuruşa değiştirecektir." -#: inc/Engine/License/Upgrade.php:252 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1730 msgid "" -"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" -" for %3$supgrading your license to Plus or Infinite!%5$s" -msgid_plural "" -"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" -" for %3$supgrading your license to Infinite!%5$s" -msgstr[0] "" -"Daha fazla web sitesini hızlandırmak için %1$s avantajından yararlanın:%2$s " -"%3$slisansınızı Infinite’e veya Plus’a yükseltmek%5$s için %3$s%4$s " -"indirim%5$s alın!" -msgstr[1] "" -"Daha fazla web sitesini hızlandırmak için %1$s avantajından yararlanın:%2$s " -"%3$slisansınızı Infinite’e yükseltmek%5$s için %3$s%4$s indirim%5$s alın!" +"Disabling Heartbeat entirely may break plugins and themes using this API." +msgstr "" +"Kalp Atışı’nın tamamen etkisizleştirilmesi bu API’yi kullanan eklentileri ve" +" temaları bozabilir." -#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405 -msgid "Unlimited" -msgstr "Sınırsız" +#: inc/Engine/Admin/Settings/Page.php:1744 +msgid "Do not limit" +msgstr "Sınırlandırma" -#: inc/Engine/License/views/promo-banner.php:16 -#, php-format -msgid "%s off" -msgstr "%s indirim" +#: inc/Engine/Admin/Settings/Page.php:1745 +msgid "Reduce activity" +msgstr "Etkinliği azalt" -#: inc/Engine/License/views/promo-banner.php:21 -#, php-format -msgid "%s promotion is live!" -msgstr "%s promosyonu geçerli!" +#: inc/Engine/Admin/Settings/Page.php:1746 +msgid "Disable" +msgstr "Etkisizleştir" -#: inc/Engine/License/views/promo-banner.php:27 -msgid "Hurry Up! Deal ends in:" -msgstr "Acele Edin! Anlaşmanın bitiş zamanı:" +#: inc/Engine/Admin/Settings/Page.php:1754 +msgid "Control Heartbeat" +msgstr "Kalp Atışı’nı denetle" -#: inc/Engine/License/views/promo-banner.php:31 -#: inc/Engine/License/views/renewal-soon-banner.php:14 -msgid "Minutes" -msgstr "Dakika" +#: inc/Engine/Admin/Settings/Page.php:1763 +msgid "Behavior in backend" +msgstr "Arka uçtaki davranış" -#: inc/Engine/License/views/promo-banner.php:32 -#: inc/Engine/License/views/renewal-soon-banner.php:15 -msgid "Seconds" -msgstr "Saniye" +#: inc/Engine/Admin/Settings/Page.php:1770 +msgid "Behavior in post editor" +msgstr "Yazı düzenleyicideki davranış" -#: inc/Engine/License/views/promo-banner.php:34 -#: inc/Engine/License/views/upgrade-section.php:11 -msgid "Upgrade now" -msgstr "Şimdi yükselt" +#: inc/Engine/Admin/Settings/Page.php:1776 +msgid "Behavior in frontend" +msgstr "Ön uçtaki davranış" -#: inc/Engine/License/views/promo-banner.php:36 -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32 -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42 -#: inc/Engine/License/views/renewal-expired-banner.php:30 -#: inc/admin/ui/notices.php:742 views/settings/page-sections/dashboard.php:46 -msgid "Dismiss this notice" -msgstr "Bu bildirimi anımsatma" +#: inc/Engine/Admin/Settings/Page.php:1793 +#: views/settings/page-sections/tutorials.php:39 +msgid "Add-ons" +msgstr "Eklentiler" -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11 -msgid "The Optimize CSS Delivery feature is disabled." -msgstr "CSS teslimini iyileştir özelliği etkisizleştirildi." +#: inc/Engine/Admin/Settings/Page.php:1794 +msgid "Add more features" +msgstr "Daha fazla özellik ekleyin" -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15 -msgid "" -"You can no longer use the Remove Unused CSS or Load CSS asynchronously " -"options." -msgstr "" -"Artık Kullanılmayan CSS’yi Kaldır veya CSS’yi eşzamansız olarak yükle " -"seçeneklerini kullanamazsınız." +#: inc/Engine/Admin/Settings/Page.php:1801 +msgid "One-click Rocket Add-ons" +msgstr "Tek Tık Rocket Eklentileri" -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1802 msgid "" -"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, " -"which addresses a PageSpeed Insights recommendation and improves your page " -"performance." +"One-Click Add-ons are features extending available options without " +"configuration needed. Switch the option \"on\" to enable from this screen." msgstr "" -"CSS teslimini iyileştirmeye devam etmek için bir PageSpeed ​​Insights " -"önerisini ele alan ve sayfa performansınızı iyileştiren %1$saktif bir " -"lisansa%2$s ihtiyacınız var." - -#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29 -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39 -#: inc/Engine/License/views/renewal-expired-banner.php:27 -#: inc/Engine/License/views/renewal-soon-banner.php:31 -msgid "Renew now" -msgstr "Şimdi yenile" - -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11 -msgid "You will soon lose access to some features" -msgstr "Yakında bazı özelliklere erişiminizi kaybedeceksiniz" +"Tek Tık Eklentiler, yapılandırma gerekmeden mevcut seçenekleri genişleten " +"özelliklerdir. Etkinleştirmek için seçeneği bu ekrandan \"açık\" olarak " +"değiştirin." -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18 -#, php-format -msgid "" -"You need an %1$sactive license to continue optimizing your CSS delivery%2$s." -msgstr "" -"%1$sCSS teslimini iyileştirmeye devam etmek için aktif bir lisansa%2$s " -"ihtiyacınız var." +#: inc/Engine/Admin/Settings/Page.php:1812 +msgid "Rocket Add-ons" +msgstr "Rocket Eklentileri" -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24 -msgid "" -"The Remove Unused CSS and Load CSS asynchronously features are great options" -" to address the PageSpeed Insights recommendations and improve your website " -"performance." +#: inc/Engine/Admin/Settings/Page.php:1813 +msgid "Rocket Add-ons are complementary features extending available options." msgstr "" -"Kullanılmayan CSS’yi Kaldır veya CSS’yi eşzamansız olarak yükle özellikleri," -" PageSpeed ​​Insights önerilerini ele almak ve web sitenizin performansını " -"artırmak için harika seçeneklerdir." +"Rocket Eklentileri mevcut seçenekleri genişleten tamamlayıcı özelliklerdir." -#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29 -#, php-format -msgid "They will be %1$sautomatically disabled on %3$s%2$s." -msgstr "%1$s%3$s tarihinde otomatik olarak etkisizleştirileceklerdir%2$s." +#: inc/Engine/Admin/Settings/Page.php:1823 +#: inc/Engine/Admin/Settings/Page.php:1992 +msgid "Cloudflare" +msgstr "Cloudflare" -#: inc/Engine/License/views/renewal-expired-banner.php:11 -msgid "Your WP Rocket license is expired!" -msgstr "WP Rocket lisansınızın süresi doldu!" +#: inc/Engine/Admin/Settings/Page.php:1829 +msgid "Integrate your Cloudflare account with this add-on." +msgstr "Bu eklenti ile Cloudflare hesabınızı bütünleştirin." -#: inc/Engine/License/views/renewal-expired-banner.php:18 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:1830 msgid "" -"Your website could be much faster if it could take advantage of our %1$snew " -"features and enhancements%2$s. 🚀" +"Provide your account email, global API key, and domain to use options such " +"as clearing the Cloudflare cache and enabling optimal settings with WP " +"Rocket." msgstr "" -"%1$sYeni özelliklerimizden ve geliştirmelerimizden%2$s yararlanabilseydi web" -" siteniz çok daha hızlı olabilirdi.🚀" +"Cloudflare önbelleğini temizlemek ve WP Rocket ile en uygun ayarları " +"etkinleştirmek gibi seçenekleri kullanmak için hesap e-postanızı, genel API " +"anahtarını ve etki alanını sağlar." -#: inc/Engine/License/views/renewal-soon-banner.php:22 -#, php-format +#. translators: %1$s = opening span tag, %2$s = closing span tag. +#: inc/Engine/Admin/Settings/Page.php:1833 msgid "" -"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access" -" to product updates and support." +"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just " +"activate the official Cloudflare plugin and configure it. WP Rocket will " +"automatically enable compatibility." msgstr "" -"%1$sWP Rocket lisansınızın süresi dolmak üzere%2$s: yakında ürün " -"güncellemelerine ve desteğine erişiminizi kaybedeceksiniz." +"%1$sOtomatik Platform İyileştirmesini (APO) kullanmayı mı " +"planlıyorsunuz?%2$s Sadece resmi Cloudflare eklentisini aktif edin ve " +"yapılandırın. WP Rocket uyumluluğu otomatik olarak etkinleştirecektir." -#: inc/Engine/License/views/upgrade-popin.php:12 -msgid "Speed Up More Websites" -msgstr "Daha Fazla Web Sitesini Hızlandırın" +#: inc/Engine/Admin/Settings/Page.php:1881 +msgid "Varnish" +msgstr "Varnish" -#: inc/Engine/License/views/upgrade-popin.php:19 -#, php-format -msgid "" -"You can use WP Rocket on more websites by upgrading your license. To " -"upgrade, simply pay the %1$sprice difference%2$s between your current and " -"new licenses, as shown below." +#: inc/Engine/Admin/Settings/Page.php:1887 +msgid "If Varnish runs on your server, you must activate this add-on." msgstr "" -"WP Rocket’ı lisansınızı yükselterek daha fazla web sitesinde " -"kullanabilirsiniz. Yükseltmek için sadece şu anki ve yeni lisanslarınız " -"arasındaki %1$sfiyat farkını%2$s, aşağıda gösterildiği gibi ödeyin." +"Varnish sunucunuzda çalışıyorsa, bu eklentiyi aktif etmek zorundasınız." -#: inc/Engine/License/views/upgrade-popin.php:25 -#, php-format +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1889 msgid "" -"%1$sN.B.%2$s: Upgrading your license does not change your expiration date" +"Varnish cache will be purged each time WP Rocket clears its cache to ensure " +"content is always up-to-date.
    %1$sLearn more%2$s" msgstr "" -"%1$sLütfen Dikkat%2$s: Lisansınızı yükseltmek, geçerlilik sonu tarihinizi " -"değiştirmez" - -#: inc/Engine/License/views/upgrade-popin.php:35 -#, php-format -msgid "Save $%s" -msgstr "$%s dolar tasarruf edin" +"Varnish önbelleği, WP Rocket önbelleğini her temizlediğinde içeriğin her " +"zaman güncel olmasını sağlamak için temizlenecektir.
    %1$sDaha fazla bilgi" +" edinin%2$s" -#: inc/Engine/License/views/upgrade-popin.php:48 -#, php-format -msgid "%s websites" -msgstr "%s web sitesi" +#: inc/Engine/Admin/Settings/Page.php:1924 +msgid "WebP Compatibility" +msgstr "WebP Uyumluluğu" -#: inc/Engine/License/views/upgrade-popin.php:54 -#, php-format -msgid "Upgrade to %s" -msgstr "%s olarak yükselt" +#: inc/Engine/Admin/Settings/Page.php:1930 +msgid "Improve browser compatibility for WebP images." +msgstr "WebP resimleri için tarayıcı uyumluluğunu iyileştirin." -#: inc/Engine/License/views/upgrade-section.php:11 +#. translators: %1$s and %3$s = opening tag, %2$s = closing tag. +#: inc/Engine/Admin/Settings/Page.php:1934 msgid "" -"You can use WP Rocket on more websites by upgrading your license (you will " -"only pay the price difference between your current and new licenses)." +"Enable this option if you would like WP Rocket to serve WebP images to " +"compatible browsers. Please note that WP Rocket cannot create WebP images " +"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore " +"info%2$s" msgstr "" -"WP Rocket’ı lisansınızı yükselterek daha fazla web sitesinde " -"kullanabilirsiniz (sadece şu anki ve yeni lisanslarınız arasındaki fiyat " -"farkını ödeyeceksiniz)." - -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195 -msgid "Analytics & Ads" -msgstr "Çözümsel ve Reklamlar" - -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200 -msgid "Plugins" -msgstr "Eklentiler" +"WP Rocket’in WebP resimlerini uyumlu tarayıcılara sunmasını istiyorsanız bu " +"seçeneği etkinleştirin. WP Rocket’in sizin için WebP resimlerini " +"oluşturamayacağını lütfen unutmayın. WebP resimleri oluşturmak için " +"%1$sImagify%2$s öneriyoruz. %3$sDaha fazla bilgi%2$s" -#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205 -msgid "Themes" -msgstr "Temalar" +#: inc/Engine/Admin/Settings/Page.php:1954 +msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared." +msgstr "WP Rocket’in önbelleği temizlendiğinde Sucuri önbelleğini temizler." -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101 +#: inc/Engine/Admin/Settings/Page.php:1957 msgid "" -"You need an active license to get the latest version of the lists from our " -"server." +"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is " +"cleared." msgstr "" -"Listelerin en son sürümünü sunucumuzdan almak için aktif bir lisansa " -"ihtiyacınız var." +"WP Rocket’in önbelleği temizlendiğinde Sucuri önbelleğini temizlemek için " +"API anahtarınızı verin." -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115 -msgid "Could not get updated lists from server." -msgstr "Sunucudan güncellenmiş listeler alınamadı." +#: inc/Engine/Admin/Settings/Page.php:1965 +#: inc/Engine/Admin/Settings/Page.php:2109 +msgid "Sucuri" +msgstr "Sucuri" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124 -msgid "Lists are up to date." -msgstr "Listeler güncel." +#: inc/Engine/Admin/Settings/Page.php:1971 +msgid "Synchronize Sucuri cache with this add-on." +msgstr "Bu eklenti ile Sucuri önbelleğini eşitleyin." -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133 -msgid "Could not update lists." -msgstr "Listeler güncellenemedi." +#: inc/Engine/Admin/Settings/Page.php:2009 +msgid "Cloudflare credentials" +msgstr "Cloudflare kimlik bilgileri" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142 -msgid "Lists are successfully updated." -msgstr "Listeler başarılı olarak güncellendi." +#: inc/Engine/Admin/Settings/Page.php:2018 +msgid "Cloudflare settings" +msgstr "Cloudflare ayarları" -#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:52 -msgid "Default Lists" -msgstr "Varsayılan Listeler" +#: inc/Engine/Admin/Settings/Page.php:2032 +msgctxt "Cloudflare" +msgid "Global API key:" +msgstr "Genel API anahtarı" -#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:58 -msgid "Delay JavaScript Execution Exclusion Lists" -msgstr "JavaScript’i Geciktir Yürütmesi Hariç Tutma Listeleri" +#: inc/Engine/Admin/Settings/Page.php:2033 +msgctxt "Cloudflare" +msgid "Find your API key" +msgstr "API anahtarınızı bulun" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131 -#: views/settings/page-sections/dashboard.php:188 -msgid "Clear Used CSS" -msgstr "Kullanılan CSS’yi Temizle" +#: inc/Engine/Admin/Settings/Page.php:2045 +msgctxt "Cloudflare" +msgid "Account email" +msgstr "Hesap e-postası" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224 -#, php-format -msgid "" -"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing " -"your pages." -msgstr "" -"%1$s: Lütfen %2$s saniye bekleyin. Kullanılmayan CSS’yi Kaldır hizmeti " -"sayfalarınızı işliyor." +#: inc/Engine/Admin/Settings/Page.php:2054 +msgctxt "Cloudflare" +msgid "Zone ID" +msgstr "Bölge Kimliği - Zone ID" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:274 -#, php-format -msgid "" -"%1$s: The Used CSS of your homepage has been processed. WP Rocket will " -"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)." -msgstr "" -"%1$s: Ana sayfanızın Kullanılan CSS’si işlendi. WP Rocket, her %3$s saniyede" -" %2$s URL’ye kadar Kullanılan CSS oluşturmaya devam edecek." +#: inc/Engine/Admin/Settings/Page.php:2064 +msgid "Development mode" +msgstr "Geliştirme kipi" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283 -#, php-format -msgid "We suggest enabling %1$sPreload%2$s for the fastest results." +#. translators: %1$s = link opening tag, %2$s = link closing tag. +#: inc/Engine/Admin/Settings/Page.php:2066 +msgid "" +"Temporarily activate development mode on your website. This setting will " +"automatically turn off after 3 hours. %1$sLearn more%2$s" msgstr "" -"En hızlı sonuçlar için %1$sÖnyükleme%2$s’nin etkinleştirilmesini öneririz." +"Web sitenizde geçici olarak geliştirme kipini aktif edin. Bu ayar otomatik " +"olarak 3 saat sonra kapanacak. %1$sDaha fazla bilgi edinin%2$s" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:293 -#, php-format -msgid "To learn more about the process check our %1$sdocumentation%2$s." -msgstr "" -"İşlem hakkında daha fazla bilgi edinmek için %1$sbelgelerimizi%2$s gözden " -"geçirin." +#: inc/Engine/Admin/Settings/Page.php:2074 +msgid "Optimal settings" +msgstr "En uygun ayarlar" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:491 +#: inc/Engine/Admin/Settings/Page.php:2075 msgid "" -"We couldn't generate the used CSS because you're using a nulled version of " -"WP Rocket. You need an active license to use the Remove Unused CSS feature " -"and further improve your website's performance." +"Automatically enhances your Cloudflare configuration for speed, performance " +"grade and compatibility." msgstr "" -"WP Rocket’in nulled bir sürümünü kullandığınız için kullanılan CSS’yi " -"oluşturamadık. Kullanılmayan CSS’yi Kaldır özelliğini kullanmak ve web " -"sitenizin performansını daha da iyileştirmek için aktif bir lisansa " -"ihtiyacınız var." +"Hız, performans puanı ve uyumluluk için Cloudflare yapılandırmanızı otomatik" +" olarak iyileştirir." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:494 -#, php-format -msgid "Click here to get a WP Rocket single license at %1$s off!" -msgstr "%1$s indirimle WP Rocket tekli lisansı almak için burayı tıklayın!" +#: inc/Engine/Admin/Settings/Page.php:2083 +msgid "Relative protocol" +msgstr "Göreli protokol" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:547 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2084 msgid "" -"It seems a security plugin or the server's firewall prevents WP Rocket from " -"accessing the Remove Unused CSS generator. IPs listed %1$shere in our " -"documentation%2$s should be added to your allowlists:" +"Should only be used with Cloudflare's flexible SSL feature. URLs of static " +"files (CSS, JS, images) will be rewritten to use // instead of http:// or " +"https://." msgstr "" -"Görünüşe göre bir güvenlik eklentisi veya sunucunun güvenlik duvarı, WP " -"Rocket’in Kullanılmayan CSS’yi Kaldır oluşturucusuna erişmesini engelliyor. " -"%1$sBurada belgelerimizde%2$s listelenen IP’ler, izinli listelerinize " -"eklenmelidir:" - -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:552 -msgid "- In the security plugin, if you are using one" -msgstr "- Güvenlik eklentisinde, eğer bir eklenti kullanıyorsanız" +"Sadece Cloudflare’in esnek SSL özelliği ile kullanılmalıdır. Sabit " +"dosyaların (CSS, JS, resimler) URL’leri, http:// veya https:// yerine // " +"kullanmak için yeniden yazılacaktır." -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:553 -msgid "- In the server's firewall. Your host can help you with this" -msgstr "" -"- Sunucunun güvenlik duvarında. Barındırıcınız bu konuda size yardımcı " -"olabilir" +#: inc/Engine/Admin/Settings/Page.php:2122 +msgid "Sucuri credentials" +msgstr "Sucuri kimlik bilgileri" -#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:593 -#, php-format +#: inc/Engine/Admin/Settings/Page.php:2135 +msgctxt "Sucuri" msgid "" -"%1$s: Could not create the %2$s table in the database which is necessary for" -" the Remove Unused CSS feature to work. Please reach out to %3$sour " -"support%4$s." +"Firewall API key (for plugin), must be in format {32 characters}/{32 " +"characters}:" msgstr "" -"%1$s: Kullanılmayan CSS'yi Kaldır özelliğinin çalışması için gerekli olan " -"%2$s tablosu veritabanında oluşturulamadı. Lütfen %3$sdestek birimimize%4$s " -"ulaşın." - -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:324 -#, php-format -msgid "%1$s: Used CSS option is not enabled!" -msgstr "%1$s: Kullanılan CSS seçeneği etkinleştirilmedi!" - -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:345 -#, php-format -msgid "%1$s: Used CSS cache cleared!" -msgstr "%1$s: Kullanılan CSS önbelleği temizlendi!" - -#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:787 -msgid "Clear Used CSS of this URL" -msgstr "Bu URL’nin Kullanılan CSS’sini Temizle" - -#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160 -msgid "WP Rocket Remove Unused CSS pending jobs" -msgstr "WP Rocket Kullanılmayan CSS’yi Kaldır bekleyen işleri" +"Güvenlik Duvarı API anahtarı (eklenti için), {32 karakter}/{32 karakter} " +"biçiminde olmak zorundadır:" -#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174 -msgid "WP Rocket clear Remove Unused CSS failed jobs" -msgstr "WP Rocket, Kullanılmayan CSS’yi Kaldır başarısız işlerini temizler" +#: inc/Engine/Admin/Settings/Page.php:2136 +msgctxt "Sucuri" +msgid "Find your API key" +msgstr "API anahtarınızı bulun" -#: inc/Engine/Plugin/UpdaterApiTools.php:32 inc/deprecated/3.3.php:761 -#: inc/deprecated/3.3.php:770 -#, php-format +#: inc/Engine/Admin/Settings/Settings.php:361 msgid "" -"An unexpected error occurred. Something may be wrong with WP-Rocket.me or " -"this server’s configuration. If you continue to have problems, contact support." -msgstr "" -"Beklenmeyen bir hata meydana geldi. WP-Rocket.me veya bu sunucunun " -"yapılandırması ile ilgili birşey yanlış gitmiş olabilir. Eğer sorunlar " -"yaşamaya devam ederseniz, destekle iletişime geçin." - -#: inc/Engine/Plugin/UpdaterSubscriber.php:483 -#: inc/Engine/Plugin/UpdaterSubscriber.php:497 -#: inc/classes/class-wp-rocket-requirements-check.php:203 -#: inc/classes/class-wp-rocket-requirements-check.php:214 -#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251 -#, php-format -msgid "%s Update Rollback" -msgstr "%s Güncellemesi Geri Alma" - -#: inc/Engine/Plugin/UpdaterSubscriber.php:520 inc/deprecated/3.11.php:279 -#, php-format -msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s" +"Sucuri Add-on: The API key for the Sucuri firewall must be in format " +"{32 characters}/{32 characters}." msgstr "" -"%1$sWP Rocket’a geri dönün%2$s ya da %3$sEklentiler sayfasına gidin%2$s" +"Sucuri Eklentisi: Sucuri güvenlik duvarı için API anahtarı, {32 " +"karakter}/{32 karakter} biçiminde olmak zorundadır." -#: inc/Engine/Preload/Admin/Settings.php:57 -#, php-format +#: inc/Engine/Admin/Settings/Settings.php:667 msgid "" -"%1$s: The preload service is now active. After the initial preload it will " -"continue to cache all your pages whenever they are purged. No further action" -" is needed." +"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved " +"because it disables caching and optimizations for every page on your site." msgstr "" -"%1$s: Önyükleme hizmeti artık etkin. İlk önyüklemeden sonra, tüm " -"sayfalarınızı her temizlendiklerinde önbelleğe almaya devam edecek. Başka " -"bir işlem yapılmasına gerek yoktur." - -#: inc/Engine/Preload/Cron/Subscriber.php:138 -msgid "WP Rocket Preload pending jobs" -msgstr "WP Rocket Önyükleme bekleyen işleri" +"Üzgünüz! Gelişmiş Kurallar > URL’(leri)yi Asla Önbellekleme içine /(.*) " +"eklemek, sitenizdeki her sayfa için önbelleğe almayı ve iyileştirmeleri " +"etkisizleştirdiğinden kaydedilmedi." -#: inc/Engine/Preload/Cron/Subscriber.php:166 -msgid "WP Rocket Preload revert stuck failed jobs" -msgstr "WP Rocket Önyükleme, sıkışmış başarısız işleri geri alır" +#: inc/Engine/Admin/Settings/Subscriber.php:169 +msgid "Import, Export, Rollback" +msgstr "İçe aktarın, Dışa aktarın, Geri alın" -#: inc/ThirdParty/Hostings/Cloudways.php:82 -#, php-format -msgid "" -"Varnish auto-purge will be automatically enabled once Varnish is enabled on " -"your %s server." -msgstr "" -"%s sunucunuzda Varnish etkinleştirildikten sonra Varnish otomatik temizleme," -" otomatik olarak etkinleştirilecektir." +#: inc/Engine/Admin/Settings/Subscriber.php:194 +#: views/settings/page-sections/imagify.php:14 +msgid "Image Optimization" +msgstr "Resim İyileştirme" -#: inc/ThirdParty/Hostings/Kinsta.php:158 -#, php-format -msgid "" -"Your installation seems to be missing core Kinsta files managing Cache " -"clearing, which will prevent your Kinsta installation and WP Rocket from " -"working correctly. Please get in touch with Kinsta support through your " -"%1$sMyKinsta%2$s account to resolve this issue." -msgstr "" -"Kurulumunuzda, Kinsta kurulumunuzu ve WP Rocket’in doğru bir şekilde " -"çalışmasını önleyecek, Önbellek temizlemeyi yöneten çekirdek Kinsta " -"dosyalarının eksik olduğu görülüyor. Lütfen bu sorunu çözmek için " -"%1$sMyKinsta%2$s hesabınız aracılığıyla Kinsta desteği ile temasa geçin." +#: inc/Engine/Admin/Settings/Subscriber.php:195 +msgid "Compress your images" +msgstr "Resimlerinizi sıkıştırın" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:126 -#, php-format -msgid "" -"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of " -"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it." -msgstr "" -"%1$s: Cloudflare’in HTTP/2 Sunucu Yollaması, Kullanılmayan CSS’yi Kaldır ve " -"CSS Dosyalarını Birleştir’in özellikleriyle uyumlu değil. " -"Etkisizleştirmenizi şiddetle öneririz." +#: inc/Engine/Admin/Settings/Subscriber.php:212 +#: views/settings/page-sections/tutorials.php:48 +msgid "Tutorials" +msgstr "Eğitimler" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169 -msgid "" -"Your site is using the official Cloudflare plugin. We have enabled " -"Cloudflare auto-purge for compatibility. If you have APO activated, it is " -"also compatible." -msgstr "" -"Siteniz resmi Cloudflare eklentisini kullanıyor. Uyumluluk için Cloudflare " -"otomatik temizlemeyi etkinleştirdik. Eğer APO’nuzu aktif ettiyseniz, o da " -"uyumludur." +#: inc/Engine/Admin/Settings/Subscriber.php:213 +msgid "Getting started and how to videos" +msgstr "Başlarken ve nasıl yapılır videoları" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:170 -msgid "" -"Cloudflare cache will be purged each time WP Rocket clears its cache to " -"ensure content is always up-to-date." -msgstr "" -"Cloudflare önbelleği, WP Rocket önbelleğini her temizlediğinde içeriğin her " -"zaman güncel olmasını sağlamak için temizlenecektir." +#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75 +msgid "WP Rocket Expired Cache Interval" +msgstr "WP Roket Süresi Dolmuş Önbellek Aralığı" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:214 -#, php-format -msgid "" -"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO " -"is not yet compatible with that feature." -msgstr "" -"%1$sWP Rocket:%2$s \"Değişken Tanımlama Bilgileri Önbelleği\"ni " -"kullanıyorsunuz. Cloudflare APO henüz bu özellikle uyumlu değil." +#: inc/Engine/Cache/WPCache.php:337 +msgid "WP_CACHE value" +msgstr "WP_CACHE değeri" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:220 -#, php-format +#: inc/Engine/Cache/WPCache.php:358 msgid "" -"You should either disable Cloudflare APO or check with the theme/plugin " -"requiring the use of “Dynamic Cookies Cache” developers for an alternative " -"way to be page-cache friendly. %1$sMore info%2$s" +"The WP_CACHE constant needs to be set to true for WP Rocket cache to work " +"properly" msgstr "" -"Sayfa önbelleği dostu olmanın alternatif bir yolu için ya Cloudflare APO’yu " -"etkisizleştirmeli ya da “Değişken Tanımlama Bilgileri Önbelleği” " -"geliştiricilerinin kullanımını gerektiren temayı/eklentiyi " -"işaretlemelisiniz. %1$sDaha fazla bilgi%2$s" +"WP Rocket önbelleğinin düzgün çalışması için WP_CACHE sabitinin true olarak " +"ayarlanması gerekir" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:271 -#, php-format -msgid "" -"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile " -"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on " -"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s" -msgstr "" -"%1$sWP Rocket:%2$s \"Mobil cihazlar için önbellek dosyalarını ayır\"ı " -"kullanıyorsunuz. Önbelleğin doğru sürümünü sunmak için Cloudflare APO’da " -"\"Cihaz Türüne Göre Önbellekle\" %3$sayarını%5$s aktif etmeniz " -"gerek.%4$sDaha fazla bilgi%5$s" +#: inc/Engine/Cache/WPCache.php:367 +msgid "WP_CACHE is set to true" +msgstr "WP_CACHE, true olarak ayarlı" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:292 -#, php-format -msgid "" -"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare " -"APO. If you judge it necessary for the website to have a different cache on " -"mobile and desktop, we suggest you enable our “Separate Cache Files for " -"Mobiles Devices” to ensure the generated cache is accurate." -msgstr "" -"%1$sWP Rocket:%2$s Cloudflare APO’da \"Cihaz Türüne Göre Önbellekle\"yi " -"etkinleştirdiniz. Eğer web sitesi için mobil ve masaüstünde farklı bir " -"önbelleğe sahip olmasının gerekli olduğuna karar verirseniz, oluşturulan " -"önbelleğin doğru olduğundan emin olmak için \"Mobil Cihazlar için Önbellek " -"Dosyalarını Ayır\" seçeneğimizi etkinleştirmenizi öneririz." +#: inc/Engine/Cache/WPCache.php:375 +msgid "WP_CACHE is not set" +msgstr "WP_CACHE ayarlı değil" -#: inc/ThirdParty/Plugins/ModPagespeed.php:102 -#, php-format -msgid "" -"%1$s: Mod PageSpeed is not compatible with this plugin and " -"may cause unexpected results. %2$sMore Info%3$s" -msgstr "" -"%1$s: Mod PageSpeed bu eklenti ile uyumlu değil ve " -"beklenmeyen sonuçlara neden olabilir. %2$sDaha Fazla Bilgi%3$s" +#: inc/Engine/Cache/WPCache.php:383 +msgid "WP_CACHE is set to false" +msgstr "WP_CACHE, false olarak ayarlı" -#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:76 -#, php-format -msgid "" -"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript " -"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will " -"not be applied to the file it creates. We suggest disabling %1$sJavaScript " -"Aggregation%2$s to take full advantage of Delay JavaScript Execution." -msgstr "" -"%1$sWP Rocket: %2$sAutoptimize’ın JavaScript Toplama özelliğinin " -"etkinleştirildiğini tespit ettik. WP Rocket’in JavaScript’i Geciktir " -"Yürütmesi, oluşturduğu dosyaya uygulanmayacaktır. JavaScript’i Geciktir " -"Yürütmesi’nden tam olarak yararlanmak için %1$sJavaScript Toplama%2$s " -"özelliğinin etkisizleştirilmesini öneririz." +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90 +msgid "Next Billing Date" +msgstr "Sonraki Fatura Tarihi" -#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:131 -#, php-format -msgid "" -"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS " -"feature is enabled. WP Rocket's Load CSS Asynchronously will not work " -"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full " -"advantage of Load CSS Asynchronously Execution." -msgstr "" -"%1$sWP Rocket: %2$sAutoptimize’ın Satır İçi CSS Topla özelliğinin " -"etkinleştirildiğini tespit ettik. WP Rocket’in CSS’yi Eşzamanlı Olmadan " -"Yükle özelliği düzgün olarak çalışmayacaktır. CSS’yi Eşzamanlı Olmadan Yükle" -" Yürütmesi’nden tam olarak yararlanmak için %1$sSatır İçi CSS Topla%2$s " -"özelliğinin etkisizleştirilmesini öneririz." +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99 +msgid "No Subscription" +msgstr "Abonelik Yok" -#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45 -#, php-format -msgid "" -"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and " -"use %1$sEzoic's nameserver integration%2$s instead." -msgstr "" -"Bu eklenti, WP Rocket’in önbelleğe alınmasını ve iyileştirmelerini engeller." -" Bunu devre dışı bırakın ve bunun yerine %1$sEzoic’in ad sunucusu " -"bütünleştirmesi%2$s'ni kullanın." +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135 +msgid "Your RocketCDN subscription is currently active." +msgstr "RocketCDN aboneliğiniz şu anda etkin." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"Please deactivate the following %s option which conflicts with WP Rocket " -"features:" -msgid_plural "" -"Please deactivate the following %s options which conflict with WP Rocket " -"features:" -msgstr[0] "" -"Lütfen WP Rocket özellikleri ile çakışan aşağıdaki %s seçeneği devre dışı " -"bırakın:" -msgstr[1] "" -"Lütfen WP Rocket özellikleri ile çakışan aşağıdaki %s seçeneği devre dışı " -"bırakın:" +#. translators: %1$s = opening tag, %2$s = CDN URL, %3$s = closing +#. tag. +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141 +msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s." +msgstr "RocketCDN’yi kullanmak için CNAME’nizi %1$s%2$s%3$s ile değiştirin." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s" -msgstr "" -"%1$s %2$semoji etkisizleştirmesi%3$s WP Rockets %2$semoji " -"etkisizleştirmesi%3$s ile çakışıyor" +#. translators: %1$is = opening link tag, %2$s = closing link tag. +#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152 +#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230 +#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334 +msgid "%1$sMore Info%2$s" +msgstr "%1$sDaha Fazla Bilgi%2$s" -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187 -#, php-format -msgctxt "Hummingbird notice" +#: inc/Engine/CDN/RocketCDN/APIClient.php:134 msgid "" -"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP " -"compression%3$s" +"We could not fetch the current price because RocketCDN API returned an " +"unexpected error code." msgstr "" -"%1$s %2$sGZIP sıkıştırması%3$s WP Rockets %2$sGZIP sıkıştırması%3$s ile " -"çakışıyor" +"RocketCDN API beklenmeyen bir hata kodu döndürdüğünden şu anki fiyatı " +"getiremedik." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser " -"caching%3$s" +#: inc/Engine/CDN/RocketCDN/APIClient.php:140 +msgid "RocketCDN is not available at the moment. Please retry later." msgstr "" -"%1$s %2$starayıcı önbelleklemesi%3$s WP Rockets %2$starayıcı " -"önbelleklemesi%3$s ile çakışıyor" +"RocketCDN şu anda kullanılabilir değil. Lütfen daha sonra yeniden deneyin." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s" +#: inc/Engine/CDN/RocketCDN/APIClient.php:177 +msgid "RocketCDN cache purge failed: Missing identifier parameter." msgstr "" -"%1$s %2$ssayfa önbelleklemesi%3$s WP Rockets %2$ssayfa önbelleklemesi%3$s " -"ile çakışıyor" +"RocketCDN önbellek temizleme başarısız oldu: Eksik tanımlayıcı parametresi." -#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289 -#, php-format -msgctxt "Hummingbird notice" -msgid "" -"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile " -"optimization%3$s" +#: inc/Engine/CDN/RocketCDN/APIClient.php:186 +msgid "RocketCDN cache purge failed: Missing user token." msgstr "" -"%1$s %2$svarlık iyileştirmesi%3$s WP Rockets %2$sdosya iyileştirmesi%3$s ile" -" çakışıyor" +"RocketCDN önbellek temizleme başarısız oldu: Eksik kullanıcı belirteci." -#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38 +#: inc/Engine/CDN/RocketCDN/APIClient.php:212 msgid "" -"Remove Unused CSS is currently activated in Perfmatters. If you want to use " -"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters." +"RocketCDN cache purge failed: The API returned an unexpected response code." msgstr "" -"Kullanılmayan CSS’yi Kaldır şu anda Perfmatters’ta aktif edildi. Eğer WP " -"Rocket’in Kullanılmayan CSS’yi Kaldır özelliğini kullanmak istiyorsanız, " -"Perfmatters’ta bu seçeneği etkisizleştirin." +"RocketCDN önbellek temizleme başarısız oldu: API beklenmeyen bir yanıt kodu " +"döndürdü." -#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39 -msgid "" -"Automated unused CSS removal is currently activated in RapidLoad Power-Up " -"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, " -"disable the RapidLoad Power-Up for Autoptimize plugin." +#: inc/Engine/CDN/RocketCDN/APIClient.php:221 +msgid "RocketCDN cache purge failed: The API returned an empty response." msgstr "" -"Otomatikleştirilmiş kullanılmayan CSS kaldırma şu anda RapidLoad Power-Up " -"for Autoptimize’da aktif edildi. Eğer WP Rocket’in Kullanılmayan CSS’yi " -"Kaldır özelliğini kullanmak istiyorsanız, RapidLoad Power-Up for Autoptimize" -" eklentisini etkisizleştirin." +"RocketCDN önbellek temizleme başarısız oldu: API boş bir yanıt döndürdü." -#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42 -#, php-format -msgid "" -"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s " -"delay JS, disable %1$s" +#: inc/Engine/CDN/RocketCDN/APIClient.php:230 +msgid "RocketCDN cache purge failed: The API returned an unexpected response." msgstr "" -"JS’yi geciktir, şu anda %1$s içinde aktif edildi. Eğer WP Rocket’in JS’yi " -"geciktir’ini kullanmak istiyorsanız, %1$s etkisizleştirin." +"RocketCDN önbellek temizleme başarısız oldu: API beklenmeyen bir yanıt " +"döndürdü." -#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126 -msgid "Smush" -msgstr "Smush" +#. translators: %s = message returned by the API. +#: inc/Engine/CDN/RocketCDN/APIClient.php:239 +msgid "RocketCDN cache purge failed: %s." +msgstr "RocketCDN önbellek temizleme başarısız oldu: %s" -#: inc/ThirdParty/Themes/Avada.php:116 -msgid "Avada" -msgstr "Avada" +#: inc/Engine/CDN/RocketCDN/APIClient.php:247 +msgid "RocketCDN cache purge successful." +msgstr "RocketCDN önbellek temizleme başarılı." -#: inc/admin/admin.php:18 inc/common/admin-bar.php:255 -#: inc/deprecated/deprecated.php:1787 -msgid "Support" -msgstr "Destek" +#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137 +msgid "RocketCDN enabled" +msgstr "RocketCDN etkinleştirildi" -#: inc/admin/admin.php:20 -msgid "Docs" -msgstr "Belgeler" +#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160 +msgid "RocketCDN disabled" +msgstr "RocketCDN etkisizleştirildi" -#: inc/admin/admin.php:22 inc/common/admin-bar.php:243 -msgid "FAQ" -msgstr "SSS" +#. Translators: %s = date formatted using date_i18n() and get_option( +#. 'date_format' ). +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27 +msgid "Valid until %s only!" +msgstr "Sadece %s tarihine kadar geçerli!" -#: inc/admin/admin.php:24 inc/common/admin-bar.php:63 -msgid "Settings" -msgstr "Ayarlar" +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36 +msgid "Speed up your website thanks to:" +msgstr "Şunlar sayesinde web sitenizi hızlandırın:" -#: inc/admin/admin.php:458 -msgid "Settings import failed: you do not have the permissions to do this." -msgstr "Ayarları içe aktarma başarısız oldu: bunu yapmak için izniniz yok." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42 +msgid "" +"High performance Content Delivery Network (CDN) with %1$sunlimited " +"bandwidth%2$s" +msgstr "" +"%1$sSınırsız bant genişliği%2$s ile yüksek performanslı İçerik Dağıtım Ağı " +"(CDN)" -#: inc/admin/admin.php:462 -msgid "Settings import failed: no file uploaded." -msgstr "Ayarları içe aktarma başarısız oldu: gönderilen dosya yok." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48 +msgid "" +"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied" +msgstr "" +"Kolay yapılandırma: %1$sen iyi CDN ayarları%2$s otomatik olarak uygulanır" -#: inc/admin/admin.php:466 -msgid "Settings import failed: incorrect filename." -msgstr "Ayarları içe aktarma başarısız oldu: yanlış dosya adı." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54 +msgid "" +"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in" +" our plugin" +msgstr "" +"WP Rocket bütünleştirmesi: CDN seçeneği eklentimizde %1$sotomatik olarak " +"yapılandırılır%2$s" -#: inc/admin/admin.php:477 -msgid "Settings import failed: incorrect filetype." -msgstr "Ayarları içe aktarma başarısız oldu: yanlış dosya türü." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58 +msgid "Learn more about RocketCDN" +msgstr "RocketCDN hakkında daha fazla bilgi edinin" -#: inc/admin/admin.php:487 -msgid "Settings import failed: " -msgstr "Ayarları içe aktarma başarısız oldu:" +#. translators: %1$s = discounted price, %2$s = regular price. +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65 +msgid "" +"*$%1$s/month for 12 months then $%2$s/month. You can cancel your " +"subscription at any time." +msgstr "" +"*12 ay için $%1$s/ay ardından $%2$s/ay. Aboneliğinizi istediğiniz zaman " +"iptal edebilirsiniz." -#: inc/admin/admin.php:503 -msgid "Settings import failed: unexpected file content." -msgstr "Ayarları içe aktarma başarısız oldu: beklenmeyen dosya içeriği." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86 +msgid "Billed monthly" +msgstr "Aylık faturalandırılır" -#: inc/admin/admin.php:533 -msgid "Settings imported and saved." -msgstr "Ayarlar içe aktarıldı ve kaydedildi." +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87 +msgid "Get Started" +msgstr "Başlayın" -#: inc/admin/options.php:127 -msgid "Defer JavaScript Files" -msgstr "JavaScript Dosyalarını Ertele" +#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92 +msgid "Reduce this banner" +msgstr "Bu afişi küçült" -#: inc/admin/options.php:128 -msgid "Excluded Delay JavaScript Files" -msgstr "Hariç Tutulan JavaScript Dosyalarını Geciktirme" +#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17 +msgid "" +"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network." +msgstr "" +"RocketCDN, WP Rocket’in İçerik Dağıtım Ağı ile web sitenizi hızlandırın." -#: inc/admin/options.php:150 -#, php-format -msgid "%1$s: %2$s" -msgstr "%1$s: %2$s" +#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20 +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13 +msgid "Learn More" +msgstr "Daha Fazla Bilgi Edinin" -#: inc/admin/options.php:160 -msgid "The following pattern is invalid and has been removed:" -msgid_plural "The following patterns are invalid and have been removed:" -msgstr[0] "Aşağıdaki desen geçersizdir ve kaldırıldı:" -msgstr[1] "Aşağıdaki desenler geçersizdir ve kaldırıldı:" +#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23 +msgid "RocketCDN is unavailable on local domains and staging sites." +msgstr "" +"RocketCDN yerel etki alanlarında ve hazırlık sitelerinde kullanılamaz." -#: inc/admin/options.php:176 -msgid "More info" -msgstr "Daha fazla bilgi" +#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32 +msgid "Get RocketCDN" +msgstr "RocketCDN’yi Al" -#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:751 -#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136 -#: views/settings/page-sections/dashboard.php:150 -msgid "Clear cache" -msgstr "Önbelleği temizle" +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11 +msgid "New!" +msgstr "Yeni!" -#: inc/admin/ui/meta-boxes.php:67 -msgid "WP Rocket Options" -msgstr "WP Rocket Seçenekleri" +#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12 +msgid "" +"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!" +msgstr "" +"RocketCDN, WP Rocket’in İçerik Dağıtım Ağı ile web sitenizi hızlandırın!" -#: inc/admin/ui/meta-boxes.php:96 -msgid "Never cache this page" -msgstr "Bu sayfayı asla önbellekleme" +#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253 +msgid "Every minute" +msgstr "Her dakika" -#: inc/admin/ui/meta-boxes.php:100 -msgid "Activate these options on this post:" -msgstr "Şu seçenekleri bu yazıda aktif et:" +#: inc/Engine/CriticalPath/Admin/Admin.php:264 +msgid "Regenerate Critical Path CSS" +msgstr "Önemli Yol CSS’yi yeniden oluştur" -#: inc/admin/ui/meta-boxes.php:103 -msgid "LazyLoad for images" -msgstr "Resimler için LazyLoad" +#: inc/Engine/CriticalPath/Admin/Post.php:144 +#: views/cpcss/metabox/generate.php:47 +msgid "Generate Specific CPCSS" +msgstr "Belirli ÖYCSS’yi Oluştur" -#: inc/admin/ui/meta-boxes.php:104 -msgid "LazyLoad for iframes/videos" -msgstr "Iframe’ler ve görüntüler için LazyLoad" +#: inc/Engine/CriticalPath/Admin/Post.php:145 +#: views/cpcss/metabox/generate.php:45 +msgid "Regenerate specific CPCSS" +msgstr "Belirli ÖYCSS’yi Yeniden Oluştur" -#: inc/admin/ui/meta-boxes.php:105 -msgid "Minify CSS" -msgstr "CSS’yi küçült" +#: inc/Engine/CriticalPath/Admin/Post.php:216 +msgid "This feature is not available for non-public post types." +msgstr "" +"Bu özellik ortak olmayan gönderi türleri için kullanılabilir değildir." -#: inc/admin/ui/meta-boxes.php:107 -msgid "Minify/combine JS" -msgstr "JS’yi küçült/birleştir" +#: inc/Engine/CriticalPath/Admin/Post.php:219 +msgid "%l to use this feature." +msgstr "Bu özelliği kullanmak için %l." -#: inc/admin/ui/meta-boxes.php:110 -msgid "Defer JS" -msgstr "JS’i ertele" +#. translators: %s = post type. +#: inc/Engine/CriticalPath/Admin/Post.php:222 +msgid "Publish the %s" +msgstr "%s Yayınla" + +#. translators: %s = post type. +#: inc/Engine/CriticalPath/Admin/Post.php:223 +msgid "Enable Load CSS asynchronously in WP Rocket settings" +msgstr "WP Rocket ayarlarında CSS’yi eşzamanlı olmadan yükle’yi etkinleştir" + +#: inc/Engine/CriticalPath/Admin/Post.php:224 +msgid "Enable Load CSS asynchronously in the options above" +msgstr "Yukarıdaki seçeneklerde CSS’yi eşzamanlı olmadan yükle’yi etkinleştir" -#: inc/admin/ui/meta-boxes.php:117 -#, php-format -msgid "Activate first the %s option." -msgstr "Önce %s seçeneğini aktif edin." +#. translators: %1$s = type of content, %2$s = error message. +#: inc/Engine/CriticalPath/APIClient.php:64 +msgid "Critical CSS for %1$s not generated. Error: %2$s" +msgstr "%1$s için Önemli CSS oluşturulmadı. Hata: %2$s" -#: inc/admin/ui/meta-boxes.php:133 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:170 msgid "" -"%1$sNote:%2$s None of these options will be applied if this post has been " -"excluded from cache in the global cache settings." +"Critical CSS for %1$s on mobile not generated. Error: The API returned an " +"empty response." msgstr "" -"%1$sNot:%2$s Bu yazı genel önbellek ayarlarındaki önbellekten hariç " -"tutulduysa, bu seçeneklerden hiçbiri uygulanmayacaktır." +"Mobil üzerinde %1$s için Önemli CSS oluşturulmadı. Hata: API boş bir yanıt " +"döndürdü." -#: inc/admin/ui/notices.php:31 inc/admin/ui/notices.php:44 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:173 msgid "" -"%1$s has not been deactivated due to missing writing permissions.
    \n" -"Make %2$s writeable and retry deactivation, or force deactivation now:" -msgstr "" -"%1$s, eksik yazma izinlerinden dolayı devre dışı bırakılmadı.
    \n" -"%2$s yazılabilir yapın ve devre dışı bırakmayı yeniden deneyin, ya da şimdi devre dışı bırakmaya zorlayın:" +"Critical CSS for %1$s not generated. Error: The API returned an empty " +"response." +msgstr "%1$s için Önemli CSS oluşturulmadı. Hata: API boş bir yanıt döndürdü." -#: inc/admin/ui/notices.php:97 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/APIClient.php:185 +msgid "Critical CSS for %1$s on mobile not generated." +msgstr "Mobil üzerinde %1$s için Önemli CSS oluşturulmadı." + +#. translators: %s = item URL. +#. translators: %1$s = item URL or item type. +#: inc/Engine/CriticalPath/APIClient.php:187 +#: inc/Engine/CriticalPath/ProcessorService.php:194 +msgid "Critical CSS for %1$s not generated." +msgstr "%1$s için Önemli CSS oluşturulmadı." + +#. translators: %s = URL. +#: inc/Engine/CriticalPath/APIClient.php:195 msgid "" -"%s: One or more plugins have been enabled or disabled, " -"clear the cache if they affect the front end of your site." +"Critical CSS for %1$s on mobile not generated. Error: The API returned an " +"invalid response code." msgstr "" -"%s: Bir ya da daha fazla eklenti etkinleştirildi veya " -"etkisizleştirildi, sitenizin ön ucunu etkilerse önbelleği temizleyin." +"Mobil üzerinde %1$s için Önemli CSS oluşturulmadı. Hata: API geçersiz bir " +"yanıt kodu döndürdü." -#: inc/admin/ui/notices.php:221 -#, php-format +#. translators: %s = URL. +#: inc/Engine/CriticalPath/APIClient.php:197 msgid "" -"%s: The following plugins are not compatible with this " -"plugin and may cause unexpected results:" +"Critical CSS for %1$s not generated. Error: The API returned an invalid " +"response code." msgstr "" -"%s: Aşağıdaki eklentiler bu eklenti ile uyumlu değil ve " -"beklenmeyen sonuçlara neden olabilir:" +"%1$s için Önemli CSS oluşturulmadı. Hata: API geçersiz bir yanıt kodu " +"döndürdü." -#: inc/admin/ui/notices.php:227 -msgid "Deactivate" -msgstr "Devre Dışı Bırak" +#. translators: %1$s = error message. +#: inc/Engine/CriticalPath/APIClient.php:205 +#: inc/Engine/CriticalPath/ProcessorService.php:201 +msgid "Error: %1$s" +msgstr "Hata: %1$s" -#: inc/admin/ui/notices.php:269 -msgid "" -"WP Rocket Footer JS is not an official add-on. It prevents some options in " -"WP Rocket from working correctly. Please deactivate it if you have problems." -msgstr "" -"WP Rocket Footer JS resmi bir eklenti değildir. WP Rocket içindeki bazı " -"seçeneklerin doğru olarak çalışmasını önler. Eğer sorunlar yaşarsanız lütfen" -" devre dşı bırakın." +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176 +msgid "Critical CSS generation is currently running." +msgstr "Önemli CSS üretimi şu anda çalışıyor." -#: inc/admin/ui/notices.php:309 -#, php-format -msgid "" -"Endurance Cache is currently enabled, which will conflict with WP Rocket " -"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the " -"%1$sSettings > General%2$s page to prevent any issues." -msgstr "" -"WP Rocket Önbelleği ile çakışacak olan Endurance Önbelleği şu anda " -"etkinleştirildi. Herhangi bir sorunu önlemek için lütfen %1$sAyarlar > " -"Genel%2$s sayfasında Endurance Önbelleğinin önbellek seviyesini Kapalı " -"(Seviye 0) olarak ayarlayın." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181 +msgid "Go to the %1$sWP Rocket settings%2$s page to track progress." +msgstr "İlerlemeyi izlemek için %1$sWP Rocket ayarları%2$s sayfasına gidin." -#: inc/admin/ui/notices.php:330 -#, php-format +#. Translators: %1$d = number of critical CSS generated, %2$d = total number +#. of critical CSS to generate. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396 msgid "" -"%1$s: A custom permalink structure is required for the plugin to work " -"properly. %2$sGo to permalinks settings%3$s" +"Critical CSS generation is currently running: %1$d of %2$d page types " +"completed. (Refresh this page to view progress)" msgstr "" -"%1$s: Özel bir kalıcı bağlantı yapısı eklentinin düzgün bir şekilde " -"çalışması için gereklidir. %2$sKalıcı bağlantılar ayarlarına gidin%3$s" +"Önemli CSS oluşturma şu anda çalışıyor: %1$d / %2$d sayfa türü tamamlandı. " +"(İlerlemeyi görmek için bu sayfayı yenileyin)" -#: inc/admin/ui/notices.php:377 -#, php-format -msgid "" -"%s could not modify the .htaccess file due to missing writing permissions." -msgstr "" -"Eksik yazma izinlerinden dolayı %s .htaccess dosyasını yapılandıramadı." +#. Translators: %1$d = number of critical CSS generated, %2$d = total number +#. of critical CSS to generate. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472 +msgid "Critical CSS generation finished for %1$d of %2$d page types." +msgstr "Önemli CSS oluşturma, %1$d / %2$d sayfa türü için bitti." -#: inc/admin/ui/notices.php:383 inc/admin/ui/notices.php:846 -#, php-format -msgid "Troubleshoot: %1$sHow to make system files writeable%2$s" -msgstr "" -"Sorun giderme: %1$sSistem dosyalarını nasıl yazılabilir yaparsınız%2$s" +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 +msgid "Critical CSS generation encountered one or more errors." +msgstr "Önemli CSS oluşturma, bir ya da daha fazla hata ile karşılaştı." -#: inc/admin/ui/notices.php:385 inc/admin/ui/notices.php:848 -msgid "" -"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" -"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" -msgstr "" -"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-" -"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket" +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479 +msgid "Learn more." +msgstr "Daha fazla bilgi edinin." -#: inc/admin/ui/notices.php:391 +#. translators: %1$ = opening bold tag, %2$ = closing bold tag. +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840 msgid "" -"Don’t worry, WP Rocket’s page caching and settings will still function " -"correctly." +"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS " +"optimization. Load CSS Asynchronously is always available as a back-up." msgstr "" -"Endişelenmeyin, WP Rocket’in sayfa önbelleklemesi ve ayarları hala düzgün " -"çalışacaktır." +"Daha iyi bir CSS iyileştirmesi için %1$sgüncellenmiş Kullanılmayan CSS’yi " +"Kaldır’ı%2$s şiddetle tavsiye ederiz. CSS’yi Eşzamanlı Olmadan Yükle, her " +"zaman yedek olarak kullanılabilir." -#: inc/admin/ui/notices.php:391 -msgid "" -"For optimal performance, adding the following lines into your .htaccess is " -"recommended (not required):" -msgstr "" -"En iyi performans için .htaccess dosyanıza aşağıdaki satırları eklemeniz " -"önerilir (gerekli değil):" +#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845 +msgid "Stay with the old option" +msgstr "Eski seçenekle kal" -#: inc/admin/ui/notices.php:538 -#, php-format +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/DataManager.php:68 msgid "" -"%1$s is good to go! %2$sTest your load time%4$s, or visit your " -"%3$ssettings%4$s." +"Critical CSS for %1$s on mobile not generated. Error: The destination folder" +" could not be created." msgstr "" -"%1$s gitmeye hazır! %2$sYükleme sürenizi deneyin%4$s, ya da " -"%3$sayarlarınızı%4$s ziyaret edin." +"Mobil üzerinde %1$s için Önemli CSS oluşturulmadı. Hata: Hedef klasör " +"oluşturulamadı." -#: inc/admin/ui/notices.php:579 +#. translators: %s = item URL. +#: inc/Engine/CriticalPath/DataManager.php:71 msgid "" -"Would you allow WP Rocket to collect non-sensitive diagnostic data from this" -" website?" +"Critical CSS for %1$s not generated. Error: The destination folder could not" +" be created." msgstr "" -"WP Rocket’in hassas olmayan tanılama verilerini bu web sitesinden " -"toplamasına izin verir misiniz?" +"%1$s için Önemli CSS oluşturulmadı. Hata: Hedef klasör oluşturulamadı." -#: inc/admin/ui/notices.php:580 -msgid "This would help us to improve WP Rocket for you in the future." -msgstr "" -"Bu bize gelecekte WP Rocket’i sizin için iyileştirmemize yardımcı olacak." +#: inc/Engine/CriticalPath/DataManager.php:106 +msgid "Critical CSS file for mobile does not exist" +msgstr "Mobil için Önemli CSS dosyası yok" -#: inc/admin/ui/notices.php:586 -msgid "What info will we collect?" -msgstr "Ne tür bilgi toplayacağız?" +#: inc/Engine/CriticalPath/DataManager.php:108 +msgid "Critical CSS file does not exist" +msgstr "Önemli CSS dosyası yok" -#: inc/admin/ui/notices.php:591 -msgid "" -"Below is a detailed view of all data WP Rocket will collect if granted " -"permission. WP Rocket will never transmit any domain names or email " -"addresses (except for license validation), IP addresses, or third-party API " -"keys." -msgstr "" -"Aşağıdakiler, izin verildiği takdirde WP Rocket’in toplayacağı tüm verilerin" -" ayrıntılı bir görünümüdür. WP Rocket asla herhangi bir etki alanı adı veya " -"e-posta adresini (lisans doğrulaması hariç), IP adresini ya da üçüncü taraf " -"API anahtarını iletmez." +#: inc/Engine/CriticalPath/DataManager.php:120 +msgid "Critical CSS file for mobile cannot be deleted" +msgstr "Mobil için Önemli CSS dosyası silinemez" -#: inc/admin/ui/notices.php:600 -msgid "Yes, allow" -msgstr "Evet, izin ver" +#: inc/Engine/CriticalPath/DataManager.php:122 +msgid "Critical CSS file cannot be deleted" +msgstr "Önemli CSS dosyası silinemez" -#: inc/admin/ui/notices.php:603 -msgid "No, thanks" -msgstr "Hayır, teşekkürler" +#. translators: %1$s = item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:187 +msgid "Mobile Critical CSS for %1$s not generated." +msgstr "%1$s için Mobil Önemli CSS oluşturulmadı." -#: inc/admin/ui/notices.php:642 -msgid "Thank you!" -msgstr "Teşekkür ederiz!" +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:228 +msgid "Critical CSS for %s in progress." +msgstr "%s için Önemli CSS devam ediyor." -#: inc/admin/ui/notices.php:647 -msgid "WP Rocket now collects these metrics from your website:" -msgstr "WP Rocket web sitenizden şimdi şu ölçümleri toplar:" +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:262 +msgid "Mobile Critical CSS for %s generated." +msgstr "%s için Mobil Önemli CSS oluşturuldu." -#: inc/admin/ui/notices.php:685 -#, php-format -msgid "%s: Cache cleared." -msgstr "%s: Önbellek temizlendi." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:273 +msgid "Critical CSS for %s generated." +msgstr "%s için Önemli CSS oluşturuldu." -#: inc/admin/ui/notices.php:692 -#, php-format -msgid "%s: Post cache cleared." -msgstr "%s: Yazı önbelleği temizlendi." +#: inc/Engine/CriticalPath/ProcessorService.php:295 +msgid "Critical CSS file deleted successfully." +msgstr "Önemli CSS dosyası başarılı olarak silindi." -#: inc/admin/ui/notices.php:699 -#, php-format -msgid "%s: Term cache cleared." -msgstr "%s: Terim önbelleği temizlendi." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:317 +msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later." +msgstr "" +"%1$s için Mobil Önemli CSS zaman aşımına uğradı. Lütfen biraz sonra yeniden " +"deneyin." -#: inc/admin/ui/notices.php:706 -#, php-format -msgid "%s: User cache cleared." -msgstr "%s: Kullanıcı önbelleği temizlendi." +#. translators: %1$s = Item URL or item type. +#: inc/Engine/CriticalPath/ProcessorService.php:330 +msgid "Critical CSS for %1$s timeout. Please retry a little later." +msgstr "" +"%1$s için Önemli CSS zaman aşımına uğradı. Lütfen biraz sonra yeniden " +"deneyin." -#: inc/admin/ui/notices.php:754 -msgid "Stop Preload" -msgstr "Önyüklemeyi durdur" +#: inc/Engine/CriticalPath/RESTWP.php:141 +msgid "Mobile CPCSS generation not enabled." +msgstr "Mobil ÖYCSS oluşturma etkinleştirilmedi." -#: inc/admin/ui/notices.php:760 -msgid "Turn on Remove Unused CSS" -msgstr "Kullanılmayan CSS’yi Kaldır’ı Aç" +#: inc/Engine/CriticalPath/RESTWPPost.php:36 +#: inc/Engine/CriticalPath/RESTWPPost.php:69 +msgid "Requested post does not exist." +msgstr "İstenen yazı yok." -#: inc/admin/ui/notices.php:766 -msgid "Enable “Separate Cache Files for Mobile Devices” now" -msgstr "“Mobil Cihazlar İçin Önbellek Dosyalarını Ayır”ı şimdi etkinleştir" +#: inc/Engine/CriticalPath/RESTWPPost.php:46 +msgid "Cannot generate CPCSS for unpublished post." +msgstr "Yayınlanmamış yazı için ÖYCSS oluşturulamıyor." -#: inc/admin/ui/notices.php:784 -msgid "Force deactivation " -msgstr "Devre dışı bırakmaya zorla" +#: inc/Engine/HealthCheck/HealthCheck.php:142 +msgid "Scheduled Cache Purge" +msgstr "Zamanlanmış Önbellek Temizleme" -#: inc/admin/ui/notices.php:803 -msgid "The following code should have been written to this file:" -msgstr "Aşağıdaki kod bu dosyaya yazılmalıdır:" +#: inc/Engine/HealthCheck/HealthCheck.php:143 +msgid "Scheduled Database Optimization" +msgstr "Zamanlanmış Veritabanı İyileştirme" -#: inc/admin/ui/notices.php:834 -#, php-format -msgid "%s cannot configure itself due to missing writing permissions." -msgstr "Eksik yazma izinlerinden dolayı %s kendini yapılandıramıyor." +#: inc/Engine/HealthCheck/HealthCheck.php:144 +msgid "Database Optimization Process" +msgstr "Veritabanı İyileştirme İşlemi" + +#: inc/Engine/HealthCheck/HealthCheck.php:145 +msgctxt "noun" +msgid "Preload" +msgstr "Önyükleme" + +#: inc/Engine/HealthCheck/HealthCheck.php:146 +msgid "Critical Path CSS Generation Process" +msgstr "Önemli Yol CSS’yi Oluşturma İşlemi" -#: inc/admin/ui/notices.php:840 -#, php-format -msgid "Affected file/folder: %s" -msgstr "Etkilenen dosya/klasör: %s" +#. translators: %1$s = , %2$s = price, %3$s = . +#: inc/Engine/License/Renewal.php:76 +msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!" +msgstr "Çok geç olmadan yenileyin, sadece %1$s%2$s%3$s ödeyeceksiniz!" -#: inc/classes/admin/class-logs.php:124 -msgid "The debug file could not be deleted." -msgstr "Hata ayıklama dosyası silinemedi." +#. translators: %1$s = , %2$s = discount, %3$s = ,%4$s = +#. , %5$s = price, %6$s=. +#: inc/Engine/License/Renewal.php:85 +msgid "" +"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " +"%4$s%5$s%6$s!" +msgstr "" +"Çok geç olmadan %1$s%2$s indirim%3$s ile yenileyin, sadece %4$s%5$s%6$s " +"ödeyeceksiniz!" -#: inc/classes/class-wp-rocket-requirements-check.php:147 -#, php-format -msgid "To function properly, %1$s %2$s requires at least:" -msgstr "Düzgün bir şekilde işlemesi için %1$s %2$s en az gerektirdiği:" +#. translators: %1$s = , %2$s = , %3$s = price. +#: inc/Engine/License/Renewal.php:139 +msgid "Renew your license for 1 year now at %1$s%3$s%2$s." +msgstr "Lisansınızı şimdi %1$s%3$s%2$s adresinden 1 yıllığına yenileyin." -#: inc/classes/class-wp-rocket-requirements-check.php:151 -#, php-format +#. translators: %1$s = , %2$s = , %3$s = discount percentage, +#. %4$s = price. +#: inc/Engine/License/Renewal.php:152 msgid "" -"PHP %1$s. To use this WP Rocket version, please ask your web host how to " -"upgrade your server to PHP %1$s or higher." +"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you " +"will only pay %1$s%4$s%2$s!" msgstr "" -"PHP %1$s. Bu WP Rocket sürümünü kullanmak için lütfen web barındırıcınıza " -"sunucunuzu PHP %1$s veya daha yükseğine nasıl yükselteceğinizi sorun." +"Lisansınızı 1 yıllığına hemen yenileyin ve %1$s%3$s İNDİRİM%2$s alın: sadece" +" %1$s%4$s%2$s ödeyeceksiniz!" -#: inc/classes/class-wp-rocket-requirements-check.php:156 -#, php-format +#. translators: %1$s = , %2$s = , %3$s = discount price. +#: inc/Engine/License/Renewal.php:218 +msgid "Renew before it is too late, you will pay %1$s%3$s%2$s." +msgstr "Çok geç olmadan yenileyin, %1$s%3$s%2$s ödeyeceksiniz." + +#. translators: %1$s = , %2$s = discount percentage, %3$s = , +#. %4$s = discount price. +#: inc/Engine/License/Renewal.php:227 msgid "" -"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to " -"version %1$s or higher." +"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay " +"%1$s%4$s%3$s!" msgstr "" -"WordPress %1$s. Bu WP Rocket sürümünü kullanmak için lütfen WordPress’i %1$s" -" sürümü veya daha yükseğine yükseltin." +"Çok geç olmadan %1$s%2$s indirim%3$s ile yenileyin, sadece %1$s%4$s%3$s " +"ödeyeceksiniz!" -#: inc/classes/class-wp-rocket-requirements-check.php:159 +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:546 msgid "" -"If you are not able to upgrade, you can rollback to the previous version by " -"using the button below." +"You need a valid license to continue using this feature. %1$sRenew now%2$s " +"before losing access." msgstr "" -"Eğer yükseltemiyorsanız, aşağıdaki düğmeyi kullanarak önceki sürüme geri " -"alabilirsiniz." - -#: inc/classes/class-wp-rocket-requirements-check.php:161 -#: inc/deprecated/deprecated.php:1947 -#, php-format -msgid "Re-install version %s" -msgstr "%s sürümünü yeniden yükle" - -#: inc/classes/dependencies/wp-media/background-processing/wp-background-process.php:447 -#, php-format -msgid "Every %d Minutes" -msgstr "Her %d Dakikada" - -#: inc/classes/logger/class-logger.php:260 -#: inc/classes/logger/class-logger.php:292 -msgid "The log file does not exist." -msgstr "Günlük dosyası mevcut değil." +"Bu özelliği kullanmaya devam etmek için geçerli bir lisansa ihtiyacınız var." +" Erişimi kaybetmeden önce %1$sşimdi yenileyin%2$s." -#: inc/classes/logger/class-logger.php:266 -#: inc/classes/logger/class-logger.php:298 -msgid "The log file could not be read." -msgstr "Günlük dosyası okunamadı." +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:567 +msgid "You need an active license to enable this option. %1$sRenew now%2$s." +msgstr "" +"Bu seçeneği etkinleştirmek için aktif bir lisansa ihtiyacınız var. %1$sŞimdi" +" yenile%2$s." -#: inc/classes/logger/class-logger.php:285 -msgid "The logs are not saved into a file." -msgstr "Günlükler bir dosya içine kaydedilmedi." +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/Renewal.php:595 +msgid "You need an active license to enable this option. %1$sMore info%2$s." +msgstr "" +"Bu seçeneği etkinleştirmek için aktif bir lisansa ihtiyacınız var. %1$sDaha " +"fazla bilgi%2$s." -#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151 -#, php-format +#. translators: %1$s = promotion name, %2$s =
    , %3$s = , %4$s = +#. promotion discount percentage, %5$s = . +#: inc/Engine/License/Upgrade.php:251 msgid "" -"Failed to detect the following requirement in your theme: closing %1$s." +"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" +" for %3$supgrading your license to Plus or Infinite!%5$s" msgid_plural "" -"Failed to detect the following requirements in your theme: closing %1$s." +"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s" +" for %3$supgrading your license to Infinite!%5$s" msgstr[0] "" -"Temanızdaki şurada belirtilen gereksinimi algılama başarısız: %1$s " -"kapatılıyor." +"Daha fazla web sitesini hızlandırmak için %1$s avantajından yararlanın:%2$s " +"%3$slisansınızı Infinite’e veya Plus’a yükseltmek%5$s için %3$s%4$s " +"indirim%5$s alın!" msgstr[1] "" -"Temanızdaki şurada belirtilen gereksinimleri algılama başarısız: %1$s " -"kapatılıyor." - -#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159 -msgid "" -"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" -"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" -msgstr "" -"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-" -"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme" - -#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136 -#: views/settings/page-sections/dashboard.php:150 -msgid "Clear and preload cache" -msgstr "Önbelleği temizle ve önyükle" - -#: inc/common/admin-bar.php:124 inc/functions/i18n.php:41 -#: inc/functions/i18n.php:51 -msgid "All languages" -msgstr "Tüm diller" +"Daha fazla web sitesini hızlandırmak için %1$s avantajından yararlanın:%2$s " +"%3$slisansınızı Infinite’e yükseltmek%5$s için %3$s%4$s indirim%5$s alın!" -#: inc/common/admin-bar.php:160 -msgid "Clear this post" -msgstr "Bu yazıyı temizle" +#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405 +msgid "Unlimited" +msgstr "Sınırsız" -#: inc/common/admin-bar.php:174 -msgid "Purge this URL" -msgstr "Bu URL’yi temizle" +#. translators: %s = promotion discount percentage. +#: inc/Engine/License/views/promo-banner.php:16 +msgid "%s off" +msgstr "%s indirim" -#: inc/common/admin-bar.php:194 -msgid "Purge Sucuri cache" -msgstr "Sucuri önbelleğini temizle" +#. translators: %s = promotion name. +#: inc/Engine/License/views/promo-banner.php:21 +msgid "%s promotion is live!" +msgstr "%s promosyonu geçerli!" -#: inc/common/admin-bar.php:218 views/settings/fields/rocket-cdn.php:55 -msgid "Purge RocketCDN cache" -msgstr "RocketCDN önbelleğini temizle" +#: inc/Engine/License/views/promo-banner.php:27 +msgid "Hurry Up! Deal ends in:" +msgstr "Acele Edin! Anlaşmanın bitiş zamanı:" -#: inc/common/admin-bar.php:231 views/settings/partials/documentation.php:14 -msgid "Documentation" -msgstr "Belgeler" +#: inc/Engine/License/views/promo-banner.php:31 +#: inc/Engine/License/views/renewal-soon-banner.php:14 +msgid "Minutes" +msgstr "Dakika" -#: inc/deprecated/3.10.php:163 -msgid "OPcache purge failed." -msgstr "OPcache temizleme başarısız oldu." +#: inc/Engine/License/views/promo-banner.php:32 +#: inc/Engine/License/views/renewal-soon-banner.php:15 +msgid "Seconds" +msgstr "Saniye" -#: inc/deprecated/3.10.php:168 -msgid "OPcache successfully purged" -msgstr "OPcache başarılı olarak temizlendi" +#: inc/Engine/License/views/promo-banner.php:34 +#: inc/Engine/License/views/upgrade-section.php:11 +msgid "Upgrade now" +msgstr "Şimdi yükselt" -#: inc/deprecated/3.11.php:81 -msgid "Yoast SEO XML sitemap" -msgstr "Yoast SEO XML site haritası" +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11 +msgid "The Optimize CSS Delivery feature is disabled." +msgstr "CSS teslimini iyileştir özelliği etkisizleştirildi." -#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58 -#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186 -#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342 -#, php-format +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15 msgid "" -"We automatically detected the sitemap generated by the %s plugin. You can " -"check the option to preload it." +"You can no longer use the Remove Unused CSS or Load CSS asynchronously " +"options." msgstr "" -"%s eklentisi tarafından üretilen site haritasını otomatik olarak algıladık. " -"Önyüklemek için seçeneği işaretleyebilirsiniz." - -#: inc/deprecated/3.12.php:56 -msgid "All in One SEO XML sitemap" -msgstr "All in One SEO XML site haritası" - -#: inc/deprecated/3.12.php:85 -msgid "Rank Math XML sitemap" -msgstr "Rank Math XML site haritası" - -#: inc/deprecated/3.12.php:184 -msgid "SEOPress XML sitemap" -msgstr "SEOPress XML site haritası" - -#: inc/deprecated/3.12.php:251 -msgid "The SEO Framework XML sitemap" -msgstr "SEO Framework XML site haritası" - -#: inc/deprecated/3.12.php:332 -msgid "Jetpack XML Sitemaps" -msgstr "Jetpack XML Site Haritaları" +"Artık Kullanılmayan CSS’yi Kaldır veya CSS’yi eşzamansız olarak yükle " +"seçeneklerini kullanamazsınız." -#: inc/deprecated/3.12.php:334 -msgid "Preload the sitemap from the Jetpack plugin" -msgstr "Jetpack eklentisinden site haritasını önyükleme yap" +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20 +msgid "" +"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, " +"which addresses a PageSpeed Insights recommendation and improves your page " +"performance." +msgstr "" +"CSS teslimini iyileştirmeye devam etmek için bir PageSpeed ​​Insights " +"önerisini ele alan ve sayfa performansınızı iyileştiren %1$saktif bir " +"lisansa%2$s ihtiyacınız var." -#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36 -msgid "Activate Imagify" -msgstr "Imagify’ı Etkinleştir" +#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29 +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39 +#: inc/Engine/License/views/renewal-expired-banner.php:27 +#: inc/Engine/License/views/renewal-soon-banner.php:31 +msgid "Renew now" +msgstr "Şimdi yenile" -#: inc/deprecated/3.2.php:52 -msgid "Install Imagify for Free" -msgstr "Imagify’ı Ücretsiz Yükleyin" +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11 +msgid "You will soon lose access to some features" +msgstr "Yakında bazı özelliklere erişiminizi kaybedeceksiniz" -#: inc/deprecated/3.2.php:67 +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18 msgid "" -"Speed up your website and boost your SEO by reducing image file sizes " -"without losing quality with Imagify." +"You need an %1$sactive license to continue optimizing your CSS delivery%2$s." msgstr "" -"Imagify ile resim dosyası boyutlarını kalite kaybetmeden küçülterek web " -"sitenizi hızlandırın ve SEO’nuzu yükseltin." - -#: inc/deprecated/3.2.php:72 -msgid "More details" -msgstr "Daha fazla ayrıntı" - -#: inc/deprecated/3.2.php:228 -#, php-format -msgid "Sitemap preload: %d pages have been cached." -msgstr "Site haritası önyükleme: %d sayfa önbelleklendi." +"%1$sCSS teslimini iyileştirmeye devam etmek için aktif bir lisansa%2$s " +"ihtiyacınız var." -#: inc/deprecated/3.2.php:261 -#, php-format +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24 msgid "" -"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see " -"progress)" +"The Remove Unused CSS and Load CSS asynchronously features are great options" +" to address the PageSpeed Insights recommendations and improve your website " +"performance." msgstr "" -"Site haritası önyükleme: %d önbelleklenmeyen sayfanın şimdi önyüklemesi " -"yapıldı. (ilerlemeyi görmek için yenileyin)" +"Kullanılmayan CSS’yi Kaldır veya CSS’yi eşzamansız olarak yükle özellikleri," +" PageSpeed ​​Insights önerilerini ele almak ve web sitenizin performansını " +"artırmak için harika seçeneklerdir." -#: inc/deprecated/3.4.php:18 -msgid "Choose a domain from the list" -msgstr "Listeden bir etki alanı seçin" +#. translators: %1$s = , %2$s = , %3$s = date. +#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29 +msgid "They will be %1$sautomatically disabled on %3$s%2$s." +msgstr "%1$s%3$s tarihinde otomatik olarak etkisizleştirileceklerdir%2$s." -#: inc/deprecated/3.4.php:31 -msgid "No domain available in your Cloudflare account" -msgstr "Cloudflare hesabınızda hiç etki alanı mevcut değil" +#: inc/Engine/License/views/renewal-expired-banner.php:11 +msgid "Your WP Rocket license is expired!" +msgstr "WP Rocket lisansınızın süresi doldu!" + +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-expired-banner.php:18 +msgid "" +"Your website could be much faster if it could take advantage of our %1$snew " +"features and enhancements%2$s. 🚀" +msgstr "" +"%1$sYeni özelliklerimizden ve geliştirmelerimizden%2$s yararlanabilseydi web" +" siteniz çok daha hızlı olabilirdi.🚀" -#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195 +#. translators: %1$s = , %2$s = . +#: inc/Engine/License/views/renewal-soon-banner.php:22 msgid "" -"Curl is disabled on your server. Please ask your host to enable it. This is " -"required for the Cloudflare Add-on to work correctly." +"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access" +" to product updates and support." msgstr "" -"Curl, sunucunuzda etkisizleştirilmiş. Lütfen barındırıcınızdan bunu " -"etkinleştirmesini isteyin. Bu, Cloudflare Eklentisinin doğru çalışması için " -"gereklidir." +"%1$sWP Rocket lisansınızın süresi dolmak üzere%2$s: yakında ürün " +"güncellemelerine ve desteğine erişiminizi kaybedeceksiniz." -#: inc/deprecated/3.5.php:79 -#, php-format +#: inc/Engine/License/views/upgrade-popin.php:12 +msgid "Speed Up More Websites" +msgstr "Daha Fazla Web Sitesini Hızlandırın" + +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/License/views/upgrade-popin.php:19 msgid "" -"Cloudflare email, API key and Zone ID are not set. Read the " -"%1$sdocumentation%2$s for further guidance." +"You can use WP Rocket on more websites by upgrading your license. To " +"upgrade, simply pay the %1$sprice difference%2$s between your current and " +"new licenses, as shown below." msgstr "" -"Cloudflare e-posta adresi, API anahtarı ve Bölge Kimliği ayarlı değil. Daha " -"fazla rehberlik için %1$sbelgeleri%2$s okuyun." +"WP Rocket’ı lisansınızı yükselterek daha fazla web sitesinde " +"kullanabilirsiniz. Yükseltmek için sadece şu anki ve yeni lisanslarınız " +"arasındaki %1$sfiyat farkını%2$s, aşağıda gösterildiği gibi ödeyin." -#: inc/deprecated/3.5.php:206 -#, php-format +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/Engine/License/views/upgrade-popin.php:25 msgid "" -"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for" -" further guidance." +"%1$sN.B.%2$s: Upgrading your license does not change your expiration date" msgstr "" -"Cloudflare e-posta adresi ve API anahtarı ayarlı değil. Daha fazla rehberlik" -" için %1$sbelgeleri%2$s okuyun." +"%1$sLütfen Dikkat%2$s: Lisansınızı yükseltmek, geçerlilik sonu tarihinizi " +"değiştirmez" -#: inc/deprecated/3.5.php:271 -msgid "Connection to Cloudflare failed" -msgstr "Cloudflare’a bağlantı başarısız oldu" +#. translators: %s = price. +#: inc/Engine/License/views/upgrade-popin.php:35 +msgid "Save $%s" +msgstr "$%s dolar tasarruf edin" -#: inc/deprecated/3.5.php:587 -#, php-format -msgid "WP Rocket: %s" -msgstr "WP Rocket: %s" +#. translators: %s = number of websites. +#: inc/Engine/License/views/upgrade-popin.php:48 +msgid "%s websites" +msgstr "%s web sitesi" -#: inc/deprecated/3.5.php:592 -msgid "WP Rocket: Cloudflare cache successfully purged." -msgstr "" -"WP Rocket: Cloudflare önbelleği başarılı olarak temizlendi." +#. translators: %s = license name. +#: inc/Engine/License/views/upgrade-popin.php:54 +msgid "Upgrade to %s" +msgstr "%s olarak yükselt" -#: inc/deprecated/DeprecatedClassTrait.php:54 -#, php-format +#: inc/Engine/License/views/upgrade-section.php:11 msgid "" -"The called class %1$s is deprecated since version %2$s! Use" -" %3$s instead." +"You can use WP Rocket on more websites by upgrading your license (you will " +"only pay the price difference between your current and new licenses)." msgstr "" -"Çağrılan %1$s sınıfı, %2$s sürümünden bu yana kullanım " -"dışıdır! Bunun yerine %3$s kullanın." +"WP Rocket’ı lisansınızı yükselterek daha fazla web sitesinde " +"kullanabilirsiniz (sadece şu anki ve yeni lisanslarınız arasındaki fiyat " +"farkını ödeyeceksiniz)." -#: inc/deprecated/DeprecatedClassTrait.php:65 -#, php-format -msgid "" -"The called class %1$s is deprecated since version %2$s!" -msgstr "" -"Çağrılan %1$s sınıfı, %2$s sürümünden bu yana kullanım " -"dışıdır!" +#: inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php:45 +msgid "LazyLoad CSS backgrounds" +msgstr "LazyLoad CSS arka planları" -#: inc/deprecated/deprecated.php:240 -msgid "JS files with Deferred Loading JavaScript" -msgstr "Yüklemesi Ertelenmiş JavaScript’i olan JS dosyaları" +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195 +msgid "Analytics & Ads" +msgstr "Çözümsel ve Reklamlar" -#: inc/deprecated/deprecated.php:293 -msgid "Add URL" -msgstr "URL ekle" +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200 +msgid "Plugins" +msgstr "Eklentiler" -#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22 +#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205 +msgid "Themes" +msgstr "Temalar" + +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101 msgid "" -"Before you can upload your import file, you will need to fix the following " -"error:" +"You need an active license to get the latest version of the lists from our " +"server." msgstr "" -"İçe aktarma dosyanızı göndermeden önce, şurada belirtilen hatayı düzeltmeniz" -" gerekecek:" +"Listelerin en son sürümünü sunucumuzdan almak için aktif bir lisansa " +"ihtiyacınız var." -#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35 -#, php-format -msgid "Choose a file from your computer (maximum size: %s)" -msgstr "Bilgisayarınızdan bir dosya seçin (en fazla boyut: %s)" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115 +msgid "Could not get updated lists from server." +msgstr "Sunucudan güncellenmiş listeler alınamadı." -#: inc/deprecated/deprecated.php:1385 -msgid "Your Cloudflare credentials are valid." -msgstr "Cloudflare kimlik bilgileriniz geçerli." +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124 +msgid "Lists are up to date." +msgstr "Listeler güncel." -#: inc/deprecated/deprecated.php:1389 -msgid "Your Cloudflare credentials are invalid!" -msgstr "Cloudflare kimlik bilgileriniz geçersiz!" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133 +msgid "Could not update lists." +msgstr "Listeler güncellenemedi." -#: inc/deprecated/deprecated.php:1453 -msgid "Save and optimize" -msgstr "Kaydet ve iyileştir" +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142 +msgid "Lists are successfully updated." +msgstr "Listeler başarılı olarak güncellendi." -#: inc/deprecated/deprecated.php:1453 -msgid "Optimize" -msgstr "İyileştir" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:60 +msgid "Default Lists" +msgstr "Varsayılan Listeler" -#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666 -msgctxt "screen-reader-text" -msgid "Note:" -msgstr "Not:" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:66 +msgid "Delay JavaScript Execution Exclusion Lists" +msgstr "JavaScript’i Geciktir Yürütmesi Hariç Tutma Listeleri" -#: inc/deprecated/deprecated.php:1470 -msgctxt "screen-reader-text" -msgid "Performance tip:" -msgstr "Performans ipucu:" +#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:72 +msgid "Incompatible plugins Lists" +msgstr "Uyumsuz eklenti Listeleri" -#: inc/deprecated/deprecated.php:1476 -msgctxt "screen-reader-text" -msgid "Third-party feature detected:" -msgstr "Üçüncü taraf özellik algılandı:" +#. translators: %1$s = plugin name, %2$s = number of seconds. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224 +msgid "" +"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing " +"your pages." +msgstr "" +"%1$s: Lütfen %2$s saniye bekleyin. Kullanılmayan CSS’yi Kaldır hizmeti " +"sayfalarınızı işliyor." -#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672 -msgctxt "screen-reader-text" -msgid "Warning:" -msgstr "Uyarı:" +#. translators: %1$s = plugin name, %2$s = number of URLs, %3$s = number of +#. seconds. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:274 +msgid "" +"%1$s: The Used CSS of your homepage has been processed. WP Rocket will " +"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)." +msgstr "" +"%1$s: Ana sayfanızın Kullanılan CSS’si işlendi. WP Rocket, her %3$s saniyede" +" %2$s URL’ye kadar Kullanılan CSS oluşturmaya devam edecek." -#: inc/deprecated/deprecated.php:1501 -msgctxt "button text" -msgid "Download settings" -msgstr "Ayarları indir" +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283 +msgid "We suggest enabling %1$sPreload%2$s for the fastest results." +msgstr "" +"En hızlı sonuçlar için %1$sÖnyükleme%2$s’nin etkinleştirilmesini öneririz." -#: inc/deprecated/deprecated.php:1531 -msgid "Replace site's hostname with:" -msgstr "Sitenin anamakine adını şununla değiştir:" +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:293 +msgid "To learn more about the process check our %1$sdocumentation%2$s." +msgstr "" +"İşlem hakkında daha fazla bilgi edinmek için %1$sbelgelerimizi%2$s gözden " +"geçirin." -#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587 -#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41 -#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105 -msgid "reserved for" -msgstr "şunun için ayrıldı:" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:443 +msgid "" +"We couldn't generate the used CSS because you're using a nulled version of " +"WP Rocket. You need an active license to use the Remove Unused CSS feature " +"and further improve your website's performance." +msgstr "" +"WP Rocket’in nulled bir sürümünü kullandığınız için kullanılan CSS’yi " +"oluşturamadık. Kullanılmayan CSS’yi Kaldır özelliğini kullanmak ve web " +"sitenizin performansını daha da iyileştirmek için aktif bir lisansa " +"ihtiyacınız var." -#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589 -#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44 -#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108 -msgid "All files" -msgstr "Tüm dosyalar" +#. translators: %1$s = promo percentage. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:446 +msgid "Click here to get a WP Rocket single license at %1$s off!" +msgstr "%1$s indirimle WP Rocket tekli lisansı almak için burayı tıklayın!" -#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594 -#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56 -#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120 -msgid "Images" -msgstr "Resimler" +#. translators: %1$s = open tag, %2$s = closing tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:499 +msgid "" +"It seems a security plugin or the server's firewall prevents WP Rocket from " +"accessing the Remove Unused CSS generator. IPs listed %1$shere in our " +"documentation%2$s should be added to your allowlists:" +msgstr "" +"Görünüşe göre bir güvenlik eklentisi veya sunucunun güvenlik duvarı, WP " +"Rocket’in Kullanılmayan CSS’yi Kaldır oluşturucusuna erişmesini engelliyor. " +"%1$sBurada belgelerimizde%2$s listelenen IP’ler, izinli listelerinize " +"eklenmelidir:" -#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132 -msgid "Add CNAME" -msgstr "CNAME ekle" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:504 +msgid "- In the security plugin, if you are using one" +msgstr "- Güvenlik eklentisinde, eğer bir eklenti kullanıyorsanız" -#: inc/deprecated/deprecated.php:1706 -msgid "Watch the video" -msgstr "Görüntüyü izleyin" +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:505 +msgid "- In the server's firewall. Your host can help you with this" +msgstr "" +"- Sunucunun güvenlik duvarında. Barındırıcınız bu konuda size yardımcı " +"olabilir" -#: inc/deprecated/deprecated.php:1771 -msgid "Basic" -msgstr "Temel" +#. translators: %1$s = plugin name, %2$s = table name, %3$s = open tag, +#. %4$s = closing tag. +#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:545 +msgid "" +"%1$s: Could not create the %2$s table in the database which is necessary for" +" the Remove Unused CSS feature to work. Please reach out to %3$sour " +"support%4$s." +msgstr "" +"%1$s: Kullanılmayan CSS'yi Kaldır özelliğinin çalışması için gerekli olan " +"%2$s tablosu veritabanında oluşturulamadı. Lütfen %3$sdestek birimimize%4$s " +"ulaşın." -#: inc/deprecated/deprecated.php:1772 -msgid "Static Files" -msgstr "Sabit Dosyalar" +#. translators: %1$s = plugin name. +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:314 +msgid "%1$s: Used CSS option is not enabled!" +msgstr "%1$s: Kullanılan CSS seçeneği etkinleştirilmedi!" + +#. translators: %1$s = plugin name. +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:336 +msgid "%1$s: Used CSS cache cleared!" +msgstr "%1$s: Kullanılan CSS önbelleği temizlendi!" + +#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:787 +msgid "Clear Used CSS of this URL" +msgstr "Bu URL’nin Kullanılan CSS’sini Temizle" + +#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160 +msgid "WP Rocket Remove Unused CSS pending jobs" +msgstr "WP Rocket Kullanılmayan CSS’yi Kaldır bekleyen işleri" -#: inc/deprecated/deprecated.php:1774 -msgid "Advanced" -msgstr "Gelişmiş" +#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174 +msgid "WP Rocket clear Remove Unused CSS failed jobs" +msgstr "WP Rocket, Kullanılmayan CSS’yi Kaldır başarısız işlerini temizler" -#: inc/deprecated/deprecated.php:1944 -#, php-format +#. translators: %1$s = plugin name. +#: inc/Engine/Preload/Admin/Settings.php:57 msgid "" -"%1$s %2$s requires at least PHP %3$s to function properly. To use this " -"version, please ask your web host how to upgrade your server to PHP %3$s or " -"higher. If you are not able to upgrade, you can rollback to the previous " -"version by using the button below." +"%1$s: The preload service is now active. After the initial preload it will " +"continue to cache all your pages whenever they are purged. No further action" +" is needed." msgstr "" -"%1$s %2$s, düzgün bir şekilde işlemesi için en az PHP %3$s gerektirir. Bu " -"sürümü kullanmak için lütfen web barındırıcınıza sunucunuzu PHP %3$s veya " -"daha yüksek sürümüne nasıl yükselteceğinizi sorun. Eğer yükseltemiyorsanız, " -"aşağıdaki düğmeyi kullanarak önceki sürüme geri döndürebilirsiniz." +"%1$s: Önyükleme hizmeti artık etkin. İlk önyüklemeden sonra, tüm " +"sayfalarınızı her temizlendiklerinde önbelleğe almaya devam edecek. Başka " +"bir işlem yapılmasına gerek yoktur." + +#: inc/Engine/Preload/Cron/Subscriber.php:138 +msgid "WP Rocket Preload pending jobs" +msgstr "WP Rocket Önyükleme bekleyen işleri" + +#: inc/Engine/Preload/Cron/Subscriber.php:166 +msgid "WP Rocket Preload revert stuck failed jobs" +msgstr "WP Rocket Önyükleme, sıkışmış başarısız işleri geri alır" #: inc/functions/admin.php:21 msgid "" @@ -3779,11 +3556,13 @@ msgstr "Hangi WP Rocket ayarları aktif" msgid "The provided license data are not valid." msgstr "Verilen lisans verileri geçerli değil." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:432 -#, php-format msgid "To resolve, please %1$scontact support%2$s." msgstr "Çözmek için lütfen %1$sdestek ile iletişime geçin%2$s." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:491 inc/functions/options.php:530 msgid "" "License validation failed. Our server could not resolve the request from " @@ -3792,8 +3571,9 @@ msgstr "" "Lisans doğrulama başarısız oldu. Sunucumuz web sitenizden gelen isteği " "çözemedi." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:491 -#, php-format msgid "" "Try clicking %1$sValidate License%2$s below. If the error persists, follow " "%3$sthis guide%4$s." @@ -3801,6 +3581,7 @@ msgstr "" "Aşağıda %1$sLisansı Doğrula%2$s düğmesine tıklamaya çalışın. Eğer hata devam" " ederse, %3$sbu kılavuzu%4$s takip edin." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 msgid "" "License validation failed. You may be using a nulled version of the plugin. " @@ -3809,47 +3590,53 @@ msgstr "" "Lisans doğrulama başarısız oldu. Eklentinin nulled sürümünü kullanıyorsunuz." " Lütfen aşağıdakini yapın:" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 -#, php-format msgid "Login to your WP Rocket %1$saccount%2$s" msgstr "WP Rocket %1$shesabınıza%2$s oturum açın" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 msgid "Download the zip file" msgstr "Zip dosyasını indir" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 inc/functions/options.php:549 msgid "Reinstall" msgstr "Yeniden Yükle" +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:507 -#, php-format msgid "" "If you do not have a WP Rocket account, please %1$spurchase a license%2$s." msgstr "" "Eğer bir WP Rocket hesabınız yoksa, lütfen %1$sbir lisans satın alın%2$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:515 msgid "" "License validation failed. This user account does not exist in our database." msgstr "" "Lisans doğrulama başarısız oldu. Bu kullanıcı veritabanımızda mevcut değil." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:515 msgid "To resolve, please contact support." msgstr "Çözmek için lütfen destek ile iletişime geçin." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:523 msgid "License validation failed. This user account is blocked." msgstr "Lisans doğrulama başarısız oldu. Bu kullanıcı hesabı engellendi." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:523 -#, php-format msgid "Please see %1$sthis guide%2$s for more info." msgstr "Daha fazla bilgi için lütfen %1$sbu kılavuza%2$s bakın." +#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening +#. link tag, %4$s closing link tag. #: inc/functions/options.php:530 -#, php-format msgid "" "Try clicking %1$sSave Changes%2$s below. If the error persists, follow " "%3$sthis guide%4$s." @@ -3857,21 +3644,25 @@ msgstr "" "Aşağıda %1$sDeğişiklikleri Kaydet%2$s düğmesine tıklamaya çalışın. Eğer hata" " devam ederse, %3$sbu kılavuzu%4$s takip edin." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:543 msgid "Your license is not valid." msgstr "Lisansınız geçerli değil." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:543 -#, php-format msgid "Make sure you have an active %1$sWP Rocket license%2$s." msgstr "Aktif bir %1$sWP Rocket lisansına%2$s sahip olduğunuzdan emin olun." +#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s = +#. opening link tag. #: inc/functions/options.php:545 msgid "You have added as many sites as your current license allows." msgstr "Şu anki lisansınızın izin verdiği kadar çok site eklediniz." +#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s = +#. opening link tag. #: inc/functions/options.php:545 -#, php-format msgid "" "Upgrade your %1$saccount%2$s or %3$stransfer your license%2$s to this " "domain." @@ -3879,48 +3670,299 @@ msgstr "" "%1$sHesabınızı%2$s yükseltin ya da %3$slisansınızı bu etki alanına " "aktarın%2$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:547 msgid "This website is not allowed." msgstr "Bu web sitesine izin verilmedi." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:547 -#, php-format msgid "Please %1$scontact support%2$s." msgstr "Lütfen %1$sdestek ile iletişime geçin%2$s." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:549 msgid "This license key is not recognized." msgstr "Bu lisans anahtarı tanınmadı." +#. Translators: %1$s = opening link tag, %2$s = closing link tag. #: inc/functions/options.php:549 -#, php-format msgid "If the issue persists, please %1$scontact support%2$s." msgstr "Eğer sorun devam ederse, lütfen %1$sdestek ile iletişime geçin%2$s." +#. Translators: %s = error message returned. #: inc/functions/options.php:555 -#, php-format msgid "License validation failed: %s" msgstr "Lisans doğrulama başarısız oldu: %s" -#: inc/vendors/classes/class-imagify-partner.php:531 -msgid "Plugin installed successfully." -msgstr "Eklenti başarılı olarak yüklendi." +#: inc/Logger/Logger.php:260 inc/Logger/Logger.php:292 +msgid "The log file does not exist." +msgstr "Günlük dosyası mevcut değil." + +#: inc/Logger/Logger.php:266 inc/Logger/Logger.php:298 +msgid "The log file could not be read." +msgstr "Günlük dosyası okunamadı." + +#: inc/Logger/Logger.php:285 +msgid "The logs are not saved into a file." +msgstr "Günlükler bir dosya içine kaydedilmedi." + +#. Translators: %s = Hosting name. +#: inc/ThirdParty/Hostings/Cloudways.php:82 +msgid "" +"Varnish auto-purge will be automatically enabled once Varnish is enabled on " +"your %s server." +msgstr "" +"%s sunucunuzda Varnish etkinleştirildikten sonra Varnish otomatik temizleme," +" otomatik olarak etkinleştirilecektir." + +#. translators: %1$s = opening link tag, %2$s = closing link tag. +#: inc/ThirdParty/Hostings/Kinsta.php:158 +msgid "" +"Your installation seems to be missing core Kinsta files managing Cache " +"clearing, which will prevent your Kinsta installation and WP Rocket from " +"working correctly. Please get in touch with Kinsta support through your " +"%1$sMyKinsta%2$s account to resolve this issue." +msgstr "" +"Kurulumunuzda, Kinsta kurulumunuzu ve WP Rocket’in doğru bir şekilde " +"çalışmasını önleyecek, Önbellek temizlemeyi yöneten çekirdek Kinsta " +"dosyalarının eksik olduğu görülüyor. Lütfen bu sorunu çözmek için " +"%1$sMyKinsta%2$s hesabınız aracılığıyla Kinsta desteği ile temasa geçin." + +#. translators: %1$s = plugin name. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:125 +msgid "" +"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of " +"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it." +msgstr "" +"%1$s: Cloudflare’in HTTP/2 Sunucu Yollaması, Kullanılmayan CSS’yi Kaldır ve " +"CSS Dosyalarını Birleştir’in özellikleriyle uyumlu değil. " +"Etkisizleştirmenizi şiddetle öneririz." + +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:168 +msgid "" +"Your site is using the official Cloudflare plugin. We have enabled " +"Cloudflare auto-purge for compatibility. If you have APO activated, it is " +"also compatible." +msgstr "" +"Siteniz resmi Cloudflare eklentisini kullanıyor. Uyumluluk için Cloudflare " +"otomatik temizlemeyi etkinleştirdik. Eğer APO’nuzu aktif ettiyseniz, o da " +"uyumludur." + +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169 +msgid "" +"Cloudflare cache will be purged each time WP Rocket clears its cache to " +"ensure content is always up-to-date." +msgstr "" +"Cloudflare önbelleği, WP Rocket önbelleğini her temizlediğinde içeriğin her " +"zaman güncel olmasını sağlamak için temizlenecektir." + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:213 +msgid "" +"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO " +"is not yet compatible with that feature." +msgstr "" +"%1$sWP Rocket:%2$s \"Değişken Tanımlama Bilgileri Önbelleği\"ni " +"kullanıyorsunuz. Cloudflare APO henüz bu özellikle uyumlu değil." + +#. Translators:%1$s = opening tag, %2$s = closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:219 +msgid "" +"You should either disable Cloudflare APO or check with the theme/plugin " +"requiring the use of “Dynamic Cookies Cache” developers for an alternative " +"way to be page-cache friendly. %1$sMore info%2$s" +msgstr "" +"Sayfa önbelleği dostu olmanın alternatif bir yolu için ya Cloudflare APO’yu " +"etkisizleştirmeli ya da “Değişken Tanımlama Bilgileri Önbelleği” " +"geliştiricilerinin kullanımını gerektiren temayı/eklentiyi " +"işaretlemelisiniz. %1$sDaha fazla bilgi%2$s" + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag, %3$s = +#. opening tag, %4$s = closing tag, %5$s = opening tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:270 +msgid "" +"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile " +"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on " +"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s" +msgstr "" +"%1$sWP Rocket:%2$s \"Mobil cihazlar için önbellek dosyalarını ayır\"ı " +"kullanıyorsunuz. Önbelleğin doğru sürümünü sunmak için Cloudflare APO’da " +"\"Cihaz Türüne Göre Önbellekle\" %3$sayarını%5$s aktif etmeniz " +"gerek.%4$sDaha fazla bilgi%5$s" + +#. Translators: %1$s = strong opening tag, %2$s = strong closing tag. +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:291 +msgid "" +"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare " +"APO. If you judge it necessary for the website to have a different cache on " +"mobile and desktop, we suggest you enable our “Separate Cache Files for " +"Mobiles Devices” to ensure the generated cache is accurate." +msgstr "" +"%1$sWP Rocket:%2$s Cloudflare APO’da \"Cihaz Türüne Göre Önbellekle\"yi " +"etkinleştirdiniz. Eğer web sitesi için mobil ve masaüstünde farklı bir " +"önbelleğe sahip olmasının gerekli olduğuna karar verirseniz, oluşturulan " +"önbelleğin doğru olduğundan emin olmak için \"Mobil Cihazlar için Önbellek " +"Dosyalarını Ayır\" seçeneğimizi etkinleştirmenizi öneririz." + +#. translators: %1$s is WP Rocket plugin name, %2$s is opening tag, %3$s +#. is closing tag. +#: inc/ThirdParty/Plugins/ModPagespeed.php:102 +msgid "" +"%1$s: Mod PageSpeed is not compatible with this plugin and " +"may cause unexpected results. %2$sMore Info%3$s" +msgstr "" +"%1$s: Mod PageSpeed bu eklenti ile uyumlu değil ve " +"beklenmeyen sonuçlara neden olabilir. %2$sDaha Fazla Bilgi%3$s" + +#. Translators: %1$s is an opening tag; %2$s is a closing +#. tag +#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:75 +msgid "" +"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript " +"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will " +"not be applied to the file it creates. We suggest disabling %1$sJavaScript " +"Aggregation%2$s to take full advantage of Delay JavaScript Execution." +msgstr "" +"%1$sWP Rocket: %2$sAutoptimize’ın JavaScript Toplama özelliğinin " +"etkinleştirildiğini tespit ettik. WP Rocket’in JavaScript’i Geciktir " +"Yürütmesi, oluşturduğu dosyaya uygulanmayacaktır. JavaScript’i Geciktir " +"Yürütmesi’nden tam olarak yararlanmak için %1$sJavaScript Toplama%2$s " +"özelliğinin etkisizleştirilmesini öneririz." + +#. Translators: %1$s is an opening tag; %2$s is a closing +#. tag +#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:130 +msgid "" +"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS " +"feature is enabled. WP Rocket's Load CSS Asynchronously will not work " +"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full " +"advantage of Load CSS Asynchronously Execution." +msgstr "" +"%1$sWP Rocket: %2$sAutoptimize’ın Satır İçi CSS Topla özelliğinin " +"etkinleştirildiğini tespit ettik. WP Rocket’in CSS’yi Eşzamanlı Olmadan " +"Yükle özelliği düzgün olarak çalışmayacaktır. CSS’yi Eşzamanlı Olmadan Yükle" +" Yürütmesi’nden tam olarak yararlanmak için %1$sSatır İçi CSS Topla%2$s " +"özelliğinin etkisizleştirilmesini öneririz." + +#. translators: %1$s = opening tag, %2$s = closing tag. +#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45 +msgid "" +"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and " +"use %1$sEzoic's nameserver integration%2$s instead." +msgstr "" +"Bu eklenti, WP Rocket’in önbelleğe alınmasını ve iyileştirmelerini engeller." +" Bunu devre dışı bırakın ve bunun yerine %1$sEzoic’in ad sunucusu " +"bütünleştirmesi%2$s'ni kullanın." + +#. Translators: %s = Plugin name. +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78 +msgctxt "Hummingbird notice" +msgid "" +"Please deactivate the following %s option which conflicts with WP Rocket " +"features:" +msgid_plural "" +"Please deactivate the following %s options which conflict with WP Rocket " +"features:" +msgstr[0] "" +"Lütfen WP Rocket özellikleri ile çakışan aşağıdaki %s seçeneği devre dışı " +"bırakın:" +msgstr[1] "" +"Lütfen WP Rocket özellikleri ile çakışan aşağıdaki %s seçeneği devre dışı " +"bırakın:" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s" +msgstr "" +"%1$s %2$semoji etkisizleştirmesi%3$s WP Rockets %2$semoji " +"etkisizleştirmesi%3$s ile çakışıyor" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP " +"compression%3$s" +msgstr "" +"%1$s %2$sGZIP sıkıştırması%3$s WP Rockets %2$sGZIP sıkıştırması%3$s ile " +"çakışıyor" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser " +"caching%3$s" +msgstr "" +"%1$s %2$starayıcı önbelleklemesi%3$s WP Rockets %2$starayıcı " +"önbelleklemesi%3$s ile çakışıyor" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s" +msgstr "" +"%1$s %2$ssayfa önbelleklemesi%3$s WP Rockets %2$ssayfa önbelleklemesi%3$s " +"ile çakışıyor" + +#. Translators: %1$s = Plugin name, %2$s = , %3$s = . +#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289 +msgctxt "Hummingbird notice" +msgid "" +"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile " +"optimization%3$s" +msgstr "" +"%1$s %2$svarlık iyileştirmesi%3$s WP Rockets %2$sdosya iyileştirmesi%3$s ile" +" çakışıyor" + +#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38 +msgid "" +"Remove Unused CSS is currently activated in Perfmatters. If you want to use " +"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters." +msgstr "" +"Kullanılmayan CSS’yi Kaldır şu anda Perfmatters’ta aktif edildi. Eğer WP " +"Rocket’in Kullanılmayan CSS’yi Kaldır özelliğini kullanmak istiyorsanız, " +"Perfmatters’ta bu seçeneği etkisizleştirin." + +#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39 +msgid "" +"Automated unused CSS removal is currently activated in RapidLoad Power-Up " +"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, " +"disable the RapidLoad Power-Up for Autoptimize plugin." +msgstr "" +"Otomatikleştirilmiş kullanılmayan CSS kaldırma şu anda RapidLoad Power-Up " +"for Autoptimize’da aktif edildi. Eğer WP Rocket’in Kullanılmayan CSS’yi " +"Kaldır özelliğini kullanmak istiyorsanız, RapidLoad Power-Up for Autoptimize" +" eklentisini etkisizleştirin." -#: inc/vendors/classes/class-imagify-partner.php:532 -msgid "Sorry, you are not allowed to install plugins on this site." -msgstr "Üzgünüz, bu sitede eklentileri yüklemenize izin verilmiyor." +#. translators: %1$s = plugin name. +#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42 +msgid "" +"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s " +"delay JS, disable %1$s" +msgstr "" +"JS’yi geciktir, şu anda %1$s içinde aktif edildi. Eğer WP Rocket’in JS’yi " +"geciktir’ini kullanmak istiyorsanız, %1$s etkisizleştirin." -#: inc/vendors/classes/class-imagify-partner.php:533 -msgid "Sorry, you are not allowed to do that." -msgstr "Üzgünüz, bunu yapmanıza izin verilmiyor." +#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126 +msgid "Smush" +msgstr "Smush" -#: inc/vendors/classes/class-imagify-partner.php:534 -msgid "Plugin install failed." -msgstr "Eklenti yükleme başarısız oldu." +#: inc/ThirdParty/Themes/Avada.php:116 +msgid "Avada" +msgstr "Avada" -#: inc/vendors/classes/class-imagify-partner.php:535 -msgid "Go back" -msgstr "Geri git" +#: inc/ThirdParty/Themes/Divi.php:315 +msgid "" +"Your Divi template was updated. Clear the Used CSS if the layout, design or " +"CSS styles were changed." +msgstr "" +"Divi şablonunuz güncellendi. Düzen, tasarım veya CSS stilleri " +"değiştirilmişse, Kullanılan CSS’yi temizleyin." #: views/cpcss/activate-cpcss-mobile.php:13 msgid "Load CSS asynchronously for mobile" @@ -3939,9 +3981,9 @@ msgid "Click the button to enable mobile-specific CPCSS for your site." msgstr "" "Siteniz için mobile özgü ÖYCSS’yi etkinleştirmek için düğmeye tıklayın." +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/activate-cpcss-mobile.php:20 #: views/settings/enable-google-fonts.php:19 -#, php-format msgid "" "This is a one-time action and this button will be removed afterwards. " "%1$sMore info%2$s" @@ -3949,8 +3991,8 @@ msgstr "" "Bu tek seferlik bir eylemdir ve daha sonra bu düğme kaldırılacaktır. " "%1$sDaha fazla bilgi%2$s" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/activate-cpcss-mobile.php:30 -#, php-format msgid "" "Your site is now using mobile-specific critical path CSS. %1$sMore info%2$s" msgstr "" @@ -3965,15 +4007,15 @@ msgstr "Mobile Özgü ÖYCSS’yi Oluştur" msgid "Critical Path CSS" msgstr "Önemli Yol CSS" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/metabox/generate.php:23 -#, php-format msgid "Generate specific Critical Path CSS for this post. %1$sMore info%2$s" msgstr "" "Bu yazı için belirli bir Önemli Yol CSS’yi oluşturun. %1$sDaha fazla " "bilgi%2$s" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/cpcss/metabox/generate.php:33 -#, php-format msgid "This post uses specific Critical Path CSS. %1$sMore info%2$s" msgstr "" "Bu yazı belirli bir Önemli Yol CSS’yi kullanır. %1$sDaha fazla bilgi%2$s" @@ -3995,8 +4037,8 @@ msgstr "" "zaman gerekli değildir. Bunların çoğu, yalnızca bazı seçenekler devre dışı " "bırakılarak düzeltilebilir." +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:29 -#, php-format msgid "" "Our advice? Instead of deactivating WP Rocket, use our %1$sSafe Mode%2$s to " "quickly disable LazyLoad, File Optimization, and CDN options. Then check to " @@ -4013,13 +4055,13 @@ msgstr "" "WP Rocket sorunlarını gidermek için Güvenli Kip’imizi kullanmak istiyor " "musunuz?" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:55 -#, php-format msgid "Yes, apply \"%1$sSafe Mode%2$s\"" msgstr "Evet, \"%1$sGüvenli Kip%2$s\"i uygula" +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. #: views/deactivation-intent/form.php:68 -#, php-format msgid "" "and export WP Rocket settings %1$s(Recommended as current settings will be " "deleted)%2$s" @@ -4055,8 +4097,9 @@ msgstr "İptal" msgid "Confirm" msgstr "Onayla" +#. translators: %1$s = , %2$s = plugin version, %3$s = , %4$s +#. = , %5$s = , %6$s = . #: views/plugins/update-renewal-expired-notice.php:27 -#, php-format msgid "" " %1$sWP Rocket %2$s%3$s is available. %4$sLearn more%5$s about the updates " "and enhancements of this major version. You need an active license to use " @@ -4071,8 +4114,8 @@ msgstr "" msgid "Update Inclusion and Exclusion Lists" msgstr "Dahil Etme ve Hariç Tutma Listelerini güncelleyin" +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/settings/dynamic-lists-update.php:19 -#, php-format msgid "" "Compatibility lists are downloaded automatically every week. Click the " "button if you want to update them manually. %1$sMore info%2$s" @@ -4096,8 +4139,8 @@ msgstr "" "Yazı tipi performansını artırır ve HTTP isteklerinin sayısını azaltmak için " "birden çok yazı tipi isteğini birleştirir." +#. translators: %1$s = opening link tag, %2$s = closing link tag. #: views/settings/enable-google-fonts.php:29 -#, php-format msgid "" "Google Fonts Optimization is now enabled for your site. %1$sMore info%2$s" msgstr "" @@ -4145,11 +4188,12 @@ msgstr "Seçenekleri değiştir" msgid "CDN CNAME" msgstr "CDN CNAME" +#. translators: %s is a "Learn more" link. #: views/settings/fields/rocket-cdn.php:62 -#, php-format msgid "Purges RocketCDN cached resources for your website. %s" msgstr "Web siteniz için RocketCDN önbelleklenmiş kaynaklarını temizler. %s" +#. translators: %s is a "Learn more" link. #: views/settings/fields/rocket-cdn.php:63 #: views/settings/page-sections/cloudflare.php:36 #: views/settings/page-sections/sucuri.php:37 @@ -4164,12 +4208,13 @@ msgstr "Tüm RocketCDN önbellek dosyalarını temizle" msgid "Cloudflare Cache" msgstr "Cloudflare Önbelleği" +#. translators: %s is a "Learn more" link. #: views/settings/page-sections/cloudflare.php:35 #: views/settings/page-sections/sucuri.php:36 -#, php-format msgid "Purges cached resources for your website. %s" msgstr "Web sitenizin önbelleklenmiş kaynaklarını temizler. %s" +#. translators: %s is a "Learn more" link. #: views/settings/page-sections/cloudflare.php:36 msgid "https://support.cloudflare.com/hc/en-us/articles/200169246" msgstr "https://support.cloudflare.com/hc/en-us/articles/200169246" @@ -4191,7 +4236,6 @@ msgid "Your website should be loading faster now!" msgstr "Web siteniz artık daha hızlı yüklenmelidir!" #: views/settings/page-sections/dashboard.php:44 -#, php-format msgid "" "To guarantee fast websites, WP Rocket automatically applies 80% of web " "performance best practices." @@ -4280,8 +4324,9 @@ msgstr "" msgid "Save Changes and Optimize" msgstr "Değişiklikleri Kaydet ve İyileştir" +#. Translators: %1$s = , %2$s = , %3$s = , %4$s = . #: views/settings/page-sections/imagify.php:21 -#, php-format msgid "" "%1$sWP ROCKET%2$s created %3$sIMAGIFY%4$s %1$sfor best-in-class image " "optimization.%2$s" @@ -4321,14 +4366,15 @@ msgstr "Imagify’ı Yükle" msgid "WP Rocket was not able to automatically validate your license." msgstr "WP Rocket, lisansınızı otomatik olarak doğrulayamadı." +#. translators: %1$s = tutorial URL, %2$s = support URL. #: views/settings/page-sections/license.php:29 -#, php-format msgid "Follow this %1$s, or contact %2$s to get the engine started." msgstr "" "Motoru çalıştırmak için bu %1$s takip edin ya da %2$s ile iletişime geçin." +#. translators: %1$s = , %4$s = . #: views/settings/page-sections/license.php:32 -#, php-format msgid "%1$s%2$s%3$stutorial%4$s" msgstr "%1$s%2$s%3$seğitimi%4$s" @@ -4340,8 +4386,9 @@ msgstr "" "https://docs.wp-rocket.me/article/100-resolving-problems-with-license-" "validation/?utm_source=wp_plugin&utm_medium=wp_rocket" +#. translators: %1$s = , %4$s = . #: views/settings/page-sections/license.php:40 -#, php-format msgid "%1$s%2$s%3$ssupport%4$s" msgstr "%1$s%2$s%3$sdestek%4$s" @@ -4349,18 +4396,19 @@ msgstr "%1$s%2$s%3$sdestek%4$s" msgid "Clear all Sucuri cache files" msgstr "Tüm Sucuri önbellek dosyalarını temizle" +#. translators: %1$s = formatted file size, %2$s = formatted number of entries +#. (don't use %2$d). #: views/settings/page-sections/tools.php:20 -#, php-format msgid "Files size: %1$s. Number of entries: %2$s." msgstr "Dosyaların boyutu: %1$s. Giriş sayısı: %2$s." +#. translators: %1$s = opening tag, %2$s = closing tag. #: views/settings/page-sections/tools.php:23 -#, php-format msgid "%1$sDownload the file%2$s." msgstr "%1$sDosyayı indir%2$s." +#. translators: %1$s = opening tag, %2$s = closing tag. #: views/settings/page-sections/tools.php:26 -#, php-format msgid "%1$sDelete the file%2$s." msgstr "%1$sDosyayı sil%2$s." @@ -4380,13 +4428,13 @@ msgstr "Ayarları indir" msgid "Rollback" msgstr "Geri alın" +#. translators: %s = WP Rocket version number. #: views/settings/page-sections/tools.php:64 -#, php-format msgid "Has version %s caused an issue on your website?" msgstr "%s sürümü web sitenizde bir soruna mı neden oldu?" +#. translators: %s =
    . #: views/settings/page-sections/tools.php:69 -#, php-format msgid "" "You can rollback to the previous major version here.%sThen send us a support" " request." @@ -4394,8 +4442,8 @@ msgstr "" "Burada önceki büyük sürüme geri alabilirsiniz.%sArdından bize bir destek " "isteği gönderin." +#. translators: %s = WP Rocket previous version. #: views/settings/page-sections/tools.php:80 -#, php-format msgid "Reinstall version %s" msgstr "%s sürümünü yeniden yükle" @@ -4475,8 +4523,8 @@ msgstr "Cloudflare Eklentisini Ayarlama" msgid "WP Rocket Settings" msgstr "WP Rocket Ayarları" +#. translators: %s = Plugin version number. #: views/settings/page.php:30 -#, php-format msgid "version %s" msgstr "sürüm %s" @@ -4484,8 +4532,8 @@ msgstr "sürüm %s" msgid "Show Sidebar" msgstr "Kenar Çubuğunu Göster" +#. translators: %1$s = , %2$s = . #: views/settings/page.php:82 -#, php-format msgid "" "Below is a detailed view of all data WP Rocket will collect %1$sif granted " "permission.%2$s" diff --git a/wp-content/plugins/wp-rocket/languages/rocket.pot b/wp-content/plugins/wp-rocket/languages/rocket.pot index d916ad156..efb8f705f 100755 --- a/wp-content/plugins/wp-rocket/languages/rocket.pot +++ b/wp-content/plugins/wp-rocket/languages/rocket.pot @@ -2,19 +2,38 @@ # This file is distributed under the same license as the WP Rocket plugin. msgid "" msgstr "" -"Project-Id-Version: WP Rocket 3.15\n" +"Project-Id-Version: WP Rocket 3.15.1-alpha1\n" "Report-Msgid-Bugs-To: http://wp-rocket.me/\n" "Last-Translator: WP Media (http://wp-rocket.me/)\n" -"Language-Team: WP Media (http://www.transifex.com/projects/p/wp-media/) " -"\n" +"Language-Team: WP Media (http://www.transifex.com/projects/p/wp-media/) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2023-08-28T12:32:53+03:00\n" +"POT-Creation-Date: 2023-09-25T14:39:29+03:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.7.1\n" "X-Domain: rocket\n" +#. Plugin Name of the plugin +msgid "WP Rocket" +msgstr "" + +#. Plugin URI of the plugin +msgid "https://wp-rocket.me" +msgstr "" + +#. Description of the plugin +msgid "The best WordPress performance plugin." +msgstr "" + +#. Author of the plugin +msgid "WP Media" +msgstr "" + +#. Author URI of the plugin +msgid "https://wp-media.me" +msgstr "" + #. Translators: %s = Hosting name. #: inc/3rd-party/hosting/flywheel.php:18 #: inc/3rd-party/hosting/pressidium.php:18 @@ -400,70 +419,6 @@ msgstr "" msgid "Clear cache" msgstr "" -#: inc/admin/ui/meta-boxes.php:67 -msgid "WP Rocket Options" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:96 -msgid "Never cache this page" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:100 -msgid "Activate these options on this post:" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:103 -msgid "LazyLoad for images" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:104 -msgid "LazyLoad for iframes/videos" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:105 -msgid "Minify CSS" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:106 -#: inc/Engine/Admin/Settings/Page.php:736 -msgid "Remove Unused CSS" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:107 -msgid "Minify/combine JS" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:108 -#: inc/deprecated/deprecated.php:1773 -#: inc/Engine/Admin/Settings/Page.php:1586 -#: inc/Engine/Admin/Settings/Page.php:1597 -msgid "CDN" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:109 -#: inc/Engine/Admin/Settings/Page.php:765 -msgid "Load CSS asynchronously" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:110 -msgid "Defer JS" -msgstr "" - -#: inc/admin/ui/meta-boxes.php:111 -#: inc/Engine/Admin/Settings/Page.php:907 -msgid "Delay JavaScript execution" -msgstr "" - -#. translators: %s is the name of the option. -#: inc/admin/ui/meta-boxes.php:130 -msgid "Activate first the %s option." -msgstr "" - -#. translators: %1$s = opening strong tag, %2$s = closing strong tag. -#: inc/admin/ui/meta-boxes.php:146 -msgid "%1$sNote:%2$s None of these options will be applied if this post has been excluded from cache in the global cache settings." -msgstr "" - #. translators: %1$s WP Rocket plugin name; %2$s = file name. #: inc/admin/ui/notices.php:30 #: inc/admin/ui/notices.php:43 @@ -850,6 +805,33 @@ msgstr "" msgid "Preload the sitemap from the Jetpack plugin" msgstr "" +#: inc/deprecated/3.15.php:28 +#: inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php:74 +msgid "WP Rocket Options" +msgstr "" + +#: inc/deprecated/3.15.php:57 +#: views/metaboxes/post_edit_options.php:19 +msgid "Never cache this page" +msgstr "" + +#: inc/deprecated/3.15.php:61 +#: views/metaboxes/post_edit_options.php:23 +msgid "Activate these options on this post:" +msgstr "" + +#. translators: %s is the name of the option. +#: inc/deprecated/3.15.php:81 +#: inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php:121 +msgid "Activate first the %s option." +msgstr "" + +#. translators: %1$s = opening strong tag, %2$s = closing strong tag. +#: inc/deprecated/3.15.php:97 +#: views/metaboxes/post_edit_options.php:38 +msgid "%1$sNote:%2$s None of these options will be applied if this post has been excluded from cache in the global cache settings." +msgstr "" + #: inc/deprecated/deprecated.php:240 msgid "JS files with Deferred Loading JavaScript" msgstr "" @@ -970,6 +952,13 @@ msgstr "" msgid "Static Files" msgstr "" +#: inc/deprecated/deprecated.php:1773 +#: inc/Engine/Admin/Settings/Page.php:1586 +#: inc/Engine/Admin/Settings/Page.php:1597 +#: inc/Engine/CDN/Admin/Subscriber.php:28 +msgid "CDN" +msgstr "" + #: inc/deprecated/deprecated.php:1774 msgid "Advanced" msgstr "" @@ -1301,6 +1290,11 @@ msgstr "" msgid "Optimize CSS Delivery features are disabled on local environments. %1$sLearn more%2$s" msgstr "" +#: inc/Engine/Admin/Settings/Page.php:736 +#: inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php:74 +msgid "Remove Unused CSS" +msgstr "" + #. translators: %1$s = opening tag, %2$s = closing tag. #: inc/Engine/Admin/Settings/Page.php:739 msgid "Removes unused CSS per page and helps to reduce page size and HTTP requests. Recommended for best performance. Test thoroughly! %1$sMore info%2$s" @@ -1318,6 +1312,11 @@ msgstr "" msgid "Specify CSS filenames, IDs or classes that should not be removed (one per line)." msgstr "" +#: inc/Engine/Admin/Settings/Page.php:765 +#: inc/Engine/CriticalPath/Admin/Subscriber.php:200 +msgid "Load CSS asynchronously" +msgstr "" + #. translators: %1$s = plugin name. #: inc/Engine/Admin/Settings/Page.php:768 msgctxt "WP Critical CSS compatibility" @@ -1387,6 +1386,7 @@ msgid "3rd Party: Use either the full URL path or only the doma msgstr "" #: inc/Engine/Admin/Settings/Page.php:876 +#: inc/Engine/Optimization/DeferJS/AdminSubscriber.php:76 msgid "Load JavaScript deferred" msgstr "" @@ -1400,6 +1400,11 @@ msgstr "" msgid "Specify URLs or keywords of JavaScript files to be excluded from defer (one per line). %1$sMore info%2$s" msgstr "" +#: inc/Engine/Admin/Settings/Page.php:907 +#: inc/Engine/Optimization/DelayJS/Admin/Subscriber.php:210 +msgid "Delay JavaScript execution" +msgstr "" + #. translators: %1$s = opening tag, %2$s = closing tag. #: inc/Engine/Admin/Settings/Page.php:909 msgid "Improves performance by delaying the loading of JavaScript files until user interaction (e.g. scroll, click). %1$sMore info%2$s" @@ -2141,10 +2146,14 @@ msgid "RocketCDN cache purge successful." msgstr "" #: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137 +#: tests/Integration/inc/Engine/CDN/RocketCDN/RESTSubscriber/enable.php:72 +#: tests/Integration/inc/Engine/CDN/RocketCDN/RESTSubscriber/registerEnableRoute.php:302 msgid "RocketCDN enabled" msgstr "" #: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160 +#: tests/Integration/inc/Engine/CDN/RocketCDN/RESTSubscriber/disable.php:31 +#: tests/Integration/inc/Engine/CDN/RocketCDN/RESTSubscriber/registerDisableRoute.php:147 msgid "RocketCDN disabled" msgstr "" @@ -2218,7 +2227,7 @@ msgstr "" msgid "Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!" msgstr "" -#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253 +#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:265 msgid "Every minute" msgstr "" @@ -2602,7 +2611,15 @@ msgstr "" msgid "You can use WP Rocket on more websites by upgrading your license (you will only pay the price difference between your current and new licenses)." msgstr "" -#: inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php:45 +#: inc/Engine/Media/Lazyload/AdminSubscriber.php:62 +msgid "LazyLoad for images" +msgstr "" + +#: inc/Engine/Media/Lazyload/AdminSubscriber.php:63 +msgid "LazyLoad for iframes/videos" +msgstr "" + +#: inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php:48 msgid "LazyLoad CSS backgrounds" msgstr "" @@ -2622,19 +2639,19 @@ msgstr "" msgid "You need an active license to get the latest version of the lists from our server." msgstr "" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115 +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:116 msgid "Could not get updated lists from server." msgstr "" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124 +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:125 msgid "Lists are up to date." msgstr "" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133 +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:134 msgid "Could not update lists." msgstr "" -#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142 +#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:143 msgid "Lists are successfully updated." msgstr "" @@ -2650,6 +2667,14 @@ msgstr "" msgid "Incompatible plugins Lists" msgstr "" +#: inc/Engine/Optimization/Minify/AdminSubscriber.php:65 +msgid "Minify/combine JavaScript" +msgstr "" + +#: inc/Engine/Optimization/Minify/CSS/AdminSubscriber.php:150 +msgid "Minify CSS" +msgstr "" + #. translators: %1$s = plugin name, %2$s = number of seconds. #: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224 msgid "%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing your pages." @@ -2698,12 +2723,12 @@ msgid "%1$s: Could not create the %2$s table in the database which is necessary msgstr "" #. translators: %1$s = plugin name. -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:314 +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:286 msgid "%1$s: Used CSS option is not enabled!" msgstr "" #. translators: %1$s = plugin name. -#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:336 +#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:308 msgid "%1$s: Used CSS cache cleared!" msgstr "" @@ -2921,35 +2946,35 @@ msgid "Your installation seems to be missing core Kinsta files managing Cache cl msgstr "" #. translators: %1$s = plugin name. -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:125 +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:127 msgid "%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of Remove Unused CSS and Combine CSS files. We strongly recommend disabling it." msgstr "" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:168 +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:170 msgid "Your site is using the official Cloudflare plugin. We have enabled Cloudflare auto-purge for compatibility. If you have APO activated, it is also compatible." msgstr "" -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169 +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:171 msgid "Cloudflare cache will be purged each time WP Rocket clears its cache to ensure content is always up-to-date." msgstr "" #. Translators: %1$s = strong opening tag, %2$s = strong closing tag. -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:213 +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:215 msgid "%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO is not yet compatible with that feature." msgstr "" #. Translators:%1$s = opening tag, %2$s = closing tag. -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:219 +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:221 msgid "You should either disable Cloudflare APO or check with the theme/plugin requiring the use of “Dynamic Cookies Cache” developers for an alternative way to be page-cache friendly. %1$sMore info%2$s" msgstr "" #. Translators: %1$s = strong opening tag, %2$s = strong closing tag, %3$s = opening tag, %4$s = closing tag, %5$s = opening tag. -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:270 +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:272 msgid "%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s" msgstr "" #. Translators: %1$s = strong opening tag, %2$s = strong closing tag. -#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:291 +#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:293 msgid "%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare APO. If you judge it necessary for the website to have a different cache on mobile and desktop, we suggest you enable our “Separate Cache Files for Mobiles Devices” to ensure the generated cache is accurate." msgstr "" diff --git a/wp-content/plugins/wp-rocket/vendor/autoload.php b/wp-content/plugins/wp-rocket/vendor/autoload.php index 7be5f7481..f63baec6f 100755 --- a/wp-content/plugins/wp-rocket/vendor/autoload.php +++ b/wp-content/plugins/wp-rocket/vendor/autoload.php @@ -22,4 +22,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit0d0874992490a6810b306a68c96f2c4e::getLoader(); +return ComposerAutoloaderInit41e63f7289eb78a40170f5fa8234743e::getLoader(); diff --git a/wp-content/plugins/wp-rocket/vendor/composer/autoload_classmap.php b/wp-content/plugins/wp-rocket/vendor/composer/autoload_classmap.php index 4e18363e2..60abdd85c 100755 --- a/wp-content/plugins/wp-rocket/vendor/composer/autoload_classmap.php +++ b/wp-content/plugins/wp-rocket/vendor/composer/autoload_classmap.php @@ -146,12 +146,14 @@ 'WP_Rocket\\Engine\\Admin\\Deactivation\\Subscriber' => $baseDir . '/inc/Engine/Admin/Deactivation/Subscriber.php', 'WP_Rocket\\Engine\\Admin\\DomainChange\\ServiceProvider' => $baseDir . '/inc/Engine/Admin/DomainChange/ServiceProvider.php', 'WP_Rocket\\Engine\\Admin\\DomainChange\\Subscriber' => $baseDir . '/inc/Engine/Admin/DomainChange/Subscriber.php', + 'WP_Rocket\\Engine\\Admin\\Metaboxes\\PostEditOptionsSubscriber' => $baseDir . '/inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php', 'WP_Rocket\\Engine\\Admin\\ServiceProvider' => $baseDir . '/inc/Engine/Admin/ServiceProvider.php', 'WP_Rocket\\Engine\\Admin\\Settings\\Page' => $baseDir . '/inc/Engine/Admin/Settings/Page.php', 'WP_Rocket\\Engine\\Admin\\Settings\\Render' => $baseDir . '/inc/Engine/Admin/Settings/Render.php', 'WP_Rocket\\Engine\\Admin\\Settings\\ServiceProvider' => $baseDir . '/inc/Engine/Admin/Settings/ServiceProvider.php', 'WP_Rocket\\Engine\\Admin\\Settings\\Settings' => $baseDir . '/inc/Engine/Admin/Settings/Settings.php', 'WP_Rocket\\Engine\\Admin\\Settings\\Subscriber' => $baseDir . '/inc/Engine/Admin/Settings/Subscriber.php', + 'WP_Rocket\\Engine\\CDN\\Admin\\Subscriber' => $baseDir . '/inc/Engine/CDN/Admin/Subscriber.php', 'WP_Rocket\\Engine\\CDN\\CDN' => $baseDir . '/inc/Engine/CDN/CDN.php', 'WP_Rocket\\Engine\\CDN\\RocketCDN\\APIClient' => $baseDir . '/inc/Engine/CDN/RocketCDN/APIClient.php', 'WP_Rocket\\Engine\\CDN\\RocketCDN\\AdminPageSubscriber' => $baseDir . '/inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php', @@ -291,6 +293,7 @@ 'WP_Rocket\\Engine\\Optimization\\QueryString\\RemoveSubscriber' => $baseDir . '/inc/deprecated/Engine/Optimization/QueryString/RemoveSubscriber.php', 'WP_Rocket\\Engine\\Optimization\\RUCSS\\AbstractAPIClient' => $baseDir . '/inc/Engine/Optimization/RUCSS/AbstractAPIClient.php', 'WP_Rocket\\Engine\\Optimization\\RUCSS\\Admin\\Database' => $baseDir . '/inc/Engine/Optimization/RUCSS/Admin/Database.php', + 'WP_Rocket\\Engine\\Optimization\\RUCSS\\Admin\\OptionSubscriber' => $baseDir . '/inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php', 'WP_Rocket\\Engine\\Optimization\\RUCSS\\Admin\\Settings' => $baseDir . '/inc/Engine/Optimization/RUCSS/Admin/Settings.php', 'WP_Rocket\\Engine\\Optimization\\RUCSS\\Admin\\Subscriber' => $baseDir . '/inc/Engine/Optimization/RUCSS/Admin/Subscriber.php', 'WP_Rocket\\Engine\\Optimization\\RUCSS\\Controller\\Filesystem' => $baseDir . '/inc/Engine/Optimization/RUCSS/Controller/Filesystem.php', @@ -434,6 +437,7 @@ 'WP_Rocket\\ThirdParty\\Themes\\MinimalistBlogger' => $baseDir . '/inc/ThirdParty/Themes/MinimalistBlogger.php', 'WP_Rocket\\ThirdParty\\Themes\\Polygon' => $baseDir . '/inc/ThirdParty/Themes/Polygon.php', 'WP_Rocket\\ThirdParty\\Themes\\ServiceProvider' => $baseDir . '/inc/ThirdParty/Themes/ServiceProvider.php', + 'WP_Rocket\\ThirdParty\\Themes\\Shoptimizer' => $baseDir . '/inc/ThirdParty/Themes/Shoptimizer.php', 'WP_Rocket\\ThirdParty\\Themes\\Themify' => $baseDir . '/inc/ThirdParty/Themes/Themify.php', 'WP_Rocket\\ThirdParty\\Themes\\ThirdpartyTheme' => $baseDir . '/inc/ThirdParty/Themes/ThirdpartyTheme.php', 'WP_Rocket\\ThirdParty\\Themes\\Uncode' => $baseDir . '/inc/ThirdParty/Themes/Uncode.php', diff --git a/wp-content/plugins/wp-rocket/vendor/composer/autoload_real.php b/wp-content/plugins/wp-rocket/vendor/composer/autoload_real.php index bfc110474..8eb30bfc9 100755 --- a/wp-content/plugins/wp-rocket/vendor/composer/autoload_real.php +++ b/wp-content/plugins/wp-rocket/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit0d0874992490a6810b306a68c96f2c4e +class ComposerAutoloaderInit41e63f7289eb78a40170f5fa8234743e { private static $loader; @@ -24,12 +24,12 @@ public static function getLoader() require __DIR__ . '/platform_check.php'; - spl_autoload_register(array('ComposerAutoloaderInit0d0874992490a6810b306a68c96f2c4e', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit41e63f7289eb78a40170f5fa8234743e', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit0d0874992490a6810b306a68c96f2c4e', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit41e63f7289eb78a40170f5fa8234743e', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit0d0874992490a6810b306a68c96f2c4e::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit41e63f7289eb78a40170f5fa8234743e::getInitializer($loader)); $loader->register(true); diff --git a/wp-content/plugins/wp-rocket/vendor/composer/autoload_static.php b/wp-content/plugins/wp-rocket/vendor/composer/autoload_static.php index 832dd1b10..665aff6fa 100755 --- a/wp-content/plugins/wp-rocket/vendor/composer/autoload_static.php +++ b/wp-content/plugins/wp-rocket/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit0d0874992490a6810b306a68c96f2c4e +class ComposerStaticInit41e63f7289eb78a40170f5fa8234743e { public static $prefixLengthsPsr4 = array ( 'W' => @@ -176,12 +176,14 @@ class ComposerStaticInit0d0874992490a6810b306a68c96f2c4e 'WP_Rocket\\Engine\\Admin\\Deactivation\\Subscriber' => __DIR__ . '/../..' . '/inc/Engine/Admin/Deactivation/Subscriber.php', 'WP_Rocket\\Engine\\Admin\\DomainChange\\ServiceProvider' => __DIR__ . '/../..' . '/inc/Engine/Admin/DomainChange/ServiceProvider.php', 'WP_Rocket\\Engine\\Admin\\DomainChange\\Subscriber' => __DIR__ . '/../..' . '/inc/Engine/Admin/DomainChange/Subscriber.php', + 'WP_Rocket\\Engine\\Admin\\Metaboxes\\PostEditOptionsSubscriber' => __DIR__ . '/../..' . '/inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php', 'WP_Rocket\\Engine\\Admin\\ServiceProvider' => __DIR__ . '/../..' . '/inc/Engine/Admin/ServiceProvider.php', 'WP_Rocket\\Engine\\Admin\\Settings\\Page' => __DIR__ . '/../..' . '/inc/Engine/Admin/Settings/Page.php', 'WP_Rocket\\Engine\\Admin\\Settings\\Render' => __DIR__ . '/../..' . '/inc/Engine/Admin/Settings/Render.php', 'WP_Rocket\\Engine\\Admin\\Settings\\ServiceProvider' => __DIR__ . '/../..' . '/inc/Engine/Admin/Settings/ServiceProvider.php', 'WP_Rocket\\Engine\\Admin\\Settings\\Settings' => __DIR__ . '/../..' . '/inc/Engine/Admin/Settings/Settings.php', 'WP_Rocket\\Engine\\Admin\\Settings\\Subscriber' => __DIR__ . '/../..' . '/inc/Engine/Admin/Settings/Subscriber.php', + 'WP_Rocket\\Engine\\CDN\\Admin\\Subscriber' => __DIR__ . '/../..' . '/inc/Engine/CDN/Admin/Subscriber.php', 'WP_Rocket\\Engine\\CDN\\CDN' => __DIR__ . '/../..' . '/inc/Engine/CDN/CDN.php', 'WP_Rocket\\Engine\\CDN\\RocketCDN\\APIClient' => __DIR__ . '/../..' . '/inc/Engine/CDN/RocketCDN/APIClient.php', 'WP_Rocket\\Engine\\CDN\\RocketCDN\\AdminPageSubscriber' => __DIR__ . '/../..' . '/inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php', @@ -321,6 +323,7 @@ class ComposerStaticInit0d0874992490a6810b306a68c96f2c4e 'WP_Rocket\\Engine\\Optimization\\QueryString\\RemoveSubscriber' => __DIR__ . '/../..' . '/inc/deprecated/Engine/Optimization/QueryString/RemoveSubscriber.php', 'WP_Rocket\\Engine\\Optimization\\RUCSS\\AbstractAPIClient' => __DIR__ . '/../..' . '/inc/Engine/Optimization/RUCSS/AbstractAPIClient.php', 'WP_Rocket\\Engine\\Optimization\\RUCSS\\Admin\\Database' => __DIR__ . '/../..' . '/inc/Engine/Optimization/RUCSS/Admin/Database.php', + 'WP_Rocket\\Engine\\Optimization\\RUCSS\\Admin\\OptionSubscriber' => __DIR__ . '/../..' . '/inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php', 'WP_Rocket\\Engine\\Optimization\\RUCSS\\Admin\\Settings' => __DIR__ . '/../..' . '/inc/Engine/Optimization/RUCSS/Admin/Settings.php', 'WP_Rocket\\Engine\\Optimization\\RUCSS\\Admin\\Subscriber' => __DIR__ . '/../..' . '/inc/Engine/Optimization/RUCSS/Admin/Subscriber.php', 'WP_Rocket\\Engine\\Optimization\\RUCSS\\Controller\\Filesystem' => __DIR__ . '/../..' . '/inc/Engine/Optimization/RUCSS/Controller/Filesystem.php', @@ -464,6 +467,7 @@ class ComposerStaticInit0d0874992490a6810b306a68c96f2c4e 'WP_Rocket\\ThirdParty\\Themes\\MinimalistBlogger' => __DIR__ . '/../..' . '/inc/ThirdParty/Themes/MinimalistBlogger.php', 'WP_Rocket\\ThirdParty\\Themes\\Polygon' => __DIR__ . '/../..' . '/inc/ThirdParty/Themes/Polygon.php', 'WP_Rocket\\ThirdParty\\Themes\\ServiceProvider' => __DIR__ . '/../..' . '/inc/ThirdParty/Themes/ServiceProvider.php', + 'WP_Rocket\\ThirdParty\\Themes\\Shoptimizer' => __DIR__ . '/../..' . '/inc/ThirdParty/Themes/Shoptimizer.php', 'WP_Rocket\\ThirdParty\\Themes\\Themify' => __DIR__ . '/../..' . '/inc/ThirdParty/Themes/Themify.php', 'WP_Rocket\\ThirdParty\\Themes\\ThirdpartyTheme' => __DIR__ . '/../..' . '/inc/ThirdParty/Themes/ThirdpartyTheme.php', 'WP_Rocket\\ThirdParty\\Themes\\Uncode' => __DIR__ . '/../..' . '/inc/ThirdParty/Themes/Uncode.php', @@ -480,10 +484,10 @@ class ComposerStaticInit0d0874992490a6810b306a68c96f2c4e public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit0d0874992490a6810b306a68c96f2c4e::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit0d0874992490a6810b306a68c96f2c4e::$prefixDirsPsr4; - $loader->prefixesPsr0 = ComposerStaticInit0d0874992490a6810b306a68c96f2c4e::$prefixesPsr0; - $loader->classMap = ComposerStaticInit0d0874992490a6810b306a68c96f2c4e::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit41e63f7289eb78a40170f5fa8234743e::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit41e63f7289eb78a40170f5fa8234743e::$prefixDirsPsr4; + $loader->prefixesPsr0 = ComposerStaticInit41e63f7289eb78a40170f5fa8234743e::$prefixesPsr0; + $loader->classMap = ComposerStaticInit41e63f7289eb78a40170f5fa8234743e::$classMap; }, null, ClassLoader::class); } diff --git a/wp-content/plugins/wp-rocket/views/metaboxes/post_edit_options.php b/wp-content/plugins/wp-rocket/views/metaboxes/post_edit_options.php new file mode 100755 index 000000000..7e2d3ecd7 --- /dev/null +++ b/wp-content/plugins/wp-rocket/views/metaboxes/post_edit_options.php @@ -0,0 +1,49 @@ + + +

    + +
    +

    + + + > +
    + + + +

    + ', '' ); + ?> +

    +
    + +