From 3a70a6e4bfc565430df16f6612d73d9272453115 Mon Sep 17 00:00:00 2001 From: Tony Volpe Date: Tue, 19 Mar 2024 15:33:31 +0000 Subject: [PATCH] Plugin Updates --- .../assets/scripts/dtx.min.js | 2 +- .../assets/scripts/tag-generator.min.js | 2 +- .../changelog.txt | 13 +- .../contact-form-7-dynamic-text-extension.php | 64 +- .../includes/shortcodes.php | 350 +++++--- .../includes/utilities.php | 16 +- .../includes/validation.php | 256 +++--- .../readme.txt | 25 +- .../plugins/contact-form-7/admin/admin.php | 106 +-- .../admin/edit-contact-form.php | 2 +- .../admin/includes/welcome-panel.php | 8 +- .../includes/block-editor/block.json | 2 +- .../includes/block-editor/index.js | 2 +- .../includes/config-validator/mail.php | 95 +-- .../contact-form-7/includes/contact-form.php | 1 + .../contact-form-7/includes/controller.php | 4 +- .../plugins/contact-form-7/includes/file.php | 10 +- .../contact-form-7/includes/integration.php | 6 +- .../contact-form-7/includes/js/index.js | 2 +- .../contact-form-7/includes/mail-tag.php | 197 +++++ .../plugins/contact-form-7/includes/mail.php | 164 ++-- .../plugins/contact-form-7/includes/pipe.php | 42 +- .../contact-form-7/includes/submission.php | 155 ++-- .../contact-form-7/includes/swv/js/index.js | 2 +- .../includes/swv/php/abstract-rules.php | 191 +++++ .../includes/swv/php/rules/all.php | 35 + .../includes/swv/php/rules/any.php | 31 + .../includes/swv/{ => php}/rules/date.php | 11 +- .../swv/{ => php}/rules/dayofweek.php | 13 +- .../includes/swv/{ => php}/rules/email.php | 11 +- .../includes/swv/{ => php}/rules/enum.php | 20 +- .../includes/swv/{ => php}/rules/file.php | 14 +- .../includes/swv/{ => php}/rules/maxdate.php | 11 +- .../swv/{ => php}/rules/maxfilesize.php | 10 +- .../includes/swv/{ => php}/rules/maxitems.php | 11 +- .../swv/{ => php}/rules/maxlength.php | 11 +- .../swv/{ => php}/rules/maxnumber.php | 11 +- .../includes/swv/{ => php}/rules/mindate.php | 11 +- .../swv/{ => php}/rules/minfilesize.php | 10 +- .../includes/swv/{ => php}/rules/minitems.php | 11 +- .../swv/{ => php}/rules/minlength.php | 11 +- .../swv/{ => php}/rules/minnumber.php | 11 +- .../includes/swv/{ => php}/rules/number.php | 11 +- .../includes/swv/{ => php}/rules/required.php | 13 +- .../swv/{ => php}/rules/requiredfile.php | 13 +- .../includes/swv/{ => php}/rules/tel.php | 11 +- .../includes/swv/{ => php}/rules/time.php | 11 +- .../includes/swv/{ => php}/rules/url.php | 11 +- .../includes/swv/schema-holder.php | 25 +- .../includes/swv/script-loader.php | 2 +- .../contact-form-7/includes/swv/swv.php | 229 ++---- wp/wp-content/plugins/contact-form-7/load.php | 1 + .../contact-form-7/modules/acceptance.php | 1 + .../modules/akismet/akismet.php | 3 +- .../contact-form-7/modules/checkbox.php | 123 ++- .../constant-contact/constant-contact.php | 2 +- .../modules/constant-contact/service.php | 14 +- .../plugins/contact-form-7/modules/quiz.php | 8 +- .../modules/really-simple-captcha.php | 4 +- .../modules/recaptcha/recaptcha.php | 7 +- .../modules/recaptcha/service.php | 4 +- .../plugins/contact-form-7/modules/select.php | 69 ++ .../sendinblue/contact-form-properties.php | 4 +- .../modules/sendinblue/service.php | 6 +- .../contact-form-7/modules/stripe/service.php | 5 +- .../contact-form-7/modules/stripe/stripe.php | 2 +- .../plugins/contact-form-7/readme.txt | 52 +- .../contact-form-7/wp-contact-form-7.php | 8 +- .../plugins/imagify/assets/js/options.js | 12 +- .../plugins/imagify/assets/js/options.min.js | 2 +- .../imagify/classes/Admin/AdminBar.php | 2 +- .../plugins/imagify/classes/Avif/Apache.php | 31 + .../plugins/imagify/classes/Avif/Display.php | 169 ++++ .../plugins/imagify/classes/Avif/IIS.php | 32 + .../classes/Avif/RewriteRules/Apache.php | 59 ++ .../classes/Avif/RewriteRules/Display.php | 224 ++++++ .../imagify/classes/Avif/RewriteRules/IIS.php | 58 ++ .../classes/Avif/RewriteRules/Nginx.php | 30 + .../imagify/classes/Avif/ServiceProvider.php | 51 ++ .../imagify/classes/Bulk/AbstractBulk.php | 12 +- .../plugins/imagify/classes/Bulk/Bulk.php | 188 +++-- .../imagify/classes/Bulk/BulkInterface.php | 16 +- .../imagify/classes/Bulk/CustomFolders.php | 32 +- .../plugins/imagify/classes/Bulk/Noop.php | 9 +- .../plugins/imagify/classes/Bulk/WP.php | 65 +- .../plugins/imagify/classes/CDN/CDN.php | 123 +++ .../imagify/classes/CDN/ServiceProvider.php | 47 ++ ....php => GenerateMissingNextgenCommand.php} | 14 +- .../Argument/ArgumentResolverInterface.php | 28 + .../Argument/ArgumentResolverTrait.php | 120 +++ .../League/Container/Argument/ClassName.php | 29 + .../Container/Argument/ClassNameInterface.php | 13 + .../Argument/ClassNameWithOptionalValue.php | 39 + .../League/Container/Argument/RawArgument.php | 29 + .../Argument/RawArgumentInterface.php | 13 + .../League/Container/Container.php | 248 ++++++ .../Container/ContainerAwareInterface.php | 40 + .../League/Container/ContainerAwareTrait.php | 76 ++ .../Container/Definition/Definition.php | 278 +++++++ .../Definition/DefinitionAggregate.php | 124 +++ .../DefinitionAggregateInterface.php | 67 ++ .../Definition/DefinitionInterface.php | 120 +++ .../Exception/ContainerException.php | 10 + .../Container/Exception/NotFoundException.php | 10 + .../League/Container/Inflector/Inflector.php | 123 +++ .../Inflector/InflectorAggregate.php | 58 ++ .../Inflector/InflectorAggregateInterface.php | 27 + .../Inflector/InflectorInterface.php | 60 ++ .../League/Container/ReflectionContainer.php | 131 +++ .../AbstractServiceProvider.php | 46 ++ .../BootableServiceProviderInterface.php | 14 + .../ServiceProviderAggregate.php | 106 +++ .../ServiceProviderAggregateInterface.php | 36 + .../ServiceProviderInterface.php | 46 ++ .../Container/ContainerExceptionInterface.php | 12 + .../Psr/Container/ContainerInterface.php | 36 + .../Container/NotFoundExceptionInterface.php | 10 + .../imagify/classes/Imagifybeat/Actions.php | 10 +- .../imagify/classes/Job/MediaOptimization.php | 4 +- .../imagify/classes/Optimization/File.php | 81 +- .../Optimization/Process/AbstractProcess.php | 751 +++++++++++------- .../classes/Optimization/Process/Noop.php | 256 +++--- .../Optimization/Process/ProcessInterface.php | 216 ++--- .../classes/{Webp => }/Picture/Display.php | 404 +++++----- .../classes/Picture/ServiceProvider.php | 48 ++ .../plugins/imagify/classes/Plugin.php | 109 ++- ...p.php => OptimizedMediaWithoutNextGen.php} | 98 ++- .../imagify/classes/Stats/ServiceProvider.php | 47 ++ .../plugins/imagify/classes/Webp/Apache.php | 18 +- .../plugins/imagify/classes/Webp/Display.php | 92 +-- .../plugins/imagify/classes/Webp/IIS.php | 18 +- .../classes/Webp/RewriteRules/Apache.php | 17 +- .../classes/Webp/RewriteRules/Display.php | 114 ++- .../imagify/classes/Webp/RewriteRules/IIS.php | 19 +- .../classes/Webp/RewriteRules/Nginx.php | 60 +- .../imagify/classes/Webp/ServiceProvider.php | 51 ++ .../plugins/imagify/config/providers.php | 8 + wp/wp-content/plugins/imagify/imagify.php | 8 +- .../amazon-s3-and-cloudfront/classes/Main.php | 4 +- .../nextgen-gallery/classes/Bulk/NGG.php | 32 +- .../inc/common/attachments.php | 3 +- .../regenerate-thumbnails/classes/Main.php | 2 +- .../ActionScheduler/action-scheduler.php | 19 +- .../ActionScheduler/changelog.txt | 60 ++ .../classes/ActionScheduler_ActionFactory.php | 108 ++- .../classes/ActionScheduler_Compatibility.php | 18 +- .../classes/ActionScheduler_ListTable.php | 19 +- .../classes/ActionScheduler_OptionLock.php | 90 ++- .../classes/ActionScheduler_QueueCleaner.php | 125 ++- .../classes/ActionScheduler_QueueRunner.php | 19 +- .../ActionScheduler_WPCLI_Clean_Command.php | 125 +++ .../ActionScheduler_WPCLI_QueueRunner.php | 2 +- ...ctionScheduler_WPCLI_Scheduler_command.php | 50 +- .../classes/abstracts/ActionScheduler.php | 41 +- .../ActionScheduler_Abstract_ListTable.php | 20 +- .../ActionScheduler_Abstract_QueueRunner.php | 115 ++- .../ActionScheduler_Abstract_Schema.php | 31 +- .../abstracts/ActionScheduler_Lock.php | 2 + .../abstracts/ActionScheduler_Store.php | 4 +- .../actions/ActionScheduler_Action.php | 39 + .../data-stores/ActionScheduler_DBLogger.php | 2 +- .../data-stores/ActionScheduler_DBStore.php | 163 +++- .../ActionScheduler_wpPostStore.php | 15 +- .../classes/migration/Runner.php | 2 +- .../schema/ActionScheduler_StoreSchema.php | 8 +- .../ActionScheduler/functions.php | 107 ++- .../Dependencies/ActionScheduler/readme.txt | 66 +- .../plugins/imagify/inc/admin/upgrader.php | 7 +- .../classes/wp-async-request.php | 57 +- .../classes/wp-background-process.php | 428 +++++++--- .../wp-media/event-manager/EventManager.php | 135 ++++ .../EventManagerAwareSubscriberInterface.php | 14 + .../event-manager/SubscriberInterface.php | 32 + .../classes/class-imagify-admin-ajax-post.php | 36 +- .../class-imagify-files-list-table.php | 22 +- .../inc/classes/class-imagify-options.php | 40 +- .../imagify/inc/common/attachments.php | 51 +- .../imagify/inc/functions/admin-ui.php | 54 +- .../plugins/imagify/inc/functions/admin.php | 8 +- .../plugins/imagify/inc/functions/api.php | 6 +- .../plugins/imagify/inc/functions/common.php | 26 + .../plugins/imagify/inc/functions/i18n.php | 38 +- wp/wp-content/plugins/imagify/inc/main.php | 6 +- wp/wp-content/plugins/imagify/readme.txt | 35 +- wp/wp-content/plugins/imagify/uninstall.php | 2 +- .../plugins/imagify/vendor/autoload.php | 2 +- .../vendor/composer/autoload_classmap.php | 3 + .../imagify/vendor/composer/autoload_real.php | 8 +- .../vendor/composer/autoload_static.php | 11 +- .../imagify/vendor/composer/installed.php | 12 +- .../imagify/views/button/delete-webp.php | 2 +- .../imagify/views/button/generate-webp.php | 2 +- .../part-settings-webp-missing-message.php | 4 +- .../imagify/views/part-settings-webp.php | 42 +- .../plugins/imagify/views/part-upsell.php | 2 +- .../plugins/visual-web-optimizer/readme.txt | 11 +- .../visual-website-optimizer.php | 20 +- .../admin/class-gutenberg-compatibility.php | 4 +- .../admin/taxonomy/class-taxonomy.php | 28 +- ...demy-2210-rtl.css => academy-2230-rtl.css} | 0 .../{academy-2210.css => academy-2230.css} | 0 ...2210-rtl.css => admin-global-2230-rtl.css} | 0 ...-global-2210.css => admin-global-2230.css} | 0 ...bar-2210-rtl.css => adminbar-2230-rtl.css} | 0 .../{adminbar-2210.css => adminbar-2230.css} | 0 ...2210-rtl.css => ai-generator-2230-rtl.css} | 0 ...nerator-2210.css => ai-generator-2230.css} | 0 ...lerts-2210-rtl.css => alerts-2230-rtl.css} | 0 .../dist/{alerts-2210.css => alerts-2230.css} | 0 ...l.css => black-friday-banner-2230-rtl.css} | 0 ...-2210.css => black-friday-banner-2230.css} | 0 ...rd-2210-rtl.css => dashboard-2230-rtl.css} | 0 ...{dashboard-2210.css => dashboard-2230.css} | 0 ...ge-2210-rtl.css => edit-page-2230-rtl.css} | 0 ...{edit-page-2210.css => edit-page-2230.css} | 0 ...or-2210-rtl.css => elementor-2230-rtl.css} | 0 ...{elementor-2210.css => elementor-2230.css} | 0 ...10-rtl.css => featured-image-2230-rtl.css} | 0 ...image-2210.css => featured-image-2230.css} | 0 ...tl.css => filter-explanation-2230-rtl.css} | 0 ...n-2210.css => filter-explanation-2230.css} | 0 .../first-time-configuration-2210-rtl.css | 1 - .../dist/first-time-configuration-2210.css | 1 - .../first-time-configuration-2230-rtl.css | 1 + .../dist/first-time-configuration-2230.css | 1 + ...{icons-2210-rtl.css => icons-2230-rtl.css} | 0 .../dist/{icons-2210.css => icons-2230.css} | 0 ...210-rtl.css => inside-editor-2230-rtl.css} | 0 ...editor-2210.css => inside-editor-2230.css} | 0 ...210-rtl.css => introductions-2230-rtl.css} | 0 ...ctions-2210.css => introductions-2230.css} | 0 ...abox-2210-rtl.css => metabox-2230-rtl.css} | 0 .../{metabox-2210.css => metabox-2230.css} | 0 ... => metabox-primary-category-2230-rtl.css} | 0 ....css => metabox-primary-category-2230.css} | 0 ...{modal-2210-rtl.css => modal-2230-rtl.css} | 0 .../dist/{modal-2210.css => modal-2230.css} | 0 ...epo-2210-rtl.css => monorepo-2230-rtl.css} | 0 .../{monorepo-2210.css => monorepo-2230.css} | 0 ...2210-rtl.css => new-settings-2230-rtl.css} | 0 ...ettings-2210.css => new-settings-2230.css} | 0 ...210-rtl.css => notifications-2230-rtl.css} | 0 ...ations-2210.css => notifications-2230.css} | 0 ...n-2210-rtl.css => score_icon-2230-rtl.css} | 0 ...core_icon-2210.css => score_icon-2230.css} | 0 ...ss => structured-data-blocks-2230-rtl.css} | 0 ...10.css => structured-data-blocks-2230.css} | 0 ...port-2210-rtl.css => support-2230-rtl.css} | 0 .../{support-2210.css => support-2230.css} | 0 .../css/dist/tailwind-2210-rtl.css | 1 - .../wordpress-seo/css/dist/tailwind-2210.css | 1 - .../css/dist/tailwind-2230-rtl.css | 1 + .../wordpress-seo/css/dist/tailwind-2230.css | 1 + ...210-rtl.css => toggle-switch-2230-rtl.css} | 0 ...switch-2210.css => toggle-switch-2230.css} | 0 ...ips-2210-rtl.css => tooltips-2230-rtl.css} | 0 .../{tooltips-2210.css => tooltips-2230.css} | 0 ...uts-2210-rtl.css => workouts-2230-rtl.css} | 0 .../{workouts-2210.css => workouts-2230.css} | 0 ...rtl.css => wpseo-dismissible-2230-rtl.css} | 0 ...le-2210.css => wpseo-dismissible-2230.css} | 0 ...-rtl.css => yoast-extensions-2230-rtl.css} | 0 ...ons-2210.css => yoast-extensions-2230.css} | 0 ...-rtl.css => yst_plugin_tools-2230-rtl.css} | 0 ...ols-2210.css => yst_plugin_tools-2230.css} | 0 ...210-rtl.css => yst_seo_score-2230-rtl.css} | 0 ..._score-2210.css => yst_seo_score-2230.css} | 0 .../inc/options/class-wpseo-option-social.php | 2 +- .../inc/sitemaps/class-sitemaps-router.php | 7 +- .../wordpress-seo/js/dist/elementor.js | 6 +- .../wordpress-seo/js/dist/externals-redux.js | 2 +- .../js/dist/externals/analysis.js | 74 +- .../js/dist/externals/socialMetadataForms.js | 6 +- .../js/dist/externals/uiLibrary.js | 2 +- .../js/dist/first-time-configuration.js | 30 +- .../wordpress-seo/js/dist/introductions.js | 6 +- .../wordpress-seo/js/dist/languages/ar.js | 2 +- .../wordpress-seo/js/dist/languages/cs.js | 2 +- .../wordpress-seo/js/dist/languages/de.js | 2 +- .../wordpress-seo/js/dist/languages/el.js | 2 +- .../wordpress-seo/js/dist/languages/en.js | 2 +- .../wordpress-seo/js/dist/languages/es.js | 2 +- .../wordpress-seo/js/dist/languages/fa.js | 2 +- .../wordpress-seo/js/dist/languages/fr.js | 2 +- .../wordpress-seo/js/dist/languages/he.js | 2 +- .../wordpress-seo/js/dist/languages/hu.js | 2 +- .../wordpress-seo/js/dist/languages/id.js | 2 +- .../wordpress-seo/js/dist/languages/it.js | 2 +- .../wordpress-seo/js/dist/languages/ja.js | 2 +- .../wordpress-seo/js/dist/languages/nb.js | 2 +- .../wordpress-seo/js/dist/languages/nl.js | 2 +- .../wordpress-seo/js/dist/languages/pl.js | 2 +- .../wordpress-seo/js/dist/languages/pt.js | 2 +- .../wordpress-seo/js/dist/languages/ru.js | 2 +- .../wordpress-seo/js/dist/languages/sk.js | 2 +- .../wordpress-seo/js/dist/languages/sv.js | 2 +- .../wordpress-seo/js/dist/languages/tr.js | 2 +- .../wordpress-seo/js/dist/new-settings.js | 46 +- .../wordpress-seo/js/dist/post-edit.js | 6 +- .../plugins/wordpress-seo/js/dist/support.js | 6 +- .../wordpress-seo/js/dist/term-edit.js | 15 +- .../plugins/wordpress-seo/readme.txt | 48 +- .../src/context/meta-tags-context.php | 61 +- .../src/generated/assets/externals.php | 2 +- .../src/generated/assets/languages.php | 2 +- .../src/generated/assets/plugin.php | 2 +- .../wordpress-seo/src/generated/container.php | 2 +- .../src/generators/breadcrumbs-generator.php | 107 +-- .../src/helpers/asset-helper.php | 4 +- .../src/helpers/social-profiles-helper.php | 2 +- .../admin/workouts-integration.php | 1 - .../plugins/wordpress-seo/vendor/autoload.php | 2 +- .../vendor/composer/autoload_real.php | 8 +- .../vendor/composer/autoload_static.php | 8 +- .../vendor/composer/installed.php | 4 +- .../plugins/wordpress-seo/wp-seo-main.php | 4 +- .../plugins/wordpress-seo/wp-seo.php | 4 +- 317 files changed, 8178 insertions(+), 2933 deletions(-) create mode 100644 wp/wp-content/plugins/contact-form-7/includes/mail-tag.php create mode 100644 wp/wp-content/plugins/contact-form-7/includes/swv/php/abstract-rules.php create mode 100644 wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/all.php create mode 100644 wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/any.php rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/date.php (64%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/dayofweek.php (77%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/email.php (64%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/enum.php (68%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/file.php (78%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/maxdate.php (70%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/maxfilesize.php (71%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/maxitems.php (68%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/maxlength.php (71%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/maxnumber.php (70%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/mindate.php (70%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/minfilesize.php (71%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/minitems.php (68%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/minlength.php (71%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/minnumber.php (70%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/number.php (64%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/required.php (62%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/requiredfile.php (65%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/tel.php (64%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/time.php (64%) rename wp/wp-content/plugins/contact-form-7/includes/swv/{ => php}/rules/url.php (64%) create mode 100644 wp/wp-content/plugins/imagify/classes/Avif/Apache.php create mode 100644 wp/wp-content/plugins/imagify/classes/Avif/Display.php create mode 100644 wp/wp-content/plugins/imagify/classes/Avif/IIS.php create mode 100644 wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Apache.php create mode 100644 wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Display.php create mode 100644 wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/IIS.php create mode 100644 wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Nginx.php create mode 100644 wp/wp-content/plugins/imagify/classes/Avif/ServiceProvider.php create mode 100644 wp/wp-content/plugins/imagify/classes/CDN/CDN.php create mode 100644 wp/wp-content/plugins/imagify/classes/CDN/ServiceProvider.php rename wp/wp-content/plugins/imagify/classes/CLI/{GenerateMissingWebpCommand.php => GenerateMissingNextgenCommand.php} (57%) create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ArgumentResolverInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ArgumentResolverTrait.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ClassName.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ClassNameInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ClassNameWithOptionalValue.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/RawArgument.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/RawArgumentInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Container.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ContainerAwareInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ContainerAwareTrait.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/Definition.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/DefinitionAggregate.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/DefinitionAggregateInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/DefinitionInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Exception/ContainerException.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Exception/NotFoundException.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Inflector/Inflector.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Inflector/InflectorAggregate.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Inflector/InflectorAggregateInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Inflector/InflectorInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ReflectionContainer.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/AbstractServiceProvider.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/BootableServiceProviderInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/ServiceProviderAggregate.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/ServiceProviderAggregateInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/ServiceProviderInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/Psr/Container/ContainerExceptionInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/Psr/Container/ContainerInterface.php create mode 100644 wp/wp-content/plugins/imagify/classes/Dependencies/Psr/Container/NotFoundExceptionInterface.php rename wp/wp-content/plugins/imagify/classes/{Webp => }/Picture/Display.php (71%) create mode 100644 wp/wp-content/plugins/imagify/classes/Picture/ServiceProvider.php rename wp/wp-content/plugins/imagify/classes/Stats/{OptimizedMediaWithoutWebp.php => OptimizedMediaWithoutNextGen.php} (63%) create mode 100644 wp/wp-content/plugins/imagify/classes/Stats/ServiceProvider.php create mode 100644 wp/wp-content/plugins/imagify/classes/Webp/ServiceProvider.php create mode 100644 wp/wp-content/plugins/imagify/config/providers.php create mode 100644 wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_Clean_Command.php create mode 100644 wp/wp-content/plugins/imagify/inc/classes/Dependencies/wp-media/event-manager/EventManager.php create mode 100644 wp/wp-content/plugins/imagify/inc/classes/Dependencies/wp-media/event-manager/EventManagerAwareSubscriberInterface.php create mode 100644 wp/wp-content/plugins/imagify/inc/classes/Dependencies/wp-media/event-manager/SubscriberInterface.php rename wp/wp-content/plugins/wordpress-seo/css/dist/{academy-2210-rtl.css => academy-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{academy-2210.css => academy-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{admin-global-2210-rtl.css => admin-global-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{admin-global-2210.css => admin-global-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{adminbar-2210-rtl.css => adminbar-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{adminbar-2210.css => adminbar-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{ai-generator-2210-rtl.css => ai-generator-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{ai-generator-2210.css => ai-generator-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{alerts-2210-rtl.css => alerts-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{alerts-2210.css => alerts-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{black-friday-banner-2210-rtl.css => black-friday-banner-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{black-friday-banner-2210.css => black-friday-banner-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{dashboard-2210-rtl.css => dashboard-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{dashboard-2210.css => dashboard-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{edit-page-2210-rtl.css => edit-page-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{edit-page-2210.css => edit-page-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{elementor-2210-rtl.css => elementor-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{elementor-2210.css => elementor-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{featured-image-2210-rtl.css => featured-image-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{featured-image-2210.css => featured-image-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{filter-explanation-2210-rtl.css => filter-explanation-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{filter-explanation-2210.css => filter-explanation-2230.css} (100%) delete mode 100644 wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2210-rtl.css delete mode 100644 wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2210.css create mode 100644 wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2230-rtl.css create mode 100644 wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2230.css rename wp/wp-content/plugins/wordpress-seo/css/dist/{icons-2210-rtl.css => icons-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{icons-2210.css => icons-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{inside-editor-2210-rtl.css => inside-editor-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{inside-editor-2210.css => inside-editor-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{introductions-2210-rtl.css => introductions-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{introductions-2210.css => introductions-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{metabox-2210-rtl.css => metabox-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{metabox-2210.css => metabox-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{metabox-primary-category-2210-rtl.css => metabox-primary-category-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{metabox-primary-category-2210.css => metabox-primary-category-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{modal-2210-rtl.css => modal-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{modal-2210.css => modal-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{monorepo-2210-rtl.css => monorepo-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{monorepo-2210.css => monorepo-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{new-settings-2210-rtl.css => new-settings-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{new-settings-2210.css => new-settings-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{notifications-2210-rtl.css => notifications-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{notifications-2210.css => notifications-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{score_icon-2210-rtl.css => score_icon-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{score_icon-2210.css => score_icon-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{structured-data-blocks-2210-rtl.css => structured-data-blocks-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{structured-data-blocks-2210.css => structured-data-blocks-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{support-2210-rtl.css => support-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{support-2210.css => support-2230.css} (100%) delete mode 100644 wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2210-rtl.css delete mode 100644 wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2210.css create mode 100644 wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2230-rtl.css create mode 100644 wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2230.css rename wp/wp-content/plugins/wordpress-seo/css/dist/{toggle-switch-2210-rtl.css => toggle-switch-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{toggle-switch-2210.css => toggle-switch-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{tooltips-2210-rtl.css => tooltips-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{tooltips-2210.css => tooltips-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{workouts-2210-rtl.css => workouts-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{workouts-2210.css => workouts-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{wpseo-dismissible-2210-rtl.css => wpseo-dismissible-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{wpseo-dismissible-2210.css => wpseo-dismissible-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{yoast-extensions-2210-rtl.css => yoast-extensions-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{yoast-extensions-2210.css => yoast-extensions-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{yst_plugin_tools-2210-rtl.css => yst_plugin_tools-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{yst_plugin_tools-2210.css => yst_plugin_tools-2230.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{yst_seo_score-2210-rtl.css => yst_seo_score-2230-rtl.css} (100%) rename wp/wp-content/plugins/wordpress-seo/css/dist/{yst_seo_score-2210.css => yst_seo_score-2230.css} (100%) diff --git a/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/assets/scripts/dtx.min.js b/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/assets/scripts/dtx.min.js index ea085bca..0c99e8fb 100644 --- a/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/assets/scripts/dtx.min.js +++ b/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/assets/scripts/dtx.min.js @@ -1,2 +1,2 @@ -/*! Do not edit, this file is generated automatically - 2024-02-13 23:02:47 EST */ +/*! Do not edit, this file is generated automatically - 2024-03-18 16:03:44 EDT */ window.$=window.$||jQuery.noConflict();var dtx={queue:[],init:function(){var e=$("input.dtx-pageload[data-dtx-value]");e.length&&(e.each(function(e,t){var r=$(t),a=r.attr("data-dtx-value"),o=decodeURIComponent(a).split(" ");if(o.length){var n=o[0],c={};if(1(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)):(r=(new Date).getTime(),a="undefined"!=typeof performance&&performance.now&&1e3*performance.now()||0,"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random();return 0 + * @copyright Copyright (c) 2022-2024 Tessa Watkins, AuRise Creative + * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License, version 3 or higher + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ -/* - Copyright 2010-2024 Chris Mavricos, SevenSpark - Copyright 2022-2024 Tessa Watkins, AuRise Creative - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License, version 2, as - published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -define('WPCF7DTX_VERSION', '4.2.3'); // Define current version of DTX -define('WPCF7DTX_MINVERSION', '5.7'); // The minimum version of CF7 required to use all features +define('WPCF7DTX_VERSION', '4.3.1'); // Define current version of DTX +define('WPCF7DTX_MINVERSION', '5.7'); // The minimum version of CF7 required to use mail validator defined('WPCF7DTX_DIR') || define('WPCF7DTX_DIR', __DIR__); // Define root directory defined('WPCF7DTX_FILE') || define('WPCF7DTX_FILE', __FILE__); // Define root file - -define('WPCF7DTX_DATA_ACCESS_KB_URL', 'https://sevenspark.com/docs/contact-form-7-dynamic-text-extension/allow-data-access'); +define('WPCF7DTX_DATA_ACCESS_KB_URL', 'https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/security/'); /** * Determine Dependencies are Met @@ -310,13 +309,14 @@ function wpcf7dtx_shortcode_handler($tag) //Reverse engineer what JS did (converted quotes to HTML entities --> URL encode) then sanitize $placeholder = html_entity_decode(urldecode($tag->get_option('placeholder', '', true)), ENT_QUOTES); if ($placeholder) { - //If a different placeholder text has been specified, set both attributes + // If a different placeholder text has been specified, set both attributes $placeholder = wpcf7dtx_get_dynamic($placeholder, false, $sanitize_type); $atts['placeholder'] = $placeholder; $atts['value'] = $value; } else { - //Default behavior of using the value as the placeholder + // Default behavior of using the value as the placeholder $atts['placeholder'] = $value; + $atts['value'] = ''; } } else { $atts['value'] = $value; @@ -352,7 +352,9 @@ function wpcf7dtx_shortcode_handler($tag) foreach ($pipes as $pipe) { $key = trim(strval($pipe[0])); $value = trim(strval($pipe[1])); - if ($key && $value) { + $valid_key = is_numeric($key) || (is_string($key) && !empty($key)); // Allow falsey numbers but not booleans or strings + $valid_value = is_numeric($value) || (is_string($value) && !empty($value)); // Allow falsey numbers but not booleans or strings + if ($valid_key && $valid_value) { $options[$key] = $value; } } diff --git a/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/shortcodes.php b/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/shortcodes.php index 356aff0d..de1cd196 100644 --- a/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/shortcodes.php +++ b/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/shortcodes.php @@ -45,13 +45,23 @@ add_action('init', 'wpcf7dtx_init_shortcodes'); //Add init hook to add shortcode */ function wpcf7dtx_get($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'key' => 0, 'default' => '', 'obfuscate' => '' - ), array_change_key_case((array)$atts, CASE_LOWER))); - $value = apply_filters('wpcf7dtx_sanitize', wpcf7dtx_array_has_key($key, $_GET, $default)); - return apply_filters('wpcf7dtx_escape', $value, $obfuscate); + ), array_change_key_case((array)$atts, CASE_LOWER)); + $raw = wpcf7dtx_array_has_key($atts['key'], $_GET, $atts['default']); + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters( + 'wpcf7dtx_escape', + apply_filters('wpcf7dtx_sanitize', $raw), + $atts['obfuscate'] + ), // Sanitized & escaped value to output + $raw, // Raw value + 'GET', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -65,13 +75,22 @@ function wpcf7dtx_get($atts = array()) */ function wpcf7dtx_post($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'key' => '', 'default' => '', 'obfuscate' => '' - ), array_change_key_case((array)$atts, CASE_LOWER))); - $value = apply_filters('wpcf7dtx_sanitize', wpcf7dtx_array_has_key($key, $_POST, $default)); - return apply_filters('wpcf7dtx_escape', $value, $obfuscate); + ), array_change_key_case((array)$atts, CASE_LOWER)); + $raw = wpcf7dtx_array_has_key($atts['key'], $_POST, $atts['default']); + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters('wpcf7dtx_escape', apply_filters( + 'wpcf7dtx_sanitize', + apply_filters('wpcf7dtx_sanitize', $raw) + ), $atts['obfuscate']), // Sanitized & escaped value to output + $raw, // Raw value + 'POST', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -85,12 +104,13 @@ function wpcf7dtx_post($atts = array()) */ function wpcf7dtx_url($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'allowed_protocols' => '', 'part' => '', 'obfuscate' => '' - ), array_change_key_case((array)$atts, CASE_LOWER))); - $allowed_protocols = explode(',', sanitize_text_field($allowed_protocols)); + ), array_change_key_case((array)$atts, CASE_LOWER)); + $atts['allowed_protocols'] = explode(',', sanitize_text_field($atts['allowed_protocols'])); + extract($atts); // Get the absolute URL if (is_multisite() && !is_subdomain_install()) { @@ -110,12 +130,29 @@ function wpcf7dtx_url($atts = array()) ]; $value = ''; if (array_key_exists($part, $part_constant_map)) { - $value = apply_filters('wpcf7dtx_sanitize', strval(wp_parse_url($url, $part_constant_map[$part])), 'text'); + $value = strval(wp_parse_url($url, $part_constant_map[$part])); } - return apply_filters('wpcf7dtx_escape', $value, $obfuscate, 'text'); + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters( + 'wpcf7dtx_escape', + apply_filters('wpcf7dtx_sanitize', $value, 'text'), + $obfuscate, + 'text' + ), // Sanitized & escaped value to output + $value, // Raw value + 'URL', // Shortcode tag + $atts // Shortcode attributes + ); } // No part requested, return the absolute URL - return apply_filters('wpcf7dtx_escape', $url, $obfuscate, 'url', $allowed_protocols); + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters('wpcf7dtx_escape', $url, $obfuscate, 'url', $allowed_protocols), // Sanitized & escaped value to output + $url, // Raw value + 'URL', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -129,15 +166,23 @@ function wpcf7dtx_url($atts = array()) */ function wpcf7dtx_referrer($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'allowed_protocols' => '', 'obfuscate' => '' - ), array_change_key_case((array)$atts, CASE_LOWER))); - if ($value = wpcf7dtx_array_has_key('HTTP_REFERER', $_SERVER)) { - $value = apply_filters('wpcf7dtx_sanitize', $value, 'url', $allowed_protocols); - return apply_filters('wpcf7dtx_escape', $value, $obfuscate, 'url'); - } - return ''; + ), array_change_key_case((array)$atts, CASE_LOWER)); + $url = wpcf7dtx_array_has_key('HTTP_REFERER', $_SERVER); + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters('wpcf7dtx_escape', apply_filters( + 'wpcf7dtx_sanitize', + $url, + 'url', + $atts['allowed_protocols'] + ), $atts['obfuscate'], 'url'), // Sanitized & escaped value to output + $url, // Raw value + 'referrer', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -151,13 +196,21 @@ function wpcf7dtx_referrer($atts = array()) */ function wpcf7dtx_bloginfo($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'show' => 'name', //Backwards compatibility 'key' => 'name', 'obfuscate' => '' - ), array_change_key_case((array)$atts, CASE_LOWER))); + ), array_change_key_case((array)$atts, CASE_LOWER)); + extract($atts); $key = $show != $key && $show != 'name' ? $show : $key; // Use old value of "show" if not set to default value - return apply_filters('wpcf7dtx_escape', get_bloginfo($key), $obfuscate); + $raw = get_bloginfo($key); + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters('wpcf7dtx_escape', $raw, $obfuscate), // Sanitized & escaped value to output + $raw, // Raw value + 'bloginfo', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -171,12 +224,12 @@ function wpcf7dtx_bloginfo($atts = array()) */ function wpcf7dtx_get_post_var($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'key' => 'post_title', 'post_id' => '', 'obfuscate' => '' - ), array_change_key_case((array)$atts, CASE_LOWER))); - $key = strtolower(apply_filters('wpcf7dtx_sanitize', $key)); + ), array_change_key_case((array)$atts, CASE_LOWER)); + $key = strtolower(apply_filters('wpcf7dtx_sanitize', $atts['key'])); switch ($key) { case 'acf_id': // If requesting the handle for ACF, return the post ID case 'id': @@ -191,11 +244,15 @@ function wpcf7dtx_get_post_var($atts = array()) default: break; } - $post_id = wpcf7dtx_get_post_id($post_id); - if ($post_id) { - return apply_filters('wpcf7dtx_escape', get_post_field($key, $post_id), $obfuscate); - } - return ''; + $atts['post_id'] = wpcf7dtx_get_post_id($atts['post_id']); + $raw = $atts['post_id'] ? get_post_field($key, $atts['post_id']) : ''; + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters('wpcf7dtx_escape', $raw, $atts['obfuscate']), // Sanitized & escaped value to output + $raw, // Raw value + 'get_post_var', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -209,25 +266,29 @@ function wpcf7dtx_get_post_var($atts = array()) */ function wpcf7dtx_get_custom_field($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'key' => '', 'post_id' => '', 'obfuscate' => '' - ), array_change_key_case((array)$atts, CASE_LOWER))); + ), array_change_key_case((array)$atts, CASE_LOWER)); // If this key can't be accessed - if (!wpcf7dtx_post_meta_key_access_is_allowed($key)) { + if (!wpcf7dtx_post_meta_key_access_is_allowed($atts['key'])) { // Trigger a warning if a denied key is in use - wpcf7dtx_access_denied_alert($key, 'post_meta'); + wpcf7dtx_access_denied_alert($atts['key'], 'post_meta'); return ''; } - $post_id = wpcf7dtx_get_post_id($post_id); - $key = apply_filters('wpcf7dtx_sanitize', $key, 'text'); - if ($post_id && $key) { - return apply_filters('wpcf7dtx_escape', get_post_meta($post_id, $key, true), $obfuscate); - } - return ''; + $key = apply_filters('wpcf7dtx_sanitize', $atts['key'], 'text'); + $atts['post_id'] = wpcf7dtx_get_post_id($atts['post_id']); + $raw = $atts['post_id'] && $key ? get_post_meta($atts['post_id'], $key, true) : ''; + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters('wpcf7dtx_escape', $raw, $atts['obfuscate']), // Sanitized & escaped value to output + $raw, // Raw value + 'get_custom_field', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -243,12 +304,15 @@ function wpcf7dtx_get_custom_field($atts = array()) */ function wpcf7dtx_get_current_var($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'key' => 'title', 'obfuscate' => '' - ), array_change_key_case((array)$atts, CASE_LOWER))); + ), array_change_key_case((array)$atts, CASE_LOWER)); + extract($atts); $key = apply_filters('wpcf7dtx_sanitize', $key); $temp_key = str_replace('-', '_', sanitize_key($key)); + $raw = ''; + $value = ''; if ($temp_key === 'url') { return wpcf7dtx_url($atts); // Getting the current URL is the same for all WordPress pages } elseif (!empty($key)) { @@ -272,16 +336,26 @@ function wpcf7dtx_get_current_var($atts = array()) case 'user': // This is an author page switch ($temp_key) { case 'acf_id': // Get handle for Advanced Custom Fields - return apply_filters('wpcf7dtx_escape', 'user_' . $obj->ID, $obfuscate); + $raw = 'user_' . $obj->ID; + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate); + break; case 'image': case 'featured_image': // Get the profile picture of the user being displayed on the page - return apply_filters('wpcf7dtx_escape', get_avatar_url($obj->ID), $obfuscate, 'url'); + $raw = get_avatar_url($obj->ID); + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate, 'url'); + break; case 'title': // Get author's display name - return apply_filters('wpcf7dtx_escape', $obj->display_name, $obfuscate); + $raw = $obj->display_name; + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate); + break; case 'slug': // Not all author pages use the `user_login` variable for security reasons, so get what is currently displayed as slug - return apply_filters('wpcf7dtx_escape', basename(wpcf7dtx_url(array('part' => 'path'))), $obfuscate); + $raw = basename(wpcf7dtx_url(array('part' => 'path'))); + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate); + break; default: // Get user value by key should it exist - return apply_filters('wpcf7dtx_escape', $obj->get($key), $obfuscate); + $raw = $obj->get($key); + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate); + break; } case 'post': // This is a post object switch ($temp_key) { @@ -302,35 +376,53 @@ function wpcf7dtx_get_current_var($atts = array()) case 'term': // This is a taxonomy with a term ID switch ($key) { case 'id': // Get term ID - return apply_filters('wpcf7dtx_escape', $obj->term_id, $obfuscate); + $raw = $obj->term_id; + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate); + break; case 'acf_id': // Get handle for Advanced Custom Fields - return apply_filters('wpcf7dtx_escape', $obj->taxonomy . '_' . $obj->term_id, $obfuscate); + $raw = $obj->taxonomy . '_' . $obj->term_id; + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate); + break; case 'title': // Get term name - return apply_filters('wpcf7dtx_escape', $obj->name, $obfuscate); + $raw = $obj->name; + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate); + break; default: if (property_exists($obj, $key)) { // Get any property if it exists - return apply_filters('wpcf7dtx_escape', $obj->{$key}, $obfuscate); + $raw = $obj->{$key}; + } else { + // Otherwise, try meta data if the property doesn't exist + $raw = get_metadata('term', $obj->ID, $key, true); } - // Otherwise, try meta data if the property doesn't exist - return apply_filters('wpcf7dtx_escape', get_metadata('term', $obj->ID, $key, true), $obfuscate); + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate); + break; } case 'archive': // Possibly a date or formats archive switch ($temp_key) { case 'title': // Get archive title - return apply_filters('wpcf7dtx_escape', get_the_archive_title(), $obfuscate); + $raw = get_the_archive_title(); + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate); + break; default: break; } default: // Possibly a search or 404 page at this point if ($temp_key == 'slug') { // no idea what else to get except the slug maybe - return apply_filters('wpcf7dtx_escape', basename(wpcf7dtx_url(array('part' => 'path'))), $obfuscate); + $raw = basename(wpcf7dtx_url(array('part' => 'path'))); + $value = apply_filters('wpcf7dtx_escape', $raw, $obfuscate); } break; } } - return ''; + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + $value, // Sanitized & escaped value to output + $raw, // Raw value + 'get_current_var', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -346,23 +438,29 @@ function wpcf7dtx_get_current_var($atts = array()) */ function wpcf7dtx_get_current_user($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'key' => 'user_login', 'obfuscate' => '' - ), array_change_key_case((array)$atts, CASE_LOWER))); + ), array_change_key_case((array)$atts, CASE_LOWER)); + $raw = ''; if (is_user_logged_in()) { // If this key can't be accessed - if (!wpcf7dtx_user_data_access_is_allowed($key)) { + if (!wpcf7dtx_user_data_access_is_allowed($atts['key'])) { // Trigger a warning if a denied key is in use - wpcf7dtx_access_denied_alert($key, 'user_data'); + wpcf7dtx_access_denied_alert($atts['key'], 'user_data'); return ''; } - $user = wp_get_current_user(); - return apply_filters('wpcf7dtx_escape', $user->get($key), $obfuscate); + $raw = wp_get_current_user()->get($atts['key']); } - return ''; + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters('wpcf7dtx_escape', $raw, $atts['obfuscate']), // Sanitized & escaped value to output + $raw, // Raw value + 'get_current_user', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -380,34 +478,45 @@ function wpcf7dtx_get_current_user($atts = array()) */ function wpcf7dtx_get_attachment($atts = array()) { - extract(shortcode_atts(array( - 'id' => '', //Get attachment by ID - 'size' => 'full', //Define attachment size - 'post_id' => '', //If attachment ID is empty but post ID is not, get the featured image - 'return' => 'url', //Options are `id` or `url` + $atts = shortcode_atts(array( + 'id' => '', // Get attachment by ID + 'size' => 'full', // Define attachment size + 'post_id' => '', // If attachment ID is empty but post ID is not, get the featured image + 'return' => 'url', // Options are `id` or `url` 'obfuscate' => '' - ), array_change_key_case((array)$atts, CASE_LOWER))); + ), array_change_key_case((array)$atts, CASE_LOWER)); - //No attachment ID was provided, check for post ID to get it's featured image - if (empty($id)) { - if ($post_id = wpcf7dtx_get_post_id($post_id)) { + // No attachment ID was provided, check for post ID to get it's featured image + if (empty($atts['id'])) { + if ($atts['post_id'] = wpcf7dtx_get_post_id($atts['post_id'])) { //If a post ID was provided, get it's featured image - $id = get_post_thumbnail_id($post_id); + $atts['id'] = get_post_thumbnail_id($atts['post_id']); } } //Get the value - if ($id) { - $id = intval(sanitize_text_field(strval($id))); - switch ($return) { + $value = ''; + $raw = ''; + if ($atts['id']) { + $atts['id'] = intval(sanitize_text_field(strval($atts['id']))); + switch ($atts['return']) { case 'id': //Return the attachment ID - return apply_filters('wpcf7dtx_escape', $id, $obfuscate); + $raw = $atts['id']; + $value = apply_filters('wpcf7dtx_escape', $raw, $atts['obfuscate']); + break; default: //Return attachment URL - $url = wp_get_attachment_image_url(intval($id), sanitize_text_field(strval($size))); - return apply_filters('wpcf7dtx_escape', $url, $obfuscate, 'url'); + $raw = wp_get_attachment_image_url(intval($atts['id']), sanitize_text_field(strval($atts['size']))); + $value = apply_filters('wpcf7dtx_escape', $raw, $atts['obfuscate'], 'url'); + break; } } - return ''; + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + $value, // Sanitized & escaped value to output + $raw, // Raw value + 'get_attachment', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -425,14 +534,19 @@ function wpcf7dtx_get_attachment($atts = array()) */ function wpcf7dtx_get_cookie($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'key' => '', 'default' => '', 'obfuscate' => '' // Optionally obfuscate returned value - ), array_change_key_case((array)$atts, CASE_LOWER))); - $key = apply_filters('wpcf7dtx_sanitize', $key); - $value = wpcf7dtx_array_has_key($key, $_COOKIE, $default); - return apply_filters('wpcf7dtx_escape', $value, $obfuscate); + ), array_change_key_case((array)$atts, CASE_LOWER)); + $raw = wpcf7dtx_array_has_key(apply_filters('wpcf7dtx_sanitize', $atts['key']), $_COOKIE, $atts['default']); + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters('wpcf7dtx_escape', $raw, $atts['obfuscate']), // Sanitized & escaped value to output + $raw, // Raw value + 'get_cookie', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -451,25 +565,34 @@ function wpcf7dtx_get_cookie($atts = array()) */ function wpcf7dtx_get_taxonomy($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'post_id' => '', 'taxonomy' => 'category', // Default taxonomy is `category` 'fields' => 'names', // Return an array of term names 'obfuscate' => '' // Optionally obfuscate returned value - ), array_change_key_case((array)$atts, CASE_LOWER))); - $post_id = wpcf7dtx_get_post_id($post_id); - $fields = apply_filters('wpcf7dtx_sanitize', $fields, 'key'); - if ($post_id && in_array($fields, array('names', 'slugs', 'ids'))) { + ), array_change_key_case((array)$atts, CASE_LOWER)); + $atts['post_id'] = wpcf7dtx_get_post_id($atts['post_id']); + $fields = apply_filters('wpcf7dtx_sanitize', $atts['fields'], 'key'); + $raw = ''; + $value = ''; + if ($atts['post_id'] && in_array($fields, array('names', 'slugs', 'ids'))) { $terms = wp_get_object_terms( - $post_id, // Get only the ones assigned to this post - apply_filters('wpcf7dtx_sanitize', $taxonomy, 'slug'), + $atts['post_id'], // Get only the ones assigned to this post + apply_filters('wpcf7dtx_sanitize', $atts['taxonomy'], 'slug'), array('fields' => $fields) ); - if (is_array($terms) && count($values = array_values($terms)) && (is_string($values[0]) || is_numeric($values[0]))) { - return apply_filters('wpcf7dtx_escape', implode(', ', $values), $obfuscate, 'text'); + if (is_array($terms) && count($raw = array_values($terms)) && (is_string($raw[0]) || is_numeric($raw[0]))) { + //return apply_filters('wpcf7dtx_escape', implode(', ', $values), $obfuscate, 'text'); + $value = implode(', ', $raw); } } - return ''; + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters('wpcf7dtx_escape', $value, $atts['obfuscate'], 'text'), // Sanitized & escaped value to output + $raw, // Raw value + 'get_taxonomy', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -488,16 +611,23 @@ function wpcf7dtx_get_taxonomy($atts = array()) */ function wpcf7dtx_get_theme_option($atts = array()) { - extract(shortcode_atts(array( + $atts = shortcode_atts(array( 'key' => '', 'default' => '', // Optional default value 'obfuscate' => '' // Optionally obfuscate returned value - ), array_change_key_case((array)$atts, CASE_LOWER))); - if ($key = apply_filters('wpcf7dtx_sanitize', $key, 'text')) { - $default = apply_filters('wpcf7dtx_sanitize', $default); - return apply_filters('wpcf7dtx_escape', get_theme_mod($key, $default), $obfuscate); + ), array_change_key_case((array)$atts, CASE_LOWER)); + $default = apply_filters('wpcf7dtx_sanitize', $atts['default']); + $raw = $default; + if ($key = apply_filters('wpcf7dtx_sanitize', $atts['key'], 'text')) { + $raw = get_theme_mod($key, $default); } - return ''; + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + apply_filters('wpcf7dtx_escape', $raw, $atts['obfuscate']), // Sanitized & escaped value to output + $raw, // Raw value + 'get_theme_option', // Shortcode tag + $atts // Shortcode attributes + ); } /** @@ -513,8 +643,16 @@ function wpcf7dtx_get_theme_option($atts = array()) */ function wpcf7dtx_guid() { - if (function_exists('com_create_guid') === true) { - return esc_attr(trim(com_create_guid(), '{}')); + if (function_exists('com_create_guid')) { + $raw = trim(com_create_guid(), '{}'); + } else { + $raw = sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535)); } - return esc_attr(sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535))); + return apply_filters( + 'wpcf7dtx_shortcode', // DTX built-in shortcode hook + esc_attr($raw), // Sanitized & escaped value to output + $raw, // Raw value + 'guid', // Shortcode tag + array() // Shortcode attributes + ); } diff --git a/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/utilities.php b/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/utilities.php index fc7e36e4..28ad9cb3 100644 --- a/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/utilities.php +++ b/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/utilities.php @@ -350,7 +350,7 @@ function wpcf7dtx_format_atts($atts) if ($value) { $sanitized_atts[$key] = $key; } - } elseif ($value && (is_string($value) || is_numeric($value))) { + } elseif (is_numeric($value) || (is_string($value) || !empty($value))) { $sanitized_atts[$key] = $value; } } @@ -396,7 +396,14 @@ function wpcf7dtx_checkbox_html($atts, $label_text = '', $label_ui = true, $reve { // Default field attributes $atts = array_merge(array('value' => '', 'dtx-default' => ''), array_change_key_case((array)$atts, CASE_LOWER)); - if ($atts['value'] && $atts['dtx-default'] && $atts['value'] == $atts['dtx-default']) { + + // Checkboxes can have multiple values checked, check mine if it's listed as a default value + if ($atts['type'] == 'checkbox' && is_string($atts['dtx-default']) && strpos($atts['dtx-default'], '_') !== false) { + $default = array_unique(explode('_', $atts['dtx-default'])); + if (in_array($atts['value'], $default)) { + $atts['checked'] = 'checked'; + } + } elseif ((is_numeric($atts['dtx-default']) || $atts['dtx-default']) && $atts['value'] == $atts['dtx-default']) { $atts['checked'] = 'checked'; } $input = wpcf7dtx_input_html($atts); @@ -463,7 +470,7 @@ function wpcf7dtx_checkbox_group_html($atts, $options, $label_ui = false, $rever )); $dynamic_value = ''; $dynamic_label = $label; - if ($value && $label && $value === $label) { + if (is_string($value) && !empty($value) && $value === $label) { // These are identical, just handle it as one, could also be a raw shortcode $dynamic_option = trim(wpcf7dtx_get_dynamic($value, false, 'none')); // Do not sanitize yet, it may have HTML if (is_string($dynamic_option) && !empty($dynamic_option) && strpos($dynamic_option, '{') === 0 && strpos($dynamic_option, '}') === strlen($dynamic_option) - 1) { @@ -513,7 +520,8 @@ function wpcf7dtx_checkbox_group_html($atts, $options, $label_ui = false, $rever if ($exclusive) { $class[] = 'wpcf7-exclusive-checkbox'; } - if ($dynamic_value && $atts['dtx-default'] && $dynamic_value == $atts['dtx-default']) { + $valid_default = is_numeric($atts['dtx-default']) || (is_string($atts['dtx-default']) && !empty($atts['dtx-default'])); + if ($valid_default && $dynamic_value == $atts['dtx-default']) { $my_atts['checked'] = 'checked'; } $group_html[] = sprintf( diff --git a/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/validation.php b/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/validation.php index 47d9f6cb..457c13ec 100644 --- a/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/validation.php +++ b/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/includes/validation.php @@ -98,7 +98,6 @@ function wpcf7dtx_validation_filter($result, $tag) return wpcf7dtx_validate_value($result, $user_value, $tag, $type); } - /** * Validate Single Value * @@ -171,137 +170,132 @@ function wpcf7dtx_validate_value($result, $value, $tag, $type = '') } /** - * Validator Requires Contact Form 7 Minimum Version + * Backend Mail Configuration Validation + * + * Validate dynamic form tags used in mail configuration. + * + * @since 4.0.0 + * + * @param WPCF7_ConfigValidator + * + * @return void */ -if (wpcf7dtx_dependencies()) { - /** - * Backend Mail Configuration Validation - * - * Validate dynamic form tags used in mail configuration. - * - * @since 4.0.0 - * - * @param WPCF7_ConfigValidator - * - * @return void - */ - function wpcf7dtx_validate($validator) - { - // Check for sensitive form tags - $manager = WPCF7_FormTagsManager::get_instance(); - $contact_form = $validator->contact_form(); - $form = $contact_form->prop('form'); - if (wpcf7_autop_or_not()) { - $form = $manager->replace_with_placeholders($form); - $form = wpcf7_autop($form); - $form = $manager->restore_from_placeholders($form); - } - $form = $manager->replace_all($form); - $tags = $manager->get_scanned_tags(); - foreach ($tags as $tag) { - /** @var WPCF7_FormTag $tag */ +function wpcf7dtx_validate($validator) +{ + // Check for sensitive form tags + $manager = WPCF7_FormTagsManager::get_instance(); + $contact_form = $validator->contact_form(); + $form = $contact_form->prop('form'); + if (wpcf7_autop_or_not()) { + $form = $manager->replace_with_placeholders($form); + $form = wpcf7_autop($form); + $form = $manager->restore_from_placeholders($form); + } + $form = $manager->replace_all($form); + $tags = $manager->get_scanned_tags(); + foreach ($tags as $tag) { + /** @var WPCF7_FormTag $tag */ - // Only validate DTX formtags - if (in_array($tag->basetype, array_merge( - array('dynamictext', 'dynamichidden'), // Deprecated DTX form tags - array_keys(wpcf7dtx_config()) // DTX form tags - ))) { - // Check value for sensitive data - $default = $tag->get_option('defaultvalue', '', true); - if (!$default) { - $default = $tag->get_default_option(strval(reset($tag->values))); - } - if ( - !empty($value = trim(wpcf7_get_hangover($tag->name, $default))) && // Has value - ($result = wpcf7dtx_validate_sensitive_value($value))['status'] // Has sensitive data - ) { - $validator->add_error('form.body', 'dtx_disallowed', array( - 'message' => sprintf( - __('[%1$s %2$s]: Access to key "%3$s" in shortcode "%4$s" is disallowed by default. To allow access, add "%3$s" to the %5$s Allow List.', 'contact-form-7-dynamic-text-extension'), - esc_html($tag->basetype), - esc_html($tag->name), - esc_html($result['key']), - esc_html($result['shortcode']), - esc_html($result['shortcode'] == 'CF7_get_current_user' ? __('User Data Key', 'contact-form-7-dynamic-text-extension') : __('Meta Key', 'contact-form-7-dynamic-text-extension')) - ), - 'link' => wpcf7dtx_get_admin_settings_screen_url() - )); - } + // Only validate DTX formtags + if (in_array($tag->basetype, array_merge( + array('dynamictext', 'dynamichidden'), // Deprecated DTX form tags + array_keys(wpcf7dtx_config()) // DTX form tags + ))) { + // Check value for sensitive data + $default = $tag->get_option('defaultvalue', '', true); + if (!$default) { + $default = $tag->get_default_option(strval(reset($tag->values))); + } + if ( + !empty($value = trim(wpcf7_get_hangover($tag->name, $default))) && // Has value + ($result = wpcf7dtx_validate_sensitive_value($value))['status'] // Has sensitive data + ) { + $validator->add_error('form.body', 'dtx_disallowed', array( + 'message' => sprintf( + __('[%1$s %2$s]: Access to key "%3$s" in shortcode "%4$s" is disallowed by default. To allow access, add "%3$s" to the %5$s Allow List.', 'contact-form-7-dynamic-text-extension'), + esc_html($tag->basetype), + esc_html($tag->name), + esc_html($result['key']), + esc_html($result['shortcode']), + esc_html($result['shortcode'] == 'CF7_get_current_user' ? __('User Data Key', 'contact-form-7-dynamic-text-extension') : __('Meta Key', 'contact-form-7-dynamic-text-extension')) + ), + 'link' => wpcf7dtx_get_admin_settings_screen_url() + )); + } - // Check placeholder for sensitive data - if ( - ($tag->has_option('placeholder') || $tag->has_option('watermark')) && // Using placeholder - !empty($placeholder = trim(html_entity_decode(urldecode($tag->get_option('placeholder', '', true)), ENT_QUOTES))) && // Has value - ($result = wpcf7dtx_validate_sensitive_value($placeholder))['status'] // Has sensitive data - ) { - $validator->add_error('form.body', 'dtx_disallowed', array( - 'message' => sprintf( - __('[%1$s %2$s]: Access to key "%3$s" in shortcode "%4$s" is disallowed by default. To allow access, add "%3$s" to the %5$s Allow List.', 'contact-form-7-dynamic-text-extension'), - esc_html($tag->basetype), - esc_html($tag->name), - esc_html($result['key']), - esc_html($result['shortcode']), - esc_html($result['shortcode'] == 'CF7_get_current_user' ? __('User Data Key', 'contact-form-7-dynamic-text-extension') : __('Meta Key', 'contact-form-7-dynamic-text-extension')) - ), - 'link' => wpcf7dtx_get_admin_settings_screen_url() - )); - } + // Check placeholder for sensitive data + if ( + ($tag->has_option('placeholder') || $tag->has_option('watermark')) && // Using placeholder + !empty($placeholder = trim(html_entity_decode(urldecode($tag->get_option('placeholder', '', true)), ENT_QUOTES))) && // Has value + ($result = wpcf7dtx_validate_sensitive_value($placeholder))['status'] // Has sensitive data + ) { + $validator->add_error('form.body', 'dtx_disallowed', array( + 'message' => sprintf( + __('[%1$s %2$s]: Access to key "%3$s" in shortcode "%4$s" is disallowed by default. To allow access, add "%3$s" to the %5$s Allow List.', 'contact-form-7-dynamic-text-extension'), + esc_html($tag->basetype), + esc_html($tag->name), + esc_html($result['key']), + esc_html($result['shortcode']), + esc_html($result['shortcode'] == 'CF7_get_current_user' ? __('User Data Key', 'contact-form-7-dynamic-text-extension') : __('Meta Key', 'contact-form-7-dynamic-text-extension')) + ), + 'link' => wpcf7dtx_get_admin_settings_screen_url() + )); } } + } - // Validate email address - if (!$validator->is_valid()) { - $contact_form = null; - $form_tags = null; - foreach ($validator->collect_error_messages() as $component => $errors) { - $components = explode('.', $component); - if (count($components) === 2 && strpos($components[0], 'mail') === 0 && in_array($components[1], array('sender', 'recipient', 'additional_headers'))) { - foreach ($errors as $error) { - // Focus on email fields that flag the invalid mailbox syntax warning, have to test link because code isn't sent and message could be in any language - if (strpos(wpcf7dtx_array_has_key('link', $error), 'invalid-mailbox-syntax') !== false) { - if (is_null($contact_form)) { - $contact_form = $validator->contact_form(); - } - if (is_null($form_tags)) { - $form_tags = wpcf7_scan_form_tags(); - } - $raw_value = $contact_form->prop($components[0])[$components[1]]; - foreach ($form_tags as $tag) { - if (!empty($tag->name)) { - // Check if this form tag is in the raw value - $form_tag = '[' . $tag->name . ']'; - if (strpos($raw_value, $form_tag) !== false && in_array($tag->basetype, array_keys(wpcf7dtx_config()))) { - $validator->remove_error($component, 'invalid_mailbox_syntax'); // Remove error, this is ours to handle now - $utm_source = urlencode(home_url()); - if (!in_array($tag->basetype, array('dynamic_hidden', 'dynamic_email'))) { - $validator->add_error($component, 'invalid_mailbox_syntax', array( - 'message' => __('Only email, dynamic email, hidden, or dynamic hidden form tags can be used for email addresses.', 'contact-form-7-dynamic-text-extension'), - 'link' => esc_url(sprintf('https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/configuration-errors/?utm_source=%s&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=config-error-invalid_mailbox_syntax#valid-form-tags', $utm_source)) + // Validate email address + if (!$validator->is_valid()) { + $contact_form = null; + $form_tags = null; + foreach ($validator->collect_error_messages() as $component => $errors) { + $components = explode('.', $component); + if (count($components) === 2 && strpos($components[0], 'mail') === 0 && in_array($components[1], array('sender', 'recipient', 'additional_headers'))) { + foreach ($errors as $error) { + // Focus on email fields that flag the invalid mailbox syntax warning, have to test link because code isn't sent and message could be in any language + if (strpos(wpcf7dtx_array_has_key('link', $error), 'invalid-mailbox-syntax') !== false) { + if (is_null($contact_form)) { + $contact_form = $validator->contact_form(); + } + if (is_null($form_tags)) { + $form_tags = wpcf7_scan_form_tags(); + } + $raw_value = $contact_form->prop($components[0])[$components[1]]; + foreach ($form_tags as $tag) { + if (!empty($tag->name)) { + // Check if this form tag is in the raw value + $form_tag = '[' . $tag->name . ']'; + if (strpos($raw_value, $form_tag) !== false && in_array($tag->basetype, array_keys(wpcf7dtx_config()))) { + $validator->remove_error($component, 'invalid_mailbox_syntax'); // Remove error, this is ours to handle now + $utm_source = urlencode(home_url()); + if (!in_array($tag->basetype, array('dynamic_hidden', 'dynamic_email'))) { + $validator->add_error($component, 'invalid_mailbox_syntax', array( + 'message' => __('Only email, dynamic email, hidden, or dynamic hidden form tags can be used for email addresses.', 'contact-form-7-dynamic-text-extension'), + 'link' => esc_url(sprintf('https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/configuration-errors/?utm_source=%s&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=config-error-invalid_mailbox_syntax#valid-form-tags', $utm_source)) + )); + } else { + $dynamic_value = wpcf7dtx_get_dynamic(false, $tag); // Get the dynamic value of this tag + if (empty($dynamic_value) && $tag->basetype == 'dynamic_hidden') { + $validator->add_error($component, 'maybe_empty', array( + 'message' => __('The dynamic hidden form tag must have a default value.', 'contact-form-7-dynamic-text-extension'), + 'link' => esc_url(sprintf('https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/configuration-errors/?utm_source=%s&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=config-error-maybe_empty#maybe-empty', $utm_source)) )); - } else { - $dynamic_value = wpcf7dtx_get_dynamic(false, $tag); // Get the dynamic value of this tag - if (empty($dynamic_value) && $tag->basetype == 'dynamic_hidden') { - $validator->add_error($component, 'maybe_empty', array( - 'message' => __('The dynamic hidden form tag must have a default value.', 'contact-form-7-dynamic-text-extension'), - 'link' => esc_url(sprintf('https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/configuration-errors/?utm_source=%s&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=config-error-maybe_empty#maybe-empty', $utm_source)) + } elseif (empty($dynamic_value) && !$tag->is_required()) { + $validator->add_error($component, 'maybe_empty', array( + 'message' => __('The dynamic form tag must be required or have a default value.', 'contact-form-7-dynamic-text-extension'), + 'link' => esc_url(sprintf('https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/configuration-errors/?utm_source=%s&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=config-error-maybe_empty#maybe-empty', $utm_source)) + )); + } elseif (!empty($dynamic_value)) { + if (!wpcf7_is_email($dynamic_value)) { + $validator->add_error($component, 'invalid_mailbox_syntax', array( + 'message' => __('The default dynamic value does not result in a valid email address.', 'contact-form-7-dynamic-text-extension'), + 'link' => esc_url(sprintf('https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/configuration-errors/?utm_source=%s&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=config-error-invalid_mailbox_syntax#invalid-email-address', $utm_source)) )); - } elseif (empty($dynamic_value) && !$tag->is_required()) { - $validator->add_error($component, 'maybe_empty', array( - 'message' => __('The dynamic form tag must be required or have a default value.', 'contact-form-7-dynamic-text-extension'), - 'link' => esc_url(sprintf('https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/configuration-errors/?utm_source=%s&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=config-error-maybe_empty#maybe-empty', $utm_source)) + } elseif ($component[1] == 'sender' && !wpcf7_is_email_in_site_domain($dynamic_value)) { + $validator->add_error($component, 'email_not_in_site_domain', array( + 'message' => __('The dynamic email address for the sender does not belong to the site domain.', 'contact-form-7-dynamic-text-extension'), + 'link' => esc_url(sprintf('https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/configuration-errors/?utm_source=%s&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=config-error-email_not_in_site_domain#invalid-site-domain', $utm_source)) )); - } elseif (!empty($dynamic_value)) { - if (!wpcf7_is_email($dynamic_value)) { - $validator->add_error($component, 'invalid_mailbox_syntax', array( - 'message' => __('The default dynamic value does not result in a valid email address.', 'contact-form-7-dynamic-text-extension'), - 'link' => esc_url(sprintf('https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/configuration-errors/?utm_source=%s&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=config-error-invalid_mailbox_syntax#invalid-email-address', $utm_source)) - )); - } elseif ($component[1] == 'sender' && !wpcf7_is_email_in_site_domain($dynamic_value)) { - $validator->add_error($component, 'email_not_in_site_domain', array( - 'message' => __('The dynamic email address for the sender does not belong to the site domain.', 'contact-form-7-dynamic-text-extension'), - 'link' => esc_url(sprintf('https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/configuration-errors/?utm_source=%s&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=config-error-email_not_in_site_domain#invalid-site-domain', $utm_source)) - )); - } } } } @@ -313,9 +307,23 @@ if (wpcf7dtx_dependencies()) { } } } - add_action('wpcf7_config_validator_validate', 'wpcf7dtx_validate'); } +/** + * Initialise Custom Mail Template Validator + * + * Validator requires a minimum version of Contact Form 7. + * + * @return void + */ +function wpcf7dtx_init_validator() +{ + if (wpcf7dtx_dependencies()) { + add_action('wpcf7_config_validator_validate', 'wpcf7dtx_validate'); + } +} +add_action('plugins_loaded', 'wpcf7dtx_init_validator', 30); + /** * Validate Field Value for Sensitive Data diff --git a/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/readme.txt b/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/readme.txt index b45db4e9..6961e8b2 100644 --- a/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/readme.txt +++ b/wp/wp-content/plugins/contact-form-7-dynamic-text-extension/readme.txt @@ -1,11 +1,11 @@ === Contact Form 7 - Dynamic Text Extension === Contributors: sevenspark, tessawatkinsllc Donate link: https://just1voice.com/donate/ -Tags: Contact Form 7, autofill, prepopulate, input, form field, contact form, text, hidden, input, dynamic, GET, POST, title, slug, auto-fill, pre-populate -Tested up to: 6.4.2 -Stable tag: 4.2.3 +Tags: Contact Form 7, autofill, prepopulate, dynamic form, form field +Tested up to: 6.5 +Stable tag: 4.3.1 -This plugin provides additional form tags for the Contact Form 7 plugin. It allows dynamic generation of content for text-based input fields like text, hidden, and email, checkboxes, radio buttons, and drop-down selections using any shortcode. +Extends Contact Form 7 by adding dynamic form fields that accepts shortcodes to prepopulate form fields with default values and dynamic placeholders. == Description == @@ -380,14 +380,21 @@ Please check out the [FAQ on our website](https://aurisecreative.com/docs/contac == Upgrade Notice == -= 4.2.3 = -Resolved a bug where the `dynamic_select` displayed with a default size of 40 instead of 1. += 4.3.1 = +Fixed user-reported bugs regarding `dynamic_checkbox` accepting multiple default values, mail template validator, and some PHP warnings. See [the changelog](https://plugins.trac.wordpress.org/browser/contact-form-7-dynamic-text-extension/trunk/changelog.txt) for more details. == Changelog == -= 4.2.3 = += 4.3.1 = -* Fix: Resolved a bug where the `dynamic_select` displayed with a default size of 40 instead of 1. +* Fix: Resolved the PHP warning regarding `Undefined array key "value" in /.../contact-form-7-dynamic-text-extension/contact-form-7-dynamic-text-extension.php on line 391`, [see support thread](https://wordpress.org/support/topic/undefined-array-key-value-2/). +* Fix: Resolved a bug introduced in version 4.2.1 that prevented the mail template validator from recognizing DTX form tags, [see support thread](https://wordpress.org/support/topic/email-field-validation-4/). +* Fix: The `default` attribute for `dynamic_checkbox` can now accept multiple values that are delimited by an underscore (_), making it consistent with [Contact Form 7](https://contactform7.com/checkboxes-radio-buttons-and-menus/#checkbox-radio), [see support thread](https://wordpress.org/support/topic/help-dynamic_checkbox-and-default-values/). + += 4.3.0 = + +* Feature: Added the `wpcf7dtx_shortcode` filter to all built-in shortcodes as requested. For usage details, see the [knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/filter-modify-built-in-shortcode-responses/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme). +* Fix: Resolved a bug that prevented using the number zero as the value for select fields, checkboxes, and radio buttons, [see support thread](https://wordpress.org/support/topic/error-with-option-value-0-for-a-dynamic-radio-button/). = 4.2.2 = @@ -406,7 +413,7 @@ Resolved a bug where the `dynamic_select` displayed with a default size of 40 in = 4.2.0 = -* Security Update: ** Please be sure to review this doc, as you may need to adjust the settings: https://sevenspark.com/docs/contact-form-7-dynamic-text-extension/allow-data-access ** +* Security Update: ** Please be sure to review this doc, as you may need to adjust the settings: [Documentation by SevenSpark](https://sevenspark.com/docs/contact-form-7-dynamic-text-extension/allow-data-access), [Documentation by AuRise Creative](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/security/) ** * Feature: Added Settings Screen with Allow Lists * Feature: Added Form Scanner * Feature: Added Allow List key validation in CF7 Form Validator diff --git a/wp/wp-content/plugins/contact-form-7/admin/admin.php b/wp/wp-content/plugins/contact-form-7/admin/admin.php index 944bf5ac..2a1d3a20 100644 --- a/wp/wp-content/plugins/contact-form-7/admin/admin.php +++ b/wp/wp-content/plugins/contact-form-7/admin/admin.php @@ -130,7 +130,8 @@ function wpcf7_admin_enqueue_scripts( $hook_suffix ) { wp_enqueue_script( 'wpcf7-admin', wpcf7_plugin_url( 'admin/js/scripts.js' ), array( 'jquery', 'jquery-ui-tabs' ), - WPCF7_VERSION, true + WPCF7_VERSION, + array( 'in_footer' => true ) ); $args = array( @@ -144,8 +145,7 @@ function wpcf7_admin_enqueue_scripts( $hook_suffix ) { 'saveAlert' => __( "The changes you made will be lost if you navigate away from this page.", 'contact-form-7' ), - 'activeTab' => isset( $_GET['active-tab'] ) - ? (int) $_GET['active-tab'] : 0, + 'activeTab' => (int) ( $_GET['active-tab'] ?? 0 ), 'configValidator' => array( 'errors' => array(), 'howToCorrect' => __( "How to resolve?", 'contact-form-7' ), @@ -176,7 +176,7 @@ function wpcf7_admin_enqueue_scripts( $hook_suffix ) { wpcf7_plugin_url( 'admin/js/tag-generator.js' ), array( 'jquery', 'thickbox', 'wpcf7-admin' ), WPCF7_VERSION, - true + array( 'in_footer' => true ) ); } @@ -204,12 +204,13 @@ function wpcf7_load_contact_form_admin() { $action = wpcf7_current_action(); do_action( 'wpcf7_admin_load', - isset( $_GET['page'] ) ? trim( $_GET['page'] ) : '', + trim( $_GET['page'] ?? '' ), $action ); - if ( 'save' == $action ) { - $id = isset( $_POST['post_ID'] ) ? $_POST['post_ID'] : '-1'; + if ( 'save' === $action ) { + $id = $_POST['post_ID'] ?? '-1'; + check_admin_referer( 'wpcf7-save-contact-form_' . $id ); if ( ! current_user_can( 'wpcf7_edit_contact_form', $id ) ) { @@ -218,31 +219,21 @@ function wpcf7_load_contact_form_admin() { ); } - $args = $_REQUEST; - $args['id'] = $id; - - $args['title'] = isset( $_POST['post_title'] ) - ? $_POST['post_title'] : null; - - $args['locale'] = isset( $_POST['wpcf7-locale'] ) - ? $_POST['wpcf7-locale'] : null; - - $args['form'] = isset( $_POST['wpcf7-form'] ) - ? $_POST['wpcf7-form'] : ''; - - $args['mail'] = isset( $_POST['wpcf7-mail'] ) - ? $_POST['wpcf7-mail'] : array(); - - $args['mail_2'] = isset( $_POST['wpcf7-mail-2'] ) - ? $_POST['wpcf7-mail-2'] : array(); - - $args['messages'] = isset( $_POST['wpcf7-messages'] ) - ? $_POST['wpcf7-messages'] : array(); - - $args['additional_settings'] = isset( $_POST['wpcf7-additional-settings'] ) - ? $_POST['wpcf7-additional-settings'] : ''; - - $contact_form = wpcf7_save_contact_form( $args ); + $contact_form = wpcf7_save_contact_form( + array_merge( + $_REQUEST, + array( + 'id' => $id, + 'title' => $_POST['post_title'] ?? null, + 'locale' => $_POST['wpcf7-locale'] ?? null, + 'form' => $_POST['wpcf7-form'] ?? '', + 'mail' => $_POST['wpcf7-mail'] ?? array(), + 'mail_2' => $_POST['wpcf7-mail-2'] ?? array(), + 'messages' => $_POST['wpcf7-messages'] ?? array(), + 'additional_settings' => $_POST['wpcf7-additional-settings'] ?? '', + ) + ) + ); if ( $contact_form and wpcf7_validate_configuration() ) { $config_validator = new WPCF7_ConfigValidator( $contact_form ); @@ -252,8 +243,7 @@ function wpcf7_load_contact_form_admin() { $query = array( 'post' => $contact_form ? $contact_form->id() : 0, - 'active-tab' => isset( $_POST['active-tab'] ) - ? (int) $_POST['active-tab'] : 0, + 'active-tab' => (int) ( $_POST['active-tab'] ?? 0 ), ); if ( ! $contact_form ) { @@ -269,10 +259,8 @@ function wpcf7_load_contact_form_admin() { exit(); } - if ( 'copy' == $action ) { - $id = empty( $_POST['post_ID'] ) - ? absint( $_REQUEST['post'] ) - : absint( $_POST['post_ID'] ); + if ( 'copy' === $action ) { + $id = absint( $_POST['post_ID'] ?? $_REQUEST['post'] ?? '' ); check_admin_referer( 'wpcf7-copy-contact-form_' . $id ); @@ -298,7 +286,7 @@ function wpcf7_load_contact_form_admin() { exit(); } - if ( 'delete' == $action ) { + if ( 'delete' === $action ) { if ( ! empty( $_POST['post_ID'] ) ) { check_admin_referer( 'wpcf7-delete-contact-form_' . $_POST['post_ID'] ); } elseif ( ! is_array( $_REQUEST['post'] ) ) { @@ -307,9 +295,7 @@ function wpcf7_load_contact_form_admin() { check_admin_referer( 'bulk-posts' ); } - $posts = empty( $_POST['post_ID'] ) - ? (array) $_REQUEST['post'] - : (array) $_POST['post_ID']; + $posts = (array) ( $_POST['post_ID'] ?? $_REQUEST['post'] ?? array() ); $deleted = 0; @@ -347,9 +333,9 @@ function wpcf7_load_contact_form_admin() { $post = null; - if ( 'wpcf7-new' == $plugin_page ) { + if ( 'wpcf7-new' === $plugin_page ) { $post = WPCF7_ContactForm::get_template( array( - 'locale' => isset( $_GET['locale'] ) ? $_GET['locale'] : null, + 'locale' => $_GET['locale'] ?? null, ) ); } elseif ( ! empty( $_GET['post'] ) ) { $post = WPCF7_ContactForm::get_instance( $_GET['post'] ); @@ -470,7 +456,7 @@ function wpcf7_admin_add_new_page() { function wpcf7_load_integration_page() { do_action( 'wpcf7_admin_load', - isset( $_GET['page'] ) ? trim( $_GET['page'] ) : '', + trim( $_GET['page'] ?? '' ), wpcf7_current_action() ); @@ -520,7 +506,7 @@ function wpcf7_admin_integration_page() { ); if ( $service ) { - $message = isset( $_REQUEST['message'] ) ? $_REQUEST['message'] : ''; + $message = $_REQUEST['message'] ?? ''; $service->admin_notice( $message ); $integration->list_services( array( @@ -547,11 +533,11 @@ function wpcf7_admin_updated_message( $page, $action, $object ) { return; } - if ( 'created' == $_REQUEST['message'] ) { + if ( 'created' === $_REQUEST['message'] ) { $updated_message = __( "Contact form created.", 'contact-form-7' ); - } elseif ( 'saved' == $_REQUEST['message'] ) { + } elseif ( 'saved' === $_REQUEST['message'] ) { $updated_message = __( "Contact form saved.", 'contact-form-7' ); - } elseif ( 'deleted' == $_REQUEST['message'] ) { + } elseif ( 'deleted' === $_REQUEST['message'] ) { $updated_message = __( "Contact form deleted.", 'contact-form-7' ); } @@ -564,7 +550,7 @@ function wpcf7_admin_updated_message( $page, $action, $object ) { return; } - if ( 'failed' == $_REQUEST['message'] ) { + if ( 'failed' === $_REQUEST['message'] ) { $updated_message = __( "There was an error saving the contact form.", 'contact-form-7' ); @@ -576,7 +562,7 @@ function wpcf7_admin_updated_message( $page, $action, $object ) { return; } - if ( 'validated' == $_REQUEST['message'] ) { + if ( 'validated' === $_REQUEST['message'] ) { $bulk_validate = WPCF7::get_option( 'bulk_validate', array() ); $count_invalid = isset( $bulk_validate['count_invalid'] ) ? absint( $bulk_validate['count_invalid'] ) : 0; @@ -693,3 +679,21 @@ function wpcf7_outdated_php_warning( $page, $action, $object ) { esc_html( $message ) ); } + + +add_action( 'wpcf7_admin_warnings', 'wpcf7_ctct_deprecated_warning', 10, 3 ); + +function wpcf7_ctct_deprecated_warning( $page, $action, $object ) { + $service = WPCF7_ConstantContact::get_instance(); + + if ( ! $service->is_active() ) { + return; + } + + $message = __( "The Constant Contact integration is deprecated. It is not recommended to continue using the feature.", 'contact-form-7' ); + + echo sprintf( + '

%s

', + esc_html( $message ) + ); +} diff --git a/wp/wp-content/plugins/contact-form-7/admin/edit-contact-form.php b/wp/wp-content/plugins/contact-form-7/admin/edit-contact-form.php index 385a155a..f4ab01fa 100644 --- a/wp/wp-content/plugins/contact-form-7/admin/edit-contact-form.php +++ b/wp/wp-content/plugins/contact-form-7/admin/edit-contact-form.php @@ -85,7 +85,7 @@ if ( $post ) : - +
diff --git a/wp/wp-content/plugins/contact-form-7/admin/includes/welcome-panel.php b/wp/wp-content/plugins/contact-form-7/admin/includes/welcome-panel.php index dc9690a8..523719d6 100644 --- a/wp/wp-content/plugins/contact-form-7/admin/includes/welcome-panel.php +++ b/wp/wp-content/plugins/contact-form-7/admin/includes/welcome-panel.php @@ -146,15 +146,11 @@ class WPCF7_WelcomePanelColumn_Integration extends WPCF7_WelcomePanelColumn { protected function content() { return array( sprintf( - /* translators: 1: link labeled 'Brevo', 2: link labeled 'Constant Contact' */ - esc_html( __( 'Your contact forms will become more powerful and versatile by integrating them with external APIs. With CRM and email marketing services, you can build your own contact lists (%1$s and %2$s).', 'contact-form-7' ) ), + /* translators: 1: link labeled 'Brevo' */ + esc_html( __( 'Your contact forms will become more powerful and versatile by integrating them with external APIs. With CRM and email marketing services, you can build your own contact lists (%1$s).', 'contact-form-7' ) ), wpcf7_link( __( 'https://contactform7.com/sendinblue-integration/', 'contact-form-7' ), __( 'Brevo', 'contact-form-7' ) - ), - wpcf7_link( - __( 'https://contactform7.com/constant-contact-integration/', 'contact-form-7' ), - __( 'Constant Contact', 'contact-form-7' ) ) ), sprintf( diff --git a/wp/wp-content/plugins/contact-form-7/includes/block-editor/block.json b/wp/wp-content/plugins/contact-form-7/includes/block-editor/block.json index 5ea39082..c21ee62b 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/block-editor/block.json +++ b/wp/wp-content/plugins/contact-form-7/includes/block-editor/block.json @@ -1,6 +1,6 @@ { "$schema": "https://schemas.wp.org/trunk/block.json", - "apiVersion": 2, + "apiVersion": 3, "name": "contact-form-7/contact-form-selector", "title": "Contact Form 7", "category": "widgets", diff --git a/wp/wp-content/plugins/contact-form-7/includes/block-editor/index.js b/wp/wp-content/plugins/contact-form-7/includes/block-editor/index.js index c46edc69..c5b0ff11 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/block-editor/index.js +++ b/wp/wp-content/plugins/contact-form-7/includes/block-editor/index.js @@ -1 +1 @@ -!function(){"use strict";var e={n:function(t){var a=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(a,{a:a}),a},d:function(t,a){for(var l in a)e.o(a,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:a[l]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t=window.React,a=window.wp.i18n,l=window.wp.blocks,r=window.wp.blockEditor,o=(0,t.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 242.5 239.46"},(0,t.createElement)("defs",null,(0,t.createElement)("clipPath",{id:"clip-path",transform:"translate(1.72)"},(0,t.createElement)("circle",{className:"cls-1",cx:"119.73",cy:"119.73",r:"116.15",fill:"none"}))),(0,t.createElement)("g",{id:"Layer_2","data-name":"Layer 2"},(0,t.createElement)("g",{id:"Layer_1","data-name":"Layer 1"},(0,t.createElement)("g",{className:"cls-2",clipPath:"url(#clip-path)"},(0,t.createElement)("circle",{className:"cls-3",cx:"121.45",cy:"119.73",r:"116.15",fill:"#33c6f4"}),(0,t.createElement)("path",{className:"cls-4",d:"M239.32,167.79c-53.41-24-108.37-91.46-113-94.55s-10.84.77-10.84.77c-3.87-6.19-10.06.77-10.06.77C76.77,123.55.14,170.11.14,170.11S36.94,237.79,122,237.79C208.48,237.79,239.32,167.79,239.32,167.79Z",transform:"translate(1.72)",fill:"#1b447e"}),(0,t.createElement)("path",{className:"cls-5",d:"M67.48,116.58s15.48-7,12.38,4.65-15.48,28.64-11.61,29.41S83,140.58,86.06,142.12s5.42.78,3.87,6.2-3.1,9.29,0,9.29,5.42-7,9.29-13.94,10.06-3.87,12.38-1.55,9.29,15.49,14.71,13.94,8.51-8.52,6.19-24,1.55-20.12,1.55-20.12,4.64-2.32,13.16,8.51,24,27.09,26.31,26.32-10.83-17.8-7.74-19.35,15.48,2.32,21.68,7.74c0,0,2.12,8.87,2.12.36L126.31,73.24,115.47,74l-10.06.77S80.64,111.94,67.48,116.58Z",transform:"translate(1.72)",fill:"#fff"}),(0,t.createElement)("path",{className:"cls-6",d:"M239.32,170.11c-53.41-24-108.37-93.78-113-96.87s-10.84.77-10.84.77c-3.87-6.19-10.06.77-10.06.77C76.77,123.55.14,170.11.14,170.11",transform:"translate(1.72)",fill:"none",stroke:"#221e1f",strokeMiterlimit:"10",strokeWidth:"8px"})),(0,t.createElement)("circle",{className:"cls-6",cx:"121.45",cy:"119.73",r:"116.15",fill:"none",stroke:"#1b447e",strokeMiterlimit:"10",strokeWidth:"8px"})))),n=window.wp.element,c=window.wp.components,s=window.wp.apiFetch,m=e.n(s),i=window.wp.url;const p=e=>{let t="[contact-form-7]";return e.hash?t=t.replace(/\]$/,` id="${e.hash}"]`):e.id&&(t=t.replace(/\]$/,` id="${e.id}"]`)),e.title&&(t=t.replace(/\]$/,` title="${e.title}"]`)),e.htmlId&&(t=t.replace(/\]$/,` html_id="${e.htmlId}"]`)),e.htmlName&&(t=t.replace(/\]$/,` html_name="${e.htmlName}"]`)),e.htmlTitle&&(t=t.replace(/\]$/,` html_title="${e.htmlTitle}"]`)),e.htmlClass&&(t=t.replace(/\]$/,` html_class="${e.htmlClass}"]`)),"raw_form"===e.output&&(t=t.replace(/\]$/,` output="${e.output}"]`)),t},d=e=>{const t=ajaxurl.replace(/\/admin-ajax\.php$/,"/admin.php");return(0,i.addQueryArgs)(t,{page:"wpcf7",post:e.id,action:"edit"})};var h,f={from:[],to:[{type:"block",blocks:["core/shortcode"],transform:e=>{const t=p(e);return(0,l.createBlock)("core/shortcode",{text:t})}}]};window.wpcf7=null!==(h=window.wpcf7)&&void 0!==h?h:{contactForms:[]},(0,l.registerBlockType)("contact-form-7/contact-form-selector",{icon:o,transforms:f,edit:function({attributes:e,setAttributes:l}){const o=e=>e.reduce(((e,t)=>e.set(t.id,t)),new Map),[s,p]=(0,n.useState)((()=>{var e;return o(null!==(e=window.wpcf7.contactForms)&&void 0!==e?e:[])}));return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(r.InspectorControls,null,e.id&&(0,t.createElement)(c.PanelBody,{title:e.title},(0,t.createElement)(c.ExternalLink,{href:d(e)},(0,a.__)("Edit this contact form","contact-form-7"))),e.id&&(0,t.createElement)(c.PanelBody,{title:(0,a.__)("Form attributes","contact-form-7"),initialOpen:!1},(0,t.createElement)(c.TextControl,{label:(0,a.__)("ID","contact-form-7"),value:e.htmlId,onChange:e=>l({htmlId:e}),help:(0,a.__)("Used for the id attribute value of the form element.","contact-form-7")}),(0,t.createElement)(c.TextControl,{label:(0,a.__)("Name","contact-form-7"),value:e.htmlName,onChange:e=>l({htmlName:e}),help:(0,a.__)("Used for the name attribute value of the form element.","contact-form-7")}),(0,t.createElement)(c.TextControl,{label:(0,a.__)("Title","contact-form-7"),value:e.htmlTitle,onChange:e=>l({htmlTitle:e}),help:(0,a.__)("Used for the aria-label attribute value of the form element.","contact-form-7")}),(0,t.createElement)(c.TextControl,{label:(0,a.__)("Class","contact-form-7"),value:e.htmlClass,onChange:e=>l({htmlClass:e}),help:(0,a.__)("Used for the class attribute value of the form element.","contact-form-7")}))),(0,t.createElement)("div",{...(0,r.useBlockProps)({className:"components-placeholder",style:{marginTop:"28px",marginBottom:"28px"}})},(0,t.createElement)(c.ComboboxControl,{label:(0,a.__)("Select a contact form:","contact-form-7"),options:(e=>{const t=[];for(const[a,l]of e)t.push({value:a,label:l.title});return t})(s),value:e.id,onChange:e=>l({id:parseInt(e),hash:s.get(parseInt(e))?.hash,title:s.get(parseInt(e))?.title}),onFilterValueChange:e=>{(async e=>m()({path:(0,i.addQueryArgs)("/contact-form-7/v1/contact-forms",{posts_per_page:20,orderby:"modified",order:"DESC",...e})}).then((e=>e)))({search:e}).then((e=>{p(o(e))}))}})))},save:({attributes:e})=>{const a=p(e);return(0,t.createElement)("div",{...r.useBlockProps.save()},a)}})}(); \ No newline at end of file +(()=>{"use strict";var e={n:t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return e.d(a,{a}),a},d:(t,a)=>{for(var l in a)e.o(a,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:a[l]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.React,a=window.wp.i18n,l=window.wp.blocks,r=window.wp.blockEditor,o=(0,t.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 242.5 239.46"},(0,t.createElement)("defs",null,(0,t.createElement)("clipPath",{id:"clip-path",transform:"translate(1.72)"},(0,t.createElement)("circle",{className:"cls-1",cx:"119.73",cy:"119.73",r:"116.15",fill:"none"}))),(0,t.createElement)("g",{id:"Layer_2","data-name":"Layer 2"},(0,t.createElement)("g",{id:"Layer_1","data-name":"Layer 1"},(0,t.createElement)("g",{className:"cls-2",clipPath:"url(#clip-path)"},(0,t.createElement)("circle",{className:"cls-3",cx:"121.45",cy:"119.73",r:"116.15",fill:"#33c6f4"}),(0,t.createElement)("path",{className:"cls-4",d:"M239.32,167.79c-53.41-24-108.37-91.46-113-94.55s-10.84.77-10.84.77c-3.87-6.19-10.06.77-10.06.77C76.77,123.55.14,170.11.14,170.11S36.94,237.79,122,237.79C208.48,237.79,239.32,167.79,239.32,167.79Z",transform:"translate(1.72)",fill:"#1b447e"}),(0,t.createElement)("path",{className:"cls-5",d:"M67.48,116.58s15.48-7,12.38,4.65-15.48,28.64-11.61,29.41S83,140.58,86.06,142.12s5.42.78,3.87,6.2-3.1,9.29,0,9.29,5.42-7,9.29-13.94,10.06-3.87,12.38-1.55,9.29,15.49,14.71,13.94,8.51-8.52,6.19-24,1.55-20.12,1.55-20.12,4.64-2.32,13.16,8.51,24,27.09,26.31,26.32-10.83-17.8-7.74-19.35,15.48,2.32,21.68,7.74c0,0,2.12,8.87,2.12.36L126.31,73.24,115.47,74l-10.06.77S80.64,111.94,67.48,116.58Z",transform:"translate(1.72)",fill:"#fff"}),(0,t.createElement)("path",{className:"cls-6",d:"M239.32,170.11c-53.41-24-108.37-93.78-113-96.87s-10.84.77-10.84.77c-3.87-6.19-10.06.77-10.06.77C76.77,123.55.14,170.11.14,170.11",transform:"translate(1.72)",fill:"none",stroke:"#221e1f",strokeMiterlimit:"10",strokeWidth:"8px"})),(0,t.createElement)("circle",{className:"cls-6",cx:"121.45",cy:"119.73",r:"116.15",fill:"none",stroke:"#1b447e",strokeMiterlimit:"10",strokeWidth:"8px"})))),c=window.wp.element,n=window.wp.components,s=window.wp.apiFetch;var m=e.n(s);const i=window.wp.url,p=e=>{let t="[contact-form-7]";return e.hash?t=t.replace(/\]$/,` id="${e.hash}"]`):e.id&&(t=t.replace(/\]$/,` id="${e.id}"]`)),e.title&&(t=t.replace(/\]$/,` title="${e.title}"]`)),e.htmlId&&(t=t.replace(/\]$/,` html_id="${e.htmlId}"]`)),e.htmlName&&(t=t.replace(/\]$/,` html_name="${e.htmlName}"]`)),e.htmlTitle&&(t=t.replace(/\]$/,` html_title="${e.htmlTitle}"]`)),e.htmlClass&&(t=t.replace(/\]$/,` html_class="${e.htmlClass}"]`)),"raw_form"===e.output&&(t=t.replace(/\]$/,` output="${e.output}"]`)),t},d=e=>{const t=ajaxurl.replace(/\/admin-ajax\.php$/,"/admin.php");return(0,i.addQueryArgs)(t,{page:"wpcf7",post:e.id,action:"edit"})},h={from:[],to:[{type:"block",blocks:["core/shortcode"],transform:e=>{const t=p(e);return(0,l.createBlock)("core/shortcode",{text:t})}}]};var f;window.wpcf7=null!==(f=window.wpcf7)&&void 0!==f?f:{contactForms:[]},(0,l.registerBlockType)("contact-form-7/contact-form-selector",{icon:o,transforms:h,edit:function({attributes:e,setAttributes:l}){const o=e=>e.reduce(((e,t)=>e.set(t.id,t)),new Map),[s,p]=(0,c.useState)((()=>{var e;return o(null!==(e=window.wpcf7.contactForms)&&void 0!==e?e:[])}));return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(r.InspectorControls,null,e.id&&(0,t.createElement)(n.PanelBody,{title:e.title},(0,t.createElement)(n.ExternalLink,{href:d(e)},(0,a.__)("Edit this contact form","contact-form-7"))),e.id&&(0,t.createElement)(n.PanelBody,{title:(0,a.__)("Form attributes","contact-form-7"),initialOpen:!1},(0,t.createElement)(n.TextControl,{label:(0,a.__)("ID","contact-form-7"),value:e.htmlId,onChange:e=>l({htmlId:e}),help:(0,a.__)("Used for the id attribute value of the form element.","contact-form-7")}),(0,t.createElement)(n.TextControl,{label:(0,a.__)("Name","contact-form-7"),value:e.htmlName,onChange:e=>l({htmlName:e}),help:(0,a.__)("Used for the name attribute value of the form element.","contact-form-7")}),(0,t.createElement)(n.TextControl,{label:(0,a.__)("Title","contact-form-7"),value:e.htmlTitle,onChange:e=>l({htmlTitle:e}),help:(0,a.__)("Used for the aria-label attribute value of the form element.","contact-form-7")}),(0,t.createElement)(n.TextControl,{label:(0,a.__)("Class","contact-form-7"),value:e.htmlClass,onChange:e=>l({htmlClass:e}),help:(0,a.__)("Used for the class attribute value of the form element.","contact-form-7")}))),(0,t.createElement)("div",{...(0,r.useBlockProps)({className:"components-placeholder",style:{marginTop:"28px",marginBottom:"28px"}})},(0,t.createElement)(n.ComboboxControl,{label:(0,a.__)("Select a contact form:","contact-form-7"),options:(e=>{const t=[];for(const[a,l]of e)t.push({value:a,label:l.title});return t})(s),value:e.id,onChange:e=>l({id:parseInt(e),hash:s.get(parseInt(e))?.hash,title:s.get(parseInt(e))?.title}),onFilterValueChange:e=>{(async e=>m()({path:(0,i.addQueryArgs)("/contact-form-7/v1/contact-forms",{posts_per_page:20,orderby:"modified",order:"DESC",...e})}).then((e=>e)))({search:e}).then((e=>{p(o(e))}))}})))},save:({attributes:e})=>{const a=p(e);return(0,t.createElement)("div",{...r.useBlockProps.save()},a)}})})(); \ No newline at end of file diff --git a/wp/wp-content/plugins/contact-form-7/includes/config-validator/mail.php b/wp/wp-content/plugins/contact-form-7/includes/config-validator/mail.php index cc9b1de8..47769ea0 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/config-validator/mail.php +++ b/wp/wp-content/plugins/contact-form-7/includes/config-validator/mail.php @@ -39,74 +39,49 @@ trait WPCF7_ConfigValidator_Mail { $example_text = 'example'; $example_blank = ''; - $form_tags = $this->contact_form->scan_form_tags( - array( 'name' => $field_name ) - ); + // for back-compat + $field_name = preg_replace( '/^wpcf7\./', '_', $field_name ); - if ( $form_tags ) { - $form_tag = new WPCF7_FormTag( $form_tags[0] ); + if ( '_site_admin_email' === $field_name ) { + return get_bloginfo( 'admin_email', 'raw' ); - $is_required = $form_tag->is_required() || 'radio' === $form_tag->type; + } elseif ( '_user_agent' === $field_name ) { + return $example_text; - if ( ! $is_required ) { - return $example_blank; - } + } elseif ( '_user_email' === $field_name ) { + return $this->contact_form->is_true( 'subscribers_only' ) + ? $example_email + : $example_blank; - if ( wpcf7_form_tag_supports( $form_tag->type, 'selectable-values' ) ) { - if ( $form_tag->pipes instanceof WPCF7_Pipes ) { - if ( $mail_tag->get_option( 'do_not_heat' ) ) { - $before_pipes = $form_tag->pipes->collect_befores(); - $last_item = array_pop( $before_pipes ); - } else { - $after_pipes = $form_tag->pipes->collect_afters(); - $last_item = array_pop( $after_pipes ); - } - } else { - $last_item = array_pop( $form_tag->values ); - } + } elseif ( str_starts_with( $field_name, '_user_' ) ) { + return $this->contact_form->is_true( 'subscribers_only' ) + ? $example_text + : $example_blank; - if ( $last_item and wpcf7_is_mailbox_list( $last_item ) ) { - return $example_email; - } else { - return $example_text; - } - } + } elseif ( str_starts_with( $field_name, '_' ) ) { + return str_ends_with( $field_name, '_email' ) + ? $example_email + : $example_text; - if ( 'email' === $form_tag->basetype ) { - return $example_email; - } else { - return $example_text; - } - - } else { // maybe special mail tag - // for back-compat - $field_name = preg_replace( '/^wpcf7\./', '_', $field_name ); - - if ( '_site_admin_email' === $field_name ) { - return get_bloginfo( 'admin_email', 'raw' ); - - } elseif ( '_user_agent' === $field_name ) { - return $example_text; - - } elseif ( '_user_email' === $field_name ) { - return $this->contact_form->is_true( 'subscribers_only' ) - ? $example_email - : $example_blank; - - } elseif ( str_starts_with( $field_name, '_user_' ) ) { - return $this->contact_form->is_true( 'subscribers_only' ) - ? $example_text - : $example_blank; - - } elseif ( str_starts_with( $field_name, '_' ) ) { - return str_ends_with( $field_name, '_email' ) - ? $example_email - : $example_text; - - } } - return $tag; + static $opcalcset = array(); + + if ( ! isset( $opcalcset[$this->contact_form->id()] ) ) { + $opcalcset[$this->contact_form->id()] = + new WPCF7_MailTag_OutputCalculator( $this->contact_form ); + } + + $opcalc = $opcalcset[$this->contact_form->id()]; + $op = $opcalc->calc_output( $mail_tag ); + + if ( WPCF7_MailTag_OutputCalculator::email === $op ) { + return $example_email; + } elseif ( ! ( WPCF7_MailTag_OutputCalculator::blank & $op ) ) { + return $example_text; + } else { + return $example_blank; + } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/contact-form.php b/wp/wp-content/plugins/contact-form-7/includes/contact-form.php index 8070918b..ad18e681 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/contact-form.php +++ b/wp/wp-content/plugins/contact-form-7/includes/contact-form.php @@ -3,6 +3,7 @@ class WPCF7_ContactForm { use WPCF7_SWV_SchemaHolder; + use WPCF7_PipesHolder; const post_type = 'wpcf7_contact_form'; diff --git a/wp/wp-content/plugins/contact-form-7/includes/controller.php b/wp/wp-content/plugins/contact-form-7/includes/controller.php index 09997c80..f68d4ab1 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/controller.php +++ b/wp/wp-content/plugins/contact-form-7/includes/controller.php @@ -54,7 +54,7 @@ add_action( array( 'swv' ) ), $assets['version'], - true + array( 'in_footer' => true ) ); wp_register_script( @@ -62,7 +62,7 @@ add_action( wpcf7_plugin_url( 'includes/js/html5-fallback.js' ), array( 'jquery-ui-datepicker' ), WPCF7_VERSION, - true + array( 'in_footer' => true ) ); if ( wpcf7_load_js() ) { diff --git a/wp/wp-content/plugins/contact-form-7/includes/file.php b/wp/wp-content/plugins/contact-form-7/includes/file.php index c81af14c..2047b984 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/file.php +++ b/wp/wp-content/plugins/contact-form-7/includes/file.php @@ -34,13 +34,15 @@ function wpcf7_unship_uploaded_file( $file, $args = '' ) { } if ( isset( $args['schema'] ) and isset( $args['name'] ) ) { - $result = $args['schema']->validate( array( + $context = array( 'file' => true, 'field' => $args['name'], - ) ); + ); - if ( is_wp_error( $result ) ) { - return $result; + foreach ( $args['schema']->validate( $context ) as $result ) { + if ( is_wp_error( $result ) ) { + return $result; + } } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/integration.php b/wp/wp-content/plugins/contact-form-7/includes/integration.php index a3e08eef..201562ff 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/integration.php +++ b/wp/wp-content/plugins/contact-form-7/includes/integration.php @@ -141,6 +141,8 @@ class WPCF7_Integration {

get_title() ); ?>

+
+link(); ?>

@@ -247,8 +249,8 @@ class WPCF7_Service_OAuth2 extends WPCF7_Service { public function load( $action = '' ) { - if ( 'auth_redirect' == $action ) { - $code = isset( $_GET['code'] ) ? $_GET['code'] : ''; + if ( 'auth_redirect' === $action ) { + $code = $_GET['code'] ?? ''; if ( $code ) { $this->request_token( $code ); diff --git a/wp/wp-content/plugins/contact-form-7/includes/js/index.js b/wp/wp-content/plugins/contact-form-7/includes/js/index.js index e4944116..a8e68649 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/js/index.js +++ b/wp/wp-content/plugins/contact-form-7/includes/js/index.js @@ -1 +1 @@ -!function(){"use strict";const e=e=>Math.abs(parseInt(e,10)),t=(e,t,a)=>{const n=new CustomEvent(`wpcf7${t}`,{bubbles:!0,detail:a});"string"==typeof e&&(e=document.querySelector(e)),e.dispatchEvent(n)},a=(e,a)=>{const n=new Map([["init","init"],["validation_failed","invalid"],["acceptance_missing","unaccepted"],["spam","spam"],["aborted","aborted"],["mail_sent","sent"],["mail_failed","failed"],["submitting","submitting"],["resetting","resetting"],["validating","validating"],["payment_required","payment-required"]]);n.has(a)&&(a=n.get(a)),Array.from(n.values()).includes(a)||(a=`custom-${a=(a=a.replace(/[^0-9a-z]+/i," ").trim()).replace(/\s+/,"-")}`);const r=e.getAttribute("data-status");if(e.wpcf7.status=a,e.setAttribute("data-status",a),e.classList.add(a),r&&r!==a){e.classList.remove(r);const a={contactFormId:e.wpcf7.id,pluginVersion:e.wpcf7.pluginVersion,contactFormLocale:e.wpcf7.locale,unitTag:e.wpcf7.unitTag,containerPostId:e.wpcf7.containerPost,status:e.wpcf7.status,prevStatus:r};t(e,"statuschanged",a)}return a},n=e=>{const{root:t,namespace:a="contact-form-7/v1"}=wpcf7.api;return r.reduceRight(((e,t)=>a=>t(a,e)),(e=>{let n,r,{url:o,path:c,endpoint:s,headers:i,body:l,data:d,...p}=e;"string"==typeof s&&(n=a.replace(/^\/|\/$/g,""),r=s.replace(/^\//,""),c=r?n+"/"+r:n),"string"==typeof c&&(-1!==t.indexOf("?")&&(c=c.replace("?","&")),c=c.replace(/^\//,""),o=t+c),i={Accept:"application/json, */*;q=0.1",...i},delete i["X-WP-Nonce"],d&&(l=JSON.stringify(d),i["Content-Type"]="application/json");const u={code:"fetch_error",message:"You are probably offline."},f={code:"invalid_json",message:"The response is not a valid JSON response."};return window.fetch(o||c||window.location.href,{...p,headers:i,body:l}).then((e=>Promise.resolve(e).then((e=>{if(e.status>=200&&e.status<300)return e;throw e})).then((e=>{if(204===e.status)return null;if(e&&e.json)return e.json().catch((()=>{throw f}));throw f}))),(()=>{throw u}))}))(e)},r=[];function o(e,t={}){var n;const{target:r,scope:o=e,...l}=t;if(void 0===e.wpcf7?.schema)return;const d={...e.wpcf7.schema};if(void 0!==r){if(!e.contains(r))return;if(!r.closest(".wpcf7-form-control-wrap[data-name]"))return;if(r.closest(".novalidate"))return}const p=new FormData,u=[];for(const e of o.querySelectorAll(".wpcf7-form-control-wrap"))if(!e.closest(".novalidate")&&(e.querySelectorAll(":where( input, textarea, select ):enabled").forEach((e=>{if(e.name)switch(e.type){case"button":case"image":case"reset":case"submit":break;case"checkbox":case"radio":e.checked&&p.append(e.name,e.value);break;case"select-multiple":for(const t of e.selectedOptions)p.append(e.name,t.value);break;case"file":for(const t of e.files)p.append(e.name,t);break;default:p.append(e.name,e.value)}})),e.dataset.name&&(u.push(e.dataset.name),e.setAttribute("data-under-validation","1"),e.contains(r))))break;d.rules=(null!==(n=d.rules)&&void 0!==n?n:[]).filter((({field:e})=>u.includes(e)));const f=e.getAttribute("data-status");Promise.resolve(a(e,"validating")).then((a=>{if(void 0!==swv){const a=swv.validate(d,p,t);for(const[t,{error:n,validInputs:r}]of a)s(e,t),void 0!==n&&c(e,t,n,{scope:o}),i(e,t,null!=r?r:[])}})).finally((()=>{a(e,f),e.querySelectorAll(".wpcf7-form-control-wrap[data-under-validation]").forEach((e=>{e.removeAttribute("data-under-validation")}))}))}n.use=e=>{r.unshift(e)};const c=(e,t,a,n)=>{const{scope:r=e,...o}=null!=n?n:{},c=`${e.wpcf7?.unitTag}-ve-${t}`.replaceAll(/[^0-9a-z_-]+/gi,""),s=e.querySelector(`.wpcf7-form-control-wrap[data-name="${t}"] .wpcf7-form-control`);(()=>{const t=document.createElement("li");t.setAttribute("id",c),s&&s.id?t.insertAdjacentHTML("beforeend",`${a}`):t.insertAdjacentText("beforeend",a),e.wpcf7.parent.querySelector(".screen-reader-response ul").appendChild(t)})(),r.querySelectorAll(`.wpcf7-form-control-wrap[data-name="${t}"]`).forEach((t=>{if("validating"===e.getAttribute("data-status")&&!t.dataset.underValidation)return;const n=document.createElement("span");n.classList.add("wpcf7-not-valid-tip"),n.setAttribute("aria-hidden","true"),n.insertAdjacentText("beforeend",a),t.appendChild(n),t.querySelectorAll("[aria-invalid]").forEach((e=>{e.setAttribute("aria-invalid","true")})),t.querySelectorAll(".wpcf7-form-control").forEach((e=>{e.classList.add("wpcf7-not-valid"),e.setAttribute("aria-describedby",c),"function"==typeof e.setCustomValidity&&e.setCustomValidity(a),e.closest(".use-floating-validation-tip")&&(e.addEventListener("focus",(e=>{n.setAttribute("style","display: none")})),n.addEventListener("click",(e=>{n.setAttribute("style","display: none")})))}))}))},s=(e,t)=>{const a=`${e.wpcf7?.unitTag}-ve-${t}`.replaceAll(/[^0-9a-z_-]+/gi,"");e.wpcf7.parent.querySelector(`.screen-reader-response ul li#${a}`)?.remove(),e.querySelectorAll(`.wpcf7-form-control-wrap[data-name="${t}"]`).forEach((e=>{e.querySelector(".wpcf7-not-valid-tip")?.remove(),e.querySelectorAll("[aria-invalid]").forEach((e=>{e.setAttribute("aria-invalid","false")})),e.querySelectorAll(".wpcf7-form-control").forEach((e=>{e.removeAttribute("aria-describedby"),e.classList.remove("wpcf7-not-valid"),"function"==typeof e.setCustomValidity&&e.setCustomValidity("")}))}))},i=(e,t,a)=>{e.querySelectorAll(`[data-reflection-of="${t}"]`).forEach((e=>{if("output"===e.tagName.toLowerCase()){const t=e;0===a.length&&a.push(t.dataset.default),a.slice(0,1).forEach((e=>{e instanceof File&&(e=e.name),t.textContent=e}))}else e.querySelectorAll("output").forEach((e=>{e.hasAttribute("data-default")?0===a.length?e.removeAttribute("hidden"):e.setAttribute("hidden","hidden"):e.remove()})),a.forEach((a=>{a instanceof File&&(a=a.name);const n=document.createElement("output");n.setAttribute("name",t),n.textContent=a,e.appendChild(n)}))}))};function l(e,r={}){if(wpcf7.blocked)return d(e),void a(e,"submitting");const o=new FormData(e);r.submitter&&r.submitter.name&&o.append(r.submitter.name,r.submitter.value);const s={contactFormId:e.wpcf7.id,pluginVersion:e.wpcf7.pluginVersion,contactFormLocale:e.wpcf7.locale,unitTag:e.wpcf7.unitTag,containerPostId:e.wpcf7.containerPost,status:e.wpcf7.status,inputs:Array.from(o,(e=>{const t=e[0],a=e[1];return!t.match(/^_/)&&{name:t,value:a}})).filter((e=>!1!==e)),formData:o};n({endpoint:`contact-forms/${e.wpcf7.id}/feedback`,method:"POST",body:o,wpcf7:{endpoint:"feedback",form:e,detail:s}}).then((n=>{const r=a(e,n.status);return s.status=n.status,s.apiResponse=n,["invalid","unaccepted","spam","aborted"].includes(r)?t(e,r,s):["sent","failed"].includes(r)&&t(e,`mail${r}`,s),t(e,"submit",s),n})).then((t=>{t.posted_data_hash&&(e.querySelector('input[name="_wpcf7_posted_data_hash"]').value=t.posted_data_hash),"mail_sent"===t.status&&(e.reset(),e.wpcf7.resetOnMailSent=!0),t.invalid_fields&&t.invalid_fields.forEach((t=>{c(e,t.field,t.message)})),e.wpcf7.parent.querySelector('.screen-reader-response [role="status"]').insertAdjacentText("beforeend",t.message),e.querySelectorAll(".wpcf7-response-output").forEach((e=>{e.innerText=t.message}))})).catch((e=>console.error(e)))}n.use(((e,n)=>{if(e.wpcf7&&"feedback"===e.wpcf7.endpoint){const{form:n,detail:r}=e.wpcf7;d(n),t(n,"beforesubmit",r),a(n,"submitting")}return n(e)}));const d=e=>{e.querySelectorAll(".wpcf7-form-control-wrap").forEach((t=>{t.dataset.name&&s(e,t.dataset.name)})),e.wpcf7.parent.querySelector('.screen-reader-response [role="status"]').innerText="",e.querySelectorAll(".wpcf7-response-output").forEach((e=>{e.innerText=""}))};function p(e){const r=new FormData(e),o={contactFormId:e.wpcf7.id,pluginVersion:e.wpcf7.pluginVersion,contactFormLocale:e.wpcf7.locale,unitTag:e.wpcf7.unitTag,containerPostId:e.wpcf7.containerPost,status:e.wpcf7.status,inputs:Array.from(r,(e=>{const t=e[0],a=e[1];return!t.match(/^_/)&&{name:t,value:a}})).filter((e=>!1!==e)),formData:r};n({endpoint:`contact-forms/${e.wpcf7.id}/refill`,method:"GET",wpcf7:{endpoint:"refill",form:e,detail:o}}).then((n=>{e.wpcf7.resetOnMailSent?(delete e.wpcf7.resetOnMailSent,a(e,"mail_sent")):a(e,"init"),o.apiResponse=n,t(e,"reset",o)})).catch((e=>console.error(e)))}n.use(((e,t)=>{if(e.wpcf7&&"refill"===e.wpcf7.endpoint){const{form:t,detail:n}=e.wpcf7;d(t),a(t,"resetting")}return t(e)}));const u=(e,t)=>{for(const a in t){const n=t[a];e.querySelectorAll(`input[name="${a}"]`).forEach((e=>{e.value=""})),e.querySelectorAll(`img.wpcf7-captcha-${a.replaceAll(":","")}`).forEach((e=>{e.setAttribute("src",n)}));const r=/([0-9]+)\.(png|gif|jpeg)$/.exec(n);r&&e.querySelectorAll(`input[name="_wpcf7_captcha_challenge_${a}"]`).forEach((e=>{e.value=r[1]}))}},f=(e,t)=>{for(const a in t){const n=t[a][0],r=t[a][1];e.querySelectorAll(`.wpcf7-form-control-wrap[data-name="${a}"]`).forEach((e=>{e.querySelector(`input[name="${a}"]`).value="",e.querySelector(".wpcf7-quiz-label").textContent=n,e.querySelector(`input[name="_wpcf7_quiz_answer_${a}"]`).value=r}))}};function m(t){const a=new FormData(t);t.wpcf7={id:e(a.get("_wpcf7")),status:t.getAttribute("data-status"),pluginVersion:a.get("_wpcf7_version"),locale:a.get("_wpcf7_locale"),unitTag:a.get("_wpcf7_unit_tag"),containerPost:e(a.get("_wpcf7_container_post")),parent:t.closest(".wpcf7"),schema:void 0},t.querySelectorAll(".has-spinner").forEach((e=>{e.insertAdjacentHTML("afterend",'')})),(e=>{e.querySelectorAll(".wpcf7-exclusive-checkbox").forEach((t=>{t.addEventListener("change",(t=>{const a=t.target.getAttribute("name");e.querySelectorAll(`input[type="checkbox"][name="${a}"]`).forEach((e=>{e!==t.target&&(e.checked=!1)}))}))}))})(t),(e=>{e.querySelectorAll(".has-free-text").forEach((t=>{const a=t.querySelector("input.wpcf7-free-text"),n=t.querySelector('input[type="checkbox"], input[type="radio"]');a.disabled=!n.checked,e.addEventListener("change",(e=>{a.disabled=!n.checked,e.target===n&&n.checked&&a.focus()}))}))})(t),(e=>{e.querySelectorAll(".wpcf7-validates-as-url").forEach((e=>{e.addEventListener("change",(t=>{let a=e.value.trim();a&&!a.match(/^[a-z][a-z0-9.+-]*:/i)&&-1!==a.indexOf(".")&&(a=a.replace(/^\/+/,""),a="http://"+a),e.value=a}))}))})(t),(e=>{if(!e.querySelector(".wpcf7-acceptance")||e.classList.contains("wpcf7-acceptance-as-validation"))return;const t=()=>{let t=!0;e.querySelectorAll(".wpcf7-acceptance").forEach((e=>{if(!t||e.classList.contains("optional"))return;const a=e.querySelector('input[type="checkbox"]');(e.classList.contains("invert")&&a.checked||!e.classList.contains("invert")&&!a.checked)&&(t=!1)})),e.querySelectorAll(".wpcf7-submit").forEach((e=>{e.disabled=!t}))};t(),e.addEventListener("change",(e=>{t()})),e.addEventListener("wpcf7reset",(e=>{t()}))})(t),(t=>{const a=(t,a)=>{const n=e(t.getAttribute("data-starting-value")),r=e(t.getAttribute("data-maximum-value")),o=e(t.getAttribute("data-minimum-value")),c=t.classList.contains("down")?n-a.value.length:a.value.length;t.setAttribute("data-current-value",c),t.innerText=c,r&&r{e={init:!1,...e},t.querySelectorAll(".wpcf7-character-count").forEach((n=>{const r=n.getAttribute("data-target-name"),o=t.querySelector(`[name="${r}"]`);o&&(o.value=o.defaultValue,a(n,o),e.init&&o.addEventListener("keyup",(e=>{a(n,o)})))}))};n({init:!0}),t.addEventListener("wpcf7reset",(e=>{n()}))})(t),window.addEventListener("load",(e=>{wpcf7.cached&&t.reset()})),t.addEventListener("reset",(e=>{wpcf7.reset(t)})),t.addEventListener("submit",(e=>{wpcf7.submit(t,{submitter:e.submitter}),e.preventDefault()})),t.addEventListener("wpcf7submit",(e=>{e.detail.apiResponse.captcha&&u(t,e.detail.apiResponse.captcha),e.detail.apiResponse.quiz&&f(t,e.detail.apiResponse.quiz)})),t.addEventListener("wpcf7reset",(e=>{e.detail.apiResponse.captcha&&u(t,e.detail.apiResponse.captcha),e.detail.apiResponse.quiz&&f(t,e.detail.apiResponse.quiz)})),n({endpoint:`contact-forms/${t.wpcf7.id}/feedback/schema`,method:"GET"}).then((e=>{t.wpcf7.schema=e})),t.addEventListener("change",(e=>{e.target.closest(".wpcf7-form-control")&&wpcf7.validate(t,{target:e.target})})),t.addEventListener("wpcf7statuschanged",(e=>{const a=e.detail.status;t.querySelectorAll(".active-on-any").forEach((e=>{e.removeAttribute("inert"),e.classList.remove("active-on-any")})),t.querySelectorAll(`.inert-on-${a}`).forEach((e=>{e.setAttribute("inert","inert"),e.classList.add("active-on-any")}))}))}document.addEventListener("DOMContentLoaded",(e=>{var t;"undefined"!=typeof wpcf7?void 0!==wpcf7.api?"function"==typeof window.fetch?"function"==typeof window.FormData?"function"==typeof NodeList.prototype.forEach?"function"==typeof String.prototype.replaceAll?(wpcf7={init:m,submit:l,reset:p,validate:o,...null!==(t=wpcf7)&&void 0!==t?t:{}},document.querySelectorAll(".wpcf7 > form").forEach((e=>{wpcf7.init(e),e.closest(".wpcf7").classList.replace("no-js","js")}))):console.error("Your browser does not support String.replaceAll()."):console.error("Your browser does not support NodeList.forEach()."):console.error("Your browser does not support window.FormData()."):console.error("Your browser does not support window.fetch()."):console.error("wpcf7.api is not defined."):console.error("wpcf7 is not defined.")}))}(); \ No newline at end of file +(()=>{"use strict";const e=e=>Math.abs(parseInt(e,10)),t=(e,t,a)=>{const n=new CustomEvent(`wpcf7${t}`,{bubbles:!0,detail:a});"string"==typeof e&&(e=document.querySelector(e)),e.dispatchEvent(n)},a=(e,a)=>{const n=new Map([["init","init"],["validation_failed","invalid"],["acceptance_missing","unaccepted"],["spam","spam"],["aborted","aborted"],["mail_sent","sent"],["mail_failed","failed"],["submitting","submitting"],["resetting","resetting"],["validating","validating"],["payment_required","payment-required"]]);n.has(a)&&(a=n.get(a)),Array.from(n.values()).includes(a)||(a=`custom-${a=(a=a.replace(/[^0-9a-z]+/i," ").trim()).replace(/\s+/,"-")}`);const r=e.getAttribute("data-status");if(e.wpcf7.status=a,e.setAttribute("data-status",a),e.classList.add(a),r&&r!==a){e.classList.remove(r);const a={contactFormId:e.wpcf7.id,pluginVersion:e.wpcf7.pluginVersion,contactFormLocale:e.wpcf7.locale,unitTag:e.wpcf7.unitTag,containerPostId:e.wpcf7.containerPost,status:e.wpcf7.status,prevStatus:r};t(e,"statuschanged",a)}return a},n=e=>{const{root:t,namespace:a="contact-form-7/v1"}=wpcf7.api;return r.reduceRight(((e,t)=>a=>t(a,e)),(e=>{let n,r,{url:o,path:c,endpoint:s,headers:i,body:l,data:p,...d}=e;"string"==typeof s&&(n=a.replace(/^\/|\/$/g,""),r=s.replace(/^\//,""),c=r?n+"/"+r:n),"string"==typeof c&&(-1!==t.indexOf("?")&&(c=c.replace("?","&")),c=c.replace(/^\//,""),o=t+c),i={Accept:"application/json, */*;q=0.1",...i},delete i["X-WP-Nonce"],p&&(l=JSON.stringify(p),i["Content-Type"]="application/json");const u={code:"fetch_error",message:"You are probably offline."},f={code:"invalid_json",message:"The response is not a valid JSON response."};return window.fetch(o||c||window.location.href,{...d,headers:i,body:l}).then((e=>Promise.resolve(e).then((e=>{if(e.status>=200&&e.status<300)return e;throw e})).then((e=>{if(204===e.status)return null;if(e&&e.json)return e.json().catch((()=>{throw f}));throw f}))),(()=>{throw u}))}))(e)},r=[];function o(e,t={}){const{target:n,scope:r=e,...o}=t;if(void 0===e.wpcf7?.schema)return;const l={...e.wpcf7.schema};if(void 0!==n){if(!e.contains(n))return;if(!n.closest(".wpcf7-form-control-wrap[data-name]"))return;if(n.closest(".novalidate"))return}const p=r.querySelectorAll(".wpcf7-form-control-wrap"),d=Array.from(p).reduce(((e,t)=>(t.closest(".novalidate")||t.querySelectorAll(":where( input, textarea, select ):enabled").forEach((t=>{if(t.name)switch(t.type){case"button":case"image":case"reset":case"submit":break;case"checkbox":case"radio":t.checked&&e.append(t.name,t.value);break;case"select-multiple":for(const a of t.selectedOptions)e.append(t.name,a.value);break;case"file":for(const a of t.files)e.append(t.name,a);break;default:e.append(t.name,t.value)}})),e)),new FormData),u=e.getAttribute("data-status");Promise.resolve(a(e,"validating")).then((a=>{if(void 0!==swv){const a=swv.validate(l,d,t);for(const t of p){if(void 0===t.dataset.name)continue;const o=t.dataset.name;if(a.has(o)){const{error:t,validInputs:n}=a.get(o);s(e,o),void 0!==t&&c(e,o,t,{scope:r}),i(e,o,null!=n?n:[])}if(t.contains(n))break}}})).finally((()=>{a(e,u)}))}n.use=e=>{r.unshift(e)};const c=(e,t,a,n)=>{const{scope:r=e,...o}=null!=n?n:{},c=`${e.wpcf7?.unitTag}-ve-${t}`.replaceAll(/[^0-9a-z_-]+/gi,""),s=e.querySelector(`.wpcf7-form-control-wrap[data-name="${t}"] .wpcf7-form-control`);(()=>{const t=document.createElement("li");t.setAttribute("id",c),s&&s.id?t.insertAdjacentHTML("beforeend",`${a}`):t.insertAdjacentText("beforeend",a),e.wpcf7.parent.querySelector(".screen-reader-response ul").appendChild(t)})(),r.querySelectorAll(`.wpcf7-form-control-wrap[data-name="${t}"]`).forEach((e=>{const t=document.createElement("span");t.classList.add("wpcf7-not-valid-tip"),t.setAttribute("aria-hidden","true"),t.insertAdjacentText("beforeend",a),e.appendChild(t),e.querySelectorAll("[aria-invalid]").forEach((e=>{e.setAttribute("aria-invalid","true")})),e.querySelectorAll(".wpcf7-form-control").forEach((e=>{e.classList.add("wpcf7-not-valid"),e.setAttribute("aria-describedby",c),"function"==typeof e.setCustomValidity&&e.setCustomValidity(a),e.closest(".use-floating-validation-tip")&&(e.addEventListener("focus",(e=>{t.setAttribute("style","display: none")})),t.addEventListener("click",(e=>{t.setAttribute("style","display: none")})))}))}))},s=(e,t)=>{const a=`${e.wpcf7?.unitTag}-ve-${t}`.replaceAll(/[^0-9a-z_-]+/gi,"");e.wpcf7.parent.querySelector(`.screen-reader-response ul li#${a}`)?.remove(),e.querySelectorAll(`.wpcf7-form-control-wrap[data-name="${t}"]`).forEach((e=>{e.querySelector(".wpcf7-not-valid-tip")?.remove(),e.querySelectorAll("[aria-invalid]").forEach((e=>{e.setAttribute("aria-invalid","false")})),e.querySelectorAll(".wpcf7-form-control").forEach((e=>{e.removeAttribute("aria-describedby"),e.classList.remove("wpcf7-not-valid"),"function"==typeof e.setCustomValidity&&e.setCustomValidity("")}))}))},i=(e,t,a)=>{e.querySelectorAll(`[data-reflection-of="${t}"]`).forEach((e=>{if("output"===e.tagName.toLowerCase()){const t=e;0===a.length&&a.push(t.dataset.default),a.slice(0,1).forEach((e=>{e instanceof File&&(e=e.name),t.textContent=e}))}else e.querySelectorAll("output").forEach((e=>{e.hasAttribute("data-default")?0===a.length?e.removeAttribute("hidden"):e.setAttribute("hidden","hidden"):e.remove()})),a.forEach((a=>{a instanceof File&&(a=a.name);const n=document.createElement("output");n.setAttribute("name",t),n.textContent=a,e.appendChild(n)}))}))};function l(e,r={}){if(wpcf7.blocked)return p(e),void a(e,"submitting");const o=new FormData(e);r.submitter&&r.submitter.name&&o.append(r.submitter.name,r.submitter.value);const s={contactFormId:e.wpcf7.id,pluginVersion:e.wpcf7.pluginVersion,contactFormLocale:e.wpcf7.locale,unitTag:e.wpcf7.unitTag,containerPostId:e.wpcf7.containerPost,status:e.wpcf7.status,inputs:Array.from(o,(e=>{const t=e[0],a=e[1];return!t.match(/^_/)&&{name:t,value:a}})).filter((e=>!1!==e)),formData:o};n({endpoint:`contact-forms/${e.wpcf7.id}/feedback`,method:"POST",body:o,wpcf7:{endpoint:"feedback",form:e,detail:s}}).then((n=>{const r=a(e,n.status);return s.status=n.status,s.apiResponse=n,["invalid","unaccepted","spam","aborted"].includes(r)?t(e,r,s):["sent","failed"].includes(r)&&t(e,`mail${r}`,s),t(e,"submit",s),n})).then((t=>{t.posted_data_hash&&(e.querySelector('input[name="_wpcf7_posted_data_hash"]').value=t.posted_data_hash),"mail_sent"===t.status&&(e.reset(),e.wpcf7.resetOnMailSent=!0),t.invalid_fields&&t.invalid_fields.forEach((t=>{c(e,t.field,t.message)})),e.wpcf7.parent.querySelector('.screen-reader-response [role="status"]').insertAdjacentText("beforeend",t.message),e.querySelectorAll(".wpcf7-response-output").forEach((e=>{e.innerText=t.message}))})).catch((e=>console.error(e)))}n.use(((e,n)=>{if(e.wpcf7&&"feedback"===e.wpcf7.endpoint){const{form:n,detail:r}=e.wpcf7;p(n),t(n,"beforesubmit",r),a(n,"submitting")}return n(e)}));const p=e=>{e.querySelectorAll(".wpcf7-form-control-wrap").forEach((t=>{t.dataset.name&&s(e,t.dataset.name)})),e.wpcf7.parent.querySelector('.screen-reader-response [role="status"]').innerText="",e.querySelectorAll(".wpcf7-response-output").forEach((e=>{e.innerText=""}))};function d(e){const r=new FormData(e),o={contactFormId:e.wpcf7.id,pluginVersion:e.wpcf7.pluginVersion,contactFormLocale:e.wpcf7.locale,unitTag:e.wpcf7.unitTag,containerPostId:e.wpcf7.containerPost,status:e.wpcf7.status,inputs:Array.from(r,(e=>{const t=e[0],a=e[1];return!t.match(/^_/)&&{name:t,value:a}})).filter((e=>!1!==e)),formData:r};n({endpoint:`contact-forms/${e.wpcf7.id}/refill`,method:"GET",wpcf7:{endpoint:"refill",form:e,detail:o}}).then((n=>{e.wpcf7.resetOnMailSent?(delete e.wpcf7.resetOnMailSent,a(e,"mail_sent")):a(e,"init"),o.apiResponse=n,t(e,"reset",o)})).catch((e=>console.error(e)))}n.use(((e,t)=>{if(e.wpcf7&&"refill"===e.wpcf7.endpoint){const{form:t,detail:n}=e.wpcf7;p(t),a(t,"resetting")}return t(e)}));const u=(e,t)=>{for(const a in t){const n=t[a];e.querySelectorAll(`input[name="${a}"]`).forEach((e=>{e.value=""})),e.querySelectorAll(`img.wpcf7-captcha-${a.replaceAll(":","")}`).forEach((e=>{e.setAttribute("src",n)}));const r=/([0-9]+)\.(png|gif|jpeg)$/.exec(n);r&&e.querySelectorAll(`input[name="_wpcf7_captcha_challenge_${a}"]`).forEach((e=>{e.value=r[1]}))}},f=(e,t)=>{for(const a in t){const n=t[a][0],r=t[a][1];e.querySelectorAll(`.wpcf7-form-control-wrap[data-name="${a}"]`).forEach((e=>{e.querySelector(`input[name="${a}"]`).value="",e.querySelector(".wpcf7-quiz-label").textContent=n,e.querySelector(`input[name="_wpcf7_quiz_answer_${a}"]`).value=r}))}};function m(t){const a=new FormData(t);t.wpcf7={id:e(a.get("_wpcf7")),status:t.getAttribute("data-status"),pluginVersion:a.get("_wpcf7_version"),locale:a.get("_wpcf7_locale"),unitTag:a.get("_wpcf7_unit_tag"),containerPost:e(a.get("_wpcf7_container_post")),parent:t.closest(".wpcf7"),get schema(){return wpcf7.schemas.get(this.id)}},wpcf7.schemas.set(t.wpcf7.id,void 0),t.querySelectorAll(".has-spinner").forEach((e=>{e.insertAdjacentHTML("afterend",'')})),(e=>{e.querySelectorAll(".wpcf7-exclusive-checkbox").forEach((t=>{t.addEventListener("change",(t=>{const a=t.target.getAttribute("name");e.querySelectorAll(`input[type="checkbox"][name="${a}"]`).forEach((e=>{e!==t.target&&(e.checked=!1)}))}))}))})(t),(e=>{e.querySelectorAll(".has-free-text").forEach((t=>{const a=t.querySelector("input.wpcf7-free-text"),n=t.querySelector('input[type="checkbox"], input[type="radio"]');a.disabled=!n.checked,e.addEventListener("change",(e=>{a.disabled=!n.checked,e.target===n&&n.checked&&a.focus()}))}))})(t),(e=>{e.querySelectorAll(".wpcf7-validates-as-url").forEach((e=>{e.addEventListener("change",(t=>{let a=e.value.trim();a&&!a.match(/^[a-z][a-z0-9.+-]*:/i)&&-1!==a.indexOf(".")&&(a=a.replace(/^\/+/,""),a="http://"+a),e.value=a}))}))})(t),(e=>{if(!e.querySelector(".wpcf7-acceptance")||e.classList.contains("wpcf7-acceptance-as-validation"))return;const t=()=>{let t=!0;e.querySelectorAll(".wpcf7-acceptance").forEach((e=>{if(!t||e.classList.contains("optional"))return;const a=e.querySelector('input[type="checkbox"]');(e.classList.contains("invert")&&a.checked||!e.classList.contains("invert")&&!a.checked)&&(t=!1)})),e.querySelectorAll(".wpcf7-submit").forEach((e=>{e.disabled=!t}))};t(),e.addEventListener("change",(e=>{t()})),e.addEventListener("wpcf7reset",(e=>{t()}))})(t),(t=>{const a=(t,a)=>{const n=e(t.getAttribute("data-starting-value")),r=e(t.getAttribute("data-maximum-value")),o=e(t.getAttribute("data-minimum-value")),c=t.classList.contains("down")?n-a.value.length:a.value.length;t.setAttribute("data-current-value",c),t.innerText=c,r&&r{e={init:!1,...e},t.querySelectorAll(".wpcf7-character-count").forEach((n=>{const r=n.getAttribute("data-target-name"),o=t.querySelector(`[name="${r}"]`);o&&(o.value=o.defaultValue,a(n,o),e.init&&o.addEventListener("keyup",(e=>{a(n,o)})))}))};n({init:!0}),t.addEventListener("wpcf7reset",(e=>{n()}))})(t),window.addEventListener("load",(e=>{wpcf7.cached&&t.reset()})),t.addEventListener("reset",(e=>{wpcf7.reset(t)})),t.addEventListener("submit",(e=>{wpcf7.submit(t,{submitter:e.submitter}),e.preventDefault()})),t.addEventListener("wpcf7submit",(e=>{e.detail.apiResponse.captcha&&u(t,e.detail.apiResponse.captcha),e.detail.apiResponse.quiz&&f(t,e.detail.apiResponse.quiz)})),t.addEventListener("wpcf7reset",(e=>{e.detail.apiResponse.captcha&&u(t,e.detail.apiResponse.captcha),e.detail.apiResponse.quiz&&f(t,e.detail.apiResponse.quiz)})),t.addEventListener("change",(e=>{e.target.closest(".wpcf7-form-control")&&wpcf7.validate(t,{target:e.target})})),t.addEventListener("wpcf7statuschanged",(e=>{const a=e.detail.status;t.querySelectorAll(".active-on-any").forEach((e=>{e.removeAttribute("inert"),e.classList.remove("active-on-any")})),t.querySelectorAll(`.inert-on-${a}`).forEach((e=>{e.setAttribute("inert","inert"),e.classList.add("active-on-any")}))}))}document.addEventListener("DOMContentLoaded",(e=>{var t;if("undefined"!=typeof wpcf7)if(void 0!==wpcf7.api)if("function"==typeof window.fetch)if("function"==typeof window.FormData)if("function"==typeof NodeList.prototype.forEach)if("function"==typeof String.prototype.replaceAll){wpcf7={init:m,submit:l,reset:d,validate:o,schemas:new Map,...null!==(t=wpcf7)&&void 0!==t?t:{}},document.querySelectorAll(".wpcf7 > form").forEach((e=>{wpcf7.init(e),e.closest(".wpcf7").classList.replace("no-js","js")}));for(const e of wpcf7.schemas.keys())n({endpoint:`contact-forms/${e}/feedback/schema`,method:"GET"}).then((t=>{wpcf7.schemas.set(e,t)}))}else console.error("Your browser does not support String.replaceAll().");else console.error("Your browser does not support NodeList.forEach().");else console.error("Your browser does not support window.FormData().");else console.error("Your browser does not support window.fetch().");else console.error("wpcf7.api is not defined.");else console.error("wpcf7 is not defined.")}))})(); \ No newline at end of file diff --git a/wp/wp-content/plugins/contact-form-7/includes/mail-tag.php b/wp/wp-content/plugins/contact-form-7/includes/mail-tag.php new file mode 100644 index 00000000..5ac7de0b --- /dev/null +++ b/wp/wp-content/plugins/contact-form-7/includes/mail-tag.php @@ -0,0 +1,197 @@ +tag = $tag; + $this->name = $this->tagname = $tagname; + + $this->options = array( + 'do_not_heat' => false, + 'format' => '', + ); + + if ( ! empty( $values ) ) { + preg_match_all( '/"[^"]*"|\'[^\']*\'/', $values, $matches ); + $this->values = wpcf7_strip_quote_deep( $matches[0] ); + } + + if ( preg_match( '/^_raw_(.+)$/', $tagname, $matches ) ) { + $this->name = trim( $matches[1] ); + $this->options['do_not_heat'] = true; + } + + if ( preg_match( '/^_format_(.+)$/', $tagname, $matches ) ) { + $this->name = trim( $matches[1] ); + $this->options['format'] = $this->values[0]; + } + } + + + /** + * Returns the name part of this mail-tag. + */ + public function tag_name() { + return $this->tagname; + } + + + /** + * Returns the form field name corresponding to this mail-tag. + */ + public function field_name() { + return strtr( $this->name, '.', '_' ); + } + + + /** + * Returns the value of the specified option. + */ + public function get_option( $option ) { + return $this->options[$option]; + } + + + /** + * Returns the values part of this mail-tag. + */ + public function values() { + return $this->values; + } + + + /** + * Retrieves the WPCF7_FormTag object that corresponds to this mail-tag. + */ + public function corresponding_form_tag() { + if ( $this->form_tag instanceof WPCF7_FormTag ) { + return $this->form_tag; + } + + if ( $submission = WPCF7_Submission::get_instance() ) { + $contact_form = $submission->get_contact_form(); + $tags = $contact_form->scan_form_tags( array( + 'name' => $this->field_name(), + 'feature' => '! zero-controls-container', + ) ); + + if ( $tags ) { + $this->form_tag = $tags[0]; + } + } + + return $this->form_tag; + } + +} + + +use Contactable\SWV; + +/** + * Mail-tag output calculator. + */ +class WPCF7_MailTag_OutputCalculator { + + const email = 0b100; + const text = 0b010; + const blank = 0b001; + + private $contact_form; + + public function __construct( WPCF7_ContactForm $contact_form ) { + $this->contact_form = $contact_form; + } + + public function calc_output( WPCF7_MailTag $mail_tag ) { + return $this->calc_swv_result( + $mail_tag, + $this->contact_form->get_schema() + ); + } + + private function calc_swv_result( WPCF7_MailTag $mail_tag, SWV\Rule $rule ) { + + if ( $rule instanceof SWV\AnyRule ) { + $result = 0b000; + + foreach ( $rule->rules() as $child_rule ) { + $result |= $this->calc_swv_result( $mail_tag, $child_rule ); + } + + return $result; + } + + if ( $rule instanceof SWV\CompositeRule ) { + $result = 0b111; + + foreach ( $rule->rules() as $child_rule ) { + $result &= $this->calc_swv_result( $mail_tag, $child_rule ); + } + + return $result; + } + + $field_prop = $rule->get_property( 'field' ); + + if ( empty( $field_prop ) or $field_prop !== $mail_tag->field_name() ) { + return self::email | self::text | self::blank; + } + + if ( $rule instanceof SWV\RequiredRule ) { + return ~ self::blank; + } + + if ( $rule instanceof SWV\EmailRule ) { + return self::email | self::blank; + } + + if ( $rule instanceof SWV\EnumRule ) { + $acceptable_values = (array) $rule->get_property( 'accept' ); + $acceptable_values = array_map( 'strval', $acceptable_values ); + $acceptable_values = array_filter( $acceptable_values ); + $acceptable_values = array_unique( $acceptable_values ); + + if ( ! $mail_tag->get_option( 'do_not_heat' ) ) { + $pipes = $this->contact_form->get_pipes( + $mail_tag->field_name() + ); + + $acceptable_values = array_map( + static function ( $val ) use ( $pipes ) { + return $pipes->do_pipe( $val ); + }, + $acceptable_values + ); + } + + $email_values = array_filter( + $acceptable_values, + 'wpcf7_is_mailbox_list' + ); + + if ( count( $email_values ) === count( $acceptable_values ) ) { + return self::email | self::blank; + } else { + return self::email | self::text | self::blank; + } + } + + return self::email | self::text | self::blank; + } + +} diff --git a/wp/wp-content/plugins/contact-form-7/includes/mail.php b/wp/wp-content/plugins/contact-form-7/includes/mail.php index 4d68fc95..bb47025e 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/mail.php +++ b/wp/wp-content/plugins/contact-form-7/includes/mail.php @@ -24,6 +24,7 @@ class WPCF7_Mail { private $name = ''; private $locale = ''; private $template = array(); + private $component = ''; private $use_html = false; private $exclude_blank = false; @@ -36,6 +37,35 @@ class WPCF7_Mail { } + /** + * Returns the name of the email template currently processed. + * + * Expected output: 'mail' or 'mail_2' + */ + public static function get_current_template_name() { + $current = self::get_current(); + + if ( $current instanceof self ) { + return $current->get_template_name(); + } + } + + + /** + * Returns the name of the email template component currently processed. + * + * Expected output: 'recipient', 'sender', 'subject', + * 'additional_headers', 'body', or 'attachments' + */ + public static function get_current_component_name() { + $current = self::get_current(); + + if ( $current instanceof self ) { + return $current->get_component_name(); + } + } + + /** * Composes and sends email based on the specified template. * @@ -86,6 +116,22 @@ class WPCF7_Mail { } + /** + * Returns the name of the email template. A wrapper method of name(). + */ + public function get_template_name() { + return $this->name(); + } + + + /** + * Returns the name of the email template component currently processed. + */ + public function get_component_name() { + return $this->component; + } + + /** * Retrieves a component from the email template. * @@ -95,8 +141,10 @@ class WPCF7_Mail { * @return string The text representation of the email component. */ public function get( $component, $replace_tags = false ) { - $use_html = ( $this->use_html && 'body' == $component ); - $exclude_blank = ( $this->exclude_blank && 'body' == $component ); + $this->component = $component; + + $use_html = ( $this->use_html && 'body' === $component ); + $exclude_blank = ( $this->exclude_blank && 'body' === $component ); $template = $this->template; $component = isset( $template[$component] ) ? $template[$component] : ''; @@ -127,6 +175,8 @@ class WPCF7_Mail { } } + $this->component = ''; + return $component; } @@ -502,9 +552,7 @@ class WPCF7_MailTaggedText { : null; if ( $mail_tag->get_option( 'do_not_heat' ) ) { - $submitted = isset( $_POST[$field_name] ) - ? wp_unslash( $_POST[$field_name] ) - : ''; + $submitted = wp_unslash( $_POST[$field_name] ?? '' ); } $replaced = $submitted; @@ -514,8 +562,12 @@ class WPCF7_MailTaggedText { $replaced = $this->format( $replaced, $format ); } + $separator = ( 'body' === WPCF7_Mail::get_current_component_name() ) + ? wp_get_list_item_separator() + : ', '; + $replaced = wpcf7_flat_join( $replaced, array( - 'separator' => wp_get_list_item_separator(), + 'separator' => $separator, ) ); if ( $html ) { @@ -578,103 +630,3 @@ class WPCF7_MailTaggedText { } } - - -/** - * Class that represents a mail-tag. - */ -class WPCF7_MailTag { - - private $tag; - private $tagname = ''; - private $name = ''; - private $options = array(); - private $values = array(); - private $form_tag = null; - - - /** - * The constructor method. - */ - public function __construct( $tag, $tagname, $values ) { - $this->tag = $tag; - $this->name = $this->tagname = $tagname; - - $this->options = array( - 'do_not_heat' => false, - 'format' => '', - ); - - if ( ! empty( $values ) ) { - preg_match_all( '/"[^"]*"|\'[^\']*\'/', $values, $matches ); - $this->values = wpcf7_strip_quote_deep( $matches[0] ); - } - - if ( preg_match( '/^_raw_(.+)$/', $tagname, $matches ) ) { - $this->name = trim( $matches[1] ); - $this->options['do_not_heat'] = true; - } - - if ( preg_match( '/^_format_(.+)$/', $tagname, $matches ) ) { - $this->name = trim( $matches[1] ); - $this->options['format'] = $this->values[0]; - } - } - - - /** - * Returns the name part of this mail-tag. - */ - public function tag_name() { - return $this->tagname; - } - - - /** - * Returns the form field name corresponding to this mail-tag. - */ - public function field_name() { - return strtr( $this->name, '.', '_' ); - } - - - /** - * Returns the value of the specified option. - */ - public function get_option( $option ) { - return $this->options[$option]; - } - - - /** - * Returns the values part of this mail-tag. - */ - public function values() { - return $this->values; - } - - - /** - * Retrieves the WPCF7_FormTag object that corresponds to this mail-tag. - */ - public function corresponding_form_tag() { - if ( $this->form_tag instanceof WPCF7_FormTag ) { - return $this->form_tag; - } - - if ( $submission = WPCF7_Submission::get_instance() ) { - $contact_form = $submission->get_contact_form(); - $tags = $contact_form->scan_form_tags( array( - 'name' => $this->field_name(), - 'feature' => '! zero-controls-container', - ) ); - - if ( $tags ) { - $this->form_tag = $tags[0]; - } - } - - return $this->form_tag; - } - -} diff --git a/wp/wp-content/plugins/contact-form-7/includes/pipe.php b/wp/wp-content/plugins/contact-form-7/includes/pipe.php index 31a3972c..7dfaef65 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/pipe.php +++ b/wp/wp-content/plugins/contact-form-7/includes/pipe.php @@ -36,8 +36,8 @@ class WPCF7_Pipes { private $pipes = array(); - public function __construct( array $texts ) { - foreach ( $texts as $text ) { + public function __construct( array $texts = null ) { + foreach ( (array) $texts as $text ) { $this->add_pipe( $text ); } } @@ -47,6 +47,10 @@ class WPCF7_Pipes { $this->pipes[] = $pipe; } + public function merge( self $another ) { + $this->pipes = array_merge( $this->pipes, $another->pipes ); + } + public function do_pipe( $input ) { $input_canonical = wpcf7_canonicalize( $input, array( 'strto' => 'as-is', @@ -109,3 +113,37 @@ class WPCF7_Pipes { ); } } + + +/** + * Trait for classes that hold cross-tag WPCF7_Pipes object. + */ +trait WPCF7_PipesHolder { + + protected $pipes; + + public function get_pipes( $field_name ) { + if ( isset( $this->pipes[$field_name] ) ) { + return $this->pipes[$field_name]; + } + + $result = new WPCF7_Pipes; + + $tags = $this->scan_form_tags( array( + 'name' => $field_name, + ) ); + + foreach ( $tags as $tag ) { + if ( $tag->pipes instanceof WPCF7_Pipes ) { + $result->merge( $tag->pipes ); + } + } + + return $this->pipes[$field_name] = $result; + } + + public function scan_form_tags() { + return array(); + } + +} diff --git a/wp/wp-content/plugins/contact-form-7/includes/submission.php b/wp/wp-content/plugins/contact-form-7/includes/submission.php index 39d89645..adadf946 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/submission.php +++ b/wp/wp-content/plugins/contact-form-7/includes/submission.php @@ -259,11 +259,7 @@ class WPCF7_Submission { * or false when no invalid field. */ public function get_invalid_field( $name ) { - if ( isset( $this->invalid_fields[$name] ) ) { - return $this->invalid_fields[$name]; - } else { - return false; - } + return $this->invalid_fields[$name] ?? false; } @@ -285,9 +281,7 @@ class WPCF7_Submission { * null otherwise. */ public function get_meta( $name ) { - if ( isset( $this->meta[$name] ) ) { - return $this->meta[$name]; - } + return $this->meta[$name] ?? null; } @@ -295,38 +289,16 @@ class WPCF7_Submission { * Collects meta information about this submission. */ private function setup_meta_data() { - $timestamp = time(); - - $remote_ip = $this->get_remote_ip_addr(); - - $remote_port = isset( $_SERVER['REMOTE_PORT'] ) - ? (int) $_SERVER['REMOTE_PORT'] : ''; - - $user_agent = isset( $_SERVER['HTTP_USER_AGENT'] ) - ? substr( $_SERVER['HTTP_USER_AGENT'], 0, 254 ) : ''; - - $url = $this->get_request_url(); - - $unit_tag = isset( $_POST['_wpcf7_unit_tag'] ) - ? wpcf7_sanitize_unit_tag( $_POST['_wpcf7_unit_tag'] ) : ''; - - $container_post_id = isset( $_POST['_wpcf7_container_post'] ) - ? (int) $_POST['_wpcf7_container_post'] : 0; - - $current_user_id = get_current_user_id(); - - $do_not_store = $this->contact_form->is_true( 'do_not_store' ); - $this->meta = array( - 'timestamp' => $timestamp, - 'remote_ip' => $remote_ip, - 'remote_port' => $remote_port, - 'user_agent' => $user_agent, - 'url' => $url, - 'unit_tag' => $unit_tag, - 'container_post_id' => $container_post_id, - 'current_user_id' => $current_user_id, - 'do_not_store' => $do_not_store, + 'timestamp' => time(), + 'remote_ip' => $this->get_remote_ip_addr(), + 'remote_port' => $_SERVER['REMOTE_PORT'] ?? '', + 'user_agent' => substr( $_SERVER['HTTP_USER_AGENT'] ?? '', 0, 254 ), + 'url' => $this->get_request_url(), + 'unit_tag' => wpcf7_sanitize_unit_tag( $_POST['_wpcf7_unit_tag'] ?? '' ), + 'container_post_id' => absint( $_POST['_wpcf7_container_post'] ?? 0 ), + 'current_user_id' => get_current_user_id(), + 'do_not_store' => $this->contact_form->is_true( 'do_not_store' ), ); return $this->meta; @@ -342,11 +314,7 @@ class WPCF7_Submission { */ public function get_posted_data( $name = '' ) { if ( ! empty( $name ) ) { - if ( isset( $this->posted_data[$name] ) ) { - return $this->posted_data[$name]; - } else { - return null; - } + return $this->posted_data[$name] ?? null; } return $this->posted_data; @@ -377,86 +345,56 @@ class WPCF7_Submission { * Constructs posted data property based on user input values. */ private function setup_posted_data() { - $posted_data = array_filter( (array) $_POST, static function ( $key ) { - return '_' !== substr( $key, 0, 1 ); - }, ARRAY_FILTER_USE_KEY ); + $posted_data = array_filter( + (array) $_POST, + static function ( $key ) { + return ! str_starts_with( $key, '_' ); + }, + ARRAY_FILTER_USE_KEY + ); $posted_data = wp_unslash( $posted_data ); $posted_data = $this->sanitize_posted_data( $posted_data ); - $tags = $this->contact_form->scan_form_tags(); + $tags = $this->contact_form->scan_form_tags( array( + 'feature' => array( + 'name-attr', + '! not-for-mail', + ), + ) ); - foreach ( (array) $tags as $tag ) { - if ( empty( $tag->name ) ) { - continue; + $tags = array_reduce( $tags, static function ( $carry, $tag ) { + if ( $tag->name and ! isset( $carry[$tag->name] ) ) { + $carry[$tag->name] = $tag; } - $type = $tag->type; - $name = $tag->name; - $pipes = $tag->pipes; + return $carry; + }, array() ); - $value_orig = $value = ''; + foreach ( $tags as $tag ) { + $value_orig = $value = $posted_data[$tag->name] ?? ''; - if ( isset( $posted_data[$name] ) ) { - $value_orig = $value = $posted_data[$name]; - } - - if ( WPCF7_USE_PIPE - and $pipes instanceof WPCF7_Pipes - and ! $pipes->zero() ) { - if ( is_array( $value_orig ) ) { - $value = array(); - - foreach ( $value_orig as $v ) { - $value[] = $pipes->do_pipe( $v ); - } - } else { - $value = $pipes->do_pipe( $value_orig ); - } - } - - if ( wpcf7_form_tag_supports( $type, 'selectable-values' ) ) { + if ( wpcf7_form_tag_supports( $tag->type, 'selectable-values' ) ) { $value = (array) $value; - if ( $tag->has_option( 'free_text' ) - and isset( $posted_data[$name . '_free_text'] ) ) { - $last_val = array_pop( $value ); + if ( WPCF7_USE_PIPE ) { + $pipes = $this->contact_form->get_pipes( $tag->name ); - list( $tied_item ) = array_slice( - WPCF7_USE_PIPE ? $tag->pipes->collect_afters() : $tag->values, - -1, 1 - ); - - list( $last_val, $tied_item ) = array_map( - static function ( $item ) { - return wpcf7_canonicalize( $item, array( - 'strto' => 'as-is', - ) ); - }, - array( $last_val, $tied_item ) - ); - - if ( $last_val === $tied_item ) { - $value[] = sprintf( '%s %s', - $last_val, - $posted_data[$name . '_free_text'] - ); - } else { - $value[] = $last_val; - } - - unset( $posted_data[$name . '_free_text'] ); + $value = array_map( static function ( $value ) use ( $pipes ) { + return $pipes->do_pipe( $value ); + }, $value ); } } - $value = apply_filters( "wpcf7_posted_data_{$type}", $value, - $value_orig, $tag + $value = apply_filters( "wpcf7_posted_data_{$tag->type}", + $value, + $value_orig, + $tag ); - $posted_data[$name] = $value; + $posted_data[$tag->name] = $value; - if ( $tag->has_option( 'consent_for:storage' ) - and empty( $posted_data[$name] ) ) { + if ( $tag->has_option( 'consent_for:storage' ) and empty( $value ) ) { $this->meta['do_not_store'] = true; } } @@ -595,8 +533,7 @@ class WPCF7_Submission { $home_url = untrailingslashit( home_url() ); if ( self::is_restful() ) { - $referer = isset( $_SERVER['HTTP_REFERER'] ) - ? trim( $_SERVER['HTTP_REFERER'] ) : ''; + $referer = trim( $_SERVER['HTTP_REFERER'] ?? '' ); if ( $referer and 0 === strpos( $referer, $home_url ) ) { @@ -758,7 +695,7 @@ class WPCF7_Submission { return true; } - $nonce = isset( $_POST['_wpnonce'] ) ? $_POST['_wpnonce'] : ''; + $nonce = $_POST['_wpnonce'] ?? ''; return wpcf7_verify_nonce( $nonce ); } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/js/index.js b/wp/wp-content/plugins/contact-form-7/includes/swv/js/index.js index a5aceb39..7bc14a76 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/js/index.js +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/js/index.js @@ -1 +1 @@ -!function(){"use strict";var t={d:function(e,n){for(var i in n)t.o(n,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function n(t){if(this.formData={},this.tree={},!(t instanceof FormData))return this;this.formData=t;const e=()=>{const t=new Map;return t.largestIndex=0,t.set=function(e,n){""===e?e=t.largestIndex++:/^[0-9]+$/.test(e)&&(e=parseInt(e),t.largestIndex<=e&&(t.largestIndex=e+1)),Map.prototype.set.call(t,e,n)},t};this.tree=e();const n=/^(?[a-z][-a-z0-9_:]*)(?(?:\[(?:[a-z][-a-z0-9_:]*|[0-9]*)\])*)/i;for(const[t,i]of this.formData){const s=t.match(n);if(s)if(""===s.groups.array)this.tree.set(s.groups.name,i);else{const t=[...s.groups.array.matchAll(/\[([a-z][-a-z0-9_:]*|[0-9]*)\]/gi)].map((([t,e])=>e));t.unshift(s.groups.name);const n=t.pop();t.reduce(((t,n)=>{if(/^[0-9]+$/.test(n)&&(n=parseInt(n)),t.get(n)instanceof Map)return t.get(n);const i=e();return t.set(n,i),i}),this.tree).set(n,i)}}}t.r(e),t.d(e,{date:function(){return f},dayofweek:function(){return h},email:function(){return a},enum:function(){return u},file:function(){return m},maxdate:function(){return z},maxfilesize:function(){return I},maxitems:function(){return v},maxlength:function(){return x},maxnumber:function(){return b},mindate:function(){return A},minfilesize:function(){return $},minitems:function(){return g},minlength:function(){return w},minnumber:function(){return y},number:function(){return c},required:function(){return o},requiredfile:function(){return r},tel:function(){return l},time:function(){return d},url:function(){return p}}),n.prototype.entries=function(){return this.tree.entries()},n.prototype.get=function(t){return this.tree.get(t)},n.prototype.getAll=function(t){if(!this.has(t))return[];const e=t=>{const n=[];if(t instanceof Map)for(const[i,s]of t)n.push(...e(s));else""!==t&&n.push(t);return n};return e(this.get(t))},n.prototype.has=function(t){return this.tree.has(t)},n.prototype.keys=function(){return this.tree.keys()},n.prototype.values=function(){return this.tree.values()};var i=n;function s({rule:t,field:e,error:n,...i}){this.rule=t,this.field=e,this.error=n,this.properties=i}const o=function(t){if(0===t.getAll(this.field).length)throw new s(this)},r=function(t){if(0===t.getAll(this.field).length)throw new s(this)},a=function(t){if(!t.getAll(this.field).every((t=>{if((t=t.trim()).length<6)return!1;if(-1===t.indexOf("@",1))return!1;if(t.indexOf("@")!==t.lastIndexOf("@"))return!1;const[e,n]=t.split("@",2);if(!/^[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]+$/.test(e))return!1;if(/\.{2,}/.test(n))return!1;if(/(?:^[ \t\n\r\0\x0B.]|[ \t\n\r\0\x0B.]$)/.test(n))return!1;const i=n.split(".");if(i.length<2)return!1;for(const t of i){if(/(?:^[ \t\n\r\0\x0B-]|[ \t\n\r\0\x0B-]$)/.test(t))return!1;if(!/^[a-z0-9-]+$/i.test(t))return!1}return!0})))throw new s(this)},p=function(t){const e=t.getAll(this.field);if(!e.every((t=>{if(""===(t=t.trim()))return!1;try{return(t=>-1!==["http","https","ftp","ftps","mailto","news","irc","irc6","ircs","gopher","nntp","feed","telnet","mms","rtsp","sms","svn","tel","fax","xmpp","webcal","urn"].indexOf(t))(new URL(t).protocol.replace(/:$/,""))}catch{return!1}})))throw new s(this)},l=function(t){if(!t.getAll(this.field).every((t=>(t=(t=t.trim()).replaceAll(/[()/.*#\s-]+/g,""),/^[+]?[0-9]+$/.test(t)))))throw new s(this)},c=function(t){if(!t.getAll(this.field).every((t=>(t=t.trim(),!!/^[-]?[0-9]+(?:[eE][+-]?[0-9]+)?$/.test(t)||!!/^[-]?(?:[0-9]+)?[.][0-9]+(?:[eE][+-]?[0-9]+)?$/.test(t)))))throw new s(this)},f=function(t){if(!t.getAll(this.field).every((t=>{if(t=t.trim(),!/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(t))return!1;const e=new Date(t);return!Number.isNaN(e.valueOf())})))throw new s(this)},d=function(t){if(!t.getAll(this.field).every((t=>{const e=t.trim().match(/^([0-9]{2})\:([0-9]{2})(?:\:([0-9]{2}))?$/);if(!e)return!1;const n=parseInt(e[1]),i=parseInt(e[2]),s=e[3]?parseInt(e[3]):0;return 0<=n&&n<=23&&0<=i&&i<=59&&0<=s&&s<=59})))throw new s(this)},m=function(t){if(!t.getAll(this.field).every((t=>t instanceof File&&this.accept?.some((e=>/^\.[a-z0-9]+$/i.test(e)?t.name.toLowerCase().endsWith(e.toLowerCase()):(t=>{const e=[],n=t.match(/^(?[a-z]+)\/(?[*]|[a-z0-9.+-]+)$/i);if(n){const t=n.groups.toplevel.toLowerCase(),i=n.groups.sub.toLowerCase();for(const[s,o]of(()=>{const t=new Map;return t.set("jpg|jpeg|jpe","image/jpeg"),t.set("gif","image/gif"),t.set("png","image/png"),t.set("bmp","image/bmp"),t.set("tiff|tif","image/tiff"),t.set("webp","image/webp"),t.set("ico","image/x-icon"),t.set("heic","image/heic"),t.set("asf|asx","video/x-ms-asf"),t.set("wmv","video/x-ms-wmv"),t.set("wmx","video/x-ms-wmx"),t.set("wm","video/x-ms-wm"),t.set("avi","video/avi"),t.set("divx","video/divx"),t.set("flv","video/x-flv"),t.set("mov|qt","video/quicktime"),t.set("mpeg|mpg|mpe","video/mpeg"),t.set("mp4|m4v","video/mp4"),t.set("ogv","video/ogg"),t.set("webm","video/webm"),t.set("mkv","video/x-matroska"),t.set("3gp|3gpp","video/3gpp"),t.set("3g2|3gp2","video/3gpp2"),t.set("txt|asc|c|cc|h|srt","text/plain"),t.set("csv","text/csv"),t.set("tsv","text/tab-separated-values"),t.set("ics","text/calendar"),t.set("rtx","text/richtext"),t.set("css","text/css"),t.set("htm|html","text/html"),t.set("vtt","text/vtt"),t.set("dfxp","application/ttaf+xml"),t.set("mp3|m4a|m4b","audio/mpeg"),t.set("aac","audio/aac"),t.set("ra|ram","audio/x-realaudio"),t.set("wav","audio/wav"),t.set("ogg|oga","audio/ogg"),t.set("flac","audio/flac"),t.set("mid|midi","audio/midi"),t.set("wma","audio/x-ms-wma"),t.set("wax","audio/x-ms-wax"),t.set("mka","audio/x-matroska"),t.set("rtf","application/rtf"),t.set("js","application/javascript"),t.set("pdf","application/pdf"),t.set("swf","application/x-shockwave-flash"),t.set("class","application/java"),t.set("tar","application/x-tar"),t.set("zip","application/zip"),t.set("gz|gzip","application/x-gzip"),t.set("rar","application/rar"),t.set("7z","application/x-7z-compressed"),t.set("exe","application/x-msdownload"),t.set("psd","application/octet-stream"),t.set("xcf","application/octet-stream"),t.set("doc","application/msword"),t.set("pot|pps|ppt","application/vnd.ms-powerpoint"),t.set("wri","application/vnd.ms-write"),t.set("xla|xls|xlt|xlw","application/vnd.ms-excel"),t.set("mdb","application/vnd.ms-access"),t.set("mpp","application/vnd.ms-project"),t.set("docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),t.set("docm","application/vnd.ms-word.document.macroEnabled.12"),t.set("dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"),t.set("dotm","application/vnd.ms-word.template.macroEnabled.12"),t.set("xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"),t.set("xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"),t.set("xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"),t.set("xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"),t.set("xltm","application/vnd.ms-excel.template.macroEnabled.12"),t.set("xlam","application/vnd.ms-excel.addin.macroEnabled.12"),t.set("pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"),t.set("pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"),t.set("ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"),t.set("ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"),t.set("potx","application/vnd.openxmlformats-officedocument.presentationml.template"),t.set("potm","application/vnd.ms-powerpoint.template.macroEnabled.12"),t.set("ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"),t.set("sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"),t.set("sldm","application/vnd.ms-powerpoint.slide.macroEnabled.12"),t.set("onetoc|onetoc2|onetmp|onepkg","application/onenote"),t.set("oxps","application/oxps"),t.set("xps","application/vnd.ms-xpsdocument"),t.set("odt","application/vnd.oasis.opendocument.text"),t.set("odp","application/vnd.oasis.opendocument.presentation"),t.set("ods","application/vnd.oasis.opendocument.spreadsheet"),t.set("odg","application/vnd.oasis.opendocument.graphics"),t.set("odc","application/vnd.oasis.opendocument.chart"),t.set("odb","application/vnd.oasis.opendocument.database"),t.set("odf","application/vnd.oasis.opendocument.formula"),t.set("wp|wpd","application/wordperfect"),t.set("key","application/vnd.apple.keynote"),t.set("numbers","application/vnd.apple.numbers"),t.set("pages","application/vnd.apple.pages"),t})())("*"===i&&o.startsWith(t+"/")||o===n[0])&&e.push(...s.split("|"))}return e})(e).some((e=>(e="."+e.trim(),t.name.toLowerCase().endsWith(e.toLowerCase())))))))))throw new s(this)},u=function(t){if(!t.getAll(this.field).every((t=>this.accept?.some((e=>t===String(e))))))throw new s(this)},h=function(t){if(!t.getAll(this.field).every((t=>{const e=0===(n=new Date(t).getDay())?7:n;var n;return this.accept?.some((t=>e===parseInt(t)))})))throw new s(this)},g=function(t){if(t.getAll(this.field).length{"string"==typeof t&&(n+=t.length)})),0!==n&&n{"string"==typeof t&&(n+=t.length)})),parseInt(this.threshold)!(parseFloat(t)!(parseFloat(this.threshold)(t=t.trim(),!(/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(t)&&/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(this.threshold)&&t(t=t.trim(),!(/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(t)&&/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(this.threshold)&&this.threshold{t instanceof File&&(n+=t.size)})),n{t instanceof File&&(n+=t.size)})),parseInt(this.threshold){const r=(t.rules??[]).filter((({rule:t,...n})=>"function"==typeof e[t]&&("function"!=typeof e[t].matches||e[t].matches(n,o))));if(!r.length)return new Map;const a=new i(n),p=r.reduce(((t,n)=>{const{rule:i,...o}=n;if(t.get(o.field)?.error)return t;try{e[i].call({rule:i,...o},a)}catch(e){if(e instanceof s)return t.set(o.field,e)}return t}),new Map);for(const t of a.keys())p.has(t)||p.set(t,{validInputs:a.getAll(t)});return p},...null!==(E=window.swv)&&void 0!==E?E:{}}}(); \ No newline at end of file +(()=>{"use strict";var t={d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function i(t){if(this.formData={},this.tree={},!(t instanceof FormData))return this;this.formData=t;const e=()=>{const t=new Map;return t.largestIndex=0,t.set=function(e,i){""===e?e=t.largestIndex++:/^[0-9]+$/.test(e)&&(e=parseInt(e),t.largestIndex<=e&&(t.largestIndex=e+1)),Map.prototype.set.call(t,e,i)},t};this.tree=e();const i=/^(?[a-z][-a-z0-9_:]*)(?(?:\[(?:[a-z][-a-z0-9_:]*|[0-9]*)\])*)/i;for(const[t,s]of this.formData){const o=t.match(i);if(o)if(""===o.groups.array)this.tree.set(o.groups.name,s);else{const t=[...o.groups.array.matchAll(/\[([a-z][-a-z0-9_:]*|[0-9]*)\]/gi)].map((([t,e])=>e));t.unshift(o.groups.name);const i=t.pop();t.reduce(((t,i)=>{if(/^[0-9]+$/.test(i)&&(i=parseInt(i)),t.get(i)instanceof Map)return t.get(i);const s=e();return t.set(i,s),s}),this.tree).set(i,s)}}}t.r(e),t.d(e,{all:()=>D,any:()=>M,date:()=>f,dayofweek:()=>u,email:()=>r,enum:()=>h,file:()=>m,maxdate:()=>z,maxfilesize:()=>$,maxitems:()=>v,maxlength:()=>x,maxnumber:()=>b,mindate:()=>A,minfilesize:()=>j,minitems:()=>w,minlength:()=>g,minnumber:()=>y,number:()=>c,required:()=>n,requiredfile:()=>a,tel:()=>l,time:()=>d,url:()=>p}),i.prototype.entries=function(){return this.tree.entries()},i.prototype.get=function(t){return this.tree.get(t)},i.prototype.getAll=function(t){if(!this.has(t))return[];const e=t=>{const i=[];if(t instanceof Map)for(const[s,o]of t)i.push(...e(o));else""!==t&&i.push(t);return i};return e(this.get(t))},i.prototype.has=function(t){return this.tree.has(t)},i.prototype.keys=function(){return this.tree.keys()},i.prototype.values=function(){return this.tree.values()};const s=i;function o({rule:t,field:e,error:i,...s}){this.rule=t,this.field=e,this.error=i,this.properties=s}const n=function(t){if(0===t.getAll(this.field).length)throw new o(this)},a=function(t){if(0===t.getAll(this.field).length)throw new o(this)},r=function(t){if(!t.getAll(this.field).every((t=>{if((t=t.trim()).length<6)return!1;if(-1===t.indexOf("@",1))return!1;if(t.indexOf("@")!==t.lastIndexOf("@"))return!1;const[e,i]=t.split("@",2);if(!/^[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]+$/.test(e))return!1;if(/\.{2,}/.test(i))return!1;if(/(?:^[ \t\n\r\0\x0B.]|[ \t\n\r\0\x0B.]$)/.test(i))return!1;const s=i.split(".");if(s.length<2)return!1;for(const t of s){if(/(?:^[ \t\n\r\0\x0B-]|[ \t\n\r\0\x0B-]$)/.test(t))return!1;if(!/^[a-z0-9-]+$/i.test(t))return!1}return!0})))throw new o(this)},p=function(t){const e=t.getAll(this.field);if(!e.every((t=>{if(""===(t=t.trim()))return!1;try{return(t=>-1!==["http","https","ftp","ftps","mailto","news","irc","irc6","ircs","gopher","nntp","feed","telnet","mms","rtsp","sms","svn","tel","fax","xmpp","webcal","urn"].indexOf(t))(new URL(t).protocol.replace(/:$/,""))}catch{return!1}})))throw new o(this)},l=function(t){if(!t.getAll(this.field).every((t=>(t=(t=t.trim()).replaceAll(/[()/.*#\s-]+/g,""),/^[+]?[0-9]+$/.test(t)))))throw new o(this)},c=function(t){if(!t.getAll(this.field).every((t=>(t=t.trim(),!!/^[-]?[0-9]+(?:[eE][+-]?[0-9]+)?$/.test(t)||!!/^[-]?(?:[0-9]+)?[.][0-9]+(?:[eE][+-]?[0-9]+)?$/.test(t)))))throw new o(this)},f=function(t){if(!t.getAll(this.field).every((t=>{if(t=t.trim(),!/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(t))return!1;const e=new Date(t);return!Number.isNaN(e.valueOf())})))throw new o(this)},d=function(t){if(!t.getAll(this.field).every((t=>{const e=t.trim().match(/^([0-9]{2})\:([0-9]{2})(?:\:([0-9]{2}))?$/);if(!e)return!1;const i=parseInt(e[1]),s=parseInt(e[2]),o=e[3]?parseInt(e[3]):0;return 0<=i&&i<=23&&0<=s&&s<=59&&0<=o&&o<=59})))throw new o(this)},m=function(t){if(!t.getAll(this.field).every((t=>t instanceof File&&this.accept?.some((e=>/^\.[a-z0-9]+$/i.test(e)?t.name.toLowerCase().endsWith(e.toLowerCase()):(t=>{const e=[],i=t.match(/^(?[a-z]+)\/(?[*]|[a-z0-9.+-]+)$/i);if(i){const t=i.groups.toplevel.toLowerCase(),s=i.groups.sub.toLowerCase();for(const[o,n]of(()=>{const t=new Map;return t.set("jpg|jpeg|jpe","image/jpeg"),t.set("gif","image/gif"),t.set("png","image/png"),t.set("bmp","image/bmp"),t.set("tiff|tif","image/tiff"),t.set("webp","image/webp"),t.set("ico","image/x-icon"),t.set("heic","image/heic"),t.set("asf|asx","video/x-ms-asf"),t.set("wmv","video/x-ms-wmv"),t.set("wmx","video/x-ms-wmx"),t.set("wm","video/x-ms-wm"),t.set("avi","video/avi"),t.set("divx","video/divx"),t.set("flv","video/x-flv"),t.set("mov|qt","video/quicktime"),t.set("mpeg|mpg|mpe","video/mpeg"),t.set("mp4|m4v","video/mp4"),t.set("ogv","video/ogg"),t.set("webm","video/webm"),t.set("mkv","video/x-matroska"),t.set("3gp|3gpp","video/3gpp"),t.set("3g2|3gp2","video/3gpp2"),t.set("txt|asc|c|cc|h|srt","text/plain"),t.set("csv","text/csv"),t.set("tsv","text/tab-separated-values"),t.set("ics","text/calendar"),t.set("rtx","text/richtext"),t.set("css","text/css"),t.set("htm|html","text/html"),t.set("vtt","text/vtt"),t.set("dfxp","application/ttaf+xml"),t.set("mp3|m4a|m4b","audio/mpeg"),t.set("aac","audio/aac"),t.set("ra|ram","audio/x-realaudio"),t.set("wav","audio/wav"),t.set("ogg|oga","audio/ogg"),t.set("flac","audio/flac"),t.set("mid|midi","audio/midi"),t.set("wma","audio/x-ms-wma"),t.set("wax","audio/x-ms-wax"),t.set("mka","audio/x-matroska"),t.set("rtf","application/rtf"),t.set("js","application/javascript"),t.set("pdf","application/pdf"),t.set("swf","application/x-shockwave-flash"),t.set("class","application/java"),t.set("tar","application/x-tar"),t.set("zip","application/zip"),t.set("gz|gzip","application/x-gzip"),t.set("rar","application/rar"),t.set("7z","application/x-7z-compressed"),t.set("exe","application/x-msdownload"),t.set("psd","application/octet-stream"),t.set("xcf","application/octet-stream"),t.set("doc","application/msword"),t.set("pot|pps|ppt","application/vnd.ms-powerpoint"),t.set("wri","application/vnd.ms-write"),t.set("xla|xls|xlt|xlw","application/vnd.ms-excel"),t.set("mdb","application/vnd.ms-access"),t.set("mpp","application/vnd.ms-project"),t.set("docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),t.set("docm","application/vnd.ms-word.document.macroEnabled.12"),t.set("dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"),t.set("dotm","application/vnd.ms-word.template.macroEnabled.12"),t.set("xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"),t.set("xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"),t.set("xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"),t.set("xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"),t.set("xltm","application/vnd.ms-excel.template.macroEnabled.12"),t.set("xlam","application/vnd.ms-excel.addin.macroEnabled.12"),t.set("pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"),t.set("pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"),t.set("ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"),t.set("ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"),t.set("potx","application/vnd.openxmlformats-officedocument.presentationml.template"),t.set("potm","application/vnd.ms-powerpoint.template.macroEnabled.12"),t.set("ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"),t.set("sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"),t.set("sldm","application/vnd.ms-powerpoint.slide.macroEnabled.12"),t.set("onetoc|onetoc2|onetmp|onepkg","application/onenote"),t.set("oxps","application/oxps"),t.set("xps","application/vnd.ms-xpsdocument"),t.set("odt","application/vnd.oasis.opendocument.text"),t.set("odp","application/vnd.oasis.opendocument.presentation"),t.set("ods","application/vnd.oasis.opendocument.spreadsheet"),t.set("odg","application/vnd.oasis.opendocument.graphics"),t.set("odc","application/vnd.oasis.opendocument.chart"),t.set("odb","application/vnd.oasis.opendocument.database"),t.set("odf","application/vnd.oasis.opendocument.formula"),t.set("wp|wpd","application/wordperfect"),t.set("key","application/vnd.apple.keynote"),t.set("numbers","application/vnd.apple.numbers"),t.set("pages","application/vnd.apple.pages"),t})())("*"===s&&n.startsWith(t+"/")||n===i[0])&&e.push(...o.split("|"))}return e})(e).some((e=>(e="."+e.trim(),t.name.toLowerCase().endsWith(e.toLowerCase())))))))))throw new o(this)},h=function(t){if(!t.getAll(this.field).every((t=>this.accept?.some((e=>t===String(e))))))throw new o(this)},u=function(t){if(!t.getAll(this.field).every((t=>{const e=0===(i=new Date(t).getDay())?7:i;var i;return this.accept?.some((t=>e===parseInt(t)))})))throw new o(this)},w=function(t){if(t.getAll(this.field).length{"string"==typeof t&&(i+=t.length)})),0!==i&&i{"string"==typeof t&&(i+=t.length)})),parseInt(this.threshold)!(parseFloat(t)!(parseFloat(this.threshold)(t=t.trim(),!(/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(t)&&/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(this.threshold)&&t(t=t.trim(),!(/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(t)&&/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(this.threshold)&&this.threshold{t instanceof File&&(i+=t.size)})),i{t instanceof File&&(i+=t.size)})),parseInt(this.threshold){const{rule:s,...o}=t;return"function"==typeof e[s]&&("function"!=typeof e[s].matches||e[s].matches(o,i))},O=({ruleObj:t,formDataTree:i,options:s})=>{const{rule:o}=t;e[o].call(t,i,s)},E=[],k=t=>[...E].reduce(((t,e)=>i=>e(i,t)),t),D=function(t,e={}){const i=(this.rules??[]).filter((t=>I({ruleObj:t,options:e}))),s=k(O);if(!i.every((i=>{try{s({ruleObj:i,formDataTree:t,options:e})}catch(t){if(!(t instanceof o))throw t;if(void 0!==t.error)throw t;return!1}return!0})))throw new o(this)},M=function(t,e={}){const i=(this.rules??[]).filter((t=>I({ruleObj:t,options:e}))),s=k(O);if(!i.some((i=>{try{s({ruleObj:i,formDataTree:t,options:e})}catch(t){if(!(t instanceof o))throw t;return!1}return!0})))throw new o(this)};var F;window.swv={validators:e,validate:(t,e,i={})=>{const n=(t.rules??[]).filter((t=>I({ruleObj:t,options:i})));if(!n.length)return new Map;const a=k(O),r=new s(e),p=n.reduce(((t,e)=>{try{a({ruleObj:e,formDataTree:r,options:i})}catch(e){if(!(e instanceof o))throw e;if(void 0!==e.field&&!t.has(e.field)&&void 0!==e.error)return t.set(e.field,e)}return t}),new Map);for(const t of r.keys())p.has(t)||p.set(t,{validInputs:r.getAll(t)});return p},use:t=>{E.push(t)},...null!==(F=window.swv)&&void 0!==F?F:{}}})(); \ No newline at end of file diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/php/abstract-rules.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/abstract-rules.php new file mode 100644 index 00000000..830886d2 --- /dev/null +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/abstract-rules.php @@ -0,0 +1,191 @@ +properties = wp_parse_args( $properties, array() ); + } + + + /** + * Returns true if this rule matches the given context. + * + * @param array $context Context. + */ + public function matches( $context ) { + $field = $this->get_property( 'field' ); + + if ( ! empty( $context['field'] ) ) { + if ( $field and ! in_array( $field, (array) $context['field'], true ) ) { + return false; + } + } + + return true; + } + + + /** + * Validates with this rule's logic. + * + * @param array $context Context. + */ + public function validate( $context ) { + return true; + } + + + /** + * Converts the properties to an array. + * + * @return array Array of properties. + */ + public function to_array() { + $properties = (array) $this->properties; + + if ( defined( 'static::rule_name' ) and static::rule_name ) { + $properties = array( 'rule' => static::rule_name ) + $properties; + } + + return $properties; + } + + + /** + * Returns the property value specified by the given property name. + * + * @param string $name Property name. + * @return mixed Property value. + */ + public function get_property( $name ) { + if ( isset( $this->properties[$name] ) ) { + return $this->properties[$name]; + } + } + + + /** + * Returns the default user input value from $_POST. + * + * @return mixed Default user input value. + */ + public function get_default_input() { + $field = $this->get_property( 'field' ); + + if ( isset( $_POST[$field] ) ) { + return wp_unslash( $_POST[$field] ); + } + + return ''; + } + + + /** + * Creates an error object. Returns false if the error property is omitted. + */ + protected function create_error() { + $error_code = defined( 'static::rule_name' ) + ? sprintf( 'swv_%s', static::rule_name ) + : 'swv'; + + return new WP_Error( + $error_code, + (string) $this->get_property( 'error' ), + $this + ); + } + +} + + +/** + * The base class of SWV composite rules. + */ +abstract class CompositeRule extends Rule { + + protected $rules = array(); + + + /** + * Adds a sub-rule to this composite rule. + * + * @param Rule $rule Sub-rule to be added. + */ + public function add_rule( $rule ) { + if ( $rule instanceof Rule ) { + $this->rules[] = $rule; + } + } + + + /** + * Returns an iterator of sub-rules. + */ + public function rules() { + foreach ( $this->rules as $rule ) { + yield $rule; + } + } + + + /** + * Returns true if this rule matches the given context. + * + * @param array $context Context. + */ + public function matches( $context ) { + return true; + } + + + /** + * Validates with this rule's logic. + * + * @param array $context Context. + */ + public function validate( $context ) { + foreach ( $this->rules() as $rule ) { + if ( $rule->matches( $context ) ) { + $result = $rule->validate( $context ); + + if ( is_wp_error( $result ) ) { + return $result; + } + } + } + + return true; + } + + + /** + * Converts the properties to an array. + * + * @return array Array of properties. + */ + public function to_array() { + $rules_arrays = array_map( + static function ( $rule ) { + return $rule->to_array(); + }, + $this->rules + ); + + return array_merge( + parent::to_array(), + array( + 'rules' => $rules_arrays, + ) + ); + } + +} diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/all.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/all.php new file mode 100644 index 00000000..91e5d8ec --- /dev/null +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/all.php @@ -0,0 +1,35 @@ +rules() as $rule ) { + if ( $rule->matches( $context ) ) { + $result = $rule->validate( $context ); + + if ( is_wp_error( $result ) ) { + if ( $result->get_error_message() ) { + return $result; + } else { + return $this->create_error(); + } + } + } + } + + return true; + } + +} diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/any.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/any.php new file mode 100644 index 00000000..0d3081f8 --- /dev/null +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/any.php @@ -0,0 +1,31 @@ +rules() as $rule ) { + if ( $rule->matches( $context ) ) { + $result = $rule->validate( $context ); + + if ( ! is_wp_error( $result ) ) { + return true; + } + } + } + + return $this->create_error(); + } + +} diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/date.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/date.php similarity index 64% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/date.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/date.php index 6262ccd7..9e0ff5c5 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/date.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/date.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); foreach ( $input as $i ) { if ( ! wpcf7_is_date( $i ) ) { - return new WP_Error( 'wpcf7_invalid_date', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/dayofweek.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/dayofweek.php similarity index 77% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/dayofweek.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/dayofweek.php index efded486..d1c04591 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/dayofweek.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/dayofweek.php @@ -1,6 +1,8 @@ get_property( 'field' ); - - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; - + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -35,9 +34,7 @@ class WPCF7_SWV_DayofweekRule extends WPCF7_SWV_Rule { $dow = (int) $datetime->format( 'N' ); if ( ! in_array( $dow, $acceptable_values, true ) ) { - return new WP_Error( 'wpcf7_invalid_dayofweek', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/email.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/email.php similarity index 64% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/email.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/email.php index b4138b8a..37deb525 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/email.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/email.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); foreach ( $input as $i ) { if ( ! wpcf7_is_email( $i ) ) { - return new WP_Error( 'wpcf7_invalid_email', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/enum.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/enum.php similarity index 68% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/enum.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/enum.php index 5c0a9dc8..f84814f3 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/enum.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/enum.php @@ -1,6 +1,8 @@ get_property( 'field' ); - - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; - + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); $acceptable_values = (array) $this->get_property( 'accept' ); $acceptable_values = array_map( 'strval', $acceptable_values ); - $acceptable_values = array_filter( $acceptable_values ); $acceptable_values = array_unique( $acceptable_values ); + $acceptable_values = array_filter( $acceptable_values, + static function ( $val ) { + return '' !== $val; + } + ); + foreach ( $input as $i ) { if ( ! in_array( $i, $acceptable_values, true ) ) { - return new WP_Error( 'wpcf7_invalid_enum', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/file.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/file.php similarity index 78% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/file.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/file.php index 67e2d834..f01ce655 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/file.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/file.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_FILES[$field]['name'] ) ? $_FILES[$field]['name'] : ''; + $input = $_FILES[$field]['name'] ?? ''; $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -43,17 +45,13 @@ class WPCF7_SWV_FileRule extends WPCF7_SWV_Rule { $last_period_pos = strrpos( $i, '.' ); if ( false === $last_period_pos ) { // no period - return new WP_Error( 'wpcf7_invalid_file', - $this->get_property( 'error' ) - ); + return $this->create_error(); } $suffix = strtolower( substr( $i, $last_period_pos ) ); if ( ! in_array( $suffix, $acceptable_filetypes, true ) ) { - return new WP_Error( 'wpcf7_invalid_file', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxdate.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxdate.php similarity index 70% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxdate.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxdate.php index 2ad26b0f..9a52e926 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxdate.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxdate.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -30,9 +31,7 @@ class WPCF7_SWV_MaxDateRule extends WPCF7_SWV_Rule { foreach ( $input as $i ) { if ( wpcf7_is_date( $i ) and $threshold < $i ) { - return new WP_Error( 'wpcf7_invalid_maxdate', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxfilesize.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxfilesize.php similarity index 71% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxfilesize.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxfilesize.php index 109be6d0..b8a41211 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxfilesize.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxfilesize.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_FILES[$field]['size'] ) ? $_FILES[$field]['size'] : ''; + $input = $_FILES[$field]['size'] ?? ''; $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -29,9 +31,7 @@ class WPCF7_SWV_MaxFileSizeRule extends WPCF7_SWV_Rule { $threshold = $this->get_property( 'threshold' ); if ( $threshold < array_sum( $input ) ) { - return new WP_Error( 'wpcf7_invalid_maxfilesize', - $this->get_property( 'error' ) - ); + return $this->create_error(); } return true; diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxitems.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxitems.php similarity index 68% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxitems.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxitems.php index 6c3dec10..879e8122 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxitems.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxitems.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -29,9 +30,7 @@ class WPCF7_SWV_MaxItemsRule extends WPCF7_SWV_Rule { } if ( (int) $threshold < count( $input ) ) { - return new WP_Error( 'wpcf7_invalid_maxitems', - $this->get_property( 'error' ) - ); + return $this->create_error(); } return true; diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxlength.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxlength.php similarity index 71% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxlength.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxlength.php index 66f98b2d..257073fb 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxlength.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxlength.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -37,9 +38,7 @@ class WPCF7_SWV_MaxLengthRule extends WPCF7_SWV_Rule { if ( $total <= $threshold ) { return true; } else { - return new WP_Error( 'wpcf7_invalid_maxlength', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxnumber.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxnumber.php similarity index 70% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxnumber.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxnumber.php index 6f7fcc49..4cbfe211 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/maxnumber.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/maxnumber.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -30,9 +31,7 @@ class WPCF7_SWV_MaxNumberRule extends WPCF7_SWV_Rule { foreach ( $input as $i ) { if ( wpcf7_is_number( $i ) and (float) $threshold < (float) $i ) { - return new WP_Error( 'wpcf7_invalid_maxnumber', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/mindate.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/mindate.php similarity index 70% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/mindate.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/mindate.php index 9816f953..a415afa2 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/mindate.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/mindate.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -30,9 +31,7 @@ class WPCF7_SWV_MinDateRule extends WPCF7_SWV_Rule { foreach ( $input as $i ) { if ( wpcf7_is_date( $i ) and $i < $threshold ) { - return new WP_Error( 'wpcf7_invalid_mindate', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/minfilesize.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minfilesize.php similarity index 71% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/minfilesize.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minfilesize.php index 2a9b3c8e..2128d404 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/minfilesize.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minfilesize.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_FILES[$field]['size'] ) ? $_FILES[$field]['size'] : ''; + $input = $_FILES[$field]['size'] ?? ''; $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -29,9 +31,7 @@ class WPCF7_SWV_MinFileSizeRule extends WPCF7_SWV_Rule { $threshold = $this->get_property( 'threshold' ); if ( array_sum( $input ) < $threshold ) { - return new WP_Error( 'wpcf7_invalid_minfilesize', - $this->get_property( 'error' ) - ); + return $this->create_error(); } return true; diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/minitems.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minitems.php similarity index 68% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/minitems.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minitems.php index 15bf1506..5a5cb169 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/minitems.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minitems.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -29,9 +30,7 @@ class WPCF7_SWV_MinItemsRule extends WPCF7_SWV_Rule { } if ( count( $input ) < (int) $threshold ) { - return new WP_Error( 'wpcf7_invalid_minitems', - $this->get_property( 'error' ) - ); + return $this->create_error(); } return true; diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/minlength.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minlength.php similarity index 71% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/minlength.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minlength.php index 21281e80..b02d087c 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/minlength.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minlength.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -37,9 +38,7 @@ class WPCF7_SWV_MinLengthRule extends WPCF7_SWV_Rule { if ( $threshold <= $total ) { return true; } else { - return new WP_Error( 'wpcf7_invalid_minlength', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/minnumber.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minnumber.php similarity index 70% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/minnumber.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minnumber.php index 572d2238..2b14cd16 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/minnumber.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/minnumber.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); @@ -30,9 +31,7 @@ class WPCF7_SWV_MinNumberRule extends WPCF7_SWV_Rule { foreach ( $input as $i ) { if ( wpcf7_is_number( $i ) and (float) $i < (float) $threshold ) { - return new WP_Error( 'wpcf7_invalid_minnumber', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/number.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/number.php similarity index 64% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/number.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/number.php index fd832389..452f3855 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/number.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/number.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); foreach ( $input as $i ) { if ( ! wpcf7_is_number( $i ) ) { - return new WP_Error( 'wpcf7_invalid_number', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/required.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/required.php similarity index 62% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/required.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/required.php index 85d62c9c..ef78a04d 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/required.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/required.php @@ -1,6 +1,8 @@ get_property( 'field' ); - - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; - + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); if ( empty( $input ) ) { - return new WP_Error( 'wpcf7_invalid_required', - $this->get_property( 'error' ) - ); + return $this->create_error(); } return true; diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/requiredfile.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/requiredfile.php similarity index 65% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/requiredfile.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/requiredfile.php index 1549d140..8404b754 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/requiredfile.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/requiredfile.php @@ -1,6 +1,8 @@ get_property( 'field' ); - - $input = isset( $_FILES[$field]['tmp_name'] ) - ? $_FILES[$field]['tmp_name'] : ''; - + $input = $_FILES[$field]['tmp_name'] ?? ''; $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); if ( empty( $input ) ) { - return new WP_Error( 'wpcf7_invalid_requiredfile', - $this->get_property( 'error' ) - ); + return $this->create_error(); } return true; diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/tel.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/tel.php similarity index 64% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/tel.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/tel.php index a85be80e..8311b4eb 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/tel.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/tel.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); foreach ( $input as $i ) { if ( ! wpcf7_is_tel( $i ) ) { - return new WP_Error( 'wpcf7_invalid_tel', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/time.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/time.php similarity index 64% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/time.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/time.php index 9a5ca932..f693bfff 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/time.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/time.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); foreach ( $input as $i ) { if ( ! wpcf7_is_time( $i ) ) { - return new WP_Error( 'wpcf7_invalid_time', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/url.php b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/url.php similarity index 64% rename from wp/wp-content/plugins/contact-form-7/includes/swv/rules/url.php rename to wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/url.php index 759a056f..9147a4dc 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/rules/url.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/php/rules/url.php @@ -1,6 +1,8 @@ get_property( 'field' ); - $input = isset( $_POST[$field] ) ? $_POST[$field] : ''; + $input = $this->get_default_input(); $input = wpcf7_array_flatten( $input ); $input = wpcf7_exclude_blank( $input ); foreach ( $input as $i ) { if ( ! wpcf7_is_url( $i ) ) { - return new WP_Error( 'wpcf7_invalid_url', - $this->get_property( 'error' ) - ); + return $this->create_error(); } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/schema-holder.php b/wp/wp-content/plugins/contact-form-7/includes/swv/schema-holder.php index 93d82fab..ef167ded 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/schema-holder.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/schema-holder.php @@ -29,29 +29,18 @@ trait WPCF7_SWV_SchemaHolder { * Validates form inputs based on the schema and given context. */ public function validate_schema( $context, WPCF7_Validation $validity ) { - $callback = static function ( $rule ) use ( &$callback, $context, $validity ) { - if ( ! $rule->matches( $context ) ) { - return; - } + $schema = $this->get_schema(); - if ( $rule instanceof WPCF7_SWV_CompositeRule ) { - foreach ( $rule->rules() as $child_rule ) { - call_user_func( $callback, $child_rule ); - } - } else { + foreach ( $schema->validate( $context ) as $result ) { + if ( is_wp_error( $result ) ) { + $rule = $result->get_error_data(); $field = $rule->get_property( 'field' ); - if ( $validity->is_valid( $field ) ) { - $result = $rule->validate( $context ); - - if ( is_wp_error( $result ) ) { - $validity->invalidate( $field, $result ); - } + if ( isset( $field ) and $validity->is_valid( $field ) ) { + $validity->invalidate( $field, $result ); } } - }; - - call_user_func( $callback, $this->get_schema() ); + } } } diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/script-loader.php b/wp/wp-content/plugins/contact-form-7/includes/swv/script-loader.php index 6d1521d0..ac663ba4 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/script-loader.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/script-loader.php @@ -19,7 +19,7 @@ add_action( wpcf7_plugin_url( 'includes/swv/js/index.js' ), $assets['dependencies'], $assets['version'], - true + array( 'in_footer' => true ) ); }, 10, 0 diff --git a/wp/wp-content/plugins/contact-form-7/includes/swv/swv.php b/wp/wp-content/plugins/contact-form-7/includes/swv/swv.php index 3ce74d1e..ea8fdb4c 100644 --- a/wp/wp-content/plugins/contact-form-7/includes/swv/swv.php +++ b/wp/wp-content/plugins/contact-form-7/includes/swv/swv.php @@ -5,6 +5,7 @@ require_once WPCF7_PLUGIN_DIR . '/includes/swv/schema-holder.php'; require_once WPCF7_PLUGIN_DIR . '/includes/swv/script-loader.php'; +require_once WPCF7_PLUGIN_DIR . '/includes/swv/php/abstract-rules.php'; /** @@ -12,27 +13,29 @@ require_once WPCF7_PLUGIN_DIR . '/includes/swv/script-loader.php'; */ function wpcf7_swv_available_rules() { $rules = array( - 'required' => 'WPCF7_SWV_RequiredRule', - 'requiredfile' => 'WPCF7_SWV_RequiredFileRule', - 'email' => 'WPCF7_SWV_EmailRule', - 'url' => 'WPCF7_SWV_URLRule', - 'tel' => 'WPCF7_SWV_TelRule', - 'number' => 'WPCF7_SWV_NumberRule', - 'date' => 'WPCF7_SWV_DateRule', - 'time' => 'WPCF7_SWV_TimeRule', - 'file' => 'WPCF7_SWV_FileRule', - 'enum' => 'WPCF7_SWV_EnumRule', - 'dayofweek' => 'WPCF7_SWV_DayofweekRule', - 'minitems' => 'WPCF7_SWV_MinItemsRule', - 'maxitems' => 'WPCF7_SWV_MaxItemsRule', - 'minlength' => 'WPCF7_SWV_MinLengthRule', - 'maxlength' => 'WPCF7_SWV_MaxLengthRule', - 'minnumber' => 'WPCF7_SWV_MinNumberRule', - 'maxnumber' => 'WPCF7_SWV_MaxNumberRule', - 'mindate' => 'WPCF7_SWV_MinDateRule', - 'maxdate' => 'WPCF7_SWV_MaxDateRule', - 'minfilesize' => 'WPCF7_SWV_MinFileSizeRule', - 'maxfilesize' => 'WPCF7_SWV_MaxFileSizeRule', + 'required' => 'Contactable\SWV\RequiredRule', + 'requiredfile' => 'Contactable\SWV\RequiredFileRule', + 'email' => 'Contactable\SWV\EmailRule', + 'url' => 'Contactable\SWV\URLRule', + 'tel' => 'Contactable\SWV\TelRule', + 'number' => 'Contactable\SWV\NumberRule', + 'date' => 'Contactable\SWV\DateRule', + 'time' => 'Contactable\SWV\TimeRule', + 'file' => 'Contactable\SWV\FileRule', + 'enum' => 'Contactable\SWV\EnumRule', + 'dayofweek' => 'Contactable\SWV\DayofweekRule', + 'minitems' => 'Contactable\SWV\MinItemsRule', + 'maxitems' => 'Contactable\SWV\MaxItemsRule', + 'minlength' => 'Contactable\SWV\MinLengthRule', + 'maxlength' => 'Contactable\SWV\MaxLengthRule', + 'minnumber' => 'Contactable\SWV\MinNumberRule', + 'maxnumber' => 'Contactable\SWV\MaxNumberRule', + 'mindate' => 'Contactable\SWV\MinDateRule', + 'maxdate' => 'Contactable\SWV\MaxDateRule', + 'minfilesize' => 'Contactable\SWV\MinFileSizeRule', + 'maxfilesize' => 'Contactable\SWV\MaxFileSizeRule', + 'all' => 'Contactable\SWV\AllRule', + 'any' => 'Contactable\SWV\AnyRule', ); return apply_filters( 'wpcf7_swv_available_rules', $rules ); @@ -49,7 +52,7 @@ function wpcf7_swv_load_rules() { foreach ( array_keys( $rules ) as $rule ) { $file = sprintf( '%s.php', $rule ); - $path = path_join( WPCF7_PLUGIN_DIR . '/includes/swv/rules', $file ); + $path = path_join( WPCF7_PLUGIN_DIR . '/includes/swv/php/rules', $file ); if ( file_exists( $path ) ) { include_once $path; @@ -63,7 +66,7 @@ function wpcf7_swv_load_rules() { * * @param string $rule_name Rule name. * @param string|array $properties Optional. Rule properties. - * @return WPCF7_SWV_Rule|null The rule object, or null if it failed. + * @return Rule|null The rule object, or null if it failed. */ function wpcf7_swv_create_rule( $rule_name, $properties = '' ) { $rules = wpcf7_swv_available_rules(); @@ -124,172 +127,38 @@ function wpcf7_swv_get_meta_schema() { } -/** - * The base class of SWV rules. - */ -abstract class WPCF7_SWV_Rule { - - protected $properties = array(); - - public function __construct( $properties = '' ) { - $this->properties = wp_parse_args( $properties, array() ); - } - - - /** - * Returns true if this rule matches the given context. - * - * @param array $context Context. - */ - public function matches( $context ) { - $field = $this->get_property( 'field' ); - - if ( ! empty( $context['field'] ) ) { - if ( $field and ! in_array( $field, (array) $context['field'], true ) ) { - return false; - } - } - - return true; - } - - - /** - * Validates with this rule's logic. - * - * @param array $context Context. - */ - public function validate( $context ) { - return true; - } - - - /** - * Converts the properties to an array. - * - * @return array Array of properties. - */ - public function to_array() { - $properties = (array) $this->properties; - - if ( defined( 'static::rule_name' ) and static::rule_name ) { - $properties = array( 'rule' => static::rule_name ) + $properties; - } - - return $properties; - } - - - /** - * Returns the property value specified by the given property name. - * - * @param string $name Property name. - * @return mixed Property value. - */ - public function get_property( $name ) { - if ( isset( $this->properties[$name] ) ) { - return $this->properties[$name]; - } - } - -} - - -/** - * The base class of SWV composite rules. - */ -abstract class WPCF7_SWV_CompositeRule extends WPCF7_SWV_Rule { - - protected $rules = array(); - - - /** - * Adds a sub-rule to this composite rule. - * - * @param WPCF7_SWV_Rule $rule Sub-rule to be added. - */ - public function add_rule( $rule ) { - if ( $rule instanceof WPCF7_SWV_Rule ) { - $this->rules[] = $rule; - } - } - - - /** - * Returns an iterator of sub-rules. - */ - public function rules() { - foreach ( $this->rules as $rule ) { - yield $rule; - } - } - - - /** - * Returns true if this rule matches the given context. - * - * @param array $context Context. - */ - public function matches( $context ) { - return true; - } - - - /** - * Validates with this rule's logic. - * - * @param array $context Context. - */ - public function validate( $context ) { - foreach ( $this->rules() as $rule ) { - if ( $rule->matches( $context ) ) { - $result = $rule->validate( $context ); - - if ( is_wp_error( $result ) ) { - return $result; - } - } - } - - return true; - } - - - /** - * Converts the properties to an array. - * - * @return array Array of properties. - */ - public function to_array() { - $rules_arrays = array_map( - static function ( $rule ) { - return $rule->to_array(); - }, - $this->rules - ); - - return array_merge( - parent::to_array(), - array( - 'rules' => $rules_arrays, - ) - ); - } - -} - - /** * The schema class as a composite rule. */ -class WPCF7_SWV_Schema extends WPCF7_SWV_CompositeRule { +class WPCF7_SWV_Schema extends \Contactable\SWV\CompositeRule { - const version = 'Contact Form 7 SWV Schema 2023-07'; + /** + * The human-readable version of the schema. + */ + const version = 'Contact Form 7 SWV Schema 2024-02'; + + /** + * Constructor. + */ public function __construct( $properties = '' ) { $this->properties = wp_parse_args( $properties, array( 'version' => self::version, ) ); } + + /** + * Validates with this schema. + * + * @param array $context Context. + */ + public function validate( $context ) { + foreach ( $this->rules() as $rule ) { + if ( $rule->matches( $context ) ) { + yield $rule->validate( $context ); + } + } + } + } diff --git a/wp/wp-content/plugins/contact-form-7/load.php b/wp/wp-content/plugins/contact-form-7/load.php index db359f1e..f7d51dcc 100644 --- a/wp/wp-content/plugins/contact-form-7/load.php +++ b/wp/wp-content/plugins/contact-form-7/load.php @@ -14,6 +14,7 @@ require_once WPCF7_PLUGIN_DIR . '/includes/contact-form-functions.php'; require_once WPCF7_PLUGIN_DIR . '/includes/contact-form-template.php'; require_once WPCF7_PLUGIN_DIR . '/includes/contact-form.php'; require_once WPCF7_PLUGIN_DIR . '/includes/mail.php'; +require_once WPCF7_PLUGIN_DIR . '/includes/mail-tag.php'; require_once WPCF7_PLUGIN_DIR . '/includes/special-mail-tags.php'; require_once WPCF7_PLUGIN_DIR . '/includes/file.php'; require_once WPCF7_PLUGIN_DIR . '/includes/validation-functions.php'; diff --git a/wp/wp-content/plugins/contact-form-7/modules/acceptance.php b/wp/wp-content/plugins/contact-form-7/modules/acceptance.php index d3f1cd77..798e3359 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/acceptance.php +++ b/wp/wp-content/plugins/contact-form-7/modules/acceptance.php @@ -12,6 +12,7 @@ function wpcf7_add_form_tag_acceptance() { 'wpcf7_acceptance_form_tag_handler', array( 'name-attr' => true, + 'selectable-values' => true, ) ); } diff --git a/wp/wp-content/plugins/contact-form-7/modules/akismet/akismet.php b/wp/wp-content/plugins/contact-form-7/modules/akismet/akismet.php index a852266b..c73122ad 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/akismet/akismet.php +++ b/wp/wp-content/plugins/contact-form-7/modules/akismet/akismet.php @@ -52,8 +52,7 @@ function wpcf7_akismet( $spam, $submission ) { 'blog_charset' => get_option( 'blog_charset' ), 'user_ip' => $submission->get_meta( 'remote_ip' ), 'user_agent' => $submission->get_meta( 'user_agent' ), - 'referrer' => isset( $_SERVER['HTTP_REFERER'] ) - ? $_SERVER['HTTP_REFERER'] : '', + 'referrer' => $_SERVER['HTTP_REFERER'] ?? '', ); $datetime = date_create_immutable( diff --git a/wp/wp-content/plugins/contact-form-7/modules/checkbox.php b/wp/wp-content/plugins/contact-form-7/modules/checkbox.php index 1f816663..b962652c 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/checkbox.php +++ b/wp/wp-content/plugins/contact-form-7/modules/checkbox.php @@ -72,11 +72,14 @@ function wpcf7_checkbox_form_tag_handler( $tag ) { $tag->values = array_merge( array_slice( $tag->values, 0, -1 ), array_values( $data ), - array_slice( $tag->values, -1 ) ); + array_slice( $tag->values, -1 ) + ); + $tag->labels = array_merge( array_slice( $tag->labels, 0, -1 ), array_values( $data ), - array_slice( $tag->labels, -1 ) ); + array_slice( $tag->labels, -1 ) + ); } else { $tag->values = array_merge( $tag->values, array_values( $data ) ); $tag->labels = array_merge( $tag->labels, array_values( $data ) ); @@ -148,7 +151,7 @@ function wpcf7_checkbox_form_tag_handler( $tag ) { $class .= ' last'; if ( $free_text ) { - $free_text_name = $tag->name . '_free_text'; + $free_text_name = sprintf( '_wpcf7_free_text_%s', $tag->name ); $free_text_atts = array( 'name' => $free_text_name, @@ -207,6 +210,120 @@ function wpcf7_swv_add_checkbox_rules( $schema, $contact_form ) { } +add_action( + 'wpcf7_swv_create_schema', + 'wpcf7_swv_add_checkbox_enum_rules', + 20, 2 +); + +function wpcf7_swv_add_checkbox_enum_rules( $schema, $contact_form ) { + $tags = $contact_form->scan_form_tags( array( + 'basetype' => array( 'checkbox', 'radio' ), + ) ); + + $values = array_reduce( + $tags, + function ( $values, $tag ) { + if ( $tag->has_option( 'free_text' ) ) { + $values[$tag->name] = 'free_text'; + } + + if ( + isset( $values[$tag->name] ) and + ! is_array( $values[$tag->name] ) // Maybe 'free_text' + ) { + return $values; + } + + if ( ! isset( $values[$tag->name] ) ) { + $values[$tag->name] = array(); + } + + $tag_values = array_merge( + (array) $tag->values, + (array) $tag->get_data_option() + ); + + $values[$tag->name] = array_merge( + $values[$tag->name], + $tag_values + ); + + return $values; + }, + array() + ); + + foreach ( $values as $field => $field_values ) { + if ( ! is_array( $field_values ) ) { // Maybe 'free_text' + continue; + } + + $field_values = array_map( + static function ( $value ) { + return html_entity_decode( + (string) $value, + ENT_QUOTES | ENT_HTML5, + 'UTF-8' + ); + }, + $field_values + ); + + $field_values = array_filter( + array_unique( $field_values ), + static function ( $value ) { + return '' !== $value; + } + ); + + $schema->add_rule( + wpcf7_swv_create_rule( 'enum', array( + 'field' => $field, + 'accept' => array_values( $field_values ), + 'error' => $contact_form->filter_message( + __( "Undefined value was submitted through this field.", 'contact-form-7' ) + ), + ) ) + ); + } +} + + +add_filter( 'wpcf7_posted_data_checkbox', + 'wpcf7_posted_data_checkbox', + 10, 3 +); + +add_filter( 'wpcf7_posted_data_checkbox*', + 'wpcf7_posted_data_checkbox', + 10, 3 +); + +add_filter( 'wpcf7_posted_data_radio', + 'wpcf7_posted_data_checkbox', + 10, 3 +); + +function wpcf7_posted_data_checkbox( $value, $value_orig, $form_tag ) { + if ( $form_tag->has_option( 'free_text' ) ) { + $value = (array) $value; + + $free_text_name = sprintf( '_wpcf7_free_text_%s', $form_tag->name ); + $free_text = wp_unslash( $_POST[$free_text_name] ?? '' ); + + $last_val = array_pop( $value ); + + if ( isset( $last_val ) ) { + $last_val = sprintf( '%s %s', $last_val, $free_text ); + $value[] = trim( $last_val ); + } + } + + return $value; +} + + /* Tag generator */ add_action( 'wpcf7_admin_init', diff --git a/wp/wp-content/plugins/contact-form-7/modules/constant-contact/constant-contact.php b/wp/wp-content/plugins/contact-form-7/modules/constant-contact/constant-contact.php index bccc8e1f..791d8bd6 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/constant-contact/constant-contact.php +++ b/wp/wp-content/plugins/contact-form-7/modules/constant-contact/constant-contact.php @@ -14,7 +14,7 @@ wpcf7_include_module_file( 'constant-contact/doi.php' ); add_action( 'wpcf7_init', 'wpcf7_constant_contact_register_service', - 20, 0 + 120, 0 ); /** diff --git a/wp/wp-content/plugins/contact-form-7/modules/constant-contact/service.php b/wp/wp-content/plugins/contact-form-7/modules/constant-contact/service.php index 3bcd6d02..eb0991ef 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/constant-contact/service.php +++ b/wp/wp-content/plugins/contact-form-7/modules/constant-contact/service.php @@ -113,10 +113,7 @@ class WPCF7_ConstantContact extends WPCF7_Service_OAuth2 { } public function link() { - echo sprintf( '%2$s', - 'https://constant-contact.evyy.net/c/1293104/205991/3411', - 'constantcontact.com' - ); + echo 'constantcontact.com'; } protected function get_redirect_uri() { @@ -366,6 +363,15 @@ class WPCF7_ConstantContact extends WPCF7_Service_OAuth2 { } public function display( $action = '' ) { + echo sprintf( + '

%1$s %2$s

', + esc_html( __( 'Warning:', 'contact-form-7' ) ), + wpcf7_link( + __( 'https://contactform7.com/2024/02/02/we-end-the-constant-contact-integration/', 'contact-form-7' ), + __( "This feature is deprecated. You are not recommended to use it.", 'contact-form-7' ) + ) + ); + echo sprintf( '

%s

', esc_html( __( "The Constant Contact integration module allows you to send contact data collected through your contact forms to the Constant Contact API. You can create reliable email subscription services in a few easy steps.", 'contact-form-7' ) ) diff --git a/wp/wp-content/plugins/contact-form-7/modules/quiz.php b/wp/wp-content/plugins/contact-form-7/modules/quiz.php index 425da4f0..872da9d4 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/quiz.php +++ b/wp/wp-content/plugins/contact-form-7/modules/quiz.php @@ -98,7 +98,7 @@ add_filter( 'wpcf7_validate_quiz', 'wpcf7_quiz_validation_filter', 10, 2 ); function wpcf7_quiz_validation_filter( $result, $tag ) { $name = $tag->name; - $answer = isset( $_POST[$name] ) ? wp_unslash( $_POST[$name] ) : ''; + $answer = wp_unslash( $_POST[$name] ?? '' ); $answer = wpcf7_canonicalize( $answer, array( 'strip_separators' => true, @@ -106,9 +106,7 @@ function wpcf7_quiz_validation_filter( $result, $tag ) { $answer_hash = wp_hash( $answer, 'wpcf7_quiz' ); - $expected_hash = isset( $_POST['_wpcf7_quiz_answer_' . $name] ) - ? (string) $_POST['_wpcf7_quiz_answer_' . $name] - : ''; + $expected_hash = (string) ( $_POST['_wpcf7_quiz_answer_' . $name] ?? '' ); if ( ! hash_equals( $expected_hash, $answer_hash ) ) { $result->invalidate( $tag, wpcf7_get_message( 'quiz_answer_not_correct' ) ); @@ -176,7 +174,7 @@ add_filter( 'wpcf7_mail_tag_replaced_quiz', 'wpcf7_quiz_mail_tag', 10, 4 ); function wpcf7_quiz_mail_tag( $replaced, $submitted, $html, $mail_tag ) { $field_name = $mail_tag->field_name(); - $submitted = isset( $_POST[$field_name] ) ? $_POST[$field_name] : ''; + $submitted = $_POST[$field_name] ?? ''; $replaced = $submitted; if ( $html ) { diff --git a/wp/wp-content/plugins/contact-form-7/modules/really-simple-captcha.php b/wp/wp-content/plugins/contact-form-7/modules/really-simple-captcha.php index 40a6a394..fa6e311b 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/really-simple-captcha.php +++ b/wp/wp-content/plugins/contact-form-7/modules/really-simple-captcha.php @@ -167,8 +167,8 @@ function wpcf7_captcha_validation_filter( $result, $tag ) { $captchac = '_wpcf7_captcha_challenge_' . $name; - $prefix = isset( $_POST[$captchac] ) ? (string) $_POST[$captchac] : ''; - $response = isset( $_POST[$name] ) ? (string) $_POST[$name] : ''; + $prefix = (string) ( $_POST[$captchac] ?? '' ); + $response = (string) ( $_POST[$name] ?? '' ); $response = wpcf7_canonicalize( $response ); if ( 0 === strlen( $prefix ) diff --git a/wp/wp-content/plugins/contact-form-7/modules/recaptcha/recaptcha.php b/wp/wp-content/plugins/contact-form-7/modules/recaptcha/recaptcha.php index ec32b14f..4c9ec603 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/recaptcha/recaptcha.php +++ b/wp/wp-content/plugins/contact-form-7/modules/recaptcha/recaptcha.php @@ -53,7 +53,7 @@ function wpcf7_recaptcha_enqueue_scripts() { ), array(), '3.0', - true + array( 'in_footer' => true ) ); $assets = array(); @@ -79,7 +79,7 @@ function wpcf7_recaptcha_enqueue_scripts() { ) ), $assets['version'], - true + array( 'in_footer' => true ) ); wp_enqueue_script( 'wpcf7-recaptcha' ); @@ -135,8 +135,7 @@ function wpcf7_recaptcha_verify_response( $spam, $submission ) { return $spam; } - $token = isset( $_POST['_wpcf7_recaptcha_response'] ) - ? trim( $_POST['_wpcf7_recaptcha_response'] ) : ''; + $token = trim( $_POST['_wpcf7_recaptcha_response'] ?? '' ); if ( $service->verify( $token ) ) { // Human $spam = false; diff --git a/wp/wp-content/plugins/contact-form-7/modules/recaptcha/service.php b/wp/wp-content/plugins/contact-form-7/modules/recaptcha/service.php index eaebfc61..7e34c6a0 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/recaptcha/service.php +++ b/wp/wp-content/plugins/contact-form-7/modules/recaptcha/service.php @@ -221,8 +221,8 @@ class WPCF7_RECAPTCHA extends WPCF7_Service { $this->reset_data(); $redirect_to = $this->menu_page_url( 'action=setup' ); } else { - $sitekey = isset( $_POST['sitekey'] ) ? trim( $_POST['sitekey'] ) : ''; - $secret = isset( $_POST['secret'] ) ? trim( $_POST['secret'] ) : ''; + $sitekey = trim( $_POST['sitekey'] ?? '' ); + $secret = trim( $_POST['secret'] ?? '' ); if ( $sitekey and $secret ) { $this->sitekeys = array( $sitekey => $secret ); diff --git a/wp/wp-content/plugins/contact-form-7/modules/select.php b/wp/wp-content/plugins/contact-form-7/modules/select.php index 994fae82..7181a75a 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/select.php +++ b/wp/wp-content/plugins/contact-form-7/modules/select.php @@ -153,6 +153,75 @@ function wpcf7_swv_add_select_rules( $schema, $contact_form ) { } +add_action( + 'wpcf7_swv_create_schema', + 'wpcf7_swv_add_select_enum_rules', + 20, 2 +); + +function wpcf7_swv_add_select_enum_rules( $schema, $contact_form ) { + $tags = $contact_form->scan_form_tags( array( + 'basetype' => array( 'select' ), + ) ); + + $values = array_reduce( + $tags, + function ( $values, $tag ) { + if ( ! isset( $values[$tag->name] ) ) { + $values[$tag->name] = array(); + } + + $tag_values = array_merge( + (array) $tag->values, + (array) $tag->get_data_option() + ); + + if ( $tag->has_option( 'first_as_label' ) ) { + $tag_values = array_slice( $tag_values, 1 ); + } + + $values[$tag->name] = array_merge( + $values[$tag->name], + $tag_values + ); + + return $values; + }, + array() + ); + + foreach ( $values as $field => $field_values ) { + $field_values = array_map( + static function ( $value ) { + return html_entity_decode( + (string) $value, + ENT_QUOTES | ENT_HTML5, + 'UTF-8' + ); + }, + $field_values + ); + + $field_values = array_filter( + array_unique( $field_values ), + static function ( $value ) { + return '' !== $value; + } + ); + + $schema->add_rule( + wpcf7_swv_create_rule( 'enum', array( + 'field' => $field, + 'accept' => array_values( $field_values ), + 'error' => $contact_form->filter_message( + __( "Undefined value was submitted through this field.", 'contact-form-7' ) + ), + ) ) + ); + } +} + + /* Tag generator */ add_action( 'wpcf7_admin_init', 'wpcf7_add_tag_generator_menu', 25, 0 ); diff --git a/wp/wp-content/plugins/contact-form-7/modules/sendinblue/contact-form-properties.php b/wp/wp-content/plugins/contact-form-7/modules/sendinblue/contact-form-properties.php index 2926659d..f0bc1258 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/sendinblue/contact-form-properties.php +++ b/wp/wp-content/plugins/contact-form-7/modules/sendinblue/contact-form-properties.php @@ -38,9 +38,7 @@ function wpcf7_sendinblue_save_contact_form( $contact_form, $args, $context ) { return; } - $prop = isset( $_POST['wpcf7-sendinblue'] ) - ? (array) $_POST['wpcf7-sendinblue'] - : array(); + $prop = (array) ( $_POST['wpcf7-sendinblue'] ?? array() ); $prop = wp_parse_args( $prop, diff --git a/wp/wp-content/plugins/contact-form-7/modules/sendinblue/service.php b/wp/wp-content/plugins/contact-form-7/modules/sendinblue/service.php index 752dc1e7..d517cecb 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/sendinblue/service.php +++ b/wp/wp-content/plugins/contact-form-7/modules/sendinblue/service.php @@ -47,7 +47,7 @@ class WPCF7_Sendinblue extends WPCF7_Service { public function link() { echo wpcf7_link( - 'https://www.brevo.com/', + 'https://get.brevo.com/wpcf7-integration', 'brevo.com' ); } @@ -88,9 +88,7 @@ class WPCF7_Sendinblue extends WPCF7_Service { $this->reset_data(); $redirect_to = $this->menu_page_url( 'action=setup' ); } else { - $this->api_key = isset( $_POST['api_key'] ) - ? trim( $_POST['api_key'] ) - : ''; + $this->api_key = trim( $_POST['api_key'] ?? '' ); $confirmed = $this->confirm_key(); diff --git a/wp/wp-content/plugins/contact-form-7/modules/stripe/service.php b/wp/wp-content/plugins/contact-form-7/modules/stripe/service.php index 24fe8996..1d1bc977 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/stripe/service.php +++ b/wp/wp-content/plugins/contact-form-7/modules/stripe/service.php @@ -107,9 +107,8 @@ class WPCF7_Stripe extends WPCF7_Service { $this->reset_data(); $redirect_to = $this->menu_page_url( 'action=setup' ); } else { - $publishable = isset( $_POST['publishable'] ) ? - trim( $_POST['publishable'] ) : ''; - $secret = isset( $_POST['secret'] ) ? trim( $_POST['secret'] ) : ''; + $publishable = trim( $_POST['publishable'] ?? '' ); + $secret = trim( $_POST['secret'] ?? '' ); if ( $publishable and $secret ) { $this->api_keys = array( diff --git a/wp/wp-content/plugins/contact-form-7/modules/stripe/stripe.php b/wp/wp-content/plugins/contact-form-7/modules/stripe/stripe.php index cda81f0d..626ca46f 100644 --- a/wp/wp-content/plugins/contact-form-7/modules/stripe/stripe.php +++ b/wp/wp-content/plugins/contact-form-7/modules/stripe/stripe.php @@ -80,7 +80,7 @@ function wpcf7_stripe_enqueue_scripts() { ) ), $assets['version'], - true + array( 'in_footer' => true ) ); $api_keys = $service->get_api_keys(); diff --git a/wp/wp-content/plugins/contact-form-7/readme.txt b/wp/wp-content/plugins/contact-form-7/readme.txt index 5a938ef8..a791dceb 100644 --- a/wp/wp-content/plugins/contact-form-7/readme.txt +++ b/wp/wp-content/plugins/contact-form-7/readme.txt @@ -1,11 +1,11 @@ === Contact Form 7 === Contributors: takayukister Donate link: https://contactform7.com/donate/ -Tags: contact, form, contact form, feedback, email, ajax, captcha, akismet, multilingual -Requires at least: 6.2 +Tags: contact form, schema-woven validation +Requires at least: 6.3 Requires PHP: 7.4 -Tested up to: 6.4 -Stable tag: 5.8.7 +Tested up to: 6.5 +Stable tag: 5.9.2 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -78,6 +78,14 @@ Do you have questions or issues with Contact Form 7? Use these support channels For more information, see [Releases](https://contactform7.com/category/releases/). += 5.9.2 = + +[https://contactform7.com/contact-form-7-592/](https://contactform7.com/contact-form-7-592/) + += 5.9 = + +[https://contactform7.com/contact-form-7-59/](https://contactform7.com/contact-form-7-59/) + = 5.8.7 = [https://contactform7.com/contact-form-7-587/](https://contactform7.com/contact-form-7-587/) @@ -110,40 +118,4 @@ For more information, see [Releases](https://contactform7.com/category/releases/ [https://contactform7.com/contact-form-7-58/](https://contactform7.com/contact-form-7-58/) -= 5.7.7 = - -[https://contactform7.com/contact-form-7-577/](https://contactform7.com/contact-form-7-577/) - -= 5.7.6 = - -[https://contactform7.com/contact-form-7-576/](https://contactform7.com/contact-form-7-576/) - -= 5.7.5.1 = - -* Fixes an old PHP compatibility issue. - -= 5.7.5 = - -[https://contactform7.com/contact-form-7-575/](https://contactform7.com/contact-form-7-575/) - -= 5.7.4 = - -[https://contactform7.com/contact-form-7-574/](https://contactform7.com/contact-form-7-574/) - -= 5.7.3 = - -[https://contactform7.com/contact-form-7-573/](https://contactform7.com/contact-form-7-573/) - -= 5.7.2 = - -[https://contactform7.com/contact-form-7-572/](https://contactform7.com/contact-form-7-572/) - -= 5.7.1 = - -[https://contactform7.com/contact-form-7-571/](https://contactform7.com/contact-form-7-571/) - -= 5.7 = - -[https://contactform7.com/contact-form-7-57/](https://contactform7.com/contact-form-7-57/) - == Upgrade Notice == diff --git a/wp/wp-content/plugins/contact-form-7/wp-contact-form-7.php b/wp/wp-content/plugins/contact-form-7/wp-contact-form-7.php index 1c63002a..7acf05c8 100644 --- a/wp/wp-content/plugins/contact-form-7/wp-contact-form-7.php +++ b/wp/wp-content/plugins/contact-form-7/wp-contact-form-7.php @@ -7,14 +7,14 @@ * Author URI: https://ideasilo.wordpress.com/ * License: GPL v2 or later * License URI: https://www.gnu.org/licenses/gpl-2.0.html - * Version: 5.8.7 - * Requires at least: 6.2 + * Version: 5.9.2 + * Requires at least: 6.3 * Requires PHP: 7.4 */ -define( 'WPCF7_VERSION', '5.8.7' ); +define( 'WPCF7_VERSION', '5.9.2' ); -define( 'WPCF7_REQUIRED_WP_VERSION', '6.2' ); +define( 'WPCF7_REQUIRED_WP_VERSION', '6.3' ); define( 'WPCF7_TEXT_DOMAIN', 'contact-form-7' ); diff --git a/wp/wp-content/plugins/imagify/assets/js/options.js b/wp/wp-content/plugins/imagify/assets/js/options.js index b4d08b6b..657065e8 100644 --- a/wp/wp-content/plugins/imagify/assets/js/options.js +++ b/wp/wp-content/plugins/imagify/assets/js/options.js @@ -138,7 +138,7 @@ window.imagify = window.imagify || {}; /** * Fade CDN URL field. */ - $( '[name="imagify_settings[display_webp_method]"]' ).on( 'change.imagify init.imagify', function( e ) { + $( '[name="imagify_settings[display_nextgen_method]"]' ).on( 'change.imagify init.imagify', function( e ) { if ( 'picture' === e.target.value ) { $( e.target ).closest( '.imagify-radio-group' ).next( '.imagify-options-line' ).removeClass( 'imagify-faded' ); } else { @@ -496,7 +496,7 @@ window.imagify = window.imagify || {}; .on( 'imagifybeat-send', this.addRequirementsImagifybeat ) .on( 'imagifybeat-tick', { imagifyOptionsBulk: this }, this.processRequirementsImagifybeat ); - if ( false !== imagifyOptions.bulk.progress_webp.total && false !== imagifyOptions.bulk.progress_webp.remaining ) { + if ( false !== imagifyOptions.bulk.progress_next_gen.total && false !== imagifyOptions.bulk.progress_next_gen.remaining ) { // Reset properties. w.imagify.optionsBulk.error = false; w.imagify.optionsBulk.working = true; @@ -511,10 +511,10 @@ window.imagify = window.imagify || {}; this.$missingWebpMessage.hide().attr('aria-hidden', 'true'); - processed = imagifyOptions.bulk.progress_webp.total - imagifyOptions.bulk.progress_webp.remaining; - progress = Math.floor( processed / imagifyOptions.bulk.progress_webp.total * 100 ); + processed = imagifyOptions.bulk.progress_next_gen.total - imagifyOptions.bulk.progress_next_gen.remaining; + progress = Math.floor( processed / imagifyOptions.bulk.progress_next_gen.total * 100 ); this.$progressBar.css( 'width', progress + '%' ); - this.$progressText.text( processed + '/' + imagifyOptions.bulk.progress_webp.total ); + this.$progressText.text( processed + '/' + imagifyOptions.bulk.progress_next_gen.total ); this.$progressWrap.slideDown().attr( 'aria-hidden', 'false' ).removeClass( 'hidden' ); } @@ -655,7 +655,7 @@ window.imagify = window.imagify || {}; _this = this; - $.get( this.getAjaxUrl( 'MissingWebp', imagifyOptions.bulk.contexts ) ) + $.get( this.getAjaxUrl( 'MissingNextGen', imagifyOptions.bulk.contexts ) ) .done( function( response ) { var errorMessage; diff --git a/wp/wp-content/plugins/imagify/assets/js/options.min.js b/wp/wp-content/plugins/imagify/assets/js/options.min.js index f61a911b..34c492b4 100644 --- a/wp/wp-content/plugins/imagify/assets/js/options.min.js +++ b/wp/wp-content/plugins/imagify/assets/js/options.min.js @@ -1 +1 @@ -window.imagify=window.imagify||{},function(t,a){var s=!1,o=!1;t("#imagify-settings #api_key").on("blur.imagify",function(){var i=t(this),e=i.val();return""!==t.trim(e)&&(t("#check_api_key").val()===e?(t("#imagify-check-api-container").html(' '+imagifyOptions.labels.ValidApiKeyText),!1):(!0===s?o.abort():(t("#imagify-check-api-container").remove(),i.after(''+imagifyOptions.labels.waitApiKeyCheckText+"")),s=!0,void(o=t.get(ajaxurl+a.imagify.concat+"action=imagify_check_api_key_validity&api_key="+i.val()+"&imagifycheckapikeynonce="+t("#imagifycheckapikeynonce").val()).done(function(i){i.success?(t("#imagify-check-api-container").remove(),swal({title:imagifyOptions.labels.ApiKeyCheckSuccessTitle,html:imagifyOptions.labels.ApiKeyCheckSuccessText,type:"success",padding:0,customClass:"imagify-sweet-alert"}).then(function(){location.reload()})):t("#imagify-check-api-container").html(' '+i.data),s=!1}))))}),t(".imagify-options-line").css("cursor","pointer").on("click.imagify",function(i){"INPUT"!==i.target.nodeName&&t('input[aria-describedby="'+t(this).attr("id")+'"]').trigger("click.imagify")}),t(".imagify-settings th span").on("click.imagify",function(){var i=t(this).parent().next("td").find(":checkbox");1===i.length&&i.trigger("click.imagify")}),t(".imagify-options-line").find("input").on("change.imagify focus.imagify",function(){var i;"checkbox"===this.type&&!this.checked||!(i=t(this).closest(".imagify-options-line").prev("label").prev(":checkbox")).length||i[0].checked||i.prop("checked",!0)}),t('[name="imagify_settings[backup]"]').on("change.imagify",function(){var i=t(this),e=i.siblings("#backup-dir-is-writable"),a={action:"imagify_check_backup_dir_is_writable",_wpnonce:e.data("nonce")};i.is(":checked")?t.getJSON(ajaxurl,a).done(function(i){t.isPlainObject(i)&&i.success&&(i.data.is_writable?e.addClass("hidden"):e.removeClass("hidden"))}):swal({title:imagifyOptions.labels.noBackupTitle,html:imagifyOptions.labels.noBackupText,type:"warning",customClass:"imagify-sweet-alert",padding:0,showCancelButton:!0,cancelButtonText:imagifySwal.labels.cancelButtonText,reverseButtons:!0}).then(function(){e.addClass("hidden")},function(){i.prop("checked",!0)})}),t('[name="imagify_settings[display_webp_method]"]').on("change.imagify init.imagify",function(i){"picture"===i.target.value?t(i.target).closest(".imagify-radio-group").next(".imagify-options-line").removeClass("imagify-faded"):t(i.target).closest(".imagify-radio-group").next(".imagify-options-line").addClass("imagify-faded")}).filter(":checked").trigger("init.imagify")}(jQuery,(document,window)),function(i,s){i.imagifyUser&&s.getJSON(ajaxurl,i.imagifyUser).done(function(t){s.isPlainObject(t)&&t.success&&(t.data.id=null,t.data.plan_id=null,t.data.is=[],s.each(t.data,function(i,e){var a=".imagify-user-"+i.replace(/_/g,"-");0===i.indexOf("is_")?e&&t.data.is.push(a):"is"!==i&&s(a).text(e)}),t.data.is.push("best-plan"),s(t.data.is.join(",")).removeClass("hidden"))})}(window,(document,jQuery)),function(e,i,g){function a(a){var t,s,o,n,l=!1,r=null;a&&(o=g("#imagify-custom-folders-selected"),(n=o.find(".imagify-custom-folder-line")).find('[value="'+a+'"]').length||(a=a.split("#///#"),t=a[1].replace(/\/+$/,"").toLowerCase(),s=e.imagify.template("imagify-custom-folder"),n.each(function(){var i=g(this),e=i.data("path").replace(/\/+$/,"").toLowerCase();return""!==e&&0===t.indexOf(e)?!(l=!0):t'+imagifyOptions.labels.filesTreeSubTitle+'

'+imagifyOptions.labels.cleaningInfo+'

    '+i.data+"
",type:"",customClass:"imagify-sweet-alert imagify-swal-has-subtitle imagify-folders-selection",showCancelButton:!0,padding:0,confirmButtonText:imagifyOptions.labels.confirmFilesTreeBtn,cancelButtonText:imagifySwal.labels.cancelButtonText,reverseButtons:!0}).then(function(){var i=g("#imagify-folders-tree input").serializeArray();i.length&&g.each(i,function(i,e){a(e.value)})}).catch(swal.noop):swal({title:imagifyOptions.labels.error,html:i.data||"",type:"error",padding:0,customClass:"imagify-sweet-alert"})}).fail(function(){swal({title:imagifyOptions.labels.error,type:"error",customClass:"imagify-sweet-alert",padding:0})}).always(function(){i.prop("disabled",!1).next("img").attr("aria-hidden","true")}))}),g(i).on("click.imagify","#imagify-folders-tree [data-folder]",function(){var e=g(this),i=e.nextAll(".imagify-folders-sub-tree"),a=[];e.prop("disabled")||e.siblings(":checkbox").is(":checked")||(e.prop("disabled",!0).addClass("imagify-loading"),i.length?(e.hasClass("imagify-is-open")?(i.addClass("hidden"),e.removeClass(" imagify-is-open")):(i.removeClass("hidden"),e.addClass("imagify-is-open")),e.prop("disabled",!1).removeClass("imagify-loading")):(g("#imagify-custom-folders-selected").find("input").each(function(){a.push(this.value)}),g.post(imagifyOptions.getFilesTree,{folder:e.data("folder"),selected:a},null,"json").done(function(i){i.success?e.addClass("imagify-is-open").parent().append('
    '+i.data+"
"):swal({title:imagifyOptions.labels.error,html:i.data||"",type:"error",padding:0,customClass:"imagify-sweet-alert"})}).fail(function(){swal({title:imagifyOptions.labels.error,type:"error",padding:0,customClass:"imagify-sweet-alert"})}).always(function(){e.prop("disabled",!1).removeClass("imagify-loading")})))}),g("#imagify-custom-folders").on("click.imagify",".imagify-custom-folders-remove",function(){var i=g(this).closest(".imagify-custom-folder-line").addClass("imagify-will-remove");e.setTimeout(function(){i.remove(),g("#imagify-custom-folders-selected").siblings(".imagify-success.hidden").removeClass("hidden")},750)}),g("#imagify-add-themes-to-custom-folder").on("click.imagify",function(){var i=g(this);a(i.data("theme")),a(i.data("theme-parent")),i.replaceWith("

"+imagifyOptions.labels.themesAdded+"

")}))}(window,document,jQuery),function(t,a,s){imagifyOptions.bulk&&(t.imagify.optionsBulk={error:!1,working:!1,processIsStopped:!1,$button:null,$progressWrap:null,$progressBar:null,$progressText:null,init:function(){var i,e;this.$missingWebpElement=s(".generate-missing-webp"),this.$missingWebpMessage=s(".generate-missing-webp p"),this.$button=s("#imagify-generate-webp-versions"),this.$progressWrap=this.$button.siblings(".imagify-progress"),this.$progressBar=this.$progressWrap.find(".bar"),this.$progressText=this.$progressBar.find(".percent"),s("#imagify_convert_to_webp").on("change.imagify init.imagify",{imagifyOptionsBulk:this},this.toggleButton).trigger("init.imagify"),this.$button.on("click.imagify",{imagifyOptionsBulk:this},this.maybeLaunchMissingWebpProcess),s(a).on("imagifybeat-send",{imagifyOptionsBulk:this},this.addQueueImagifybeat).on("imagifybeat-tick",{imagifyOptionsBulk:this},this.processQueueImagifybeat).on("imagifybeat-send",this.addRequirementsImagifybeat).on("imagifybeat-tick",{imagifyOptionsBulk:this},this.processRequirementsImagifybeat),!1!==imagifyOptions.bulk.progress_webp.total&&!1!==imagifyOptions.bulk.progress_webp.remaining&&(t.imagify.optionsBulk.error=!1,t.imagify.optionsBulk.working=!0,t.imagify.optionsBulk.processIsStopped=!1,this.$button.prop("disabled",!0).find(".dashicons").addClass("rotate"),t.imagify.beat.interval(15),t.imagify.beat.disableSuspend(),this.$missingWebpMessage.hide().attr("aria-hidden","true"),i=imagifyOptions.bulk.progress_webp.total-imagifyOptions.bulk.progress_webp.remaining,e=Math.floor(i/imagifyOptions.bulk.progress_webp.total*100),this.$progressBar.css("width",e+"%"),this.$progressText.text(i+"/"+imagifyOptions.bulk.progress_webp.total),this.$progressWrap.slideDown().attr("aria-hidden","false").removeClass("hidden"))},toggleButton:function(i){this.checked?i.data.imagifyOptionsBulk.$button.prop("disabled",!1):i.data.imagifyOptionsBulk.$button.prop("disabled",!0)},maybeLaunchMissingWebpProcess:function(i){!i.data.imagifyOptionsBulk||i.data.imagifyOptionsBulk.working||i.data.imagifyOptionsBulk.hasBlockingError(!0)||(i.data.imagifyOptionsBulk.error=!1,i.data.imagifyOptionsBulk.working=!0,i.data.imagifyOptionsBulk.processIsStopped=!1,i.data.imagifyOptionsBulk.$button.prop("disabled",!0).find(".dashicons").addClass("rotate"),t.imagify.beat.interval(15),t.imagify.beat.disableSuspend(),i.data.imagifyOptionsBulk.launchProcess())},addQueueImagifybeat:function(i,e){e[imagifyOptions.bulk.imagifybeatIDs.progress]=imagifyOptions.bulk.contexts},processQueueImagifybeat:function(i,e){var a,t;i.data.imagifyOptionsBulk&&void 0===e[imagifyOptions.bulk.imagifybeatIDs.progress]||(i.data.imagifyOptionsBulk.processIsStopped||0===(e=e[imagifyOptions.bulk.imagifybeatIDs.progress]).remaining?i.data.imagifyOptionsBulk.processFinished():(a=e.total-e.remaining,t=Math.floor(a/e.total*100),i.data.imagifyOptionsBulk.$progressBar.css("width",t+"%"),i.data.imagifyOptionsBulk.$progressText.text(a+"/"+e.total)))},addRequirementsImagifybeat:function(i,e){e[imagifyOptions.bulk.imagifybeatIDs.requirements]=1},processRequirementsImagifybeat:function(i,e){i.data.imagifyOptionsBulk&&void 0===e[imagifyOptions.bulk.imagifybeatIDs.requirements]||(e=e[imagifyOptions.bulk.imagifybeatIDs.requirements],imagifyOptions.bulk.curlMissing=e.curl_missing,imagifyOptions.bulk.editorMissing=e.editor_missing,imagifyOptions.bulk.extHttpBlocked=e.external_http_blocked,imagifyOptions.bulk.apiDown=e.api_down,imagifyOptions.bulk.keyIsValid=e.key_is_valid,imagifyOptions.bulk.isOverQuota=e.is_over_quota)},launchProcess:function(){var a;this.processIsStopped||s.get((a=this).getAjaxUrl("MissingWebp",imagifyOptions.bulk.contexts)).done(function(i){var e;a.processIsStopped||(e=i.data&&i.data.message?i.data.message:imagifyOptions.bulk.ajaxErrorText,i.success?0===i.data.total?a.stopProcess("no-images"):(a.$missingWebpMessage.hide().attr("aria-hidden","true"),a.$progressText.text("0"+(i.data.total?"/"+i.data.total:"")),a.$progressWrap.slideDown().attr("aria-hidden","false").removeClass("hidden")):a.error||a.stopProcess(e))}).fail(function(){a.error||a.stopProcess("get-unoptimized-images")})},processFinished:function(){var i={};!1!==this.error&&(i="invalid-api-key"===this.error?{title:imagifyOptions.bulk.labels.invalidAPIKeyTitle,type:"info"}:"over-quota"===this.error?{title:imagifyOptions.bulk.labels.overQuotaTitle,html:s("#tmpl-imagify-overquota-alert").html(),type:"info",customClass:"imagify-swal-has-subtitle imagify-swal-error-header",showConfirmButton:!1}:"get-unoptimized-images"===this.error?{title:imagifyOptions.bulk.labels.getUnoptimizedImagesErrorTitle,html:imagifyOptions.bulk.labels.getUnoptimizedImagesErrorText,type:"info"}:"no-images"===this.error?{title:imagifyOptions.bulk.labels.nothingToDoTitle,html:imagifyOptions.bulk.labels.nothingToDoText,type:"info"}:"no-backup"===this.error?{title:imagifyOptions.bulk.labels.nothingToDoTitle,html:imagifyOptions.bulk.labels.nothingToDoNoBackupText,type:"info"}:{title:imagifyOptions.bulk.labels.error,html:this.error,type:"info"},this.displayError(i),this.error=!1),this.working=!1,this.processIsStopped=!1,t.imagify.beat.resetInterval(),t.imagify.beat.enableSuspend(),this.$progressWrap.slideUp().attr("aria-hidden","true").addClass("hidden"),this.$progressText.text("0"),this.$missingWebpElement.hide().attr("aria-hidden","true"),this.$button.find(".dashicons").removeClass("rotate")},hasBlockingError:function(i){return i=void 0!==i&&i,imagifyOptions.bulk.curlMissing?(i&&this.displayError({html:imagifyOptions.bulk.labels.curlMissing}),!0):imagifyOptions.bulk.editorMissing?(i&&this.displayError({html:imagifyOptions.bulk.labels.editorMissing}),!0):imagifyOptions.bulk.extHttpBlocked?(i&&this.displayError({html:imagifyOptions.bulk.labels.extHttpBlocked}),!0):imagifyOptions.bulk.apiDown?(i&&this.displayError({html:imagifyOptions.bulk.labels.apiDown}),!0):imagifyOptions.bulk.keyIsValid?!!imagifyOptions.bulk.isOverQuota&&(i&&this.displayError({title:imagifyOptions.bulk.labels.overQuotaTitle,html:s("#tmpl-imagify-overquota-alert").html(),type:"info",customClass:"imagify-swal-has-subtitle imagify-swal-error-header",showConfirmButton:!1}),!0):(i&&this.displayError({title:imagifyOptions.bulk.labels.invalidAPIKeyTitle,type:"info"}),!0)},displayError:function(i,e,a){var t={title:"",html:"",type:"error",customClass:"",width:620,padding:0,showCloseButton:!0,showConfirmButton:!0};(a=s.isPlainObject(i)?s.extend({},t,i):s.extend({},t,{title:i||"",html:e||""},a=a||{})).title=a.title||imagifyOptions.bulk.labels.error,a.customClass+=" imagify-sweet-alert",swal(a).catch(swal.noop)},getAjaxUrl:function(i,e){var a=ajaxurl+t.imagify.concat+"_wpnonce="+imagifyOptions.bulk.ajaxNonce;return(a+="&action="+imagifyOptions.bulk.ajaxActions[i])+("&context="+e.join("_"))},stopProcess:function(i){this.processIsStopped=!0,this.error=i,this.processFinished()}},t.imagify.optionsBulk.init())}(window,document,jQuery),function(o){var t=o.propHooks.checked;o.propHooks.checked={set:function(i,e,a){e=void 0===t?i[a]=e:t(i,e,a);return o(i).trigger("change.imagify"),e}},o(".imagify-select-all").on("click.imagify",function(){var i=o(this),e=i.data("action"),a=i.closest(".imagify-select-all-buttons"),t=a.prev(".imagify-check-group"),s="imagify-is-inactive";if(i.hasClass(s))return!1;a.find(".imagify-select-all").removeClass(s).attr("aria-disabled","false"),i.addClass(s).attr("aria-disabled","true"),t.find(".imagify-row-check").prop("checked",function(){return!o(this).is(":hidden,:disabled")&&"select"===e})}),o(".imagify-check-group .imagify-row-check").on("change.imagify",function(){var i=o(this).closest(".imagify-check-group"),e=i.find(".imagify-row-check"),a=e.filter(":visible:enabled").length,e=e.filter(":visible:enabled:checked").length,i=i.next(".imagify-select-all-buttons"),t="imagify-is-inactive";0===e&&i.find('[data-action="unselect"]').addClass(t).attr("aria-disabled","true"),e===a&&i.find('[data-action="select"]').addClass(t).attr("aria-disabled","true"),e!==a&&0 '+imagifyOptions.labels.ValidApiKeyText),!1):(!0===s?n.abort():(t("#imagify-check-api-container").remove(),i.after(''+imagifyOptions.labels.waitApiKeyCheckText+"")),s=!0,void(n=t.get(ajaxurl+a.imagify.concat+"action=imagify_check_api_key_validity&api_key="+i.val()+"&imagifycheckapikeynonce="+t("#imagifycheckapikeynonce").val()).done(function(i){i.success?(t("#imagify-check-api-container").remove(),swal({title:imagifyOptions.labels.ApiKeyCheckSuccessTitle,html:imagifyOptions.labels.ApiKeyCheckSuccessText,type:"success",padding:0,customClass:"imagify-sweet-alert"}).then(function(){location.reload()})):t("#imagify-check-api-container").html(' '+i.data),s=!1}))))}),t(".imagify-options-line").css("cursor","pointer").on("click.imagify",function(i){"INPUT"!==i.target.nodeName&&t('input[aria-describedby="'+t(this).attr("id")+'"]').trigger("click.imagify")}),t(".imagify-settings th span").on("click.imagify",function(){var i=t(this).parent().next("td").find(":checkbox");1===i.length&&i.trigger("click.imagify")}),t(".imagify-options-line").find("input").on("change.imagify focus.imagify",function(){var i;"checkbox"===this.type&&!this.checked||!(i=t(this).closest(".imagify-options-line").prev("label").prev(":checkbox")).length||i[0].checked||i.prop("checked",!0)}),t('[name="imagify_settings[backup]"]').on("change.imagify",function(){var i=t(this),e=i.siblings("#backup-dir-is-writable"),a={action:"imagify_check_backup_dir_is_writable",_wpnonce:e.data("nonce")};i.is(":checked")?t.getJSON(ajaxurl,a).done(function(i){t.isPlainObject(i)&&i.success&&(i.data.is_writable?e.addClass("hidden"):e.removeClass("hidden"))}):swal({title:imagifyOptions.labels.noBackupTitle,html:imagifyOptions.labels.noBackupText,type:"warning",customClass:"imagify-sweet-alert",padding:0,showCancelButton:!0,cancelButtonText:imagifySwal.labels.cancelButtonText,reverseButtons:!0}).then(function(){e.addClass("hidden")},function(){i.prop("checked",!0)})}),t('[name="imagify_settings[display_nextgen_method]"]').on("change.imagify init.imagify",function(i){"picture"===i.target.value?t(i.target).closest(".imagify-radio-group").next(".imagify-options-line").removeClass("imagify-faded"):t(i.target).closest(".imagify-radio-group").next(".imagify-options-line").addClass("imagify-faded")}).filter(":checked").trigger("init.imagify")}(jQuery,(document,window)),function(i,s){i.imagifyUser&&s.getJSON(ajaxurl,i.imagifyUser).done(function(t){s.isPlainObject(t)&&t.success&&(t.data.id=null,t.data.plan_id=null,t.data.is=[],s.each(t.data,function(i,e){var a=".imagify-user-"+i.replace(/_/g,"-");0===i.indexOf("is_")?e&&t.data.is.push(a):"is"!==i&&s(a).text(e)}),t.data.is.push("best-plan"),s(t.data.is.join(",")).removeClass("hidden"))})}(window,(document,jQuery)),function(e,i,g){function a(a){var t,s,n,o,l=!1,r=null;a&&(n=g("#imagify-custom-folders-selected"),(o=n.find(".imagify-custom-folder-line")).find('[value="'+a+'"]').length||(a=a.split("#///#"),t=a[1].replace(/\/+$/,"").toLowerCase(),s=e.imagify.template("imagify-custom-folder"),o.each(function(){var i=g(this),e=i.data("path").replace(/\/+$/,"").toLowerCase();return""!==e&&0===t.indexOf(e)?!(l=!0):t'+imagifyOptions.labels.filesTreeSubTitle+'

'+imagifyOptions.labels.cleaningInfo+'

    '+i.data+"
",type:"",customClass:"imagify-sweet-alert imagify-swal-has-subtitle imagify-folders-selection",showCancelButton:!0,padding:0,confirmButtonText:imagifyOptions.labels.confirmFilesTreeBtn,cancelButtonText:imagifySwal.labels.cancelButtonText,reverseButtons:!0}).then(function(){var i=g("#imagify-folders-tree input").serializeArray();i.length&&g.each(i,function(i,e){a(e.value)})}).catch(swal.noop):swal({title:imagifyOptions.labels.error,html:i.data||"",type:"error",padding:0,customClass:"imagify-sweet-alert"})}).fail(function(){swal({title:imagifyOptions.labels.error,type:"error",customClass:"imagify-sweet-alert",padding:0})}).always(function(){i.prop("disabled",!1).next("img").attr("aria-hidden","true")}))}),g(i).on("click.imagify","#imagify-folders-tree [data-folder]",function(){var e=g(this),i=e.nextAll(".imagify-folders-sub-tree"),a=[];e.prop("disabled")||e.siblings(":checkbox").is(":checked")||(e.prop("disabled",!0).addClass("imagify-loading"),i.length?(e.hasClass("imagify-is-open")?(i.addClass("hidden"),e.removeClass(" imagify-is-open")):(i.removeClass("hidden"),e.addClass("imagify-is-open")),e.prop("disabled",!1).removeClass("imagify-loading")):(g("#imagify-custom-folders-selected").find("input").each(function(){a.push(this.value)}),g.post(imagifyOptions.getFilesTree,{folder:e.data("folder"),selected:a},null,"json").done(function(i){i.success?e.addClass("imagify-is-open").parent().append('
    '+i.data+"
"):swal({title:imagifyOptions.labels.error,html:i.data||"",type:"error",padding:0,customClass:"imagify-sweet-alert"})}).fail(function(){swal({title:imagifyOptions.labels.error,type:"error",padding:0,customClass:"imagify-sweet-alert"})}).always(function(){e.prop("disabled",!1).removeClass("imagify-loading")})))}),g("#imagify-custom-folders").on("click.imagify",".imagify-custom-folders-remove",function(){var i=g(this).closest(".imagify-custom-folder-line").addClass("imagify-will-remove");e.setTimeout(function(){i.remove(),g("#imagify-custom-folders-selected").siblings(".imagify-success.hidden").removeClass("hidden")},750)}),g("#imagify-add-themes-to-custom-folder").on("click.imagify",function(){var i=g(this);a(i.data("theme")),a(i.data("theme-parent")),i.replaceWith("

"+imagifyOptions.labels.themesAdded+"

")}))}(window,document,jQuery),function(t,a,s){imagifyOptions.bulk&&(t.imagify.optionsBulk={error:!1,working:!1,processIsStopped:!1,$button:null,$progressWrap:null,$progressBar:null,$progressText:null,init:function(){var i,e;this.$missingWebpElement=s(".generate-missing-webp"),this.$missingWebpMessage=s(".generate-missing-webp p"),this.$button=s("#imagify-generate-webp-versions"),this.$progressWrap=this.$button.siblings(".imagify-progress"),this.$progressBar=this.$progressWrap.find(".bar"),this.$progressText=this.$progressBar.find(".percent"),s("#imagify_convert_to_webp").on("change.imagify init.imagify",{imagifyOptionsBulk:this},this.toggleButton).trigger("init.imagify"),this.$button.on("click.imagify",{imagifyOptionsBulk:this},this.maybeLaunchMissingWebpProcess),s(a).on("imagifybeat-send",{imagifyOptionsBulk:this},this.addQueueImagifybeat).on("imagifybeat-tick",{imagifyOptionsBulk:this},this.processQueueImagifybeat).on("imagifybeat-send",this.addRequirementsImagifybeat).on("imagifybeat-tick",{imagifyOptionsBulk:this},this.processRequirementsImagifybeat),!1!==imagifyOptions.bulk.progress_next_gen.total&&!1!==imagifyOptions.bulk.progress_next_gen.remaining&&(t.imagify.optionsBulk.error=!1,t.imagify.optionsBulk.working=!0,t.imagify.optionsBulk.processIsStopped=!1,this.$button.prop("disabled",!0).find(".dashicons").addClass("rotate"),t.imagify.beat.interval(15),t.imagify.beat.disableSuspend(),this.$missingWebpMessage.hide().attr("aria-hidden","true"),i=imagifyOptions.bulk.progress_next_gen.total-imagifyOptions.bulk.progress_next_gen.remaining,e=Math.floor(i/imagifyOptions.bulk.progress_next_gen.total*100),this.$progressBar.css("width",e+"%"),this.$progressText.text(i+"/"+imagifyOptions.bulk.progress_next_gen.total),this.$progressWrap.slideDown().attr("aria-hidden","false").removeClass("hidden"))},toggleButton:function(i){this.checked?i.data.imagifyOptionsBulk.$button.prop("disabled",!1):i.data.imagifyOptionsBulk.$button.prop("disabled",!0)},maybeLaunchMissingWebpProcess:function(i){!i.data.imagifyOptionsBulk||i.data.imagifyOptionsBulk.working||i.data.imagifyOptionsBulk.hasBlockingError(!0)||(i.data.imagifyOptionsBulk.error=!1,i.data.imagifyOptionsBulk.working=!0,i.data.imagifyOptionsBulk.processIsStopped=!1,i.data.imagifyOptionsBulk.$button.prop("disabled",!0).find(".dashicons").addClass("rotate"),t.imagify.beat.interval(15),t.imagify.beat.disableSuspend(),i.data.imagifyOptionsBulk.launchProcess())},addQueueImagifybeat:function(i,e){e[imagifyOptions.bulk.imagifybeatIDs.progress]=imagifyOptions.bulk.contexts},processQueueImagifybeat:function(i,e){var a,t;i.data.imagifyOptionsBulk&&void 0===e[imagifyOptions.bulk.imagifybeatIDs.progress]||(i.data.imagifyOptionsBulk.processIsStopped||0===(e=e[imagifyOptions.bulk.imagifybeatIDs.progress]).remaining?i.data.imagifyOptionsBulk.processFinished():(a=e.total-e.remaining,t=Math.floor(a/e.total*100),i.data.imagifyOptionsBulk.$progressBar.css("width",t+"%"),i.data.imagifyOptionsBulk.$progressText.text(a+"/"+e.total)))},addRequirementsImagifybeat:function(i,e){e[imagifyOptions.bulk.imagifybeatIDs.requirements]=1},processRequirementsImagifybeat:function(i,e){i.data.imagifyOptionsBulk&&void 0===e[imagifyOptions.bulk.imagifybeatIDs.requirements]||(e=e[imagifyOptions.bulk.imagifybeatIDs.requirements],imagifyOptions.bulk.curlMissing=e.curl_missing,imagifyOptions.bulk.editorMissing=e.editor_missing,imagifyOptions.bulk.extHttpBlocked=e.external_http_blocked,imagifyOptions.bulk.apiDown=e.api_down,imagifyOptions.bulk.keyIsValid=e.key_is_valid,imagifyOptions.bulk.isOverQuota=e.is_over_quota)},launchProcess:function(){var a;this.processIsStopped||s.get((a=this).getAjaxUrl("MissingNextGen",imagifyOptions.bulk.contexts)).done(function(i){var e;a.processIsStopped||(e=i.data&&i.data.message?i.data.message:imagifyOptions.bulk.ajaxErrorText,i.success?0===i.data.total?a.stopProcess("no-images"):(a.$missingWebpMessage.hide().attr("aria-hidden","true"),a.$progressText.text("0"+(i.data.total?"/"+i.data.total:"")),a.$progressWrap.slideDown().attr("aria-hidden","false").removeClass("hidden")):a.error||a.stopProcess(e))}).fail(function(){a.error||a.stopProcess("get-unoptimized-images")})},processFinished:function(){var i={};!1!==this.error&&(i="invalid-api-key"===this.error?{title:imagifyOptions.bulk.labels.invalidAPIKeyTitle,type:"info"}:"over-quota"===this.error?{title:imagifyOptions.bulk.labels.overQuotaTitle,html:s("#tmpl-imagify-overquota-alert").html(),type:"info",customClass:"imagify-swal-has-subtitle imagify-swal-error-header",showConfirmButton:!1}:"get-unoptimized-images"===this.error?{title:imagifyOptions.bulk.labels.getUnoptimizedImagesErrorTitle,html:imagifyOptions.bulk.labels.getUnoptimizedImagesErrorText,type:"info"}:"no-images"===this.error?{title:imagifyOptions.bulk.labels.nothingToDoTitle,html:imagifyOptions.bulk.labels.nothingToDoText,type:"info"}:"no-backup"===this.error?{title:imagifyOptions.bulk.labels.nothingToDoTitle,html:imagifyOptions.bulk.labels.nothingToDoNoBackupText,type:"info"}:{title:imagifyOptions.bulk.labels.error,html:this.error,type:"info"},this.displayError(i),this.error=!1),this.working=!1,this.processIsStopped=!1,t.imagify.beat.resetInterval(),t.imagify.beat.enableSuspend(),this.$progressWrap.slideUp().attr("aria-hidden","true").addClass("hidden"),this.$progressText.text("0"),this.$missingWebpElement.hide().attr("aria-hidden","true"),this.$button.find(".dashicons").removeClass("rotate")},hasBlockingError:function(i){return i=void 0!==i&&i,imagifyOptions.bulk.curlMissing?(i&&this.displayError({html:imagifyOptions.bulk.labels.curlMissing}),!0):imagifyOptions.bulk.editorMissing?(i&&this.displayError({html:imagifyOptions.bulk.labels.editorMissing}),!0):imagifyOptions.bulk.extHttpBlocked?(i&&this.displayError({html:imagifyOptions.bulk.labels.extHttpBlocked}),!0):imagifyOptions.bulk.apiDown?(i&&this.displayError({html:imagifyOptions.bulk.labels.apiDown}),!0):imagifyOptions.bulk.keyIsValid?!!imagifyOptions.bulk.isOverQuota&&(i&&this.displayError({title:imagifyOptions.bulk.labels.overQuotaTitle,html:s("#tmpl-imagify-overquota-alert").html(),type:"info",customClass:"imagify-swal-has-subtitle imagify-swal-error-header",showConfirmButton:!1}),!0):(i&&this.displayError({title:imagifyOptions.bulk.labels.invalidAPIKeyTitle,type:"info"}),!0)},displayError:function(i,e,a){var t={title:"",html:"",type:"error",customClass:"",width:620,padding:0,showCloseButton:!0,showConfirmButton:!0};(a=s.isPlainObject(i)?s.extend({},t,i):s.extend({},t,{title:i||"",html:e||""},a=a||{})).title=a.title||imagifyOptions.bulk.labels.error,a.customClass+=" imagify-sweet-alert",swal(a).catch(swal.noop)},getAjaxUrl:function(i,e){var a=ajaxurl+t.imagify.concat+"_wpnonce="+imagifyOptions.bulk.ajaxNonce;return(a+="&action="+imagifyOptions.bulk.ajaxActions[i])+("&context="+e.join("_"))},stopProcess:function(i){this.processIsStopped=!0,this.error=i,this.processFinished()}},t.imagify.optionsBulk.init())}(window,document,jQuery),function(n){var t=n.propHooks.checked;n.propHooks.checked={set:function(i,e,a){e=void 0===t?i[a]=e:t(i,e,a);return n(i).trigger("change.imagify"),e}},n(".imagify-select-all").on("click.imagify",function(){var i=n(this),e=i.data("action"),a=i.closest(".imagify-select-all-buttons"),t=a.prev(".imagify-check-group"),s="imagify-is-inactive";if(i.hasClass(s))return!1;a.find(".imagify-select-all").removeClass(s).attr("aria-disabled","false"),i.addClass(s).attr("aria-disabled","true"),t.find(".imagify-row-check").prop("checked",function(){return!n(this).is(":hidden,:disabled")&&"select"===e})}),n(".imagify-check-group .imagify-row-check").on("change.imagify",function(){var i=n(this).closest(".imagify-check-group"),e=i.find(".imagify-row-check"),a=e.filter(":visible:enabled").length,e=e.filter(":visible:enabled:checked").length,i=i.next(".imagify-select-all-buttons"),t="imagify-is-inactive";0===e&&i.find('[data-action="unselect"]').addClass(t).attr("aria-disabled","true"),e===a&&i.find('[data-action="select"]').addClass(t).attr("aria-disabled","true"),e!==a&&0is_free() ) { $text = esc_html__( 'Upgrade your plan now for more!', 'rocket' ) . '
' . - esc_html__( 'From $4.99/month only, keep going with image optimization!', 'rocket' ); + esc_html__( 'From $5.99/month only, keep going with image optimization!', 'rocket' ); $button_text = esc_html__( 'Upgrade My Plan', 'rocket' ); $upgrade_link = IMAGIFY_APP_DOMAIN . '/subscription/?utm_source=plugin&utm_medium=notification'; } elseif ( $user->is_growth() ) { diff --git a/wp/wp-content/plugins/imagify/classes/Avif/Apache.php b/wp/wp-content/plugins/imagify/classes/Avif/Apache.php new file mode 100644 index 00000000..5dc2a6e4 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Avif/Apache.php @@ -0,0 +1,31 @@ + + AddType image/avif .avif +' ); + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Avif/Display.php b/wp/wp-content/plugins/imagify/classes/Avif/Display.php new file mode 100644 index 00000000..0fba8061 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Avif/Display.php @@ -0,0 +1,169 @@ + [ 'maybe_add_rewrite_rules', 12 ], + 'imagify_activation' => 'activate', + 'imagify_deactivation' => 'deactivate', + ]; + } + + /** + * If display Next-Gen images, add the AVIF type to the .htaccess/etc file. + * + * @since 1.9 + * + * @param array $values The option values. + * + * @return array + */ + public function maybe_add_rewrite_rules( $values ) { + if ( ! $this->get_server_conf() ) { + return $values; + } + + $enabled = isset( $values['display_nextgen'] ) ? true : false; + $result = false; + + if ( $enabled ) { + // Add the AVIF file type. + $result = $this->get_server_conf()->add(); + } elseif ( ! $enabled ) { + // Remove the AVIF file type. + $result = $this->get_server_conf()->remove(); + } + + if ( ! is_wp_error( $result ) ) { + return $values; + } + + // Display an error message. + if ( is_multisite() && strpos( wp_get_referer(), network_admin_url( '/' ) ) === 0 ) { + Notices::get_instance()->add_network_temporary_notice( $result->get_error_message() ); + + return $values; + } + + Notices::get_instance()->add_site_temporary_notice( $result->get_error_message() ); + + return $values; + } + + /** + * Add rules on plugin activation. + * + * @since 1.9 + */ + public function activate() { + $conf = $this->get_server_conf(); + + if ( ! $conf ) { + return; + } + + if ( ! get_imagify_option( 'display_nextgen' ) ) { + return; + } + + if ( is_wp_error( $conf->is_file_writable() ) ) { + return; + } + + $conf->add(); + } + + /** + * Remove rules on plugin deactivation. + * + * @since 1.9 + */ + public function deactivate() { + $conf = $this->get_server_conf(); + + if ( ! $conf ) { + return; + } + + $file_path = $conf->get_file_path(); + $filesystem = \Imagify_Filesystem::get_instance(); + + if ( ! $filesystem->exists( $file_path ) ) { + return; + } + if ( ! $filesystem->is_writable( $file_path ) ) { + return; + } + + $conf->remove(); + } + + /** + * Get the path to the directory conf file. + * + * @since 1.9 + * + * @param bool $relative True to get a path relative to the site’s root. + * @return string|bool The file path. False on failure. + */ + public function get_file_path( $relative = false ) { + if ( ! $this->get_server_conf() ) { + return false; + } + + $file_path = $this->get_server_conf()->get_file_path(); + + if ( $relative ) { + return \Imagify_Filesystem::get_instance()->make_path_relative( $file_path ); + } + + return $file_path; + } + + /** + * Get the server conf instance. + * Note: nothing needed for nginx. + * + * @since 1.9 + * + * @return WriteFileInterface + */ + protected function get_server_conf() { + global $is_apache, $is_iis7; + + if ( isset( $this->server_conf ) ) { + return $this->server_conf; + } + + if ( $is_apache ) { + $this->server_conf = new Apache(); + } elseif ( $is_iis7 ) { + $this->server_conf = new IIS(); + } + + return $this->server_conf; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Avif/IIS.php b/wp/wp-content/plugins/imagify/classes/Avif/IIS.php new file mode 100644 index 00000000..cc8dcd36 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Avif/IIS.php @@ -0,0 +1,32 @@ + + + +' ); + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Apache.php b/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Apache.php new file mode 100644 index 00000000..c970aeb8 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Apache.php @@ -0,0 +1,59 @@ +get_extensions_pattern(); + $extensions = str_replace( '|avif', '', $extensions ); + $home_root = wp_parse_url( home_url( '/' ) ); + $home_root = $home_root['path']; + + return trim( ' + + # Vary: Accept for all the requests to jpeg, png, and gif. + SetEnvIf Request_URI "\.(' . $extensions . ')$" REQUEST_image + + + + RewriteEngine On + RewriteBase ' . $home_root . ' + + # Check if browser supports AVIF images. + # Update the MIME type accordingly. + RewriteCond %{HTTP_ACCEPT} image/avif + + # Check if AVIF replacement image exists. + RewriteCond %{REQUEST_FILENAME}.avif -f + + # Serve AVIF image instead. + RewriteRule (.+)\.(' . $extensions . ')$ $1.$2.avif [T=image/avif,NC] + + + + # Update the MIME type accordingly. + Header append Vary Accept env=REQUEST_image +' ); + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Display.php b/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Display.php new file mode 100644 index 00000000..0d54ccbe --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Display.php @@ -0,0 +1,224 @@ + [ 'maybe_add_rewrite_rules', 11 ], + 'imagify_settings_webp_info' => 'maybe_add_avif_info', + 'imagify_activation' => 'activate', + 'imagify_deactivation' => 'deactivate', + ]; + } + + /** + * If display AVIF images via rewrite rules, add the rules to the .htaccess/etc file. + * + * @since 1.9 + * + * @param array $values The option values. + * + * @return array + */ + public function maybe_add_rewrite_rules( $values ) { + $was_enabled = (bool) get_imagify_option( 'display_nextgen' ); + $is_enabled = ! empty( $values['display_nextgen'] ); + + // Which method? + $old_value = get_imagify_option( 'display_nextgen_method' ); + $new_value = ! empty( $values['display_nextgen_method'] ) ? $values['display_nextgen_method'] : ''; + + // Decide when to add or remove rules. + $is_rewrite = self::OPTION_VALUE === $new_value; + $was_rewrite = self::OPTION_VALUE === $old_value; + + if ( ! $this->get_server_conf() ) { + return $values; + } + + $result = false; + + if ( $is_enabled && $is_rewrite && ( ! $was_enabled || ! $was_rewrite ) ) { + // Add the rewrite rules. + $result = $this->get_server_conf()->add(); + } elseif ( $was_enabled && $was_rewrite && ( ! $is_enabled || ! $is_rewrite ) ) { + // Remove the rewrite rules. + $result = $this->get_server_conf()->remove(); + } + + if ( ! is_wp_error( $result ) ) { + return $values; + } + + // Display an error message. + if ( is_multisite() && strpos( wp_get_referer(), network_admin_url( '/' ) ) === 0 ) { + Notices::get_instance()->add_network_temporary_notice( $result->get_error_message() ); + + return $values; + } + + Notices::get_instance()->add_site_temporary_notice( $result->get_error_message() ); + + return $values; + } + + /** + * If the conf file is not writable, add a warning. + */ + public function maybe_add_avif_info() { + $conf = $this->get_server_conf(); + + if ( ! $conf ) { + return; + } + + $writable = $conf->is_file_writable(); + + if ( is_wp_error( $writable ) ) { + $rules = $conf->get_new_contents(); + + if ( ! $rules ) { + // Uh? + return; + } + + printf( + /* translators: %s is a file name. */ + esc_html__( 'If you choose to use rewrite rules, you will have to add the following lines manually to the %s file:', 'imagify' ), + '' . $this->get_file_path( true ) . '' + ); + + echo '
' . esc_html( $rules ) . '
'; + } + } + + /** + * Add rules on plugin activation. + */ + public function activate() { + $conf = $this->get_server_conf(); + + if ( ! $conf ) { + return; + } + + if ( ! get_imagify_option( 'display_nextgen' ) ) { + return; + } + + if ( self::OPTION_VALUE !== get_imagify_option( 'display_nextgen_method' ) ) { + return; + } + + if ( is_wp_error( $conf->is_file_writable() ) ) { + return; + } + + $conf->add(); + } + + /** + * Remove rules on plugin deactivation. + * + * @since 1.9 + */ + public function deactivate() { + $conf = $this->get_server_conf(); + + if ( ! $conf ) { + return; + } + + if ( ! get_imagify_option( 'display_nextgen' ) ) { + return; + } + + if ( self::OPTION_VALUE !== get_imagify_option( 'display_nextgen_method' ) ) { + return; + } + + $file_path = $conf->get_file_path(); + $filesystem = \Imagify_Filesystem::get_instance(); + + if ( ! $filesystem->exists( $file_path ) ) { + return; + } + if ( ! $filesystem->is_writable( $file_path ) ) { + return; + } + + $conf->remove(); + } + + /** + * Get the path to the directory conf file. + * + * @param bool $relative True to get a path relative to the site’s root. + * + * @return string|bool The file path. False on failure. + */ + public function get_file_path( $relative = false ) { + if ( ! $this->get_server_conf() ) { + return false; + } + + $file_path = $this->get_server_conf()->get_file_path(); + + if ( $relative ) { + return \Imagify_Filesystem::get_instance()->make_path_relative( $file_path ); + } + + return $file_path; + } + + /** + * Get the server conf instance. + * + * @return WriteFileInterface + */ + protected function get_server_conf() { + global $is_apache, $is_iis7, $is_nginx; + + if ( isset( $this->server_conf ) ) { + return $this->server_conf; + } + + if ( $is_apache ) { + $this->server_conf = new Apache(); + } elseif ( $is_iis7 ) { + $this->server_conf = new IIS(); + } elseif ( $is_nginx ) { + $this->server_conf = new Nginx(); + } + + return $this->server_conf; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/IIS.php b/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/IIS.php new file mode 100644 index 00000000..8c429597 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/IIS.php @@ -0,0 +1,58 @@ +get_extensions_pattern(); + $extensions = str_replace( '|avif', '', $extensions ); + $home_root = wp_parse_url( home_url( '/' ) ); + $home_root = $home_root['path']; + + return trim( ' + + + + + + + + + + + + + + + + + + + + + + +' ); + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Nginx.php b/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Nginx.php new file mode 100644 index 00000000..7855cb1b --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Avif/RewriteRules/Nginx.php @@ -0,0 +1,30 @@ +getContainer()->share( 'avif_display', Display::class ); + $this->getContainer()->share( 'avif_rewrite_rules', RewriteRules::class ); + } + + /** + * Returns the subscribers array + * + * @return array + */ + public function get_subscribers() { + return $this->subscribers; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Bulk/AbstractBulk.php b/wp/wp-content/plugins/imagify/classes/Bulk/AbstractBulk.php index 4b5b881c..8bd71f16 100644 --- a/wp/wp-content/plugins/imagify/classes/Bulk/AbstractBulk.php +++ b/wp/wp-content/plugins/imagify/classes/Bulk/AbstractBulk.php @@ -105,13 +105,19 @@ abstract class AbstractBulk implements BulkInterface { } /** - * Tell if there are optimized media without WebP versions. + * Tell if there are optimized media without next-gen versions. * * @since 1.9 * * @return int The number of media. */ - public function has_optimized_media_without_webp() { - return count( $this->get_optimized_media_ids_without_webp()['ids'] ); + public function has_optimized_media_without_nextgen() { + $format = 'webp'; + + if ( get_imagify_option( 'convert_to_avif' ) ) { + $format = 'avif'; + } + + return count( $this->get_optimized_media_ids_without_format( $format )['ids'] ); } } diff --git a/wp/wp-content/plugins/imagify/classes/Bulk/Bulk.php b/wp/wp-content/plugins/imagify/classes/Bulk/Bulk.php index ef13f783..94120175 100644 --- a/wp/wp-content/plugins/imagify/classes/Bulk/Bulk.php +++ b/wp/wp-content/plugins/imagify/classes/Bulk/Bulk.php @@ -17,15 +17,15 @@ class Bulk { */ public function init() { add_action( 'imagify_optimize_media', [ $this, 'optimize_media' ], 10, 3 ); - add_action( 'imagify_convert_webp', [ $this, 'generate_webp_versions' ], 10, 2 ); - add_action( 'imagify_convert_webp_finished', [ $this, 'clear_webp_transients' ], 10, 2 ); + add_action( 'imagify_convert_next_gen', [ $this, 'generate_nextgen_versions' ], 10, 2 ); add_action( 'wp_ajax_imagify_bulk_optimize', [ $this, 'bulk_optimize_callback' ] ); - add_action( 'wp_ajax_imagify_missing_webp_generation', [ $this, 'missing_webp_callback' ] ); + add_action( 'wp_ajax_imagify_missing_nextgen_generation', [ $this, 'missing_nextgen_callback' ] ); add_action( 'wp_ajax_imagify_get_folder_type_data', [ $this, 'get_folder_type_data_callback' ] ); add_action( 'wp_ajax_imagify_bulk_info_seen', [ $this, 'bulk_info_seen_callback' ] ); add_action( 'wp_ajax_imagify_bulk_get_stats', [ $this, 'bulk_get_stats_callback' ] ); add_action( 'imagify_after_optimize', [ $this, 'check_optimization_status' ], 10, 2 ); add_action( 'imagify_deactivation', [ $this, 'delete_transients_data' ] ); + add_action( 'update_option_imagify_settings', [ $this, 'maybe_generate_missing_nextgen' ], 10, 2 ); } /** @@ -37,7 +37,7 @@ class Bulk { delete_transient( 'imagify_custom-folders_optimize_running' ); delete_transient( 'imagify_wp_optimize_running' ); delete_transient( 'imagify_bulk_optimization_complete' ); - delete_transient( 'imagify_missing_webp_total' ); + delete_transient( 'imagify_missing_next_gen_total' ); } /** @@ -173,17 +173,31 @@ class Bulk { 'message' => 'over-quota', ]; } + $formats = imagify_nextgen_images_formats(); + $media_ids = [ + 'ids' => [], + 'errors' => [ + 'no_file_path' => [], + 'no_backup' => [], + ], + ]; + foreach ( $formats as $format ) { + $result = $this->get_bulk_instance( $context )->get_optimized_media_ids_without_format( $format ); + $media_ids['ids'] = array_merge( $media_ids['ids'], $result['ids'] ); + } + $get_unoptimized_media_ids = $this->get_bulk_instance( $context )->get_unoptimized_media_ids( $optimization_level ); - $media_ids = $this->get_bulk_instance( $context )->get_unoptimized_media_ids( $optimization_level ); + $media_ids['ids'] = array_merge( $media_ids['ids'], $get_unoptimized_media_ids ); - if ( empty( $media_ids ) ) { + if ( empty( $media_ids['ids'] ) ) { return [ 'success' => false, 'message' => 'no-images', ]; } + $media_ids['ids'] = array_unique( $media_ids['ids'] ); - foreach ( $media_ids as $media_id ) { + foreach ( $media_ids['ids'] as $media_id ) { try { as_enqueue_async_action( 'imagify_optimize_media', @@ -213,13 +227,14 @@ class Bulk { } /** - * Runs the WebP generation + * Runs the next-gen generation * * @param array $contexts An array of contexts (WP/Custom folders). + * @param array $formats An array of format to generate. * * @return array */ - public function run_generate_webp( array $contexts ) { + public function run_generate_nextgen( array $contexts, array $formats ) { if ( ! $this->can_optimize() ) { return [ 'success' => false, @@ -227,28 +242,29 @@ class Bulk { ]; } - delete_transient( 'imagify_stat_without_webp' ); + delete_transient( 'imagify_stat_without_next_gen' ); $medias = []; foreach ( $contexts as $context ) { - $media = $this->get_bulk_instance( $context )->get_optimized_media_ids_without_webp(); + foreach ( $formats as $format ) { + $media = $this->get_bulk_instance( $context )->get_optimized_media_ids_without_format( $format ); + if ( ! $media['ids'] && $media['errors']['no_backup'] ) { + // No backup, no next-gen. + return [ + 'success' => false, + 'message' => 'no-backup', + ]; + } elseif ( ! $media['ids'] && $media['errors']['no_file_path'] ) { + // Error. + return [ + 'success' => false, + 'message' => __( 'The path to the selected files could not be retrieved.', 'imagify' ), + ]; + } - if ( ! $media['ids'] && $media['errors']['no_backup'] ) { - // No backup, no WebP. - return [ - 'success' => false, - 'message' => 'no-backup', - ]; - } elseif ( ! $media['ids'] && $media['errors']['no_file_path'] ) { - // Error. - return [ - 'success' => false, - 'message' => __( 'The path to the selected files could not be retrieved.', 'imagify' ), - ]; + $medias[ $context ] = $media['ids']; } - - $medias[ $context ] = $media['ids']; } if ( empty( $medias ) ) { @@ -266,12 +282,12 @@ class Bulk { foreach ( $media_ids as $media_id ) { try { as_enqueue_async_action( - 'imagify_convert_webp', + 'imagify_convert_next_gen', [ 'id' => $media_id, 'context' => $context, ], - "imagify-{$context}-convert-webp" + "imagify-{$context}-convert-nextgen" ); } catch ( Exception $exception ) { // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedCatch // nothing to do. @@ -279,7 +295,7 @@ class Bulk { } } - set_transient( 'imagify_missing_webp_total', $total, HOUR_IN_SECONDS ); + set_transient( 'imagify_missing_next_gen_total', $total, HOUR_IN_SECONDS ); return [ 'success' => true, @@ -310,13 +326,13 @@ class Bulk { } /** - * Filter the name of the class to use for bulk process. - * - * @since 1.9 - * - * @param int $class_name The class name. - * @param string $context The context name. - */ + * Filter the name of the class to use for bulk process. + * + * @since 1.9 + * + * @param int $class_name The class name. + * @param string $context The context name. + */ $class_name = apply_filters( 'imagify_bulk_class_name', $class_name, $context ); return '\\' . ltrim( $class_name, '\\' ); @@ -374,7 +390,7 @@ class Bulk { } /** - * Generate WebP images if they are missing. + * Generate next-gen images if they are missing. * * @since 2.1 * @@ -383,12 +399,12 @@ class Bulk { * * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ - public function generate_webp_versions( int $media_id, string $context ) { + public function generate_nextgen_versions( int $media_id, string $context ) { if ( ! $this->can_optimize() ) { return false; } - return imagify_get_optimization_process( $media_id, $context )->generate_webp_versions(); + return imagify_get_optimization_process( $media_id, $context )->generate_nextgen_versions(); } /** @@ -451,10 +467,6 @@ class Bulk { return (int) $level; } - /** ----------------------------------------------------------------------------------------- */ - /** BULK OPTIMIZATION CALLBACKS ============================================================= */ - /** ----------------------------------------------------------------------------------------- */ - /** * Launch the bulk optimization action * @@ -480,14 +492,14 @@ class Bulk { } /** - * Launch the missing WebP versions generation + * Launch the missing Next-gen versions generation * * @return void */ - public function missing_webp_callback() { + public function missing_nextgen_callback() { imagify_check_nonce( 'imagify-bulk-optimize' ); - $contexts = explode( '_', sanitize_key( wp_unslash( $_GET['context'] ) ) ); + $contexts = $this->get_contexts(); foreach ( $contexts as $context ) { if ( ! imagify_get_context( $context )->current_user_can( 'bulk-optimize' ) ) { @@ -495,8 +507,9 @@ class Bulk { } } - $data = $this->run_generate_webp( $contexts ); + $formats = imagify_nextgen_images_formats(); + $data = $this->run_generate_nextgen( $contexts, $formats ); if ( false === $data['success'] ) { wp_send_json_error( [ 'message' => $data['message'] ] ); } @@ -575,4 +588,87 @@ class Bulk { wp_send_json_success( imagify_get_bulk_stats( array_flip( $folder_types ) ) ); } + + /** + * Update Options callback to start bulk optimization. + * + * @since 2.2 + * + * @param array $old_value The old option value. + * @param array $value The new option value. + * + * Please note that the convert_to_avif new value is a checkbox, + * so it equals 1 when it's set otherwise it's not set. + * That's why we need to use empty function when checking its value. + * + * @return void + */ + public function maybe_generate_missing_nextgen( $old_value, $value ) { + if ( empty( $old_value['convert_to_avif'] ) === empty( $value['convert_to_avif'] ) ) { + // Old value = new value so do nothing. + return; + } + + if ( empty( $value['convert_to_avif'] ) ) { + // new value is disabled, do nothing. + return; + } + + $contexts = $this->get_contexts(); + $formats = imagify_nextgen_images_formats(); + + $this->run_generate_nextgen( $contexts, $formats ); + } + + /** + * Get the context for the bulk optimization page. + * + * @since 2.2 + * + * @return array The array of unique contexts ('wp' or 'custom-folders'). + */ + public function get_contexts() { + $contexts = []; + $types = []; + + // Library: in each site. + if ( ! is_network_admin() ) { + $types['library|wp'] = 1; + } + + // Custom folders: in network admin only if network activated, in each site otherwise. + if ( imagify_can_optimize_custom_folders() && ( imagify_is_active_for_network() && is_network_admin() || ! imagify_is_active_for_network() ) ) { + $types['custom-folders|custom-folders'] = 1; + } + + /** + * Filter the types to display in the bulk optimization page. + * + * @since 1.7.1 + * + * @param array $types The folder types displayed on the page. If a folder type is "library", the context should be suffixed after a pipe character. They are passed as array keys. + */ + $types = apply_filters( 'imagify_bulk_page_types', $types ); + $types = array_filter( (array) $types ); + + if ( isset( $types['library|wp'] ) && ! in_array( 'wp', $contexts, true ) ) { + $contexts[] = 'wp'; + } + + if ( isset( $types['custom-folders|custom-folders'] ) ) { + $folders_instance = \Imagify_Folders_DB::get_instance(); + + if ( ! $folders_instance->has_items() ) { + // New Feature! + if ( ! in_array( 'wp', $contexts, true ) ) { + $contexts[] = 'wp'; + } + } elseif ( $folders_instance->has_active_folders() && ! in_array( 'custom-folders', $contexts, true ) ) { + $contexts[] = 'custom-folders'; + } + } + + return $contexts; + } + } diff --git a/wp/wp-content/plugins/imagify/classes/Bulk/BulkInterface.php b/wp/wp-content/plugins/imagify/classes/Bulk/BulkInterface.php index 5e4adeba..b599f6b3 100644 --- a/wp/wp-content/plugins/imagify/classes/Bulk/BulkInterface.php +++ b/wp/wp-content/plugins/imagify/classes/Bulk/BulkInterface.php @@ -18,10 +18,11 @@ interface BulkInterface { public function get_unoptimized_media_ids( $optimization_level ); /** - * Get ids of all optimized media without WebP versions. + * Get ids of all optimized media without Next gen versions. * - * @since 1.9 - * @since 1.9.5 The method doesn't return the IDs directly anymore. + * @since 2.2 + * + * @param string $format Format we are looking for. (webp|avif). * * @return array { * @type array $ids A list of media IDs. @@ -31,16 +32,17 @@ interface BulkInterface { * } * } */ - public function get_optimized_media_ids_without_webp(); + public function get_optimized_media_ids_without_format( $format ); + /** - * Tell if there are optimized media without WebP versions. + * Tell if there are optimized media without next-gen versions. * - * @since 1.9 + * @since 2.2 * * @return int The number of media. */ - public function has_optimized_media_without_webp(); + public function has_optimized_media_without_nextgen(); /** * Get the context data. diff --git a/wp/wp-content/plugins/imagify/classes/Bulk/CustomFolders.php b/wp/wp-content/plugins/imagify/classes/Bulk/CustomFolders.php index 3717aaf3..617df0e5 100644 --- a/wp/wp-content/plugins/imagify/classes/Bulk/CustomFolders.php +++ b/wp/wp-content/plugins/imagify/classes/Bulk/CustomFolders.php @@ -74,10 +74,11 @@ class CustomFolders extends AbstractBulk { } /** - * Get ids of all optimized media without WebP versions. + * Get ids of all optimized media without Next gen versions. * - * @since 1.9 - * @since 1.9.5 The method doesn't return the IDs directly anymore. + * @since 2.2 + * + * @param string $format Format we are looking for. (webp|avif). * * @return array { * @type array $ids A list of media IDs. @@ -87,7 +88,7 @@ class CustomFolders extends AbstractBulk { * } * } */ - public function get_optimized_media_ids_without_webp() { + public function get_optimized_media_ids_without_format( $format ) { global $wpdb; $this->set_no_time_limit(); @@ -95,9 +96,22 @@ class CustomFolders extends AbstractBulk { $files_table = Imagify_Files_DB::get_instance()->get_table_name(); $folders_table = Imagify_Folders_DB::get_instance()->get_table_name(); $mime_types = Imagify_DB::get_mime_types( 'image' ); - $mime_types = str_replace( ",'image/webp'", '', $mime_types ); - $webp_suffix = constant( imagify_get_optimization_process_class_name( 'custom-folders' ) . '::WEBP_SUFFIX' ); - $files = $wpdb->get_results( $wpdb->prepare( // WPCS: unprepared SQL ok. + // Remove single quotes and explode string into array. + $mime_types_array = explode( ',', str_replace( "'", '', $mime_types ) ); + + // Iterate over array and check if string contains input. + foreach ( $mime_types_array as $item ) { + if ( strpos( $item, $format ) !== false ) { + $mime = $item; + break; + } + } + if ( ! isset( $mime ) && empty( $mime ) ) { + $mime = 'image/webp'; + } + $mime_types = str_replace( ",'" . $mime . "'", '', $mime_types ); + $nextgen_suffix = constant( imagify_get_optimization_process_class_name( 'custom-folders' ) . '::' . strtoupper( $format ) . '_SUFFIX' ); + $files = $wpdb->get_results( $wpdb->prepare( // WPCS: unprepared SQL ok. " SELECT fi.file_id, fi.path FROM $files_table as fi @@ -108,11 +122,11 @@ class CustomFolders extends AbstractBulk { AND ( fi.status = 'success' OR fi.status = 'already_optimized' ) AND ( fi.data NOT LIKE %s OR fi.data IS NULL ) ORDER BY fi.file_id DESC", - '%' . $wpdb->esc_like( $webp_suffix . '";a:4:{s:7:"success";b:1;' ) . '%' + '%' . $wpdb->esc_like( $nextgen_suffix . '";a:4:{s:7:"success";b:1;' ) . '%' ) ); $wpdb->flush(); - unset( $mime_types, $files_table, $folders_table, $webp_suffix ); + unset( $mime_types, $files_table, $folders_table, $nextgen_suffix, $mime ); $data = [ 'ids' => [], diff --git a/wp/wp-content/plugins/imagify/classes/Bulk/Noop.php b/wp/wp-content/plugins/imagify/classes/Bulk/Noop.php index e43bc03b..971967c6 100644 --- a/wp/wp-content/plugins/imagify/classes/Bulk/Noop.php +++ b/wp/wp-content/plugins/imagify/classes/Bulk/Noop.php @@ -20,10 +20,11 @@ class Noop extends AbstractBulk { } /** - * Get ids of all optimized media without WebP versions. + * * Get ids of all optimized media without Next gen versions. * - * @since 1.9 - * @since 1.9.5 The method doesn't return the IDs directly anymore. + * @since 2.2 + * + * @param string $format Format we are looking for. (webp|avif). * * @return array { * @type array $ids A list of media IDs. @@ -33,7 +34,7 @@ class Noop extends AbstractBulk { * } * } */ - public function get_optimized_media_ids_without_webp() { + public function get_optimized_media_ids_without_format( $format ) { return [ 'ids' => [], 'errors' => [ diff --git a/wp/wp-content/plugins/imagify/classes/Bulk/WP.php b/wp/wp-content/plugins/imagify/classes/Bulk/WP.php index bb5e309b..ddbddeef 100644 --- a/wp/wp-content/plugins/imagify/classes/Bulk/WP.php +++ b/wp/wp-content/plugins/imagify/classes/Bulk/WP.php @@ -165,10 +165,11 @@ class WP extends AbstractBulk { } /** - * Get ids of all optimized media without WebP versions. + * Get ids of all optimized media without Next gen versions. * - * @since 1.9 - * @since 1.9.5 The method doesn't return the IDs directly anymore. + * @since 2.2 + * + * @param string $format Format we are looking for. (webp|avif). * * @return array { * @type array $ids A list of media IDs. @@ -178,45 +179,61 @@ class WP extends AbstractBulk { * } * } */ - public function get_optimized_media_ids_without_webp() { + public function get_optimized_media_ids_without_format( $format ) { global $wpdb; $this->set_no_time_limit(); $mime_types = Imagify_DB::get_mime_types( 'image' ); - $mime_types = str_replace( ",'image/webp'", '', $mime_types ); + + // Remove single quotes and explode string into array. + $mime_types_array = explode( ',', str_replace( "'", '', $mime_types ) ); + + // Iterate over array and check if string contains input. + foreach ( $mime_types_array as $item ) { + if ( strpos( $item, $format ) !== false ) { + $mime = $item; + break; + } + } + if ( ! isset( $mime ) && empty( $mime ) ) { + $mime = 'image/webp'; + } + $mime_types = str_replace( ",'" . $mime . "'", '', $mime_types ); $statuses = Imagify_DB::get_post_statuses(); $nodata_join = Imagify_DB::get_required_wp_metadata_join_clause(); $nodata_where = Imagify_DB::get_required_wp_metadata_where_clause( [ 'prepared' => true, ] ); - $webp_suffix = constant( imagify_get_optimization_process_class_name( 'wp' ) . '::WEBP_SUFFIX' ); + $nextgen_suffix = constant( imagify_get_optimization_process_class_name( 'wp' ) . '::' . strtoupper( $format ) . '_SUFFIX' ); + $ids = $wpdb->get_col( $wpdb->prepare( // WPCS: unprepared SQL ok. " - SELECT p.ID - FROM $wpdb->posts AS p - $nodata_join - LEFT JOIN $wpdb->postmeta AS mt1 - ON ( p.ID = mt1.post_id AND mt1.meta_key = '_imagify_status' ) - LEFT JOIN $wpdb->postmeta AS mt2 + SELECT p.ID + FROM $wpdb->posts AS p + $nodata_join + LEFT JOIN $wpdb->postmeta AS mt1 + ON ( p.ID = mt1.post_id AND mt1.meta_key = '_imagify_status' ) + LEFT JOIN $wpdb->postmeta AS mt2 ON ( p.ID = mt2.post_id AND mt2.meta_key = '_imagify_data' ) - WHERE - p.post_mime_type IN ( $mime_types ) - AND ( mt1.meta_value = 'success' OR mt1.meta_value = 'already_optimized' ) - AND mt2.meta_value NOT LIKE %s - AND p.post_type = 'attachment' - AND p.post_status IN ( $statuses ) - $nodata_where - ORDER BY p.ID DESC - LIMIT 0, %d", - '%' . $wpdb->esc_like( $webp_suffix . '";a:4:{s:7:"success";b:1;' ) . '%', + WHERE + p.post_mime_type IN ( $mime_types ) + AND (mt1.meta_key IS NULL OR mt1.meta_value = 'success' OR mt1.meta_value = 'already_optimized' ) + AND mt2.meta_value NOT LIKE %s + AND p.post_type = 'attachment' + AND p.post_status IN ( $statuses ) + $nodata_where + ORDER BY p.ID DESC + LIMIT 0, %d", + '%' . $wpdb->esc_like( $nextgen_suffix . '";a:4:{s:7:"success";b:1;' ) . '%', imagify_get_unoptimized_attachment_limit() ) ); $wpdb->flush(); - unset( $mime_types, $statuses, $webp_suffix ); + unset( $mime_types, $statuses, $nextgen_suffix, $mime ); $ids = array_filter( array_map( 'absint', $ids ) ); + $data = [ 'ids' => [], 'errors' => [ @@ -243,7 +260,7 @@ class WP extends AbstractBulk { * @param array $metas An array of the data fetched from the database. * @param string $context The context. */ - do_action( 'imagify_bulk_generate_webp_before_file_existence_tests', $ids, $metas, 'wp' ); + do_action( 'imagify_bulk_generate_nextgen_before_file_existence_tests', $ids, $metas, 'wp' ); foreach ( $ids as $i => $id ) { if ( empty( $metas['filenames'][ $id ] ) ) { diff --git a/wp/wp-content/plugins/imagify/classes/CDN/CDN.php b/wp/wp-content/plugins/imagify/classes/CDN/CDN.php new file mode 100644 index 00000000..8c21525f --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/CDN/CDN.php @@ -0,0 +1,123 @@ + 'get_cdn_source', + ]; + } + + /** + * Get the CDN "source". + * + * @since 1.9.3 + * + * @param string $option_url An URL to use instead of the one stored in the option. It is used only if no constant/filter. + * + * @return array { + * @type string $source Where does it come from? Possible values are 'constant', 'filter', or 'option'. + * @type string $name Who? Can be a constant name, a plugin name, or an empty string. + * @type string $url The CDN URL, with a trailing slash. An empty string if no URL is set. + * } + */ + public function get_cdn_source( $option_url = '' ) { + if ( defined( 'IMAGIFY_CDN_URL' ) && IMAGIFY_CDN_URL && is_string( IMAGIFY_CDN_URL ) ) { + // Use a constant. + $source = [ + 'source' => 'constant', + 'name' => 'IMAGIFY_CDN_URL', + 'url' => IMAGIFY_CDN_URL, + ]; + } else { + // Maybe use a filter. + $filter_source = [ + 'name' => null, + 'url' => null, + ]; + + /** + * Provide a custom CDN source. + * + * @since 1.9.3 + * + * @param array $filter_source { + * @type $name string The name of which provides the URL (plugin name, etc). + * @type $url string The CDN URL. + * } + */ + $filter_source = apply_filters( 'imagify_cdn_source', $filter_source ); + + if ( ! empty( $filter_source['url'] ) ) { + $source = [ + 'source' => 'filter', + 'name' => ! empty( $filter_source['name'] ) ? $filter_source['name'] : '', + 'url' => $filter_source['url'], + ]; + } + } + + if ( empty( $source['url'] ) ) { + // No constant, no filter: use the option. + $source = [ + 'source' => 'option', + 'name' => '', + 'url' => $option_url && is_string( $option_url ) ? $option_url : get_imagify_option( 'cdn_url' ), + ]; + } + + if ( empty( $source['url'] ) ) { + // Nothing set. + return [ + 'source' => 'option', + 'name' => '', + 'url' => '', + ]; + } + + $source['url'] = $this->sanitize_cdn_url( $source['url'] ); + + if ( empty( $source['url'] ) ) { + // Not an URL. + return [ + 'source' => 'option', + 'name' => '', + 'url' => '', + ]; + } + + return $source; + } + + /** + * Sanitize the CDN URL value. + * + * @since 1.9.3 + * + * @param string $url The URL to sanitize. + * + * @return string + */ + public function sanitize_cdn_url( $url ) { + $url = sanitize_text_field( $url ); + + if ( ! $url || ! preg_match( '@^https?://.+\.[^.]+@i', $url ) ) { + // Not an URL. + return ''; + } + + return trailingslashit( $url ); + } +} diff --git a/wp/wp-content/plugins/imagify/classes/CDN/ServiceProvider.php b/wp/wp-content/plugins/imagify/classes/CDN/ServiceProvider.php new file mode 100644 index 00000000..094900d3 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/CDN/ServiceProvider.php @@ -0,0 +1,47 @@ +getContainer()->share( 'cdn', CDN::class ); + } + + /** + * Returns the subscribers array + * + * @return array + */ + public function get_subscribers() { + return $this->subscribers; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/CLI/GenerateMissingWebpCommand.php b/wp/wp-content/plugins/imagify/classes/CLI/GenerateMissingNextgenCommand.php similarity index 57% rename from wp/wp-content/plugins/imagify/classes/CLI/GenerateMissingWebpCommand.php rename to wp/wp-content/plugins/imagify/classes/CLI/GenerateMissingNextgenCommand.php index 33cebc0e..716a1541 100644 --- a/wp/wp-content/plugins/imagify/classes/CLI/GenerateMissingWebpCommand.php +++ b/wp/wp-content/plugins/imagify/classes/CLI/GenerateMissingNextgenCommand.php @@ -6,9 +6,9 @@ namespace Imagify\CLI; use Imagify\Bulk\Bulk; /** - * Command class for the missing WebP generation + * Command class for the missing Nextgen generation */ -class GenerateMissingWebpCommand extends AbstractCommand { +class GenerateMissingNextgenCommand extends AbstractCommand { /** * Executes the command. * @@ -16,23 +16,23 @@ class GenerateMissingWebpCommand extends AbstractCommand { * @param array $options Optional arguments. */ public function __invoke( $arguments, $options ) { - Bulk::get_instance()->run_generate_webp( $arguments ); + Bulk::get_instance()->run_generate_nextgen( $arguments ); - \WP_CLI::log( 'Imagify missing WebP generation triggered.' ); + \WP_CLI::log( 'Imagify missing next-gen images generation triggered.' ); } /** * {@inheritdoc} */ protected function get_command_name(): string { - return 'generate-missing-webp'; + return 'generate-missing-nextgen'; } /** * {@inheritdoc} */ public function get_description(): string { - return 'Run the generation of the missing WebP versions'; + return 'Run the generation of the missing next-gen images versions'; } /** @@ -43,7 +43,7 @@ class GenerateMissingWebpCommand extends AbstractCommand { [ 'type' => 'positional', 'name' => 'contexts', - 'description' => 'The context(s) to run the missing WebP generation for. Possible values are wp and custom-folders.', + 'description' => 'The context(s) to run the missing next-gen images generation for. Possible values are wp and custom-folders.', 'optional' => false, 'repeating' => true, ], diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ArgumentResolverInterface.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ArgumentResolverInterface.php new file mode 100644 index 00000000..a56daeaa --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ArgumentResolverInterface.php @@ -0,0 +1,28 @@ +getValue(); + } elseif ($argument instanceof ClassNameInterface) { + $id = $argument->getClassName(); + } elseif (!is_string($argument)) { + return $argument; + } else { + $justStringValue = true; + $id = $argument; + } + + $container = null; + + try { + $container = $this->getLeagueContainer(); + } catch (ContainerException $e) { + if ($this instanceof ReflectionContainer) { + $container = $this; + } + } + + if ($container !== null) { + try { + return $container->get($id); + } catch (NotFoundException $exception) { + if ($argument instanceof ClassNameWithOptionalValue) { + return $argument->getOptionalValue(); + } + + if ($justStringValue) { + return $id; + } + + throw $exception; + } + } + + if ($argument instanceof ClassNameWithOptionalValue) { + return $argument->getOptionalValue(); + } + + // Just a string value. + return $id; + }, $arguments); + } + + /** + * {@inheritdoc} + */ + public function reflectArguments(ReflectionFunctionAbstract $method, array $args = []) : array + { + $arguments = array_map(function (ReflectionParameter $param) use ($method, $args) { + $name = $param->getName(); + $type = $param->getType(); + + if (array_key_exists($name, $args)) { + return new RawArgument($args[$name]); + } + + if ($type) { + if (PHP_VERSION_ID >= 70100) { + $typeName = $type->getName(); + } else { + $typeName = (string) $type; + } + + $typeName = ltrim($typeName, '?'); + + if ($param->isDefaultValueAvailable()) { + return new ClassNameWithOptionalValue($typeName, $param->getDefaultValue()); + } + + return new ClassName($typeName); + } + + if ($param->isDefaultValueAvailable()) { + return new RawArgument($param->getDefaultValue()); + } + + throw new NotFoundException(sprintf( + 'Unable to resolve a value for parameter (%s) in the function/method (%s)', + $name, + $method->getName() + )); + }, $method->getParameters()); + + return $this->resolveArguments($arguments); + } + + /** + * @return ContainerInterface + */ + abstract public function getContainer() : ContainerInterface; + + /** + * @return Container + */ + abstract public function getLeagueContainer() : Container; +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ClassName.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ClassName.php new file mode 100644 index 00000000..4d6ae395 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ClassName.php @@ -0,0 +1,29 @@ +value = $value; + } + + /** + * {@inheritdoc} + */ + public function getClassName() : string + { + return $this->value; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ClassNameInterface.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ClassNameInterface.php new file mode 100644 index 00000000..5a923e08 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/ClassNameInterface.php @@ -0,0 +1,13 @@ +className = $className; + $this->optionalValue = $optionalValue; + } + + /** + * @inheritDoc + */ + public function getClassName(): string + { + return $this->className; + } + + public function getOptionalValue() + { + return $this->optionalValue; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/RawArgument.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/RawArgument.php new file mode 100644 index 00000000..e1efd4c7 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/RawArgument.php @@ -0,0 +1,29 @@ +value = $value; + } + + /** + * {@inheritdoc} + */ + public function getValue() + { + return $this->value; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/RawArgumentInterface.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/RawArgumentInterface.php new file mode 100644 index 00000000..16fe992a --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Argument/RawArgumentInterface.php @@ -0,0 +1,13 @@ +definitions = $definitions ?? new DefinitionAggregate; + $this->providers = $providers ?? new ServiceProviderAggregate; + $this->inflectors = $inflectors ?? new InflectorAggregate; + + if ($this->definitions instanceof ContainerAwareInterface) { + $this->definitions->setLeagueContainer($this); + } + + if ($this->providers instanceof ContainerAwareInterface) { + $this->providers->setLeagueContainer($this); + } + + if ($this->inflectors instanceof ContainerAwareInterface) { + $this->inflectors->setLeagueContainer($this); + } + } + + /** + * Add an item to the container. + * + * @param string $id + * @param mixed $concrete + * @param boolean $shared + * + * @return DefinitionInterface + */ + public function add(string $id, $concrete = null, bool $shared = null) : DefinitionInterface + { + $concrete = $concrete ?? $id; + $shared = $shared ?? $this->defaultToShared; + + return $this->definitions->add($id, $concrete, $shared); + } + + /** + * Proxy to add with shared as true. + * + * @param string $id + * @param mixed $concrete + * + * @return DefinitionInterface + */ + public function share(string $id, $concrete = null) : DefinitionInterface + { + return $this->add($id, $concrete, true); + } + + /** + * Whether the container should default to defining shared definitions. + * + * @param boolean $shared + * + * @return self + */ + public function defaultToShared(bool $shared = true) : ContainerInterface + { + $this->defaultToShared = $shared; + + return $this; + } + + /** + * Get a definition to extend. + * + * @param string $id [description] + * + * @return DefinitionInterface + */ + public function extend(string $id) : DefinitionInterface + { + if ($this->providers->provides($id)) { + $this->providers->register($id); + } + + if ($this->definitions->has($id)) { + return $this->definitions->getDefinition($id); + } + + throw new NotFoundException( + sprintf('Unable to extend alias (%s) as it is not being managed as a definition', $id) + ); + } + + /** + * Add a service provider. + * + * @param ServiceProviderInterface|string $provider + * + * @return self + */ + public function addServiceProvider($provider) : self + { + $this->providers->add($provider); + + return $this; + } + + /** + * {@inheritdoc} + */ + public function get($id, bool $new = false) + { + if ($this->definitions->has($id)) { + $resolved = $this->definitions->resolve($id, $new); + return $this->inflectors->inflect($resolved); + } + + if ($this->definitions->hasTag($id)) { + $arrayOf = $this->definitions->resolveTagged($id, $new); + + array_walk($arrayOf, function (&$resolved) { + $resolved = $this->inflectors->inflect($resolved); + }); + + return $arrayOf; + } + + if ($this->providers->provides($id)) { + $this->providers->register($id); + + if (!$this->definitions->has($id) && !$this->definitions->hasTag($id)) { + throw new ContainerException(sprintf('Service provider lied about providing (%s) service', $id)); + } + + return $this->get($id, $new); + } + + foreach ($this->delegates as $delegate) { + if ($delegate->has($id)) { + $resolved = $delegate->get($id); + return $this->inflectors->inflect($resolved); + } + } + + throw new NotFoundException(sprintf('Alias (%s) is not being managed by the container or delegates', $id)); + } + + /** + * {@inheritdoc} + */ + public function has($id) + { + if ($this->definitions->has($id)) { + return true; + } + + if ($this->definitions->hasTag($id)) { + return true; + } + + if ($this->providers->provides($id)) { + return true; + } + + foreach ($this->delegates as $delegate) { + if ($delegate->has($id)) { + return true; + } + } + + return false; + } + + /** + * Allows for manipulation of specific types on resolution. + * + * @param string $type + * @param callable|null $callback + * + * @return InflectorInterface + */ + public function inflector(string $type, callable $callback = null) : InflectorInterface + { + return $this->inflectors->add($type, $callback); + } + + /** + * Delegate a backup container to be checked for services if it + * cannot be resolved via this container. + * + * @param ContainerInterface $container + * + * @return self + */ + public function delegate(ContainerInterface $container) : self + { + $this->delegates[] = $container; + + if ($container instanceof ContainerAwareInterface) { + $container->setLeagueContainer($this); + } + + return $this; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ContainerAwareInterface.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ContainerAwareInterface.php new file mode 100644 index 00000000..f7944317 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ContainerAwareInterface.php @@ -0,0 +1,40 @@ +container = $container; + + return $this; + } + + /** + * Get the container. + * + * @return ContainerInterface + */ + public function getContainer() : ContainerInterface + { + if ($this->container instanceof ContainerInterface) { + return $this->container; + } + + throw new ContainerException('No container implementation has been set.'); + } + + /** + * Set a container. + * + * @param Container $container + * + * @return self + */ + public function setLeagueContainer(Container $container) : ContainerAwareInterface + { + $this->container = $container; + $this->leagueContainer = $container; + + return $this; + } + + /** + * Get the container. + * + * @return Container + */ + public function getLeagueContainer() : Container + { + if ($this->leagueContainer instanceof Container) { + return $this->leagueContainer; + } + + throw new ContainerException('No container implementation has been set.'); + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/Definition.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/Definition.php new file mode 100644 index 00000000..8128d778 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/Definition.php @@ -0,0 +1,278 @@ +alias = $id; + $this->concrete = $concrete; + } + + /** + * {@inheritdoc} + */ + public function addTag(string $tag) : DefinitionInterface + { + $this->tags[$tag] = true; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function hasTag(string $tag) : bool + { + return isset($this->tags[$tag]); + } + + /** + * {@inheritdoc} + */ + public function setAlias(string $id) : DefinitionInterface + { + $this->alias = $id; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getAlias() : string + { + return $this->alias; + } + + /** + * {@inheritdoc} + */ + public function setShared(bool $shared = true) : DefinitionInterface + { + $this->shared = $shared; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function isShared() : bool + { + return $this->shared; + } + + /** + * {@inheritdoc} + */ + public function getConcrete() + { + return $this->concrete; + } + + /** + * {@inheritdoc} + */ + public function setConcrete($concrete) : DefinitionInterface + { + $this->concrete = $concrete; + $this->resolved = null; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function addArgument($arg) : DefinitionInterface + { + $this->arguments[] = $arg; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function addArguments(array $args) : DefinitionInterface + { + foreach ($args as $arg) { + $this->addArgument($arg); + } + + return $this; + } + + /** + * {@inheritdoc} + */ + public function addMethodCall(string $method, array $args = []) : DefinitionInterface + { + $this->methods[] = [ + 'method' => $method, + 'arguments' => $args + ]; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function addMethodCalls(array $methods = []) : DefinitionInterface + { + foreach ($methods as $method => $args) { + $this->addMethodCall($method, $args); + } + + return $this; + } + + /** + * {@inheritdoc} + */ + public function resolve(bool $new = false) + { + $concrete = $this->concrete; + + if ($this->isShared() && $this->resolved !== null && $new === false) { + return $this->resolved; + } + + if (is_callable($concrete)) { + $concrete = $this->resolveCallable($concrete); + } + + if ($concrete instanceof RawArgumentInterface) { + $this->resolved = $concrete->getValue(); + + return $concrete->getValue(); + } + + if ($concrete instanceof ClassNameInterface) { + $concrete = $concrete->getClassName(); + } + + if (is_string($concrete) && class_exists($concrete)) { + $concrete = $this->resolveClass($concrete); + } + + if (is_object($concrete)) { + $concrete = $this->invokeMethods($concrete); + } + + if (is_string($concrete) && $this->getContainer()->has($concrete)) { + $concrete = $this->getContainer()->get($concrete); + } + + $this->resolved = $concrete; + + return $concrete; + } + + /** + * Resolve a callable. + * + * @param callable $concrete + * + * @return mixed + */ + protected function resolveCallable(callable $concrete) + { + $resolved = $this->resolveArguments($this->arguments); + + return call_user_func_array($concrete, $resolved); + } + + /** + * Resolve a class. + * + * @param string $concrete + * + * @return object + * + * @throws ReflectionException + */ + protected function resolveClass(string $concrete) + { + $resolved = $this->resolveArguments($this->arguments); + $reflection = new ReflectionClass($concrete); + + return $reflection->newInstanceArgs($resolved); + } + + /** + * Invoke methods on resolved instance. + * + * @param object $instance + * + * @return object + */ + protected function invokeMethods($instance) + { + foreach ($this->methods as $method) { + $args = $this->resolveArguments($method['arguments']); + + /** @var callable $callable */ + $callable = [$instance, $method['method']]; + call_user_func_array($callable, $args); + } + + return $instance; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/DefinitionAggregate.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/DefinitionAggregate.php new file mode 100644 index 00000000..651c8c18 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/DefinitionAggregate.php @@ -0,0 +1,124 @@ +definitions = array_filter($definitions, function ($definition) { + return ($definition instanceof DefinitionInterface); + }); + } + + /** + * {@inheritdoc} + */ + public function add(string $id, $definition, bool $shared = false) : DefinitionInterface + { + if (!$definition instanceof DefinitionInterface) { + $definition = new Definition($id, $definition); + } + + $this->definitions[] = $definition + ->setAlias($id) + ->setShared($shared) + ; + + return $definition; + } + + /** + * {@inheritdoc} + */ + public function has(string $id) : bool + { + foreach ($this->getIterator() as $definition) { + if ($id === $definition->getAlias()) { + return true; + } + } + + return false; + } + + /** + * {@inheritdoc} + */ + public function hasTag(string $tag) : bool + { + foreach ($this->getIterator() as $definition) { + if ($definition->hasTag($tag)) { + return true; + } + } + + return false; + } + + /** + * {@inheritdoc} + */ + public function getDefinition(string $id) : DefinitionInterface + { + foreach ($this->getIterator() as $definition) { + if ($id === $definition->getAlias()) { + return $definition->setLeagueContainer($this->getLeagueContainer()); + } + } + + throw new NotFoundException(sprintf('Alias (%s) is not being handled as a definition.', $id)); + } + + /** + * {@inheritdoc} + */ + public function resolve(string $id, bool $new = false) + { + return $this->getDefinition($id)->resolve($new); + } + + /** + * {@inheritdoc} + */ + public function resolveTagged(string $tag, bool $new = false) : array + { + $arrayOf = []; + + foreach ($this->getIterator() as $definition) { + if ($definition->hasTag($tag)) { + $arrayOf[] = $definition->setLeagueContainer($this->getLeagueContainer())->resolve($new); + } + } + + return $arrayOf; + } + + /** + * {@inheritdoc} + */ + public function getIterator() : Generator + { + $count = count($this->definitions); + + for ($i = 0; $i < $count; $i++) { + yield $this->definitions[$i]; + } + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/DefinitionAggregateInterface.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/DefinitionAggregateInterface.php new file mode 100644 index 00000000..e0c83a92 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Definition/DefinitionAggregateInterface.php @@ -0,0 +1,67 @@ +type = $type; + $this->callback = $callback; + } + + /** + * {@inheritdoc} + */ + public function getType() : string + { + return $this->type; + } + + /** + * {@inheritdoc} + */ + public function invokeMethod(string $name, array $args) : InflectorInterface + { + $this->methods[$name] = $args; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function invokeMethods(array $methods) : InflectorInterface + { + foreach ($methods as $name => $args) { + $this->invokeMethod($name, $args); + } + + return $this; + } + + /** + * {@inheritdoc} + */ + public function setProperty(string $property, $value) : InflectorInterface + { + $this->properties[$property] = $this->resolveArguments([$value])[0]; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function setProperties(array $properties) : InflectorInterface + { + foreach ($properties as $property => $value) { + $this->setProperty($property, $value); + } + + return $this; + } + + /** + * {@inheritdoc} + */ + public function inflect($object) + { + $properties = $this->resolveArguments(array_values($this->properties)); + $properties = array_combine(array_keys($this->properties), $properties); + + // array_combine() can technically return false + foreach ($properties ?: [] as $property => $value) { + $object->{$property} = $value; + } + + foreach ($this->methods as $method => $args) { + $args = $this->resolveArguments($args); + + /** @var callable $callable */ + $callable = [$object, $method]; + call_user_func_array($callable, $args); + } + + if ($this->callback !== null) { + call_user_func($this->callback, $object); + } + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Inflector/InflectorAggregate.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Inflector/InflectorAggregate.php new file mode 100644 index 00000000..f82c6696 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Inflector/InflectorAggregate.php @@ -0,0 +1,58 @@ +inflectors[] = $inflector; + + return $inflector; + } + + /** + * {@inheritdoc} + */ + public function getIterator() : Generator + { + $count = count($this->inflectors); + + for ($i = 0; $i < $count; $i++) { + yield $this->inflectors[$i]; + } + } + + /** + * {@inheritdoc} + */ + public function inflect($object) + { + foreach ($this->getIterator() as $inflector) { + $type = $inflector->getType(); + + if (! $object instanceof $type) { + continue; + } + + $inflector->setLeagueContainer($this->getLeagueContainer()); + $inflector->inflect($object); + } + + return $object; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Inflector/InflectorAggregateInterface.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Inflector/InflectorAggregateInterface.php new file mode 100644 index 00000000..0c2a57d1 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/Inflector/InflectorAggregateInterface.php @@ -0,0 +1,27 @@ +cacheResolutions === true && array_key_exists($id, $this->cache)) { + return $this->cache[$id]; + } + + if (! $this->has($id)) { + throw new NotFoundException( + sprintf('Alias (%s) is not an existing class and therefore cannot be resolved', $id) + ); + } + + $reflector = new ReflectionClass($id); + $construct = $reflector->getConstructor(); + + if ($construct && !$construct->isPublic()) { + throw new NotFoundException( + sprintf('Alias (%s) has a non-public constructor and therefore cannot be instantiated', $id) + ); + } + + $resolution = $construct === null + ? new $id + : $resolution = $reflector->newInstanceArgs($this->reflectArguments($construct, $args)) + ; + + if ($this->cacheResolutions === true) { + $this->cache[$id] = $resolution; + } + + return $resolution; + } + + /** + * {@inheritdoc} + */ + public function has($id) + { + return class_exists($id); + } + + /** + * Invoke a callable via the container. + * + * @param callable $callable + * @param array $args + * + * @return mixed + * + * @throws ReflectionException + */ + public function call(callable $callable, array $args = []) + { + if (is_string($callable) && strpos($callable, '::') !== false) { + $callable = explode('::', $callable); + } + + if (is_array($callable)) { + if (is_string($callable[0])) { + $callable[0] = $this->getContainer()->get($callable[0]); + } + + $reflection = new ReflectionMethod($callable[0], $callable[1]); + + if ($reflection->isStatic()) { + $callable[0] = null; + } + + return $reflection->invokeArgs($callable[0], $this->reflectArguments($reflection, $args)); + } + + if (is_object($callable)) { + $reflection = new ReflectionMethod($callable, '__invoke'); + + return $reflection->invokeArgs($callable, $this->reflectArguments($reflection, $args)); + } + + $reflection = new ReflectionFunction(\Closure::fromCallable($callable)); + + return $reflection->invokeArgs($this->reflectArguments($reflection, $args)); + } + + /** + * Whether the container should default to caching resolutions and returning + * the cache on following calls. + * + * @param boolean $option + * + * @return self + */ + public function cacheResolutions(bool $option = true) : ContainerInterface + { + $this->cacheResolutions = $option; + + return $this; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/AbstractServiceProvider.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/AbstractServiceProvider.php new file mode 100644 index 00000000..64efcb27 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/AbstractServiceProvider.php @@ -0,0 +1,46 @@ +provides, true); + } + + /** + * {@inheritdoc} + */ + public function setIdentifier(string $id) : ServiceProviderInterface + { + $this->identifier = $id; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getIdentifier() : string + { + return $this->identifier ?? get_class($this); + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/BootableServiceProviderInterface.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/BootableServiceProviderInterface.php new file mode 100644 index 00000000..29d147fc --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/BootableServiceProviderInterface.php @@ -0,0 +1,14 @@ +getContainer()->has($provider)) { + $provider = $this->getContainer()->get($provider); + } elseif (is_string($provider) && class_exists($provider)) { + $provider = new $provider; + } + + if (in_array($provider, $this->providers, true)) { + return $this; + } + + if ($provider instanceof ContainerAwareInterface) { + $provider->setLeagueContainer($this->getLeagueContainer()); + } + + if ($provider instanceof BootableServiceProviderInterface) { + $provider->boot(); + } + + if ($provider instanceof ServiceProviderInterface) { + $this->providers[] = $provider; + + return $this; + } + + throw new ContainerException( + 'A service provider must be a fully qualified class name or instance ' . + 'of (\Imagify\Dependencies\League\Container\ServiceProvider\ServiceProviderInterface)' + ); + } + + /** + * {@inheritdoc} + */ + public function provides(string $service) : bool + { + foreach ($this->getIterator() as $provider) { + if ($provider->provides($service)) { + return true; + } + } + + return false; + } + + /** + * {@inheritdoc} + */ + public function getIterator() : Generator + { + $count = count($this->providers); + + for ($i = 0; $i < $count; $i++) { + yield $this->providers[$i]; + } + } + + /** + * {@inheritdoc} + */ + public function register(string $service) + { + if (false === $this->provides($service)) { + throw new ContainerException( + sprintf('(%s) is not provided by a service provider', $service) + ); + } + + foreach ($this->getIterator() as $provider) { + if (in_array($provider->getIdentifier(), $this->registered, true)) { + continue; + } + + if ($provider->provides($service)) { + $this->registered[] = $provider->getIdentifier(); + $provider->register(); + } + } + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/ServiceProviderAggregateInterface.php b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/ServiceProviderAggregateInterface.php new file mode 100644 index 00000000..a9e26488 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/League/Container/ServiceProvider/ServiceProviderAggregateInterface.php @@ -0,0 +1,36 @@ +leagueContainer property or the `getLeagueContainer` method + * from the ContainerAwareTrait. + * + * @return void + */ + public function register(); + + /** + * Set a custom id for the service provider. This enables + * registering the same service provider multiple times. + * + * @param string $id + * + * @return self + */ + public function setIdentifier(string $id) : ServiceProviderInterface; + + /** + * The id of the service provider uniquely identifies it, so + * that we can quickly determine if it has already been registered. + * Defaults to get_class($provider). + * + * @return string + */ + public function getIdentifier() : string; +} diff --git a/wp/wp-content/plugins/imagify/classes/Dependencies/Psr/Container/ContainerExceptionInterface.php b/wp/wp-content/plugins/imagify/classes/Dependencies/Psr/Container/ContainerExceptionInterface.php new file mode 100644 index 00000000..c272cbd9 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Dependencies/Psr/Container/ContainerExceptionInterface.php @@ -0,0 +1,12 @@ +get_bulk_instance( $context )->get_optimized_media_ids_without_webp(); + $media = $bulk->get_bulk_instance( $context )->get_optimized_media_ids_without_format( $format ); $remaining += count( $media['ids'] ); } diff --git a/wp/wp-content/plugins/imagify/classes/Job/MediaOptimization.php b/wp/wp-content/plugins/imagify/classes/Job/MediaOptimization.php index 87ab51ed..f8c8b4d5 100644 --- a/wp/wp-content/plugins/imagify/classes/Job/MediaOptimization.php +++ b/wp/wp-content/plugins/imagify/classes/Job/MediaOptimization.php @@ -187,8 +187,8 @@ class MediaOptimization extends \Imagify_Abstract_Background_Process { $item['error'] = $data; } elseif ( 'already_optimized' === $data['status'] ) { - // Status is "already_optimized", try to create WebP versions only. - $item['sizes'] = array_filter( $item['sizes'], [ $this->optimization_process, 'is_size_webp' ] ); + // Status is "already_optimized", try to create next-gen versions only. + $item['sizes'] = array_filter( $item['sizes'], [ $this->optimization_process, 'is_size_next_gen' ] ); } elseif ( 'success' !== $data['status'] ) { // Don't go further if the full size has not the "success" status. diff --git a/wp/wp-content/plugins/imagify/classes/Optimization/File.php b/wp/wp-content/plugins/imagify/classes/Optimization/File.php index 57820f16..6173b204 100644 --- a/wp/wp-content/plugins/imagify/classes/Optimization/File.php +++ b/wp/wp-content/plugins/imagify/classes/Optimization/File.php @@ -113,7 +113,7 @@ class File { return new \WP_Error( 'not_exists', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'The file %s does not seem to exist.', 'imagify' ), '' . esc_html( $this->filesystem->make_path_relative( $this->path ) ) . '' ) @@ -124,7 +124,7 @@ class File { return new \WP_Error( 'not_a_file', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'This does not seem to be a file: %s.', 'imagify' ), '' . esc_html( $this->filesystem->make_path_relative( $this->path ) ) . '' ) @@ -135,7 +135,7 @@ class File { return new \WP_Error( 'not_writable', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'The file %s does not seem to be writable.', 'imagify' ), '' . esc_html( $this->filesystem->make_path_relative( $this->path ) ) . '' ) @@ -148,7 +148,7 @@ class File { return new \WP_Error( 'folder_not_writable', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'The folder %s does not seem to be writable.', 'imagify' ), '' . esc_html( $this->filesystem->make_path_relative( $parent_folder ) ) . '' ) @@ -197,7 +197,7 @@ class File { return new \WP_Error( 'not_an_image', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'The file %s does not seem to be an image, and cannot be resized.', 'imagify' ), '' . esc_html( $this->filesystem->make_path_relative( $this->path ) ) . '' ) @@ -321,7 +321,7 @@ class File { return new \WP_Error( 'not_an_image', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'The file %s does not seem to be an image, and cannot be resized.', 'imagify' ), '' . esc_html( $this->filesystem->make_path_relative( $this->path ) ) . '' ) @@ -423,6 +423,22 @@ class File { ) ); } + // Check if a '-scaled' version of the image exists. + $scaled_path = preg_replace( '/(\.)([^\.]+)$/', '-scaled.$2', $backup_source ); + if ( $this->filesystem->exists( $scaled_path ) ) { + // Create a backup path for the scaled image. + $scaled_backup_path = preg_replace( '/(\.)([^\.]+)$/', '-scaled.$2', $backup_path ); + // Copy the '-scaled' version to the backup. + $this->filesystem->copy( $scaled_path, $scaled_backup_path, $overwrite, FS_CHMOD_FILE ); + + if ( ! $this->filesystem->exists( $scaled_backup_path ) ) { + return new \WP_Error( 'backup_doesnt_exist', __( 'The file could not be saved.', 'imagify' ), array( + 'file_path' => $this->filesystem->make_path_relative( $scaled_path ), + 'backup_path' => $this->filesystem->make_path_relative( $scaled_backup_path ), + ) ); + } + } + return true; } @@ -438,7 +454,7 @@ class File { * @type bool $backup False to prevent backup. True to follow the user's setting. A backup can't be forced. * @type string $backup_path If a backup must be done, this is the path to use. Default is the backup path used for the WP Media Library. * @type int $optimization_level The optimization level (2=ultra, 1=aggressive, 0=normal). - * @type string $convert Set to 'webp' to convert the image to WebP. + * @type string $convert Set to 'webp' to convert the image to WebP, 'avif' to convert image to AVIF. * @type string $context The context. * @type int $original_size The file size, sent to the API. * } @@ -474,7 +490,7 @@ class File { * * @param string $path Absolute path to the media file. * @param array $args Arguments passed to the method. - */ + */ do_action( 'imagify_before_optimize_file', $this->path, $args ); /** @@ -485,7 +501,7 @@ class File { * * @param string $path Absolute path to the image file. * @param bool $backup True if a backup will be make. - */ + */ do_action_deprecated( 'before_do_imagify', [ $this->path, $args['backup'] ], '1.9', 'imagify_before_optimize_file' ); if ( $args['backup'] ) { @@ -509,6 +525,7 @@ class File { if ( $args['convert'] ) { $data['convert'] = $args['convert']; + $format = $args['convert']; } $response = upload_imagify_image( [ @@ -534,8 +551,12 @@ class File { $args['convert'] = ''; } - if ( 'webp' === $args['convert'] ) { - $destination_path = $this->get_path_to_webp(); + $formats = [ + 'webp', + 'avif', + ]; + if ( in_array( $args['convert'], $formats, true ) ) { + $destination_path = $this->get_path_to_nextgen( $args['convert'] ); $this->path = $destination_path; $this->file_type = null; $this->editor = null; @@ -557,7 +578,7 @@ class File { * * @param string $path Absolute path to the image file. * @param bool $backup True if a backup has been made. - */ + */ do_action_deprecated( 'after_do_imagify', [ $this->path, $args['backup'] ], '1.9', 'imagify_before_optimize_file' ); /** @@ -568,7 +589,7 @@ class File { * * @param string $path Absolute path to the media file. * @param array $args Arguments passed to the method. - */ + */ do_action( 'imagify_after_optimize_file', $this->path, $args ); return $response; @@ -603,7 +624,7 @@ class File { $this->editor = new \WP_Error( 'image_editor', sprintf( - /* translators: %1$s is an error message, %2$s is a "More info?" link. */ + /* translators: %1$s is an error message, %2$s is a "More info?" link. */ __( 'No php extensions are available to edit images on the server. ImageMagick or GD is required. The internal error is: %1$s. %2$s', 'imagify' ), $this->editor->get_error_message(), '' . __( 'More info?', 'imagify' ) . '' @@ -765,6 +786,26 @@ class File { return imagify_path_to_webp( $this->path ); } + /** + * Replace the file extension by its next-gen format extension. + * + * @since 2.2 + * + * @param string $format the format we are targeting. + * @return string|bool The file path on success. False if not an image or on failure. + */ + public function get_path_to_nextgen( string $format ) { + if ( ! $this->is_image() ) { + return false; + } + + if ( $this->is_webp() || $this->is_avif() ) { + return false; + } + + return imagify_path_to_nextgen( $this->path, $format ); + } + /** * Tell if the file is a WebP image. * Rejects "path/to/.webp" files. @@ -778,6 +819,18 @@ class File { return preg_match( '@(?!^|/|\\\)\.webp$@i', $this->path ); } + /** + * Tell if the file is an AVIF image. + * Rejects "path/to/.avif" files. + * + * @since 2.2 + * + * @return bool + */ + public function is_avif() { + return preg_match( '@(?!^|/|\\\)\.avif$@i', $this->path ); + } + /** * Get the file mime type + file extension. * diff --git a/wp/wp-content/plugins/imagify/classes/Optimization/Process/AbstractProcess.php b/wp/wp-content/plugins/imagify/classes/Optimization/Process/AbstractProcess.php index bec0948d..6ec24380 100644 --- a/wp/wp-content/plugins/imagify/classes/Optimization/Process/AbstractProcess.php +++ b/wp/wp-content/plugins/imagify/classes/Optimization/Process/AbstractProcess.php @@ -1,4 +1,6 @@ filesystem = \Imagify_Filesystem::get_instance(); + $this->format = $this->get_current_format(); } /** @@ -114,7 +143,8 @@ abstract class AbstractProcess implements ProcessInterface { * * @since 1.9 * - * @param mixed $id Whatever. + * @param mixed $id Whatever. + * * @return bool */ public static function constructor_accepts( $id ) { @@ -212,7 +242,7 @@ abstract class AbstractProcess implements ProcessInterface { * * @since 1.9 * - * @param string $describer Capacity describer. See \Imagify\Context\ContextInterface->get_capacity() for possible values. Can also be a "real" user capacity. + * @param string $describer Capacity describer. See \Imagify\Context\ContextInterface->get_capacity() for possible values. Can also be a "real" user capacity. * @return bool */ public function current_user_can( $describer ) { @@ -225,19 +255,15 @@ abstract class AbstractProcess implements ProcessInterface { return $media->get_context_instance()->current_user_can( $describer, $media->get_id() ); } - - /** ----------------------------------------------------------------------------------------- */ - /** OPTIMIZATION ============================================================================ */ - /** ----------------------------------------------------------------------------------------- */ - /** * Optimize a media files. * * @since 1.9 * - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @param array $args An array of optionnal arguments. - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * @param array $args An array of optionnal arguments. + * + * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ public function optimize( $optimization_level = null, $args = [] ) { if ( ! $this->is_valid() ) { @@ -256,13 +282,13 @@ abstract class AbstractProcess implements ProcessInterface { return new WP_Error( 'optimized', __( 'This media has already been optimized by Imagify.', 'imagify' ) ); } - if ( $data->is_already_optimized() && $this->has_webp() ) { - // If already optimized but has WebP, delete WebP versions and optimization data. + if ( $data->is_already_optimized() && $this->has_next_gen() ) { + // If already optimized but has next-gen, delete next-gen versions and optimization data. $data->delete_optimization_data(); - $deleted = $this->delete_webp_files(); + $deleted = $this->delete_nextgen_files(); if ( is_wp_error( $deleted ) ) { - return new WP_Error( 'webp_not_deleted', __( 'Previous WebP files could not be deleted.', 'imagify' ) ); + return new WP_Error( 'next_gen_not_deleted', __( 'Previous Next-Gen files could not be deleted.', 'imagify' ) ); } } @@ -280,9 +306,10 @@ abstract class AbstractProcess implements ProcessInterface { * * @since 1.9 * - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @param array $args An array of optionnal arguments. - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * @param array $args An array of optionnal arguments. + * + * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ public function reoptimize( $optimization_level = null, $args = [] ) { if ( ! $this->is_valid() ) { @@ -322,17 +349,21 @@ abstract class AbstractProcess implements ProcessInterface { * Optimize several file sizes by pushing tasks into the queue. * * @since 1.9 - * @see MediaOptimization->task_before() - * @see MediaOptimization->task_after() + * @see MediaOptimization->task_before() + * @see MediaOptimization->task_after() * - * @param array $sizes An array of media sizes (strings). Use "full" for the size of the main file. - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @param array $args { - * An array of optionnal arguments. + * @since 2.2 + * Addition of the image format + * + * @param array $sizes An array of media sizes (strings). Use "full" for the size of the main file. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * @param array $args { + * An array of optionnal arguments. * * @type string $hook_suffix Suffix used to trigger hooks before and after optimization. * } - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * + * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ public function optimize_sizes( $sizes, $optimization_level = null, $args = [] ) { if ( ! $this->is_valid() ) { @@ -358,41 +389,51 @@ abstract class AbstractProcess implements ProcessInterface { } if ( $media->is_image() ) { - if ( $this->get_option( 'convert_to_webp' ) ) { - // Add WebP convertion. + // Add Next-Gen conversion. + $formats = imagify_nextgen_images_formats(); + + foreach ( $formats as $format ) { + if ( 'avif' === $format ) { + $format_suffix = static::AVIF_SUFFIX; + } elseif ( 'webp' === $format ) { + $format_suffix = static::WEBP_SUFFIX; + } + $files = $media->get_media_files(); foreach ( $sizes as $size_name ) { if ( empty( $files[ $size_name ] ) ) { continue; } - if ( 'image/webp' === $files[ $size_name ]['mime-type'] ) { - continue; - } - if ( in_array( $size_name . static::WEBP_SUFFIX, $sizes, true ) ) { + + if ( $this->get_mime_type( $format ) === $files[ $size_name ]['mime-type'] ) { continue; } - array_unshift( $sizes, $size_name . static::WEBP_SUFFIX ); + if ( in_array( $size_name . $format_suffix, $sizes, true ) ) { + continue; + } + + array_unshift( $sizes, $size_name . $format_suffix ); } } if ( ! $media->get_context_instance()->can_backup() && ! $media->get_backup_path() && ! $this->get_data()->get_size_data( 'full', 'success' ) ) { /** * Backup is NOT activated, and a backup file does NOT exist yet, and the full size is NOT optimized yet. - * WebP conversion needs a backup file, even a temporary one: we’ll create one. + * Next-Gen conversion needs a backup file, even a temporary one: we’ll create one. */ - $webp = false; + $next_gen = false; foreach ( $sizes as $size_name ) { - if ( $this->is_size_webp( $size_name ) ) { - $webp = true; + if ( $this->is_size_next_gen( $size_name ) ) { + $next_gen = true; break; } } - if ( $webp ) { - // We have at least one WebP conversion to do: create a temporary backup. + if ( $next_gen ) { + // We have at least one next-gen conversion to do: create a temporary backup. $backuped = $this->get_original_file()->backup( $media->get_raw_backup_path() ); if ( $backuped ) { @@ -443,9 +484,10 @@ abstract class AbstractProcess implements ProcessInterface { * * @since 1.9 * - * @param string $size The media size. - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @return array|\WP_Error Optimized image data. A \WP_Error object on error. + * @param string $size The media size. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * + * @return array|WP_Error Optimized image data. A WP_Error object on error. */ public function optimize_size( $size, $optimization_level = null ) { if ( ! $this->is_valid() ) { // Bail out. @@ -455,13 +497,13 @@ abstract class AbstractProcess implements ProcessInterface { $media = $this->get_media(); $sizes = $media->get_media_files(); $thumb_size = $size; - $webp = $this->is_size_webp( $size ); + $next_gen = $this->is_size_next_gen( $size ); $path_is_temp = false; - if ( $webp ) { + if ( $next_gen ) { // We'll make sure the file is an image later. - $thumb_size = $webp; // Contains the name of the non-WebP size. - $webp = true; + $thumb_size = $next_gen; // Contains the name of the non-next-gen size. + $next_gen = true; } if ( empty( $sizes[ $thumb_size ]['path'] ) ) { // Bail out. @@ -469,7 +511,7 @@ abstract class AbstractProcess implements ProcessInterface { return new WP_Error( 'unknown_size', sprintf( - /* translators: %s is a size name. */ + /* translators: %s is a size name. */ __( 'The size %s is unknown.', 'imagify' ), '' . esc_html( $thumb_size ) . '' ) @@ -478,12 +520,12 @@ abstract class AbstractProcess implements ProcessInterface { if ( $this->get_data()->get_size_data( $size, 'success' ) ) { // Bail out. // This size is already optimized with Imagify, and must not be optimized again. - if ( $webp ) { + if ( $next_gen ) { return new WP_Error( 'size_is_successfully_optimized', sprintf( - /* translators: %s is a size name. */ - __( 'The WebP format for the size %s already exists.', 'imagify' ), + /* translators: %s is a size name. */ + __( 'The Next-Gen format for the size %s already exists.', 'imagify' ), '' . esc_html( $thumb_size ) . '' ) ); @@ -491,7 +533,7 @@ abstract class AbstractProcess implements ProcessInterface { return new WP_Error( 'size_is_successfully_optimized', sprintf( - /* translators: %s is a size name. */ + /* translators: %s is a size name. */ __( 'The size %s is already optimized by Imagify.', 'imagify' ), '' . esc_html( $thumb_size ) . '' ) @@ -506,16 +548,16 @@ abstract class AbstractProcess implements ProcessInterface { $optimization_level = $this->sanitize_optimization_level( $optimization_level ); - if ( $webp && $this->get_data()->get_size_data( $thumb_size, 'success' ) ) { - // We want a WebP version but the source file is already optimized by Imagify. + if ( $next_gen && $this->get_data()->get_size_data( $thumb_size, 'success' ) ) { + // We want a next-gen version but the source file is already optimized by Imagify. $result = $this->create_temporary_copy( $thumb_size, $sizes ); if ( ! $result ) { // Bail out. - // Could not create a copy of the non-WebP version. + // Could not create a copy of the non-next-gen version. $response = new WP_Error( - 'non_webp_copy_failed', + 'non_next_gen_copy_failed', sprintf( - /* translators: %s is a size name. */ + /* translators: %s is a size name. */ __( 'Could not create an unoptimized copy of the size %s.', 'imagify' ), '' . esc_html( $thumb_size ) . '' ) @@ -548,7 +590,7 @@ abstract class AbstractProcess implements ProcessInterface { $response = new WP_Error( 'extension_not_supported', sprintf( - /* translators: %s is a file extension. */ + /* translators: %s is a file extension. */ __( '%s cannot be optimized.', 'imagify' ), '' . esc_html( strtolower( $extension ) ) . '' ) @@ -564,14 +606,14 @@ abstract class AbstractProcess implements ProcessInterface { return $response; } - if ( $webp && ! $file->is_image() ) { // Bail out. + if ( $next_gen && ! $file->is_image() ) { // Bail out. if ( $path_is_temp ) { $this->filesystem->delete( $path ); } $response = new WP_Error( - 'no_webp', - __( 'This file is not an image and cannot be converted to WebP format.', 'imagify' ) + 'no_next_gen', + __( 'This file is not an image and cannot be converted to Next-Gen format.', 'imagify' ) ); $this->update_size_optimization_data( $response, $size, $optimization_level ); @@ -583,11 +625,11 @@ abstract class AbstractProcess implements ProcessInterface { /** * Fires before optimizing a file. - * Return a \WP_Error object to prevent the optimization. + * Return a WP_Error object to prevent the optimization. * * @since 1.9 * - * @param null|WP_Error $response Null by default. Return a \WP_Error object to prevent optimization. + * @param null|WP_Error $response Null by default. Return a WP_Error object to prevent optimization. * @param ProcessInterface $process The optimization process instance. * @param File $file The file instance. If $webp is true, $file references the non-WebP file. * @param string $thumb_size The media size. @@ -595,7 +637,7 @@ abstract class AbstractProcess implements ProcessInterface { * @param bool $webp The image will be converted to WebP. * @param bool $is_disabled Tell if this size is disabled from optimization. */ - $response = apply_filters( 'imagify_before_optimize_size', null, $this, $file, $thumb_size, $optimization_level, $webp, $is_disabled ); + $response = apply_filters( 'imagify_before_optimize_size', null, $this, $file, $thumb_size, $optimization_level, $next_gen, $is_disabled ); if ( ! is_wp_error( $response ) ) { if ( $is_disabled ) { @@ -603,7 +645,7 @@ abstract class AbstractProcess implements ProcessInterface { $response = new WP_Error( 'unauthorized_size', sprintf( - /* translators: %s is a size name. */ + /* translators: %s is a size name. */ __( 'The size %s is not authorized to be optimized. Update your Imagify settings if you want to optimize it.', 'imagify' ), '' . esc_html( $thumb_size ) . '' ) @@ -612,21 +654,21 @@ abstract class AbstractProcess implements ProcessInterface { $response = new WP_Error( 'file_not_exists', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'The file %s does not seem to exist.', 'imagify' ), '' . esc_html( $this->filesystem->make_path_relative( $file->get_path() ) ) . '' ) ); - } elseif ( $webp && ! $this->can_create_webp_version( $file->get_path() ) ) { + } elseif ( $next_gen && ! $this->can_create_next_gen_version( $file->get_path() ) ) { $response = new WP_Error( 'is_animated_gif', - __( 'This file is an animated gif: since Imagify does not support animated WebP, WebP creation for animated gif is disabled.', 'imagify' ) + __( 'This file is an animated gif: since Imagify does not support animated WebP/AVIF, WebP/AVIF creation for animated gif is disabled.', 'imagify' ) ); } elseif ( ! $this->filesystem->is_writable( $file->get_path() ) ) { $response = new WP_Error( 'file_not_writable', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'The file %s does not seem to be writable.', 'imagify' ), '' . esc_html( $this->filesystem->make_path_relative( $file->get_path() ) ) . '' ) @@ -635,6 +677,16 @@ abstract class AbstractProcess implements ProcessInterface { // Maybe resize the file. $response = $this->maybe_resize( $thumb_size, $file ); + $convert = ''; + + if ( $next_gen ) { + if ( strpos( $size, static::AVIF_SUFFIX ) ) { + $convert = 'avif'; + } elseif ( strpos( $size, static::WEBP_SUFFIX ) ) { + $convert = 'webp'; + } + } + if ( ! is_wp_error( $response ) ) { // Resizing succeeded: optimize the file. $response = $file->optimize( [ @@ -642,19 +694,20 @@ abstract class AbstractProcess implements ProcessInterface { 'backup_path' => $media->get_raw_backup_path(), 'backup_source' => 'full' === $thumb_size ? $media->get_original_path() : null, 'optimization_level' => $optimization_level, - 'convert' => $webp ? 'webp' : '', + 'convert' => $convert, 'keep_exif' => true, 'context' => $media->get_context(), 'original_size' => $response['file_size'], ] ); - $response = $this->compare_webp_file_size( [ - 'response' => $response, - 'file' => $file, - 'is_webp' => $webp, - 'non_webp_thumb_size' => $thumb_size, - 'non_webp_file_path' => $sizes[ $thumb_size ]['path'], // Don't use $path nor $file->get_path(), it may return the path to a temporary file. - 'optimization_level' => $optimization_level, + $response = $this->compare_next_gen_file_size( [ + 'response' => $response, + 'file' => $file, + 'is_next_gen' => $next_gen, + 'next_gen_format' => $convert, + 'non_next_gen_thumb_size' => $thumb_size, + 'non_next_gen_file_path' => $sizes[ $thumb_size ]['path'], // Don't use $path nor $file->get_path(), it may return the path to a temporary file. + 'optimization_level' => $optimization_level, ] ); if ( property_exists( $response, 'message' ) ) { @@ -682,7 +735,7 @@ abstract class AbstractProcess implements ProcessInterface { * @param bool $webp The image was supposed to be converted to WebP. * @param bool $is_disabled Tell if this size is disabled from optimization. */ - do_action( 'imagify_after_optimize_size', $this, $file, $thumb_size, $optimization_level, $webp, $is_disabled ); + do_action( 'imagify_after_optimize_size', $this, $file, $thumb_size, $optimization_level, $next_gen, $is_disabled ); if ( ! $path_is_temp ) { return $data; @@ -704,108 +757,109 @@ abstract class AbstractProcess implements ProcessInterface { } /** - * Compare the file size of a file and its WebP version: if the WebP version is heavier than the non-WebP file, delete it. + * Compare the file size of a file and its Next-Gen version: if the Next-Gen version is heavier than the non-next-gen file, delete it. * - * @since 1.9.4 + * @since 2.2 * - * @param array $args { + * @param array $args { * A list of mandatory arguments. * - * @type \sdtClass|\WP_Error $response Optimized image data. A \WP_Error object on error. + * @type \sdtClass|WP_Error $response Optimized image data. A WP_Error object on error. * @type File $file The File instance of the file currently being optimized. - * @type bool $is_webp Tell if we're requesting a WebP file. - * @type string $non_webp_thumb_size Name of the corresponding non-WebP thumbnail size. If we're not creating a WebP file, this corresponds to the current thumbnail size. - * @type string $non_webp_file_path Path to the corresponding non-WebP file. If we're not creating a WebP file, this corresponds to the current file path. + * @type bool $is_next_gen Tell if we're requesting a next-gen file. + * @type string $non_next_gen_thumb_size Name of the corresponding non-next-gen thumbnail size. If we're not creating a Next-Gen file, this corresponds to the current thumbnail size. + * @type string $non_next_gen_file_path Path to the corresponding non-next-gen file. If we're not creating a Next-Gen file, this corresponds to the current file path. * @type string $optimization_level The optimization level. * } - * @return \sdtClass|WP_Error Optimized image data. A WP_Error object on error. + * + * @return \sdtClass|WP_Error Optimized image data. A WP_Error object on error. */ - protected function compare_webp_file_size( $args ) { - static $keep_large_webp; + protected function compare_next_gen_file_size( $args ) { + static $keep_large_next_gen; - if ( ! isset( $keep_large_webp ) ) { + if ( ! isset( $keep_large_next_gen ) ) { /** - * Allow to not store WebP images that are larger than their non-WebP version. + * Allow to not store next-gen images that are larger than their non-next-gen version. * * @since 1.9.4 * - * @param bool $keep_large_webp Set to false if you prefer your visitors over your Pagespeed score. Default value is true. + * @param bool $keep_large_next-gen Set to false if you prefer your visitors over your Pagespeed score. Default value is true. */ - $keep_large_webp = apply_filters( 'imagify_keep_large_webp', true ); + $keep_large_next_gen = apply_filters( 'imagify_keep_large_next_gen', true ); } - if ( $keep_large_webp || is_wp_error( $args['response'] ) || ! $args['file']->is_image() ) { + if ( $keep_large_next_gen || is_wp_error( $args['response'] ) || ! $args['file']->is_image() ) { return $args['response']; } // Optimization succeeded. - if ( ! property_exists( $args['response'], 'message' ) && $args['is_webp'] ) { + if ( ! property_exists( $args['response'], 'message' ) && $args['is_next_gen'] ) { /** - * We just created a WebP version: - * Check if it is lighter than the (maybe optimized) non-WebP file. + * We just created a next-gen version: + * Check if it is lighter than the (maybe optimized) non-next-gen file. */ - $data = $this->get_data()->get_size_data( $args['non_webp_thumb_size'] ); + $data = $this->get_data()->get_size_data( $args['non_next_gen_thumb_size'] ); if ( ! $data ) { - // We haven’t tried to optimize the non-WebP size yet. + // We haven’t tried to optimize the non-next-gen size yet. return $args['response']; } if ( ! empty( $data['optimized_size'] ) ) { - // The non-WebP size is optimized, we know the file size. - $non_webp_file_size = $data['optimized_size']; + // The non-next-gen size is optimized, we know the file size. + $non_next_gen_file_size = $data['optimized_size']; } else { - // The non-WebP size is "already optimized" or "error": grab the file size directly from the file. - $non_webp_file_size = $this->filesystem->size( $args['non_webp_file_path'] ); + // The non-next-gen size is "already optimized" or "error": grab the file size directly from the file. + $non_next_gen_file_size = $this->filesystem->size( $args['non_next_gen_file_path'] ); } - if ( ! $non_webp_file_size || $non_webp_file_size > $args['response']->new_size ) { - // The new WebP file is lighter. + if ( ! $non_next_gen_file_size || $non_next_gen_file_size > $args['response']->new_size ) { + // The new next-gen file is lighter. return $args['response']; } - // The new WebP file is heavier than the non-WebP file: delete it and return an error. + // The new next-gen file is heavier than the non-next-gen file: delete it and return an error. $this->filesystem->delete( $args['file']->get_path() ); return new WP_Error( - 'webp_heavy', + 'next_gen_heavy', sprintf( - /* translators: %s is a size name. */ - __( 'The WebP version of the size %s is heavier than its non-WebP version.', 'imagify' ), - '' . esc_html( $args['non_webp_thumb_size'] ) . '' + /* translators: %s is a size name. */ + __( 'The Next-Gen version of the size %s is heavier than its non-next-gen version.', 'imagify' ), + '' . esc_html( $args['non_next_gen_thumb_size'] ) . '' ) ); } /** - * We just created a non-WebP version: - * Check if its WebP version file is lighter than this one. + * We just created a non-next-gen version: + * Check if its next-gen version file is lighter than this one. */ - $webp_size = $args['non_webp_thumb_size'] . static::WEBP_SUFFIX; - $webp_file_size = $this->get_data()->get_size_data( $webp_size, 'optimized_size' ); + $next_gen_size = $args['non_next_gen_thumb_size'] . $args['next_gen_format']; + $next_gen_file_size = $this->get_data()->get_size_data( $next_gen_size, 'optimized_size' ); - if ( property_exists( $args['response'], 'message' ) || ! $webp_file_size || $webp_file_size < $args['response']->new_size ) { - // The WebP file is lighter than this one. + if ( property_exists( $args['response'], 'message' ) || ! $next_gen_file_size || $next_gen_file_size < $args['response']->new_size ) { + // The next-gen file is lighter than this one. return $args['response']; } - // The new optimized file is lighter than the WebP file: delete the WebP file and store an error. - $webp_path = $args['file']->get_path_to_webp(); + // The new optimized file is lighter than the next-gen file: delete the next-gen file and store an error. + $next_gen_path = $args['file']->get_path_to_nextgen( $args['next_gen_format'] ); - if ( $webp_path && $this->filesystem->is_writable( $webp_path ) ) { - $this->filesystem->delete( $webp_path ); + if ( $next_gen_path && $this->filesystem->is_writable( $next_gen_path ) ) { + $this->filesystem->delete( $next_gen_path ); } - $webp_response = new WP_Error( - 'webp_heavy', + $next_gen_response = new WP_Error( + 'next_gen_heavy', sprintf( - /* translators: %s is a size name. */ - __( 'The WebP version of the size %s is heavier than its non-WebP version.', 'imagify' ), - '' . esc_html( $args['non_webp_thumb_size'] ) . '' + /* translators: %s is a size name. */ + __( 'The Next-Gen version of the size %s is heavier than its non-next-gen version.', 'imagify' ), + '' . esc_html( $args['non_next_gen_thumb_size'] ) . '' ) ); - $this->update_size_optimization_data( $webp_response, $webp_size, $args['optimization_level'] ); + $this->update_size_optimization_data( $next_gen_response, $next_gen_size, $args['optimization_level'] ); return $args['response']; } @@ -815,7 +869,7 @@ abstract class AbstractProcess implements ProcessInterface { * * @since 1.9 * - * @return bool|WP_Error True on success. A \WP_Error instance on failure. + * @return bool|WP_Error True on success. A WP_Error instance on failure. */ public function restore() { if ( ! $this->is_valid() ) { @@ -866,7 +920,7 @@ abstract class AbstractProcess implements ProcessInterface { /** * Fires before restoring a media. - * Return a \WP_Error object to prevent the restoration. + * Return a WP_Error object to prevent the restoration. * * @since 1.9 * @@ -894,7 +948,7 @@ abstract class AbstractProcess implements ProcessInterface { $media->update_dimensions(); // Delete the WebP version. - $this->delete_webp_file( $original_path ); + $this->delete_nextgen_file( $original_path ); // Restore the thumbnails. $response = $this->restore_thumbnails(); @@ -924,28 +978,23 @@ abstract class AbstractProcess implements ProcessInterface { * * @since 1.9 * - * @return bool|WP_Error True on success. A \WP_Error instance on failure. + * @return bool|WP_Error True on success. A WP_Error instance on failure. */ protected function restore_thumbnails() { $media = $this->get_media(); /** - * Delete the WebP versions. + * Delete the next-gen versions. * If the full size file and the original file are not the same, the full size is considered like a thumbnail. - * In that case we must also delete the WebP file associated to the full size. + * In that case we must also delete the next-gen file associated to the full size. */ - $keep_full_webp = $media->get_raw_original_path() === $media->get_raw_fullsize_path(); - $this->delete_webp_files( $keep_full_webp ); + $keep_full_next_gen = $media->get_raw_original_path() === $media->get_raw_fullsize_path(); + $this->delete_nextgen_files( $keep_full_next_gen ); // Generate new thumbnails. return $media->generate_thumbnails(); } - - /** ----------------------------------------------------------------------------------------- */ - /** BACKUP FILE ============================================================================= */ - /** ----------------------------------------------------------------------------------------- */ - /** * Delete the backup file. * @@ -960,28 +1009,29 @@ abstract class AbstractProcess implements ProcessInterface { if ( $backup_path ) { $this->filesystem->delete( $backup_path ); + + // Check for the -scaled version in the backup. + $scaled_backup_path = preg_replace( '/(\.)([^\.]+)$/', '-scaled.$2', $backup_path ); + if ( $this->filesystem->exists( $scaled_backup_path ) ) { + // Delete the -scaled version from the backup. + $this->filesystem->delete( $scaled_backup_path ); + } } } - - /** ----------------------------------------------------------------------------------------- */ - /** TEMPORARY COPY OF A SIZE FILE =========================================================== */ - /** ----------------------------------------------------------------------------------------- */ - - /** - * If we need to create a WebP version, we must create it from an unoptimized image. - * The full size is always optimized before the WebP version creation, and in some cases it’s the same for the thumbnails. - * Then we use the backup file to create temporary files. - */ - /** * Create a temporary copy of a size file. * + * If we need to create a next-gen version, we must create it from an unoptimized image. + * The full size is always optimized before the next-gen version creation, and in some cases it’s the same for the thumbnails. + * Then we use the backup file to create temporary files. + * * @since 1.9 * - * @param string $size The image size name. - * @param array $sizes A list of thumbnail sizes being optimized. - * @return bool True if the file exists/is created. False on failure. + * @param string $size The image size name. + * @param array $sizes A list of thumbnail sizes being optimized. + * + * @return bool True if the file exists/is created. False on failure. */ protected function create_temporary_copy( $size, $sizes = null ) { $media = $this->get_media(); @@ -1036,7 +1086,7 @@ abstract class AbstractProcess implements ProcessInterface { if ( 'full' === $size ) { /** - * We create a copy of the backup to be able to create a WebP version from it. + * We create a copy of the backup to be able to create a next-gen version from it. * That means the optimization process will resize the file if needed, so there is nothing more to do here. */ return true; @@ -1126,8 +1176,9 @@ abstract class AbstractProcess implements ProcessInterface { * * @since 1.9 * - * @param string $size The image size name. - * @param array $sizes A list of thumbnail sizes being optimized. + * @param string $size The image size name. + * @param array $sizes A list of thumbnail sizes being optimized. + * * @return string|bool An image path. False on failure. */ protected function get_temporary_copy_path( $size, $sizes = null ) { @@ -1154,18 +1205,14 @@ abstract class AbstractProcess implements ProcessInterface { return $info['dir_path'] . $info['file_base'] . static::TMP_SUFFIX . '.' . $info['extension']; } - - /** ----------------------------------------------------------------------------------------- */ - /** RESIZE FILE ============================================================================= */ - /** ----------------------------------------------------------------------------------------- */ - /** * Maybe resize an image. * * @since 1.9 * - * @param string $size The size name. - * @param File $file A File instance. + * @param string $size The size name. + * @param File $file A File instance. + * * @return array|WP_Error A WP_Error instance on failure, an array on success as follow: { * @type bool $resized True when the image has been resized. * @type bool $backuped True when the image has been backuped. @@ -1189,7 +1236,7 @@ abstract class AbstractProcess implements ProcessInterface { return new WP_Error( 'no_dimensions', sprintf( - /* translators: %s is an error message. */ + /* translators: %s is an error message. */ __( 'Resizing failed: %s', 'imagify' ), __( 'Imagify could not get the image dimensions.', 'imagify' ) ) @@ -1215,7 +1262,7 @@ abstract class AbstractProcess implements ProcessInterface { return new WP_Error( 'resize_failure', sprintf( - /* translators: %s is an error message. */ + /* translators: %s is an error message. */ __( 'Resizing failed: %s', 'imagify' ), $resized_path->get_error_message() ) @@ -1231,7 +1278,7 @@ abstract class AbstractProcess implements ProcessInterface { return new WP_Error( 'backup_failure', sprintf( - /* translators: %s is an error message. */ + /* translators: %s is an error message. */ __( 'Backup failed: %s', 'imagify' ), $backuped->get_error_message() ) @@ -1267,8 +1314,9 @@ abstract class AbstractProcess implements ProcessInterface { * * @since 1.9 * - * @param string $size The size name. - * @param File $file A File instance. + * @param string $size The size name. + * @param File $file A File instance. + * * @return bool */ protected function can_resize( $size, $file ) { @@ -1276,8 +1324,16 @@ abstract class AbstractProcess implements ProcessInterface { return false; } - if ( 'full' !== $size && 'full' . static::WEBP_SUFFIX !== $size ) { - // We resize only the main file and its WebP version. + if ( + 'full' !== $size + && + ( + 'full' . static::WEBP_SUFFIX !== $size + || + 'full' . static::AVIF_SUFFIX !== $size + ) + ) { + // We resize only the main file and its next-gen version. return false; } @@ -1293,7 +1349,8 @@ abstract class AbstractProcess implements ProcessInterface { * * @since 1.9 * - * @param string $size The size name. + * @param string $size The size name. + * * @return bool */ protected function can_backup( $size ) { @@ -1309,76 +1366,32 @@ abstract class AbstractProcess implements ProcessInterface { return $this->get_media()->get_context_instance()->can_backup(); } - - /** ----------------------------------------------------------------------------------------- */ - /** WEBP ==================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** - * Generate WebP images if they are missing. + * Get mime type * - * @since 1.9 - * - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * @param string $format nextgen image format. */ - public function generate_webp_versions() { - if ( ! $this->is_valid() ) { - return new WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); - } - - $media = $this->get_media(); - - if ( ! $media->is_image() ) { - return new WP_Error( 'no_webp', __( 'This media is not an image and cannot be converted to WebP format.', 'imagify' ) ); - } - - if ( ! $media->has_backup() ) { - return new WP_Error( 'no_backup', __( 'This media has no backup file.', 'imagify' ) ); - } - - $data = $this->get_data(); - - if ( ! $data->is_optimized() && ! $data->is_already_optimized() ) { - return new WP_Error( 'not_optimized', __( 'This media has not been optimized by Imagify yet.', 'imagify' ) ); - } - - if ( $this->has_webp() ) { - return new WP_Error( 'has_webp', __( 'This media already has WebP versions.', 'imagify' ) ); - } - - $files = $media->get_media_files(); - $sizes = []; - $args = [ - 'hook_suffix' => 'generate_webp_versions', + private function get_mime_type( $format ) { + $mime_types = [ + 'avif' => 'image/avif', + 'webp' => 'image/webp', ]; - foreach ( $files as $size_name => $file ) { - if ( 'image/webp' !== $files[ $size_name ]['mime-type'] ) { - array_unshift( $sizes, $size_name . static::WEBP_SUFFIX ); - } - } - - if ( ! $sizes ) { - return new \WP_Error( 'no_sizes', __( 'This media does not have files that can be converted to WebP format.', 'imagify' ) ); - } - - $optimization_level = $data->get_optimization_level(); - - // Optimize. - return $this->optimize_sizes( $sizes, $optimization_level, $args ); + return isset( $mime_types[ $format ] ) ? $mime_types[ $format ] : false; } /** - * Delete the WebP images. + * Delete the next gen format images. * This doesn't delete the related optimization data. * - * @since 1.9 - * @since 1.9.6 Return WP_Error or true. + * @since 2.2 * - * @param bool $keep_full Set to true to keep the full size. - * @return bool|WP_Error True on success. A \WP_Error object on failure. + * @param bool $keep_full Set to true to keep the full size. + * @param bool $all_next_gen True: will delete every next-gen format. False: will delete only the current enabled format. + * + * @return bool|WP_Error True on success. A WP_Error object on failure. */ - public function delete_webp_files( $keep_full = false ) { + public function delete_nextgen_files( $keep_full = false, $all_next_gen = false ) { if ( ! $this->is_valid() ) { return new WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); } @@ -1403,7 +1416,7 @@ abstract class AbstractProcess implements ProcessInterface { foreach ( $files as $file ) { if ( 0 === strpos( $file['mime-type'], 'image/' ) ) { - $deleted = $this->delete_webp_file( $file['path'] ); + $deleted = $this->delete_nextgen_file( $file['path'], $all_next_gen ); if ( is_wp_error( $deleted ) ) { ++$error_count; @@ -1415,7 +1428,7 @@ abstract class AbstractProcess implements ProcessInterface { return new WP_Error( 'files_not_deleted', sprintf( - /* translators: %s is a formatted number, don’t use %d. */ + /* translators: %s is a formatted number, don’t use %d. */ _n( '%s file could not be deleted.', '%s files could not be deleted.', $error_count, 'imagify' ), number_format_i18n( $error_count ) ) @@ -1426,62 +1439,86 @@ abstract class AbstractProcess implements ProcessInterface { } /** - * Delete a WebP image, given its non-WebP version's path. + * Delete a next gen format image, given its non-next-gen version's path. * This doesn't delete the related optimization data. * - * @since 1.9 - * @since 1.9.6 Return WP_Error or true. + * @since 2.2 * - * @param string $file_path Path to the non-WebP file. - * @return bool|WP_Error True on success. A \WP_Error object on failure. + * @param string $file_path Path to the non-next-gen file. + * @param bool $all_next_gen True: will delete every next-gen format. False: will delete only the current enabled format. + * + * @return void|WP_Error A \WP_Error object on failure. */ - protected function delete_webp_file( $file_path ) { + protected function delete_nextgen_file( $file_path, $all_next_gen = false ) { if ( ! $file_path ) { - return new WP_Error( 'no_path', __( 'Path to non-WebP file not provided.', 'imagify' ) ); + return new WP_Error( 'no_path', __( 'Path to non-next-gen file not provided.', 'imagify' ) ); } - $webp_file = new File( $file_path ); - $webp_path = $webp_file->get_path_to_webp(); + $next_gen_file = new File( $file_path ); + $formats = $this->extensions; - if ( ! $webp_path ) { - return new WP_Error( 'no_webp_path', __( 'Could not get the path to the WebP file.', 'imagify' ) ); + if ( ! $all_next_gen ) { + $formats = imagify_nextgen_images_formats(); + } + // Delete next-gen images. + foreach ( $formats as $extension ) { + $path = $next_gen_file->get_path_to_nextgen( $extension ); + + if ( ! $path ) { + continue; + } + + $this->delete_file( $path ); + } + } + + /** + * Delete a next gen format image, given its non-next-gen version's path. + * + * @param string $next_gen_path Path to the non-next-gen file. + * + * @return bool|WP_Error True on success. A WP_Error object on failure. + */ + protected function delete_file( string $next_gen_path ) { + if ( empty( $next_gen_path ) ) { + return new WP_Error( 'no_$next_gen_path', __( 'Could not get the path to the Next-Gen format file.', 'imagify' ) ); } - if ( ! $this->filesystem->exists( $webp_path ) ) { + if ( ! $this->filesystem->exists( $next_gen_path ) ) { return true; } - if ( ! $this->filesystem->is_writable( $webp_path ) ) { + if ( ! $this->filesystem->is_writable( $next_gen_path ) ) { return new WP_Error( 'file_not_writable', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'The file %s does not seem to be writable.', 'imagify' ), - '' . esc_html( $this->filesystem->make_path_relative( $webp_path ) ) . '' + '' . esc_html( $this->filesystem->make_path_relative( $next_gen_path ) ) . '' ) ); } - if ( ! $this->filesystem->is_file( $webp_path ) ) { + if ( ! $this->filesystem->is_file( $next_gen_path ) ) { return new WP_Error( 'not_a_file', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'This does not seem to be a file: %s.', 'imagify' ), - '' . esc_html( $this->filesystem->make_path_relative( $webp_path ) ) . '' + '' . esc_html( $this->filesystem->make_path_relative( $next_gen_path ) ) . '' ) ); } - $deleted = $this->filesystem->delete( $webp_path, false, 'f' ); + $deleted = $this->filesystem->delete( $next_gen_path, false, 'f' ); if ( ! $deleted ) { return new WP_Error( 'file_not_deleted', sprintf( - /* translators: %s is a file path. */ + /* translators: %s is a file path. */ __( 'The file %s could not be deleted.', 'imagify' ), - '' . esc_html( $this->filesystem->make_path_relative( $webp_path ) ) . '' + '' . esc_html( $this->filesystem->make_path_relative( $next_gen_path ) ) . '' ) ); } @@ -1490,35 +1527,61 @@ abstract class AbstractProcess implements ProcessInterface { } /** - * Tell if a thumbnail size is an "Imagify WebP" size. + * Gives the next-gen image format we are processing. + * + * @return string Current format we are targeting. + */ + public function get_current_format() { + return $this->get_option( 'convert_to_avif' ) ? static::AVIF_SUFFIX : static::WEBP_SUFFIX; + } + + /** + * Tell if a thumbnail size is an "Imagify Next-Gen" size. * * @since 1.9 + * @since 2.2 addition of the format parameter. * - * @param string $size_name The size name. - * @return string|bool The unsuffixed name of the size if WebP. False if not WebP. + * @param string $size_name The size name. + * + * @return string|bool The unsuffixed name of the size if next-gen. False if not next-gen. */ - public function is_size_webp( $size_name ) { - static $suffix; + public function is_size_next_gen( $size_name ) { + $formats = imagify_nextgen_images_formats(); - if ( ! isset( $suffix ) ) { - $suffix = preg_quote( static::WEBP_SUFFIX, '/' ); - } + foreach ( $formats as $format ) { + $suffix = preg_quote( $this->get_suffix_from_format( $format ), '/' ); - if ( preg_match( '/^(?.+)' . $suffix . '$/', $size_name, $matches ) ) { - return $matches['size']; + if ( preg_match( '/^(?.+)' . $suffix . '$/', $size_name, $matches ) ) { + return $matches['size']; + } } return false; } /** - * Tell if the media has WebP versions. + * Get suffix from format. * - * @since 1.9 + * @param string $format Format extension of next-gen image. + * @return string + */ + private function get_suffix_from_format( string $format ): string { + $suffixes = [ + 'avif' => static::AVIF_SUFFIX, + 'webp' => static::WEBP_SUFFIX, + ]; + + return $suffixes[ $format ]; + } + + /** + * Tell if the media has a next gen format. + * + * @since 2.2 * * @return bool */ - public function has_webp() { + public function has_next_gen() { if ( ! $this->is_valid() ) { return false; } @@ -1533,18 +1596,18 @@ abstract class AbstractProcess implements ProcessInterface { return false; } - $needle = static::WEBP_SUFFIX . '";a:4:{s:7:"success";b:1;'; + $needle = $this->format . '";a:4:{s:7:"success";b:1;'; $data = maybe_serialize( $data['sizes'] ); return is_string( $data ) && strpos( $data, $needle ); } /** - * Tell if the media has all WebP versions. + * Tell if the media has all Next-Gen versions. * * @return bool */ - public function is_full_webp() { + public function is_full_next_gen() { if ( ! $this->is_valid() ) { return false; } @@ -1562,39 +1625,42 @@ abstract class AbstractProcess implements ProcessInterface { } $keys = array_keys( $sizes ); - $non_webp_keys = array_values(array_filter($keys, function ( $key ) { - return strpos( $key, static::WEBP_SUFFIX ) === false; + $non_next_gen_keys = array_values(array_filter($keys, function ( $key ) { + return strpos( $key, $this->format ) === false; })); - return array_reduce($non_webp_keys, function ( $is_fully, $key ) use ( $sizes ) { - return key_exists( $key . self::WEBP_SUFFIX, $sizes ) && $is_fully; + return array_reduce($non_next_gen_keys, function ( $is_fully, $key ) use ( $sizes ) { + return key_exists( $key . $this->format, $sizes ) && $is_fully; }, true); } /** - * Tell if a WebP version can be created for the given file. + * Tell if a Next-Gen version can be created for the given file. * Make sure the file is an image before using this method. * * @since 1.9.5 * * @param string $file_path Path to the file. + * * @return bool */ - public function can_create_webp_version( $file_path ) { + public function can_create_next_gen_version( $file_path ) { if ( ! $file_path ) { return false; } + $can = apply_filters_deprecated( 'imagify_pre_can_create_webp_version', array( null, $file_path ), '2.2', 'imagify_pre_can_create_next_gen_version' ); + /** - * Tell if a WebP version can be created for the given file. + * Tell if a next-gen version can be created for the given file. * The file is an image. * * @since 1.9.5 * - * @param bool $can True to create a WebP version, false otherwise. Null by default. + * @param bool $can True to create a next-gen version, false otherwise. Null by default. * @param string $file_path Path to the file. */ - $can = apply_filters( 'imagify_pre_can_create_webp_version', null, $file_path ); + $can = apply_filters( 'imagify_pre_can_create_next_gen_version', $can, $file_path ); if ( isset( $can ) ) { return (bool) $can; @@ -1611,10 +1677,71 @@ abstract class AbstractProcess implements ProcessInterface { return true; } + /** + * Generate next-gen images if they are missing. + * + * @since 1.9 + * + * @return bool|WP_Error True if successfully launched. A WP_Error instance on failure. + */ + public function generate_nextgen_versions() { + if ( ! $this->is_valid() ) { + return new WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); + } - /** ----------------------------------------------------------------------------------------- */ - /** PROCESS STATUS ========================================================================== */ - /** ----------------------------------------------------------------------------------------- */ + $media = $this->get_media(); + + if ( ! $media->is_image() ) { + return new WP_Error( 'no_next_gen', __( 'This media is not an image and cannot be converted to next-gen format.', 'imagify' ) ); + } + + if ( ! $media->has_backup() ) { + return new WP_Error( 'no_backup', __( 'This media has no backup file.', 'imagify' ) ); + } + + $data = $this->get_data(); + + if ( ! $data->is_optimized() && ! $data->is_already_optimized() ) { + return new WP_Error( 'not_optimized', __( 'This media has not been optimized by Imagify yet.', 'imagify' ) ); + } + + if ( $this->has_next_gen() ) { + return new WP_Error( 'has_next_gen', __( 'This media already has next-gen versions.', 'imagify' ) ); + } + + $files = $media->get_media_files(); + $sizes = []; + $args = [ + 'hook_suffix' => 'generate_nextgen_versions', + ]; + + foreach ( $files as $size_name => $file ) { + $formats = imagify_nextgen_images_formats(); + + foreach ( $formats as $format ) { + if ( 'avif' === $format ) { + $format_suffix = static::AVIF_SUFFIX; + } elseif ( 'webp' === $format ) { + $format_suffix = static::WEBP_SUFFIX; + } + + if ( $this->get_mime_type( $format ) === $files[ $size_name ]['mime-type'] ) { + continue; + } + + array_unshift( $sizes, $size_name . $format_suffix ); + } + } + + if ( ! $sizes ) { + return new WP_Error( 'no_sizes', __( 'This media does not have files that can be converted to next-gen format.', 'imagify' ) ); + } + + $optimization_level = $data->get_optimization_level(); + + // Optimize. + return $this->optimize_sizes( $sizes, $optimization_level, $args ); + } /** * Tell if a process is running for this media. @@ -1721,11 +1848,6 @@ abstract class AbstractProcess implements ProcessInterface { return $action; } - - /** ----------------------------------------------------------------------------------------- */ - /** DATA ==================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * Tell if a size already has optimization data. * @@ -1744,10 +1866,12 @@ abstract class AbstractProcess implements ProcessInterface { * Update the optimization data for a size. * * @since 1.9 + * @since 2.2 - Addition of the format in the call. + * + * @param object $response The API response. + * @param string $size The size name. + * @param int $level The optimization level (0=normal, 1=aggressive, 2=ultra). * - * @param object $response The API response. - * @param string $size The size name. - * @param int $level The optimization level (0=normal, 1=aggressive, 2=ultra). * @return array { * The optimization data. * @@ -1829,7 +1953,7 @@ abstract class AbstractProcess implements ProcessInterface { $data = (array) apply_filters( "imagify{$_unauthorized}_file_optimization_data", $data, $response, $size, $level, $this->get_data() ); if ( property_exists( $response, 'message' ) ) { - $size = str_replace( '@imagify-webp', '', $size ); + $size = str_replace( $this->format, '', $size ); } // Store. $this->get_data()->update_size_optimization_data( $size, $data ); @@ -1837,17 +1961,13 @@ abstract class AbstractProcess implements ProcessInterface { return $data; } - - /** ----------------------------------------------------------------------------------------- */ - /** VARIOUS TOOLS =========================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * Get a plugin’s option. * * @since 1.9 * - * @param string $option_name The option nme. + * @param string $option_name The option name. + * * @return mixed */ protected function get_option( $option_name ) { @@ -1866,7 +1986,8 @@ abstract class AbstractProcess implements ProcessInterface { * * @since 1.9 * - * @param mixed $optimization_level The optimization level. + * @param mixed $optimization_level The optimization level. + * * @return int */ protected function sanitize_optimization_level( $optimization_level ) { @@ -1880,4 +2001,32 @@ abstract class AbstractProcess implements ProcessInterface { return \Imagify_Options::get_instance()->sanitize_and_validate( 'optimization_level', $optimization_level ); } + + /** + * Tell if the media has AVIF versions. + * + * @since 2.2 + * + * @return bool + */ + public function has_avif() { + if ( ! $this->is_valid() ) { + return false; + } + + if ( ! $this->get_media()->is_image() ) { + return false; + } + + $data = $this->get_data()->get_optimization_data(); + + if ( empty( $data['sizes'] ) ) { + return false; + } + + $needle = static::AVIF_SUFFIX . '";a:4:{s:7:"success";b:1;'; + $data = maybe_serialize( $data['sizes'] ); + + return is_string( $data ) && strpos( $data, $needle ); + } } diff --git a/wp/wp-content/plugins/imagify/classes/Optimization/Process/Noop.php b/wp/wp-content/plugins/imagify/classes/Optimization/Process/Noop.php index 06a18aab..7483088e 100644 --- a/wp/wp-content/plugins/imagify/classes/Optimization/Process/Noop.php +++ b/wp/wp-content/plugins/imagify/classes/Optimization/Process/Noop.php @@ -1,31 +1,35 @@ get_capacity() for possible values. Can also be a "real" user capacity. * - * @param string $describer Capacity describer. See \Imagify\Context\ContextInterface->get_capacity() for possible values. Can also be a "real" user capacity. * @return bool */ public function current_user_can( $describer ) { return false; } - - /** ----------------------------------------------------------------------------------------- */ - /** OPTIMIZATION ============================================================================ */ - /** ----------------------------------------------------------------------------------------- */ - /** * Optimize a media files by pushing tasks into the queue. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * + * @return bool|WP_Error True if successfully launched. A WP_Error instance on failure. */ public function optimize( $optimization_level = null ) { - return new \WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); + return new WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); } /** * Re-optimize a media files with a different level. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * + * @return bool|WP_Error True if successfully launched. A WP_Error instance on failure. */ public function reoptimize( $optimization_level = null ) { - return new \WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); + return new WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); } /** * Optimize several file sizes by pushing tasks into the queue. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @param array $sizes An array of media sizes (strings). Use "full" for the size of the main file. - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * @param array $sizes An array of media sizes (strings). Use "full" for the size of the main file. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * + * @return bool|WP_Error True if successfully launched. A WP_Error instance on failure. */ public function optimize_sizes( $sizes, $optimization_level = null ) { - return new \WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); + return new WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); } /** * Optimize one file with Imagify directly. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @param string $size The media size. - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @return array|WP_Error The optimization data. A \WP_Error instance on failure. + * @param string $size The media size. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * + * @return array|WP_Error The optimization data. A WP_Error instance on failure. */ public function optimize_size( $size, $optimization_level = null ) { - return new \WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); + return new WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); } /** * Restore the media files from the backup file. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @return bool|WP_Error True on success. A \WP_Error instance on failure. + * @return bool|WP_Error True on success. A WP_Error instance on failure. */ public function restore() { - return new \WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); + return new WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); } - - /** ----------------------------------------------------------------------------------------- */ - /** MISSING THUMBNAILS ====================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * Get the sizes for this media that have not get through optimization. * No sizes are returned if the file is not optimized, has no backup, or is not an image. * The 'full' size os never returned. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * * @return array|WP_Error { * A WP_Error object on failure. @@ -229,45 +204,30 @@ class Noop implements ProcessInterface { /** * Optimize missing thumbnail sizes. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * @return bool|WP_Error True if successfully launched. A WP_Error instance on failure. */ public function optimize_missing_thumbnails() { - return new \WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); + return new WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); } - - /** ----------------------------------------------------------------------------------------- */ - /** BACKUP FILE ============================================================================= */ - /** ----------------------------------------------------------------------------------------- */ - /** * Delete the backup file. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 */ public function delete_backup() {} - - /** ----------------------------------------------------------------------------------------- */ - /** RESIZE FILE ============================================================================= */ - /** ----------------------------------------------------------------------------------------- */ - /** * Maybe resize an image. * - * @since 1.9 - * @access protected - * @author Grégory Viguier + * @since 1.9 * - * @param string $size The size name. - * @param File $file A File instance. - * @return array|WP_Error A \WP_Error instance on failure, an array on success as follow: { + * @param string $size The size name. + * @param File $file A File instance. + * + * @return array|WP_Error A WP_Error instance on failure, an array on success as follow: { * @type bool $resized True when the image has been resized. * @type bool $backuped True when the image has been backuped. * @type int $file_size The file size in bytes. @@ -281,58 +241,47 @@ class Noop implements ProcessInterface { ]; } - - /** ----------------------------------------------------------------------------------------- */ - /** WEBP ==================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** - * Generate WebP images if they are missing. + * Generate Nextgen images if they are missing. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * @return bool|WP_Error True if successfully launched. A WP_Error instance on failure. */ - public function generate_webp_versions() { - return new \WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); + public function generate_nextgen_versions() { + return new WP_Error( 'invalid_media', __( 'This media is not valid.', 'imagify' ) ); } /** - * Delete the WebP images. + * Delete the next gen format images. + * This doesn't delete the related optimization data. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 2.2 + * + * @param bool $keep_full Set to true to keep the full size. + * @return bool|WP_Error True on success. A WP_Error object on failure. */ - public function delete_webp_files() {} - - /** - * Tell if a thumbnail size is an "Imagify WebP" size. - * - * @since 1.9 - * @access public - * @author Grégory Viguier - * - * @param string $size_name The size name. - * @return string|bool The unsuffixed name of the size if WebP. False if not WebP. - */ - public function is_size_webp( $size_name ) { + public function delete_nextgen_files( $keep_full = false ) { return false; } - - /** ----------------------------------------------------------------------------------------- */ - /** PROCESS STATUS ========================================================================== */ - /** ----------------------------------------------------------------------------------------- */ + /** + * Tell if a thumbnail size is an "Imagify Next-Gen" size. + * + * @since 2.2 + * + * @param string $size_name The size name. + * + * @return string|bool The unsuffixed name of the size if Next-Gen. False if not a Next-Gen. + */ + public function is_size_next_gen( $size_name ) { + return false; + } /** * Tell if a process is running for this media. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * * @return bool */ @@ -343,34 +292,24 @@ class Noop implements ProcessInterface { /** * Set the running status to "running" for a period of time. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 */ public function lock() {} /** * Delete the running status. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 */ public function unlock() {} - - /** ----------------------------------------------------------------------------------------- */ - /** DATA ==================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * Tell if a size already has optimization data. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 + * + * @param string $size The size name. * - * @param string $size The size name. * @return bool */ public function size_has_optimization_data( $size ) { @@ -380,13 +319,12 @@ class Noop implements ProcessInterface { /** * Update the optimization data for a size. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 + * + * @param object $response The API response. + * @param string $size The size name. + * @param int $level The optimization level (0=normal, 1=aggressive, 2=ultra). * - * @param object $response The API response. - * @param string $size The size name. - * @param int $level The optimization level (0=normal, 1=aggressive, 2=ultra). * @return array { * The optimization data. * diff --git a/wp/wp-content/plugins/imagify/classes/Optimization/Process/ProcessInterface.php b/wp/wp-content/plugins/imagify/classes/Optimization/Process/ProcessInterface.php index fa525647..278624da 100644 --- a/wp/wp-content/plugins/imagify/classes/Optimization/Process/ProcessInterface.php +++ b/wp/wp-content/plugins/imagify/classes/Optimization/Process/ProcessInterface.php @@ -1,13 +1,12 @@ get_capacity() for possible values. Can also be a "real" user capacity. * - * @param string $describer Capacity describer. See \Imagify\Context\ContextInterface->get_capacity() for possible values. Can also be a "real" user capacity. * @return bool */ public function current_user_can( $describer ); - - /** ----------------------------------------------------------------------------------------- */ - /** OPTIMIZATION ============================================================================ */ - /** ----------------------------------------------------------------------------------------- */ - /** * Optimize a media files by pushing tasks into the queue. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * + * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ public function optimize( $optimization_level = null ); /** * Re-optimize a media files with a different level. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * + * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ public function reoptimize( $optimization_level = null ); /** * Optimize several file sizes by pushing tasks into the queue. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @param array $sizes An array of media sizes (strings). Use "full" for the size of the main file. + * @param array $sizes An array of media sizes (strings). Use "full" for the size of the main file. * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. + * + * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ public function optimize_sizes( $sizes, $optimization_level = null ); /** * Optimize one file with Imagify directly. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * - * @param string $size The media size. - * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). - * @return array|WP_Error The optimization data. A \WP_Error instance on failure. + * @param string $size The media size. + * @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra). + * + * @return array|WP_Error The optimization data. A \WP_Error instance on failure. */ public function optimize_size( $size, $optimization_level = null ); /** * Restore the media files from the backup file. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * * @return bool|WP_Error True on success. A \WP_Error instance on failure. */ public function restore(); - - /** ----------------------------------------------------------------------------------------- */ - /** MISSING THUMBNAILS ====================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * Get the sizes for this media that have not get through optimization. * No sizes are returned if the file is not optimized, has no backup, or is not an image. * The 'full' size os never returned. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * * @return array|WP_Error { * A WP_Error object on failure. @@ -188,42 +157,27 @@ interface ProcessInterface { /** * Optimize missing thumbnail sizes. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ public function optimize_missing_thumbnails(); - - /** ----------------------------------------------------------------------------------------- */ - /** BACKUP FILE ============================================================================= */ - /** ----------------------------------------------------------------------------------------- */ - /** * Delete the backup file. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 */ public function delete_backup(); - - /** ----------------------------------------------------------------------------------------- */ - /** RESIZE FILE ============================================================================= */ - /** ----------------------------------------------------------------------------------------- */ - /** * Maybe resize an image. * - * @since 1.9 - * @access protected - * @author Grégory Viguier + * @since 1.9 + * + * @param string $size The size name. + * @param File $file A File instance. * - * @param string $size The size name. - * @param File $file A File instance. * @return array|WP_Error A \WP_Error instance on failure, an array on success as follow: { * @type bool $resized True when the image has been resized. * @type bool $backuped True when the image has been backuped. @@ -232,77 +186,58 @@ interface ProcessInterface { */ public function maybe_resize( $size, $file ); - - /** ----------------------------------------------------------------------------------------- */ - /** WEBP ==================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** - * Generate WebP images if they are missing. + * Generate next-gen images if they are missing. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ - public function generate_webp_versions(); + public function generate_nextgen_versions(); /** - * Delete the WebP images. + * Delete the next gen format images. * This doesn't delete the related optimization data. * - * @since 1.9 - * @since 1.9.6 Return WP_Error or true. - * @access public - * @author Grégory Viguier + * @since 2.2 * - * @param bool $keep_full Set to true to keep the full size. - * @return bool|\WP_Error True on success. A \WP_Error object on failure. + * @param bool $keep_full Set to true to keep the full size. + * + * @return bool|WP_Error True on success. A \WP_Error object on failure. */ - public function delete_webp_files( $keep_full = false ); + public function delete_nextgen_files( $keep_full = false ); /** - * Tell if a thumbnail size is an "Imagify WebP" size. + * Tell if a thumbnail size is an "Imagify Next-Gen" size. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 2.2 * - * @param string $size_name The size name. - * @return string|bool The unsuffixed name of the size if WebP. False if not WebP. + * @param string $size_name The size name. + * + * @return string|bool The unsuffixed name of the size if next-gen. False if not next-gen. */ - public function is_size_webp( $size_name ); + public function is_size_next_gen( $size_name ); /** - * Tell if the media has all WebP versions. + * Tell if the media has all next-gen versions. * * @return bool */ - public function is_full_webp(); + public function is_full_next_gen(); /** - * Tell if the media has WebP versions. + * Tell if the media has a next-gen format. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 2.2 * * @return bool */ - public function has_webp(); - - - /** ----------------------------------------------------------------------------------------- */ - /** PROCESS STATUS ========================================================================== */ - /** ----------------------------------------------------------------------------------------- */ + public function has_next_gen(); /** * Tell if a process is running for this media. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 * * @return bool */ @@ -311,34 +246,24 @@ interface ProcessInterface { /** * Set the running status to "running" for a period of time. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 */ public function lock(); /** * Delete the running status. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 */ public function unlock(); - - /** ----------------------------------------------------------------------------------------- */ - /** DATA ==================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * Tell if a size already has optimization data. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 + * + * @param string $size The size name. * - * @param string $size The size name. * @return bool */ public function size_has_optimization_data( $size ); @@ -346,13 +271,12 @@ interface ProcessInterface { /** * Update the optimization data for a size. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 + * + * @param object $response The API response. + * @param string $size The size name. + * @param int $level The optimization level (0=normal, 1=aggressive, 2=ultra). * - * @param object $response The API response. - * @param string $size The size name. - * @param int $level The optimization level (0=normal, 1=aggressive, 2=ultra). * @return array { * The optimization data. * diff --git a/wp/wp-content/plugins/imagify/classes/Webp/Picture/Display.php b/wp/wp-content/plugins/imagify/classes/Picture/Display.php similarity index 71% rename from wp/wp-content/plugins/imagify/classes/Webp/Picture/Display.php rename to wp/wp-content/plugins/imagify/classes/Picture/Display.php index 7a475327..eb9e9be2 100644 --- a/wp/wp-content/plugins/imagify/classes/Webp/Picture/Display.php +++ b/wp/wp-content/plugins/imagify/classes/Picture/Display.php @@ -1,57 +1,50 @@ tags. + * Display Next-gen images on the site with tags. * * @since 1.9 - * @author Grégory Viguier */ -class Display { - use \Imagify\Traits\InstanceGetterTrait; - +class Display implements SubscriberInterface { /** * Option value. * - * @var string - * @since 1.9 - * @author Grégory Viguier + * @var string */ const OPTION_VALUE = 'picture'; /** * Filesystem object. * - * @var \Imagify_Filesystem - * @since 1.9 - * @access protected - * @author Grégory Viguier + * @var Imagify_Filesystem */ protected $filesystem; /** * Constructor. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @param Imagify_Filesystem $filesystem Filesystem instance. */ - public function __construct() { - $this->filesystem = \Imagify_Filesystem::get_instance(); + public function __construct( Imagify_Filesystem $filesystem ) { + $this->filesystem = $filesystem; } /** - * Init. + * Array of events this subscriber listens to * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @return array */ - public function init() { - add_action( 'template_redirect', [ $this, 'start_content_process' ], -1000 ); - add_filter( 'imagify_process_webp_content', [ $this, 'process_content' ] ); + public static function get_subscribed_events() { + return [ + 'template_redirect' => [ 'start_content_process', -1000 ], + 'imagify_process_webp_content' => 'process_content', + ]; } /** ----------------------------------------------------------------------------------------- */ @@ -61,28 +54,29 @@ class Display { /** * Start buffering the page content. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 + * + * @return void */ public function start_content_process() { - if ( ! get_imagify_option( 'display_webp' ) ) { + if ( ! get_imagify_option( 'display_nextgen' ) ) { return; } - if ( self::OPTION_VALUE !== get_imagify_option( 'display_webp_method' ) ) { + if ( self::OPTION_VALUE !== get_imagify_option( 'display_nextgen_method' ) ) { return; } + $allow = apply_filters_deprecated( 'imagify_allow_picture_tags_for_webp', [ true ], '2.2', 'imagify_allow_picture_tags_for_nextgen' ); + /** * Prevent the replacement of tags into tags. * - * @since 1.9 - * @author Grégory Viguier + * @since 1.9 * * @param bool $allow True to allow the use of tags (default). False to prevent their use. */ - $allow = apply_filters( 'imagify_allow_picture_tags_for_webp', true ); + $allow = apply_filters( 'imagify_allow_picture_tags_for_nextgen', true ); if ( ! $allow ) { return; @@ -94,11 +88,10 @@ class Display { /** * Maybe process the page content. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 + * + * @param string $buffer The buffer content. * - * @param string $buffer The buffer content. * @return string */ public function maybe_process_buffer( $buffer ) { @@ -116,8 +109,7 @@ class Display { /** * Filter the page content after Imagify. * - * @since 1.9 - * @author Grégory Viguier + * @since 1.9 * * @param string $buffer The page content. */ @@ -129,11 +121,10 @@ class Display { /** * Process the content. * - * @since 1.9 - * @access public - * @author Grégory Viguier + * @since 1.9 + * + * @param string $content The content. * - * @param string $content The content. * @return string */ public function process_content( $content ) { @@ -181,13 +172,12 @@ class Display { /** * Build the tag to insert. * - * @since 1.9 - * @see $this->process_image() - * @access protected - * @author Grégory Viguier + * @since 1.9 + * @see $this->process_image() * - * @param array $image An array of data. - * @return string A tag. + * @param array $image An array of data. + * + * @return string A tag. */ protected function build_picture_tag( $image ) { $to_remove = [ @@ -210,8 +200,7 @@ class Display { /** * Filter the attributes to be added to the tag. * - * @since 1.9 - * @author Grégory Viguier + * @since 1.9 * * @param array $attributes A list of attributes to be added to the tag. * @param array $data Data built from the originale tag. See $this->process_image(). @@ -233,8 +222,7 @@ class Display { /** * Allow to add more tags to the tag. * - * @since 1.9 - * @author Grégory Viguier + * @since 1.9 * * @param string $more_source_tags Additional tags. * @param array $data Data built from the originale tag. See $this->process_image(). @@ -250,33 +238,74 @@ class Display { /** * Build the tag to insert in the . * - * @since 1.9 - * @see $this->process_image() - * @access protected - * @author Grégory Viguier + * @since 1.9 + * @see $this->process_image() * - * @param array $image An array of data. - * @return string A tag. + * @param array $image An array of data. + * + * @return string A tag. */ protected function build_source_tag( $image ) { + $source = ''; + + foreach ( [ 'avif', 'webp' ] as $image_type ) { + $attributes = $this->build_source_attributes( $image, $image_type ); + + if ( empty( $attributes ) ) { + continue; + } + + $source .= 'build_attributes( $attributes ) . "/>\n"; + } + + return $source; + } + + /** + * Build the attribute for the source tag. + * + * @param array $image An array of data. + * @param string $image_type Type of image. + * + * @return array + */ + protected function build_source_attributes( array $image, string $image_type ): array { + $mime_type = ''; + $url = ''; + + switch ( $image_type ) { + case 'webp': + $mime_type = 'image/webp'; + $url = 'webp_url'; + break; + case 'avif': + $mime_type = 'image/avif'; + $url = 'avif_url'; + break; + } + $srcset_source = ! empty( $image['srcset_attribute'] ) ? $image['srcset_attribute'] : $image['src_attribute'] . 'set'; $attributes = [ - 'type' => 'image/webp', + 'type' => $mime_type, $srcset_source => [], ]; if ( ! empty( $image['srcset'] ) ) { foreach ( $image['srcset'] as $srcset ) { - if ( empty( $srcset['webp_url'] ) ) { + if ( empty( $srcset[ $url ] ) ) { continue; } - $attributes[ $srcset_source ][] = $srcset['webp_url'] . ' ' . $srcset['descriptor']; + $attributes[ $srcset_source ][] = $srcset[ $url ] . ' ' . $srcset['descriptor']; } } + if ( empty( $attributes[ $srcset_source ] ) && empty( $image['src'][ $url ] ) ) { + return []; + } + if ( empty( $attributes[ $srcset_source ] ) ) { - $attributes[ $srcset_source ][] = $image['src']['webp_url']; + $attributes[ $srcset_source ][] = $image['src'][ $url ]; } $attributes[ $srcset_source ] = implode( ', ', $attributes[ $srcset_source ] ); @@ -301,27 +330,25 @@ class Display { /** * Filter the attributes to be added to the tag. * - * @since 1.9 - * @author Grégory Viguier + * @since 1.9 * * @param array $attributes A list of attributes to be added to the tag. * @param array $data Data built from the original tag. See $this->process_image(). */ $attributes = apply_filters( 'imagify_picture_source_attributes', $attributes, $image ); - return 'build_attributes( $attributes ) . "/>\n"; + return $attributes; } /** * Build the tag to insert in the . * - * @since 1.9 - * @see $this->process_image() - * @access protected - * @author Grégory Viguier + * @since 1.9 + * @see $this->process_image() * - * @param array $image An array of data. - * @return string A tag. + * @param array $image An array of data. + * + * @return string A tag. */ protected function build_img_tag( $image ) { /** @@ -349,8 +376,7 @@ class Display { /** * Filter the attributes to be added to the tag. * - * @since 1.9 - * @author Grégory Viguier + * @since 1.9 * * @param array $attributes A list of attributes to be added to the tag. * @param array $data Data built from the originale tag. See $this->process_image(). @@ -363,12 +389,11 @@ class Display { /** * Create HTML attributes from an array. * - * @since 1.9 - * @access protected - * @author Grégory Viguier + * @since 1.9 * - * @param array $attributes A list of attribute pairs. - * @return string HTML attributes. + * @param array $attributes A list of attribute pairs. + * + * @return string HTML attributes. */ protected function build_attributes( $attributes ) { if ( ! $attributes || ! is_array( $attributes ) ) { @@ -391,11 +416,10 @@ class Display { /** * Get a list of images in a content. * - * @since 1.9 - * @access protected - * @author Grégory Viguier + * @since 1.9 + * + * @param string $content The content. * - * @param string $content The content. * @return array */ protected function get_images( $content ) { @@ -412,9 +436,8 @@ class Display { /** * Filter the images to display with a tag. * - * @since 1.9 - * @see $this->process_image() - * @author Grégory Viguier + * @since 1.9 + * @see $this->process_image() * * @param array $images A list of arrays. * @param string $content The page content. @@ -426,12 +449,23 @@ class Display { } foreach ( $images as $i => $image ) { - if ( empty( $image['src']['webp_exists'] ) || empty( $image['src']['webp_url'] ) ) { + if ( ( empty( $image['src']['webp_exists'] ) || empty( $image['src']['webp_url'] ) ) && + ( empty( $image['src']['avif_exists'] ) || empty( $image['src']['avif_url'] ) ) ) { + unset( $images[ $i ] ); continue; } + if ( empty( $image['src']['webp_exists'] ) || empty( $image['src']['webp_url'] ) ) { + unset( $images[ $i ]['src']['webp_url'] ); + } + + if ( empty( $image['src']['avif_exists'] ) || empty( $image['src']['avif_url'] ) ) { + unset( $images[ $i ]['src']['avif_url'] ); + } + unset( $images[ $i ]['src']['webp_path'], $images[ $i ]['src']['webp_exists'] ); + unset( $images[ $i ]['src']['avif_path'], $images[ $i ]['src']['avif_exists'] ); if ( empty( $image['srcset'] ) || ! is_array( $image['srcset'] ) ) { unset( $images[ $i ]['srcset'] ); @@ -443,11 +477,22 @@ class Display { continue; } + if ( ( empty( $srcset['webp_exists'] ) || empty( $srcset['webp_url'] ) ) && + ( empty( $srcset['avif_exists'] ) || empty( $srcset['avif_url'] ) ) ) { + unset( $images[ $i ]['srcset'][ $j ]['webp_url'] ); + unset( $images[ $i ]['srcset'][ $j ]['avif_url'] ); + } + if ( empty( $srcset['webp_exists'] ) || empty( $srcset['webp_url'] ) ) { unset( $images[ $i ]['srcset'][ $j ]['webp_url'] ); } + if ( empty( $srcset['avif_exists'] ) || empty( $srcset['avif_url'] ) ) { + unset( $images[ $i ]['srcset'][ $j ]['avif_url'] ); + } + unset( $images[ $i ]['srcset'][ $j ]['webp_path'], $images[ $i ]['srcset'][ $j ]['webp_exists'] ); + unset( $images[ $i ]['srcset'][ $j ]['avif_path'], $images[ $i ]['srcset'][ $j ]['avif_exists'] ); } } @@ -457,9 +502,7 @@ class Display { /** * Process an image tag and get an array containing some data. * - * @since 1.9 - * @access protected - * @author Grégory Viguier + * @since 1.9 * * @param string $image An image html tag. * @return array|false { @@ -527,24 +570,21 @@ class Display { return false; } - $webp_url = imagify_path_to_webp( $src['src'] ); - $webp_path = $this->url_to_path( $webp_url ); - $webp_url .= ! empty( $src['query'] ) ? $src['query'] : ''; - $data = [ 'tag' => $image, 'attributes' => $attributes, 'src_attribute' => $src_source, 'src' => [ 'url' => $attributes[ $src_source ], - 'webp_url' => $webp_url, - 'webp_path' => $webp_path, - 'webp_exists' => $webp_path && $this->filesystem->exists( $webp_path ), ], 'srcset_attribute' => false, 'srcset' => [], ]; + foreach ( $this->get_nextgen_image_data_set( $src ) as $key => $value ) { + $data['src'][ $key ] = $value; + } + // Deal with the srcset attribute. $srcset_source = false; @@ -556,6 +596,8 @@ class Display { } if ( $srcset_source ) { + $srcset_data = []; + $data['srcset_attribute'] = $srcset_source; $srcset = explode( ',', $attributes[ $srcset_source ] ); @@ -582,25 +624,23 @@ class Display { continue; } - $webp_url = imagify_path_to_webp( $src['src'] ); - $webp_path = $this->url_to_path( $webp_url ); - $webp_url .= ! empty( $src['query'] ) ? $src['query'] : ''; - - $data['srcset'][] = [ + $srcset_data = [ 'url' => $srcs[0], 'descriptor' => $srcs[1], - 'webp_url' => $webp_url, - 'webp_path' => $webp_path, - 'webp_exists' => $webp_path && $this->filesystem->exists( $webp_path ), ]; + + foreach ( $this->get_nextgen_image_data_set( $src ) as $key => $value ) { + $srcset_data[ $key ] = $value; + } + + $data['srcset'][] = $srcset_data; } } /** * Filter a processed image tag. * - * @since 1.9 - * @author Grégory Viguier + * @since 1.9 * * @param array $data An array of data for this image. * @param string $image An image html tag. @@ -618,14 +658,41 @@ class Display { return $data; } + /** + * Get the next-gen image(webp & avif) data set. + * + * @param array $src Array of url/path segments. + * + * @return array + */ + protected function get_nextgen_image_data_set( array $src ): array { + $webp_url = imagify_path_to_nextgen( $src['src'], 'webp' ); + $webp_path = $this->url_to_path( $webp_url ); + + $avif_url = imagify_path_to_nextgen( $src['src'], 'avif' ); + $avif_path = $this->url_to_path( $avif_url ); + $query_string = ! empty( $src['query'] ) ? $src['query'] : ''; + + return [ + // WebP data set. + 'webp_url' => $webp_url . $query_string, + 'webp_path' => $webp_path, + 'webp_exists' => $webp_path && $this->filesystem->exists( $webp_path ), + + // Avif data set. + 'avif_url' => $avif_url . $query_string, + 'avif_path' => $avif_path, + 'avif_exists' => $avif_path && $this->filesystem->exists( $avif_path ), + ]; + } + /** * Tell if a content is HTML. * - * @since 1.9 - * @access protected - * @author Grégory Viguier + * @since 1.9 + * + * @param string $content The content. * - * @param string $content The content. * @return bool */ protected function is_html( $content ) { @@ -635,11 +702,10 @@ class Display { /** * Convert a file URL to an absolute path. * - * @since 1.9 - * @access protected - * @author Grégory Viguier + * @since 1.9 + * + * @param string $url A file URL. * - * @param string $url A file URL. * @return string|bool The file path. False on failure. */ protected function url_to_path( $url ) { @@ -658,7 +724,7 @@ class Display { $uploads_dir = $this->filesystem->get_upload_basedir( true ); $root_url = set_url_scheme( $this->filesystem->get_site_root_url() ); $root_dir = $this->filesystem->get_site_root(); - $cdn_url = $this->get_cdn_source(); + $cdn_url = apply_filters( 'imagify_cdn_source_url', '' ); $cdn_url = $cdn_url['url'] ? set_url_scheme( $cdn_url['url'] ) : false; $domain_url = wp_parse_url( $root_url ); @@ -693,108 +759,4 @@ class Display { return false; } - - /** - * Get the CDN "source". - * - * @since 1.9.3 - * @access public - * @author Grégory Viguier - * - * @param string $option_url An URL to use instead of the one stored in the option. It is used only if no constant/filter. - * @return array { - * @type string $source Where does it come from? Possible values are 'constant', 'filter', or 'option'. - * @type string $name Who? Can be a constant name, a plugin name, or an empty string. - * @type string $url The CDN URL, with a trailing slash. An empty string if no URL is set. - * } - */ - public function get_cdn_source( $option_url = '' ) { - if ( defined( 'IMAGIFY_CDN_URL' ) && IMAGIFY_CDN_URL && is_string( IMAGIFY_CDN_URL ) ) { - // Use a constant. - $source = [ - 'source' => 'constant', - 'name' => 'IMAGIFY_CDN_URL', - 'url' => IMAGIFY_CDN_URL, - ]; - } else { - // Maybe use a filter. - $filter_source = [ - 'name' => null, - 'url' => null, - ]; - - /** - * Provide a custom CDN source. - * - * @since 1.9.3 - * @author Grégory Viguier - * - * @param array $filter_source { - * @type $name string The name of which provides the URL (plugin name, etc). - * @type $url string The CDN URL. - * } - */ - $filter_source = apply_filters( 'imagify_cdn_source', $filter_source ); - - if ( ! empty( $filter_source['url'] ) ) { - $source = [ - 'source' => 'filter', - 'name' => ! empty( $filter_source['name'] ) ? $filter_source['name'] : '', - 'url' => $filter_source['url'], - ]; - } - } - - if ( empty( $source['url'] ) ) { - // No constant, no filter: use the option. - $source = [ - 'source' => 'option', - 'name' => '', - 'url' => $option_url && is_string( $option_url ) ? $option_url : get_imagify_option( 'cdn_url' ), - ]; - } - - if ( empty( $source['url'] ) ) { - // Nothing set. - return [ - 'source' => 'option', - 'name' => '', - 'url' => '', - ]; - } - - $source['url'] = $this->sanitize_cdn_url( $source['url'] ); - - if ( empty( $source['url'] ) ) { - // Not an URL. - return [ - 'source' => 'option', - 'name' => '', - 'url' => '', - ]; - } - - return $source; - } - - /** - * Sanitize the CDN URL value. - * - * @since 1.9.3 - * @access public - * @author Grégory Viguier - * - * @param string $url The URL to sanitize. - * @return string - */ - public function sanitize_cdn_url( $url ) { - $url = sanitize_text_field( $url ); - - if ( ! $url || ! preg_match( '@^https?://.+\.[^.]+@i', $url ) ) { - // Not an URL. - return ''; - } - - return trailingslashit( $url ); - } } diff --git a/wp/wp-content/plugins/imagify/classes/Picture/ServiceProvider.php b/wp/wp-content/plugins/imagify/classes/Picture/ServiceProvider.php new file mode 100644 index 00000000..1e1f6efc --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Picture/ServiceProvider.php @@ -0,0 +1,48 @@ +getContainer()->share( 'picture_display', Display::class ) + ->addArgument( $this->getContainer()->get( 'filesystem' ) ); + } + + /** + * Returns the subscribers array + * + * @return array + */ + public function get_subscribers() { + return $this->subscribers; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Plugin.php b/wp/wp-content/plugins/imagify/classes/Plugin.php index eaa0f1b5..7f10bbfb 100644 --- a/wp/wp-content/plugins/imagify/classes/Plugin.php +++ b/wp/wp-content/plugins/imagify/classes/Plugin.php @@ -3,16 +3,33 @@ declare(strict_types=1); namespace Imagify; -use Imagify\Bulk\Bulk; -use Imagify\CLI\BulkOptimizeCommand; -use Imagify\CLI\GenerateMissingWebpCommand; -use Imagify\Notices\Notices; use Imagify\Admin\AdminBar; +use Imagify\Bulk\Bulk; +use Imagify\CLI\{BulkOptimizeCommand, GenerateMissingNextgenCommand}; +use Imagify\Dependencies\League\Container\Container; +use Imagify\Dependencies\League\Container\ServiceProvider\ServiceProviderInterface; +use Imagify\EventManagement\{EventManager, SubscriberInterface}; +use Imagify\Notices\Notices; +use Imagify_Filesystem; /** * Main plugin class. */ class Plugin { + /** + * Container instance. + * + * @var Container + */ + private $container; + + /** + * Is the plugin loaded + * + * @var boolean + */ + private $loaded = false; + /** * Absolute path to the plugin (with trailing slash). * @@ -25,22 +42,64 @@ class Plugin { * * @since 1.9 * - * @param array $plugin_args { + * @param Container $container Instance of the container. + * @param array $plugin_args { * An array of arguments. * * @type string $plugin_path Absolute path to the plugin (with trailing slash). * } */ - public function __construct( $plugin_args ) { + public function __construct( Container $container, $plugin_args ) { + $this->container = $container; $this->plugin_path = $plugin_args['plugin_path']; + + add_filter( 'imagify_container', [ $this, 'get_container' ] ); + } + + /** + * Returns the container instance. + * + * @return Container + */ + public function get_container() { + return $this->container; + } + + /** + * Checks if the plugin is loaded + * + * @return boolean + */ + private function is_loaded(): bool { + return $this->loaded; } /** * Plugin init. * + * @param array $providers Array of service providers. + * * @since 1.9 */ - public function init() { + public function init( $providers ) { + if ( $this->is_loaded() ) { + return; + } + + $this->container->share( + 'event_manager', + function () { + return new EventManager(); + } + ); + + $this->container->share( + 'filesystem', + function() { + return new Imagify_Filesystem(); + } + ); + $this->include_files(); class_alias( '\\Imagify\\Traits\\InstanceGetterTrait', '\\Imagify\\Traits\\FakeSingletonTrait' ); @@ -55,7 +114,6 @@ class Plugin { \Imagify_Cron_Sync_Files::get_instance()->init(); \Imagify\Auth\Basic::get_instance()->init(); \Imagify\Job\MediaOptimization::get_instance()->init(); - \Imagify\Stats\OptimizedMediaWithoutWebp::get_instance()->init(); Bulk::get_instance()->init(); AdminBar::get_instance()->init(); @@ -72,15 +130,21 @@ class Plugin { \Imagify_Assets::get_instance()->init(); } - \Imagify\Webp\Display::get_instance()->init(); - add_action( 'init', [ $this, 'maybe_activate' ] ); // Load plugin translations. imagify_load_translations(); imagify_add_command( new BulkOptimizeCommand() ); - imagify_add_command( new GenerateMissingWebpCommand() ); + imagify_add_command( new GenerateMissingNextgenCommand() ); + + foreach ( $providers as $service_provider ) { + $provider_instance = new $service_provider(); + $this->container->addServiceProvider( $provider_instance ); + + // Load each service provider's subscribers if found. + $this->load_subscribers( $provider_instance ); + } /** * Fires when Imagify is fully loaded. @@ -91,6 +155,8 @@ class Plugin { * @param \Imagify_Plugin $plugin Instance of this class. */ do_action( 'imagify_loaded', $this ); + + $this->loaded = true; } /** @@ -171,4 +237,25 @@ class Plugin { */ do_action( 'imagify_activation', (int) $user_id ); } + + /** + * Load list of event subscribers from service provider. + * + * @param ServiceProviderInterface $service_provider Instance of service provider. + * + * @return void + */ + private function load_subscribers( ServiceProviderInterface $service_provider ) { + if ( empty( $service_provider->get_subscribers() ) ) { + return; + } + + foreach ( $service_provider->get_subscribers() as $subscriber ) { + $subscriber_object = $this->container->get( $subscriber ); + + if ( $subscriber_object instanceof SubscriberInterface ) { + $this->container->get( 'event_manager' )->add_subscriber( $subscriber_object ); + } + } + } } diff --git a/wp/wp-content/plugins/imagify/classes/Stats/OptimizedMediaWithoutWebp.php b/wp/wp-content/plugins/imagify/classes/Stats/OptimizedMediaWithoutNextGen.php similarity index 63% rename from wp/wp-content/plugins/imagify/classes/Stats/OptimizedMediaWithoutWebp.php rename to wp/wp-content/plugins/imagify/classes/Stats/OptimizedMediaWithoutNextGen.php index 0fbfcd17..593809b3 100644 --- a/wp/wp-content/plugins/imagify/classes/Stats/OptimizedMediaWithoutWebp.php +++ b/wp/wp-content/plugins/imagify/classes/Stats/OptimizedMediaWithoutNextGen.php @@ -1,15 +1,16 @@ [ 'maybe_clear_cache_after_optimization', 10, 2 ], + 'imagify_after_restore_media' => [ 'maybe_clear_cache_after_restoration', 10, 4 ], + 'imagify_delete_media' => 'maybe_clear_cache_on_deletion', + 'update_option_imagify_settings' => [ 'maybe_clear_stat_cache', 9, 2 ], + ]; } - - /** ----------------------------------------------------------------------------------------- */ - /** GET/CACHE THE STAT ====================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** - * Get the number of optimized media without WebP versions. + * Get the number of optimized media without next-gen versions. * - * @since 1.9 + * @since 2.2 * * @return int */ @@ -48,16 +47,16 @@ class OptimizedMediaWithoutWebp implements StatInterface { // Sum the counts of each context. foreach ( imagify_get_context_names() as $context ) { - $stat += $bulk->get_bulk_instance( $context )->has_optimized_media_without_webp(); + $stat += $bulk->get_bulk_instance( $context )->has_optimized_media_without_nextgen(); } return $stat; } /** - * Get and cache the number of optimized media without WebP versions. + * Get and cache the number of optimized media without next-gen versions. * - * @since 1.9 + * @since 2.2 * * @return int */ @@ -83,21 +82,16 @@ class OptimizedMediaWithoutWebp implements StatInterface { /** * Clear the stat cache. * - * @since 1.9 + * @since 2.2 */ public function clear_cache() { delete_transient( static::NAME ); } - - /** ----------------------------------------------------------------------------------------- */ - /** HOOKS =================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * Clear cache after optimizing a media. * - * @since 1.9 + * @since 2.2 * * @param ProcessInterface $process The optimization process. * @param array $item The item being processed. @@ -113,11 +107,15 @@ class OptimizedMediaWithoutWebp implements StatInterface { $new_sizes = array_intersect_key( $sizes, $new_sizes ); $size_name = 'full' . $process::WEBP_SUFFIX; + if ( get_imagify_option( 'convert_to_avif' ) ) { + $size_name = 'full' . $process::AVIF_SUFFIX; + } + if ( ! isset( $new_sizes['full'] ) && ! empty( $new_sizes[ $size_name ]['success'] ) ) { /** - * We just successfully generated the WebP version of the full size. + * We just successfully generated the next-gen version of the full size. * The full size was not optimized at the same time, that means it was optimized previously. - * Meaning: we just added a WebP version to a media that was previously optimized, so there is one less optimized media without WebP. + * Meaning: we just added a next-gen version to a media that was previously optimized, so there is one less optimized media without next-gen. */ $this->clear_cache(); return; @@ -125,7 +123,7 @@ class OptimizedMediaWithoutWebp implements StatInterface { if ( ! empty( $new_sizes['full']['success'] ) && empty( $new_sizes[ $size_name ]['success'] ) ) { /** - * We now have a new optimized media without WebP. + * We now have a new optimized media without next-gen. */ $this->clear_cache(); } @@ -134,7 +132,7 @@ class OptimizedMediaWithoutWebp implements StatInterface { /** * Clear cache after restoring a media. * - * @since 1.9 + * @since 2.2 * * @param ProcessInterface $process The optimization process. * @param bool|WP_Error $response The result of the operation: true on success, a WP_Error object on failure. @@ -149,9 +147,13 @@ class OptimizedMediaWithoutWebp implements StatInterface { $sizes = isset( $data['sizes'] ) ? (array) $data['sizes'] : []; $size_name = 'full' . $process::WEBP_SUFFIX; + if ( get_imagify_option( 'convert_to_avif' ) ) { + $size_name = 'full' . $process::AVIF_SUFFIX; + } + if ( ! empty( $sizes['full']['success'] ) && empty( $sizes[ $size_name ]['success'] ) ) { /** - * This media had no WebP versions. + * This media had no next-gen versions. */ $this->clear_cache(); } @@ -160,7 +162,7 @@ class OptimizedMediaWithoutWebp implements StatInterface { /** * Clear cache on media deletion. * - * @since 1.9 + * @since 2.2 * * @param ProcessInterface $process An optimization process. */ @@ -173,11 +175,37 @@ class OptimizedMediaWithoutWebp implements StatInterface { $sizes = isset( $data['sizes'] ) ? (array) $data['sizes'] : []; $size_name = 'full' . $process::WEBP_SUFFIX; + if ( get_imagify_option( 'convert_to_avif' ) ) { + $size_name = 'full' . $process::AVIF_SUFFIX; + } + if ( ! empty( $sizes['full']['success'] ) && empty( $sizes[ $size_name ]['success'] ) ) { /** - * This media had no WebP versions. + * This media had no next-gen versions. */ $this->clear_cache(); } } + + /** + * Maybe clear the stat cache on option change + * + * @since 2.2 + * + * @param array $old_value The old option value. + * @param array $value The new option value. + * + * @return void + */ + public function maybe_clear_stat_cache( $old_value, $value ) { + if ( isset( $old_value['convert_to_avif'] ) && isset( $value['convert_to_avif'] ) ) { + return; + } + + if ( ! isset( $old_value['convert_to_avif'] ) && ! isset( $value['convert_to_avif'] ) ) { + return; + } + + $this->clear_cache(); + } } diff --git a/wp/wp-content/plugins/imagify/classes/Stats/ServiceProvider.php b/wp/wp-content/plugins/imagify/classes/Stats/ServiceProvider.php new file mode 100644 index 00000000..afb85514 --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Stats/ServiceProvider.php @@ -0,0 +1,47 @@ +getContainer()->share( 'optimized_media_without_next_gen', OptimizedMediaWithoutNextGen::class ); + } + + /** + * Returns the subscribers array + * + * @return array + */ + public function get_subscribers() { + return $this->subscribers; + } +} diff --git a/wp/wp-content/plugins/imagify/classes/Webp/Apache.php b/wp/wp-content/plugins/imagify/classes/Webp/Apache.php index 749f6b87..4a74e041 100644 --- a/wp/wp-content/plugins/imagify/classes/Webp/Apache.php +++ b/wp/wp-content/plugins/imagify/classes/Webp/Apache.php @@ -1,31 +1,29 @@ init(); - RewriteRules\Display::get_instance()->init(); + public static function get_subscribed_events() { + return [ + 'imagify_settings_on_save' => [ 'maybe_add_rewrite_rules', 13 ], + 'imagify_settings_webp_info' => 'maybe_add_webp_info', + 'imagify_activation' => 'activate', + 'imagify_deactivation' => 'deactivate', + ]; } - /** ----------------------------------------------------------------------------------------- */ - /** HOOKS =================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * If display WebP images, add the WebP type to the .htaccess/etc file. * * @since 1.9 * - * @param array $values The option values. + * @param array $values The option values. + * * @return array */ public function maybe_add_rewrite_rules( $values ) { - $old_value = (bool) get_imagify_option( 'display_webp' ); - // See \Imagify_Options->validate_values_on_update() for why we use 'convert_to_webp' here. - $new_value = ! empty( $values['display_webp'] ) && ! empty( $values['convert_to_webp'] ); - - if ( $old_value === $new_value ) { - // No changes. - return $values; - } - if ( ! $this->get_server_conf() ) { return $values; } - if ( $new_value ) { + $enabled = isset( $values['display_nextgen'] ) ? true : false; + $result = false; + + if ( $enabled ) { // Add the WebP file type. $result = $this->get_server_conf()->add(); - } else { + } elseif ( ! $enabled ) { // Remove the WebP file type. $result = $this->get_server_conf()->remove(); } @@ -76,10 +70,12 @@ class Display { // Display an error message. if ( is_multisite() && strpos( wp_get_referer(), network_admin_url( '/' ) ) === 0 ) { Notices::get_instance()->add_network_temporary_notice( $result->get_error_message() ); - } else { - Notices::get_instance()->add_site_temporary_notice( $result->get_error_message() ); + + return $values; } + Notices::get_instance()->add_site_temporary_notice( $result->get_error_message() ); + return $values; } @@ -130,9 +126,11 @@ class Display { if ( ! $conf ) { return; } - if ( ! get_imagify_option( 'display_webp' ) ) { + + if ( ! get_imagify_option( 'display_nextgen' ) ) { return; } + if ( is_wp_error( $conf->is_file_writable() ) ) { return; } @@ -151,9 +149,6 @@ class Display { if ( ! $conf ) { return; } - if ( ! get_imagify_option( 'display_webp' ) ) { - return; - } $file_path = $conf->get_file_path(); $filesystem = \Imagify_Filesystem::get_instance(); @@ -168,10 +163,6 @@ class Display { $conf->remove(); } - /** ----------------------------------------------------------------------------------------- */ - /** TOOLS =================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * Get the path to the directory conf file. * @@ -194,30 +185,13 @@ class Display { return $file_path; } - /** - * Get the WebP display method by validating the given value. - * - * @since 1.9 - * - * @param array $values The option values. - * @return string 'picture' or 'rewrite'. - */ - public function get_display_webp_method( $values ) { - $options = \Imagify_Options::get_instance(); - $default = $options->get_default_values(); - $default = $default['display_webp_method']; - $method = ! empty( $values['display_webp_method'] ) ? $values['display_webp_method'] : ''; - - return $options->sanitize_and_validate( 'display_webp_method', $method, $default ); - } - /** * Get the server conf instance. * Note: nothing needed for nginx. * * @since 1.9 * - * @return \Imagify\WriteFile\WriteFileInterface + * @return WriteFileInterface */ protected function get_server_conf() { global $is_apache, $is_iis7; @@ -230,8 +204,6 @@ class Display { $this->server_conf = new Apache(); } elseif ( $is_iis7 ) { $this->server_conf = new IIS(); - } else { - $this->server_conf = false; } return $this->server_conf; diff --git a/wp/wp-content/plugins/imagify/classes/Webp/IIS.php b/wp/wp-content/plugins/imagify/classes/Webp/IIS.php index 1f65239e..faa74607 100644 --- a/wp/wp-content/plugins/imagify/classes/Webp/IIS.php +++ b/wp/wp-content/plugins/imagify/classes/Webp/IIS.php @@ -1,31 +1,29 @@ get_extensions_pattern(); + $extensions = str_replace( '|webp', '', $extensions ); $home_root = wp_parse_url( home_url( '/' ) ); $home_root = $home_root['path']; diff --git a/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/Display.php b/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/Display.php index 8bc06dbd..82cb2632 100644 --- a/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/Display.php +++ b/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/Display.php @@ -1,100 +1,80 @@ [ 'maybe_add_rewrite_rules', 10 ], + 'imagify_settings_webp_info' => 'maybe_add_webp_info', + 'imagify_activation' => 'activate', + 'imagify_deactivation' => 'deactivate', + ]; } - /** ----------------------------------------------------------------------------------------- */ - /** HOOKS =================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * If display WebP images via rewrite rules, add the rules to the .htaccess/etc file. * * @since 1.9 * - * @param array $values The option values. + * @param array $values The option values. + * * @return array */ public function maybe_add_rewrite_rules( $values ) { - global $is_apache, $is_iis7, $is_nginx; - - // Display WebP? - $was_enabled = (bool) get_imagify_option( 'display_webp' ); - // See \Imagify_Options->validate_values_on_update() for why we use 'convert_to_webp' here. - $is_enabled = ! empty( $values['display_webp'] ) && ! empty( $values['convert_to_webp'] ); + $was_enabled = (bool) get_imagify_option( 'display_nextgen' ); + $is_enabled = ! empty( $values['display_nextgen'] ); // Which method? - $old_value = get_imagify_option( 'display_webp_method' ); - $new_value = ! empty( $values['display_webp_method'] ) ? $values['display_webp_method'] : ''; + $old_value = get_imagify_option( 'display_nextgen_method' ); + $new_value = ! empty( $values['display_nextgen_method'] ) ? $values['display_nextgen_method'] : ''; // Decide when to add or remove rules. - $is_rewrite = self::OPTION_VALUE === $new_value; - $was_rewrite = self::OPTION_VALUE === $old_value; - $add_or_remove = false; + $is_rewrite = self::OPTION_VALUE === $new_value; + $was_rewrite = self::OPTION_VALUE === $old_value; + + if ( ! $this->get_server_conf() ) { + return $values; + } + + $result = false; if ( $is_enabled && $is_rewrite && ( ! $was_enabled || ! $was_rewrite ) ) { - // Display WebP & use rewrite method, but only if one of the values changed: add rules. - $add_or_remove = 'add'; - } elseif ( $was_enabled && $was_rewrite && ( ! $is_enabled || ! $is_rewrite ) ) { - // Was displaying WebP & was using rewrite method, but only if one of the values changed: remove rules. - $add_or_remove = 'remove'; - } else { - return $values; - } - - if ( $is_apache ) { - $rules = new Apache(); - } elseif ( $is_iis7 ) { - $rules = new IIS(); - } elseif ( $is_nginx ) { - $rules = new Nginx(); - } else { - return $values; - } - - if ( 'add' === $add_or_remove ) { // Add the rewrite rules. - $result = $rules->add(); - } else { + $result = $this->get_server_conf()->add(); + } elseif ( $was_enabled && $was_rewrite && ( ! $is_enabled || ! $is_rewrite ) ) { // Remove the rewrite rules. - $result = $rules->remove(); + $result = $this->get_server_conf()->remove(); } if ( ! is_wp_error( $result ) ) { @@ -104,10 +84,12 @@ class Display { // Display an error message. if ( is_multisite() && strpos( wp_get_referer(), network_admin_url( '/' ) ) === 0 ) { Notices::get_instance()->add_network_temporary_notice( $result->get_error_message() ); - } else { - Notices::get_instance()->add_site_temporary_notice( $result->get_error_message() ); + + return $values; } + Notices::get_instance()->add_site_temporary_notice( $result->get_error_message() ); + return $values; } @@ -162,10 +144,11 @@ class Display { if ( ! $conf ) { return; } - if ( ! get_imagify_option( 'display_webp' ) ) { + + if ( ! get_imagify_option( 'display_nextgen' ) ) { return; } - if ( self::OPTION_VALUE !== get_imagify_option( 'display_webp_method' ) ) { + if ( self::OPTION_VALUE !== get_imagify_option( 'display_nextgen_method' ) ) { return; } if ( is_wp_error( $conf->is_file_writable() ) ) { @@ -186,10 +169,10 @@ class Display { if ( ! $conf ) { return; } - if ( ! get_imagify_option( 'display_webp' ) ) { + if ( ! get_imagify_option( 'display_nextgen' ) ) { return; } - if ( self::OPTION_VALUE !== get_imagify_option( 'display_webp_method' ) ) { + if ( self::OPTION_VALUE !== get_imagify_option( 'display_nextgen_method' ) ) { return; } @@ -206,17 +189,14 @@ class Display { $conf->remove(); } - /** ----------------------------------------------------------------------------------------- */ - /** TOOLS =================================================================================== */ - /** ----------------------------------------------------------------------------------------- */ - /** * Get the path to the directory conf file. * * @since 1.9 * * @param bool $relative True to get a path relative to the site’s root. - * @return string|bool The file path. False on failure. + * + * @return string|bool The file path. False on failure. */ public function get_file_path( $relative = false ) { if ( ! $this->get_server_conf() ) { @@ -237,7 +217,7 @@ class Display { * * @since 1.9 * - * @return \Imagify\WriteFile\WriteFileInterface + * @return WriteFileInterface */ protected function get_server_conf() { global $is_apache, $is_iis7, $is_nginx; @@ -252,8 +232,6 @@ class Display { $this->server_conf = new IIS(); } elseif ( $is_nginx ) { $this->server_conf = new Nginx(); - } else { - $this->server_conf = false; } return $this->server_conf; diff --git a/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/IIS.php b/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/IIS.php index 18ab8270..37abef0e 100644 --- a/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/IIS.php +++ b/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/IIS.php @@ -1,37 +1,36 @@ get_extensions_pattern(); + $extensions = str_replace( '|webp', '', $extensions ); $home_root = wp_parse_url( home_url( '/' ) ); $home_root = $home_root['path']; diff --git a/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/Nginx.php b/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/Nginx.php index 428166f2..bcc640f4 100644 --- a/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/Nginx.php +++ b/wp/wp-content/plugins/imagify/classes/Webp/RewriteRules/Nginx.php @@ -1,52 +1,70 @@ get_extensions_pattern(); + $extensions = $this->get_extensions_pattern() . '|avif'; $home_root = wp_parse_url( home_url( '/' ) ); $home_root = $home_root['path']; return trim( ' location ~* ^(' . $home_root . '.+)\.(' . $extensions . ')$ { - add_header Vary Accept; + add_header Vary Accept; - if ($http_accept ~* "webp"){ - set $imwebp A; - } - if (-f $request_filename.webp) { - set $imwebp "${imwebp}B"; - } - if ($imwebp = AB) { - rewrite ^(.*) $1.webp; - } + set $canavif 1; + + if ($http_accept !~* "avif"){ + set $canavif 0; + } + + if (!-f $request_filename.avif) { + set $canavif 0; + + } + if ($canavif = 1){ + rewrite ^(.*) $1.avif; + break; + } + + set $canwebp 1; + + if ($http_accept !~* "webp"){ + set $canwebp 0; + } + + if (!-f $request_filename.webp) { + set $canwebp 0; + + } + if ($canwebp = 1){ + rewrite ^(.*) $1.webp; + break; + } }' ); } } diff --git a/wp/wp-content/plugins/imagify/classes/Webp/ServiceProvider.php b/wp/wp-content/plugins/imagify/classes/Webp/ServiceProvider.php new file mode 100644 index 00000000..12d45ddf --- /dev/null +++ b/wp/wp-content/plugins/imagify/classes/Webp/ServiceProvider.php @@ -0,0 +1,51 @@ +getContainer()->share( 'webp_display', Display::class ); + $this->getContainer()->share( 'webp_rewrite_rules', RewriteRules::class ); + } + + /** + * Returns the subscribers array + * + * @return array + */ + public function get_subscribers() { + return $this->subscribers; + } +} diff --git a/wp/wp-content/plugins/imagify/config/providers.php b/wp/wp-content/plugins/imagify/config/providers.php new file mode 100644 index 00000000..0a40a32a --- /dev/null +++ b/wp/wp-content/plugins/imagify/config/providers.php @@ -0,0 +1,8 @@ + tag. * * @since 1.9 - * @see \Imagify\Webp\Picture\Display->process_image() + * @see \Imagify\Picture\Display->process_image() * @author Grégory Viguier * * @param array $data An array of data for this image. @@ -443,7 +443,7 @@ class Main extends \Imagify_AS3CF_Deprecated { } foreach ( $paths as $size_name => $file_path ) { - if ( 'thumb' === $size_name || 'backup' === $size_name || $process->is_size_webp( $size_name ) ) { + if ( 'thumb' === $size_name || 'backup' === $size_name || $process->is_size_next_gen( $size_name ) ) { continue; } diff --git a/wp/wp-content/plugins/imagify/inc/3rd-party/nextgen-gallery/classes/Bulk/NGG.php b/wp/wp-content/plugins/imagify/inc/3rd-party/nextgen-gallery/classes/Bulk/NGG.php index 7b6bae67..38751bd1 100644 --- a/wp/wp-content/plugins/imagify/inc/3rd-party/nextgen-gallery/classes/Bulk/NGG.php +++ b/wp/wp-content/plugins/imagify/inc/3rd-party/nextgen-gallery/classes/Bulk/NGG.php @@ -100,10 +100,11 @@ class NGG extends AbstractBulk { } /** - * Get ids of all optimized media without WebP versions. + * Get ids of all optimized media without next-gen versions. * - * @since 1.9 - * @since 1.9.5 The method doesn't return the IDs directly anymore. + * @since 2.2 + * + * @param string $format Format we are looking for. (webp|avif). * * @return array { * @type array $ids A list of media IDs. @@ -113,7 +114,7 @@ class NGG extends AbstractBulk { * } * } */ - public function get_optimized_media_ids_without_webp() { + public function get_optimized_media_ids_without_format( $format ) { global $wpdb; $this->set_no_time_limit(); @@ -121,7 +122,12 @@ class NGG extends AbstractBulk { $storage = C_Gallery_Storage::get_instance(); $ngg_table = $wpdb->prefix . 'ngg_pictures'; $data_table = DB::get_instance()->get_table_name(); - $webp_suffix = constant( imagify_get_optimization_process_class_name( 'ngg' ) . '::WEBP_SUFFIX' ); + $suffix = constant( imagify_get_optimization_process_class_name( 'ngg' ) . '::WEBP_SUFFIX' ); + + if ( get_imagify_option( 'convert_to_avif' ) ) { + $suffix = constant( imagify_get_optimization_process_class_name( 'ngg' ) . '::AVIF_SUFFIX' ); + } + $files = $wpdb->get_col( $wpdb->prepare( // WPCS: unprepared SQL ok. " SELECT ngg.pid @@ -132,7 +138,7 @@ class NGG extends AbstractBulk { ( data.status = 'success' OR data.status = 'already_optimized' ) AND data.data NOT LIKE %s ORDER BY ngg.pid DESC", - '%' . $wpdb->esc_like( $webp_suffix . '";a:4:{s:7:"success";b:1;' ) . '%' + '%' . $wpdb->esc_like( $suffix . '";a:4:{s:7:"success";b:1;' ) . '%' ) ); $wpdb->flush(); @@ -175,18 +181,22 @@ class NGG extends AbstractBulk { } /** - * Tell if there are optimized media without WebP versions. + * Tell if there are optimized media without next-gen versions. * - * @since 1.9 + * @since 2.2 * * @return int The number of media. */ - public function has_optimized_media_without_webp() { + public function has_optimized_media_without_nextgen() { global $wpdb; $ngg_table = $wpdb->prefix . 'ngg_pictures'; $data_table = DB::get_instance()->get_table_name(); - $webp_suffix = constant( imagify_get_optimization_process_class_name( 'ngg' ) . '::WEBP_SUFFIX' ); + $suffix = constant( imagify_get_optimization_process_class_name( 'ngg' ) . '::WEBP_SUFFIX' ); + + if ( get_imagify_option( 'convert_to_avif' ) ) { + $suffix = constant( imagify_get_optimization_process_class_name( 'ngg' ) . '::AVIF_SUFFIX' ); + } return (int) $wpdb->get_var( $wpdb->prepare( // WPCS: unprepared SQL ok. " @@ -197,7 +207,7 @@ class NGG extends AbstractBulk { WHERE ( data.status = 'success' OR data.status = 'already_optimized' ) AND data.data NOT LIKE %s", - '%' . $wpdb->esc_like( $webp_suffix . '";a:4:{s:7:"success";b:1;' ) . '%' + '%' . $wpdb->esc_like( $suffix . '";a:4:{s:7:"success";b:1;' ) . '%' ) ); } diff --git a/wp/wp-content/plugins/imagify/inc/3rd-party/nextgen-gallery/inc/common/attachments.php b/wp/wp-content/plugins/imagify/inc/3rd-party/nextgen-gallery/inc/common/attachments.php index 18381206..f13b8cd7 100644 --- a/wp/wp-content/plugins/imagify/inc/3rd-party/nextgen-gallery/inc/common/attachments.php +++ b/wp/wp-content/plugins/imagify/inc/3rd-party/nextgen-gallery/inc/common/attachments.php @@ -284,7 +284,8 @@ function imagify_ngg_cleanup_after_media_deletion( $image_id, $image ) { * The backup file has already been deleted by NGG. * Delete the WebP versions and the optimization data. */ - $process->delete_webp_files(); + $process->delete_nextgen_files(); + $process->get_data()->delete_optimization_data(); } diff --git a/wp/wp-content/plugins/imagify/inc/3rd-party/regenerate-thumbnails/classes/Main.php b/wp/wp-content/plugins/imagify/inc/3rd-party/regenerate-thumbnails/classes/Main.php index 0a30d59a..41f2b487 100644 --- a/wp/wp-content/plugins/imagify/inc/3rd-party/regenerate-thumbnails/classes/Main.php +++ b/wp/wp-content/plugins/imagify/inc/3rd-party/regenerate-thumbnails/classes/Main.php @@ -164,7 +164,7 @@ class Main extends \Imagify_Regenerate_Thumbnails_Deprecated { if ( ! empty( $optimization_data['sizes'] ) ) { foreach ( $optimization_data['sizes'] as $size_name => $size_data ) { - $non_webp_size_name = $process->is_size_webp( $size_name ); + $non_webp_size_name = $process->is_size_next_gen( $size_name ); if ( ! $non_webp_size_name || ! isset( $sizes[ $non_webp_size_name ] ) ) { continue; diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/action-scheduler.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/action-scheduler.php index b950a70b..cfa1f1c4 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/action-scheduler.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/action-scheduler.php @@ -5,8 +5,11 @@ * Description: A robust scheduling library for use in WordPress plugins. * Author: Automattic * Author URI: https://automattic.com/ - * Version: 3.5.4 + * Version: 3.7.1 * License: GPLv3 + * Requires at least: 6.2 + * Tested up to: 6.4 + * Requires PHP: 5.6 * * Copyright 2019 Automattic, Inc. (https://automattic.com/contact/) * @@ -26,27 +29,29 @@ * @package ActionScheduler */ -if ( ! function_exists( 'action_scheduler_register_3_dot_5_dot_4' ) && function_exists( 'add_action' ) ) { // WRCS: DEFINED_VERSION. +if ( ! function_exists( 'action_scheduler_register_3_dot_7_dot_1' ) && function_exists( 'add_action' ) ) { // WRCS: DEFINED_VERSION. if ( ! class_exists( 'ActionScheduler_Versions', false ) ) { require_once __DIR__ . '/classes/ActionScheduler_Versions.php'; add_action( 'plugins_loaded', array( 'ActionScheduler_Versions', 'initialize_latest_version' ), 1, 0 ); } - add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_5_dot_4', 0, 0 ); // WRCS: DEFINED_VERSION. + add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_7_dot_1', 0, 0 ); // WRCS: DEFINED_VERSION. + // phpcs:disable Generic.Functions.OpeningFunctionBraceKernighanRitchie.ContentAfterBrace /** * Registers this version of Action Scheduler. */ - function action_scheduler_register_3_dot_5_dot_4() { // WRCS: DEFINED_VERSION. + function action_scheduler_register_3_dot_7_dot_1() { // WRCS: DEFINED_VERSION. $versions = ActionScheduler_Versions::instance(); - $versions->register( '3.5.4', 'action_scheduler_initialize_3_dot_5_dot_4' ); // WRCS: DEFINED_VERSION. + $versions->register( '3.7.1', 'action_scheduler_initialize_3_dot_7_dot_1' ); // WRCS: DEFINED_VERSION. } + // phpcs:disable Generic.Functions.OpeningFunctionBraceKernighanRitchie.ContentAfterBrace /** * Initializes this version of Action Scheduler. */ - function action_scheduler_initialize_3_dot_5_dot_4() { // WRCS: DEFINED_VERSION. + function action_scheduler_initialize_3_dot_7_dot_1() { // WRCS: DEFINED_VERSION. // A final safety check is required even here, because historic versions of Action Scheduler // followed a different pattern (in some unusual cases, we could reach this point and the // ActionScheduler class is already defined—so we need to guard against that). @@ -58,7 +63,7 @@ if ( ! function_exists( 'action_scheduler_register_3_dot_5_dot_4' ) && function_ // Support usage in themes - load this version if no plugin has loaded a version yet. if ( did_action( 'plugins_loaded' ) && ! doing_action( 'plugins_loaded' ) && ! class_exists( 'ActionScheduler', false ) ) { - action_scheduler_initialize_3_dot_5_dot_4(); // WRCS: DEFINED_VERSION. + action_scheduler_initialize_3_dot_7_dot_1(); // WRCS: DEFINED_VERSION. do_action( 'action_scheduler_pre_theme_init' ); ActionScheduler_Versions::initialize_latest_version(); } diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/changelog.txt b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/changelog.txt index 69aef1ff..368a94f6 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/changelog.txt +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/changelog.txt @@ -1,5 +1,65 @@ *** Changelog *** += 3.7.1 - 2023-12-13 = +* Release/3.7.0. +* Tweak - WP 6.4 compatibility. +* update semver to 5.7.2 because of a security vulnerability in 5.7.1. + += 3.7.0 - 2023-11-20 = +* Important: starting with this release, Action Scheduler follows an L-2 version policy (WordPress, and consequently PHP). +* Add extended indexes for hook_status_scheduled_date_gmt and status_sheduled_date_gmt. +* Catch and log exceptions thrown when actions can't be created, e.g. under a corrupt database schema. +* Release/3.6.4. +* Tweak - WP 6.4 compatibility. +* Update unit tests for upcoming dependency version policy. +* make sure hook action_scheduler_failed_execution can access original exception object. +* mention dependency version policy in usage.md. + += 3.6.4 - 2023-10-11 = +* Performance improvements when bulk cancelling actions. +* Dev-related fixes. + += 3.6.3 - 2023-09-13 = +* Use `_doing_it_wrong` in initialization check. + += 3.6.2 - 2023-08-09 = +* Add guidance about passing arguments. +* Atomic option locking. +* Improve bulk delete handling. +* Include database error in the exception message. +* Tweak - WP 6.3 compatibility. + += 3.6.1 - 2023-06-14 = +* Document new optional `$priority` arg for various API functions. +* Document the new `--exclude-groups` WP CLI option. +* Document the new `action_scheduler_init` hook. +* Ensure actions within each claim are executed in the expected order. +* Fix incorrect text domain. +* Remove SHOW TABLES usage when checking if tables exist. + += 3.6.0 - 2023-05-10 = +* Add $unique parameter to function signatures. +* Add a cast-to-int for extra safety before forming new DateTime object. +* Add a hook allowing exceptions for consistently failing recurring actions. +* Add action priorities. +* Add init hook. +* Always raise the time limit. +* Bump minimatch from 3.0.4 to 3.0.8. +* Bump yaml from 2.2.1 to 2.2.2. +* Defensive coding relating to gaps in declared schedule types. +* Do not process an action if it cannot be set to `in-progress`. +* Filter view labels (status names) should be translatable | #919. +* Fix WPCLI progress messages. +* Improve data-store initialization flow. +* Improve error handling across all supported PHP versions. +* Improve logic for flushing the runtime cache. +* Support exclusion of multiple groups. +* Update lint-staged and Node/NPM requirements. +* add CLI clean command. +* add CLI exclude-group filter. +* exclude past-due from list table all filter count. +* throwing an exception if as_schedule_recurring_action interval param is not of type integer. + = 3.5.4 - 2023-01-17 = * Add pre filters during action registration. * Async scheduling. diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_ActionFactory.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_ActionFactory.php index 8e2e6501..07bf01b3 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_ActionFactory.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_ActionFactory.php @@ -13,10 +13,15 @@ class ActionScheduler_ActionFactory { * @param array $args Args to pass to callbacks when the hook is triggered. * @param ActionScheduler_Schedule $schedule The action's schedule. * @param string $group A group to put the action in. + * phpcs:ignore Squiz.Commenting.FunctionComment.ExtraParamComment + * @param int $priority The action priority. * * @return ActionScheduler_Action An instance of the stored action. */ public function get_stored_action( $status, $hook, array $args = array(), ActionScheduler_Schedule $schedule = null, $group = '' ) { + // The 6th parameter ($priority) is not formally declared in the method signature to maintain compatibility with + // third-party subclasses created before this param was added. + $priority = func_num_args() >= 6 ? (int) func_get_arg( 5 ) : 10; switch ( $status ) { case ActionScheduler_Store::STATUS_PENDING: @@ -36,17 +41,19 @@ class ActionScheduler_ActionFactory { $action_class = apply_filters( 'action_scheduler_stored_action_class', $action_class, $status, $hook, $args, $schedule, $group ); $action = new $action_class( $hook, $args, $schedule, $group ); + $action->set_priority( $priority ); /** * Allow 3rd party code to change the instantiated action for a given hook, args, schedule and group. * - * @param ActionScheduler_Action $action The instantiated action. - * @param string $hook The instantiated action's hook. - * @param array $args The instantiated action's args. + * @param ActionScheduler_Action $action The instantiated action. + * @param string $hook The instantiated action's hook. + * @param array $args The instantiated action's args. * @param ActionScheduler_Schedule $schedule The instantiated action's schedule. - * @param string $group The instantiated action's group. + * @param string $group The instantiated action's group. + * @param int $priority The action priority. */ - return apply_filters( 'action_scheduler_stored_action_instance', $action, $hook, $args, $schedule, $group ); + return apply_filters( 'action_scheduler_stored_action_instance', $action, $hook, $args, $schedule, $group, $priority ); } /** @@ -229,9 +236,100 @@ class ActionScheduler_ActionFactory { $schedule_class = get_class( $schedule ); $new_schedule = new $schedule( $next, $schedule->get_recurrence(), $schedule->get_first_date() ); $new_action = new ActionScheduler_Action( $action->get_hook(), $action->get_args(), $new_schedule, $action->get_group() ); + $new_action->set_priority( $action->get_priority() ); return $this->store( $new_action ); } + /** + * Creates a scheduled action. + * + * This general purpose method can be used in place of specific methods such as async(), + * async_unique(), single() or single_unique(), etc. + * + * @internal Not intended for public use, should not be overriden by subclasses. + * + * @param array $options { + * Describes the action we wish to schedule. + * + * @type string $type Must be one of 'async', 'cron', 'recurring', or 'single'. + * @type string $hook The hook to be executed. + * @type array $arguments Arguments to be passed to the callback. + * @type string $group The action group. + * @type bool $unique If the action should be unique. + * @type int $when Timestamp. Indicates when the action, or first instance of the action in the case + * of recurring or cron actions, becomes due. + * @type int|string $pattern Recurrence pattern. This is either an interval in seconds for recurring actions + * or a cron expression for cron actions. + * @type int $priority Lower values means higher priority. Should be in the range 0-255. + * } + * + * @return int The action ID. Zero if there was an error scheduling the action. + */ + public function create( array $options = array() ) { + $defaults = array( + 'type' => 'single', + 'hook' => '', + 'arguments' => array(), + 'group' => '', + 'unique' => false, + 'when' => time(), + 'pattern' => null, + 'priority' => 10, + ); + + $options = array_merge( $defaults, $options ); + + // Cron/recurring actions without a pattern are treated as single actions (this gives calling code the ability + // to use functions like as_schedule_recurring_action() to schedule recurring as well as single actions). + if ( ( 'cron' === $options['type'] || 'recurring' === $options['type'] ) && empty( $options['pattern'] ) ) { + $options['type'] = 'single'; + } + + switch ( $options['type'] ) { + case 'async': + $schedule = new ActionScheduler_NullSchedule(); + break; + + case 'cron': + $date = as_get_datetime_object( $options['when'] ); + $cron = CronExpression::factory( $options['pattern'] ); + $schedule = new ActionScheduler_CronSchedule( $date, $cron ); + break; + + case 'recurring': + $date = as_get_datetime_object( $options['when'] ); + $schedule = new ActionScheduler_IntervalSchedule( $date, $options['pattern'] ); + break; + + case 'single': + $date = as_get_datetime_object( $options['when'] ); + $schedule = new ActionScheduler_SimpleSchedule( $date ); + break; + + default: + error_log( "Unknown action type '{$options['type']}' specified when trying to create an action for '{$options['hook']}'." ); + return 0; + } + + $action = new ActionScheduler_Action( $options['hook'], $options['arguments'], $schedule, $options['group'] ); + $action->set_priority( $options['priority'] ); + + $action_id = 0; + try { + $action_id = $options['unique'] ? $this->store_unique_action( $action ) : $this->store( $action ); + } catch ( Exception $e ) { + error_log( + sprintf( + /* translators: %1$s is the name of the hook to be enqueued, %2$s is the exception message. */ + __( 'Caught exception while enqueuing action "%1$s": %2$s', 'action-scheduler' ), + $options['hook'], + $e->getMessage() + ) + ); + } + return $action_id; + } + /** * Save action to database. * diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_Compatibility.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_Compatibility.php index 85e0ed9d..bb28023b 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_Compatibility.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_Compatibility.php @@ -4,7 +4,6 @@ * Class ActionScheduler_Compatibility */ class ActionScheduler_Compatibility { - /** * Converts a shorthand byte value to an integer byte value. * @@ -89,21 +88,18 @@ class ActionScheduler_Compatibility { $limit = (int) $limit; $max_execution_time = (int) ini_get( 'max_execution_time' ); - /* - * If the max execution time is already unlimited (zero), or if it exceeds or is equal to the proposed - * limit, there is no reason for us to make further changes (we never want to lower it). - */ - if ( - 0 === $max_execution_time - || ( $max_execution_time >= $limit && $limit !== 0 ) - ) { + // If the max execution time is already set to zero (unlimited), there is no reason to make a further change. + if ( 0 === $max_execution_time ) { return; } + // Whichever of $max_execution_time or $limit is higher is the amount by which we raise the time limit. + $raise_by = 0 === $limit || $limit > $max_execution_time ? $limit : $max_execution_time; + if ( function_exists( 'wc_set_time_limit' ) ) { - wc_set_time_limit( $limit ); + wc_set_time_limit( $raise_by ); } elseif ( function_exists( 'set_time_limit' ) && false === strpos( ini_get( 'disable_functions' ), 'set_time_limit' ) && ! ini_get( 'safe_mode' ) ) { // phpcs:ignore PHPCompatibility.IniDirectives.RemovedIniDirectives.safe_modeDeprecatedRemoved - @set_time_limit( $limit ); // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged + @set_time_limit( $raise_by ); // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged } } } diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_ListTable.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_ListTable.php index 9e631f75..a21fdbe3 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_ListTable.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_ListTable.php @@ -252,7 +252,7 @@ class ActionScheduler_ListTable extends ActionScheduler_Abstract_ListTable { */ protected function get_recurrence( $action ) { $schedule = $action->get_schedule(); - if ( $schedule->is_recurring() ) { + if ( $schedule->is_recurring() && method_exists( $schedule, 'get_recurrence' ) ) { $recurrence = $schedule->get_recurrence(); if ( is_numeric( $recurrence ) ) { @@ -471,7 +471,7 @@ class ActionScheduler_ListTable extends ActionScheduler_Abstract_ListTable { return __( 'async', 'action-scheduler' ); } - if ( ! $schedule->get_date() ) { + if ( ! method_exists( $schedule, 'get_date' ) || ! $schedule->get_date() ) { return '0000-00-00 00:00:00'; } @@ -502,7 +502,20 @@ class ActionScheduler_ListTable extends ActionScheduler_Abstract_ListTable { */ protected function bulk_delete( array $ids, $ids_sql ) { foreach ( $ids as $id ) { - $this->store->delete_action( $id ); + try { + $this->store->delete_action( $id ); + } catch ( Exception $e ) { + // A possible reason for an exception would include a scenario where the same action is deleted by a + // concurrent request. + error_log( + sprintf( + /* translators: 1: action ID 2: exception message. */ + __( 'Action Scheduler was unable to delete action %1$d. Reason: %2$s', 'action-scheduler' ), + $id, + $e->getMessage() + ) + ); + } } } diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_OptionLock.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_OptionLock.php index 4bc9a3fc..911f9b77 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_OptionLock.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_OptionLock.php @@ -24,7 +24,37 @@ class ActionScheduler_OptionLock extends ActionScheduler_Lock { * @bool True if lock value has changed, false if not or if set failed. */ public function set( $lock_type ) { - return update_option( $this->get_key( $lock_type ), time() + $this->get_duration( $lock_type ) ); + global $wpdb; + + $lock_key = $this->get_key( $lock_type ); + $existing_lock_value = $this->get_existing_lock( $lock_type ); + $new_lock_value = $this->new_lock_value( $lock_type ); + + // The lock may not exist yet, or may have been deleted. + if ( empty( $existing_lock_value ) ) { + return (bool) $wpdb->insert( + $wpdb->options, + array( + 'option_name' => $lock_key, + 'option_value' => $new_lock_value, + 'autoload' => 'no', + ) + ); + } + + if ( $this->get_expiration_from( $existing_lock_value ) >= time() ) { + return false; + } + + // Otherwise, try to obtain the lock. + return (bool) $wpdb->update( + $wpdb->options, + array( 'option_value' => $new_lock_value ), + array( + 'option_name' => $lock_key, + 'option_value' => $existing_lock_value, + ) + ); } /** @@ -34,7 +64,30 @@ class ActionScheduler_OptionLock extends ActionScheduler_Lock { * @return bool|int False if no lock is set, otherwise the timestamp for when the lock is set to expire. */ public function get_expiration( $lock_type ) { - return get_option( $this->get_key( $lock_type ) ); + return $this->get_expiration_from( $this->get_existing_lock( $lock_type ) ); + } + + /** + * Given the lock string, derives the lock expiration timestamp (or false if it cannot be determined). + * + * @param string $lock_value String containing a timestamp, or pipe-separated combination of unique value and timestamp. + * + * @return false|int + */ + private function get_expiration_from( $lock_value ) { + $lock_string = explode( '|', $lock_value ); + + // Old style lock? + if ( count( $lock_string ) === 1 && is_numeric( $lock_string[0] ) ) { + return (int) $lock_string[0]; + } + + // New style lock? + if ( count( $lock_string ) === 2 && is_numeric( $lock_string[1] ) ) { + return (int) $lock_string[1]; + } + + return false; } /** @@ -46,4 +99,37 @@ class ActionScheduler_OptionLock extends ActionScheduler_Lock { protected function get_key( $lock_type ) { return sprintf( 'action_scheduler_lock_%s', $lock_type ); } + + /** + * Supplies the existing lock value, or an empty string if not set. + * + * @param string $lock_type A string to identify different lock types. + * + * @return string + */ + private function get_existing_lock( $lock_type ) { + global $wpdb; + + // Now grab the existing lock value, if there is one. + return (string) $wpdb->get_var( + $wpdb->prepare( + "SELECT option_value FROM $wpdb->options WHERE option_name = %s", + $this->get_key( $lock_type ) + ) + ); + } + + /** + * Supplies a lock value consisting of a unique value and the current timestamp, which are separated by a pipe + * character. + * + * Example: (string) "649de012e6b262.09774912|1688068114" + * + * @param string $lock_type A string to identify different lock types. + * + * @return string + */ + private function new_lock_value( $lock_type ) { + return uniqid( '', true ) . '|' . ( time() + $this->get_duration( $lock_type ) ); + } } diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_QueueCleaner.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_QueueCleaner.php index 49cd44bb..6f2a696d 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_QueueCleaner.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_QueueCleaner.php @@ -18,6 +18,14 @@ class ActionScheduler_QueueCleaner { */ private $month_in_seconds = 2678400; + /** + * @var string[] Default list of statuses purged by the cleaner process. + */ + private $default_statuses_to_purge = [ + ActionScheduler_Store::STATUS_COMPLETE, + ActionScheduler_Store::STATUS_CANCELED, + ]; + /** * ActionScheduler_QueueCleaner constructor. * @@ -29,46 +37,113 @@ class ActionScheduler_QueueCleaner { $this->batch_size = $batch_size; } + /** + * Default queue cleaner process used by queue runner. + * + * @return array + */ public function delete_old_actions() { + /** + * Filter the minimum scheduled date age for action deletion. + * + * @param int $retention_period Minimum scheduled age in seconds of the actions to be deleted. + */ $lifespan = apply_filters( 'action_scheduler_retention_period', $this->month_in_seconds ); - $cutoff = as_get_datetime_object($lifespan.' seconds ago'); - $statuses_to_purge = array( - ActionScheduler_Store::STATUS_COMPLETE, - ActionScheduler_Store::STATUS_CANCELED, - ); + try { + $cutoff = as_get_datetime_object( $lifespan . ' seconds ago' ); + } catch ( Exception $e ) { + _doing_it_wrong( + __METHOD__, + sprintf( + /* Translators: %s is the exception message. */ + esc_html__( 'It was not possible to determine a valid cut-off time: %s.', 'action-scheduler' ), + esc_html( $e->getMessage() ) + ), + '3.5.5' + ); + return array(); + } + + + /** + * Filter the statuses when cleaning the queue. + * + * @param string[] $default_statuses_to_purge Action statuses to clean. + */ + $statuses_to_purge = (array) apply_filters( 'action_scheduler_default_cleaner_statuses', $this->default_statuses_to_purge ); + + return $this->clean_actions( $statuses_to_purge, $cutoff, $this->get_batch_size() ); + } + + /** + * Delete selected actions limited by status and date. + * + * @param string[] $statuses_to_purge List of action statuses to purge. Defaults to canceled, complete. + * @param DateTime $cutoff_date Date limit for selecting actions. Defaults to 31 days ago. + * @param int|null $batch_size Maximum number of actions per status to delete. Defaults to 20. + * @param string $context Calling process context. Defaults to `old`. + * @return array Actions deleted. + */ + public function clean_actions( array $statuses_to_purge, DateTime $cutoff_date, $batch_size = null, $context = 'old' ) { + $batch_size = $batch_size !== null ? $batch_size : $this->batch_size; + $cutoff = $cutoff_date !== null ? $cutoff_date : as_get_datetime_object( $this->month_in_seconds . ' seconds ago' ); + $lifespan = time() - $cutoff->getTimestamp(); + if ( empty( $statuses_to_purge ) ) { + $statuses_to_purge = $this->default_statuses_to_purge; + } + + $deleted_actions = []; foreach ( $statuses_to_purge as $status ) { $actions_to_delete = $this->store->query_actions( array( 'status' => $status, 'modified' => $cutoff, 'modified_compare' => '<=', - 'per_page' => $this->get_batch_size(), + 'per_page' => $batch_size, 'orderby' => 'none', ) ); - foreach ( $actions_to_delete as $action_id ) { - try { - $this->store->delete_action( $action_id ); - } catch ( Exception $e ) { + $deleted_actions = array_merge( $deleted_actions, $this->delete_actions( $actions_to_delete, $lifespan, $context ) ); + } - /** - * Notify 3rd party code of exceptions when deleting a completed action older than the retention period - * - * This hook provides a way for 3rd party code to log or otherwise handle exceptions relating to their - * actions. - * - * @since 2.0.0 - * - * @param int $action_id The scheduled actions ID in the data store - * @param Exception $e The exception thrown when attempting to delete the action from the data store - * @param int $lifespan The retention period, in seconds, for old actions - * @param int $count_of_actions_to_delete The number of old actions being deleted in this batch - */ - do_action( 'action_scheduler_failed_old_action_deletion', $action_id, $e, $lifespan, count( $actions_to_delete ) ); - } + return $deleted_actions; + } + + /** + * @param int[] $actions_to_delete List of action IDs to delete. + * @param int $lifespan Minimum scheduled age in seconds of the actions being deleted. + * @param string $context Context of the delete request. + * @return array Deleted action IDs. + */ + private function delete_actions( array $actions_to_delete, $lifespan = null, $context = 'old' ) { + $deleted_actions = []; + if ( $lifespan === null ) { + $lifespan = $this->month_in_seconds; + } + + foreach ( $actions_to_delete as $action_id ) { + try { + $this->store->delete_action( $action_id ); + $deleted_actions[] = $action_id; + } catch ( Exception $e ) { + /** + * Notify 3rd party code of exceptions when deleting a completed action older than the retention period + * + * This hook provides a way for 3rd party code to log or otherwise handle exceptions relating to their + * actions. + * + * @param int $action_id The scheduled actions ID in the data store + * @param Exception $e The exception thrown when attempting to delete the action from the data store + * @param int $lifespan The retention period, in seconds, for old actions + * @param int $count_of_actions_to_delete The number of old actions being deleted in this batch + * @since 2.0.0 + * + */ + do_action( "action_scheduler_failed_{$context}_action_deletion", $action_id, $e, $lifespan, count( $actions_to_delete ) ); } } + return $deleted_actions; } /** diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_QueueRunner.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_QueueRunner.php index b890dca1..1ec3eab2 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_QueueRunner.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/ActionScheduler_QueueRunner.php @@ -103,9 +103,12 @@ class ActionScheduler_QueueRunner extends ActionScheduler_Abstract_QueueRunner { * should dispatch a request to process pending actions. */ public function maybe_dispatch_async_request() { - if ( is_admin() && ! ActionScheduler::lock()->is_locked( 'async-request-runner' ) ) { - // Only start an async queue at most once every 60 seconds - ActionScheduler::lock()->set( 'async-request-runner' ); + // Only start an async queue at most once every 60 seconds. + if ( + is_admin() + && ! ActionScheduler::lock()->is_locked( 'async-request-runner' ) + && ActionScheduler::lock()->set( 'async-request-runner' ) + ) { $this->async_request->maybe_dispatch(); } } @@ -185,9 +188,15 @@ class ActionScheduler_QueueRunner extends ActionScheduler_Abstract_QueueRunner { protected function clear_caches() { /* * Calling wp_cache_flush_runtime() lets us clear the runtime cache without invalidating the external object - * cache, so we will always prefer this when it is available (but it was only introduced in WordPress 6.0). + * cache, so we will always prefer this method (as compared to calling wp_cache_flush()) when it is available. + * + * However, this function was only introduced in WordPress 6.0. Additionally, the preferred way of detecting if + * it is supported changed in WordPress 6.1 so we use two different methods to decide if we should utilize it. */ - if ( function_exists( 'wp_cache_flush_runtime' ) ) { + $flushing_runtime_cache_explicitly_supported = function_exists( 'wp_cache_supports' ) && wp_cache_supports( 'flush_runtime' ); + $flushing_runtime_cache_implicitly_supported = ! function_exists( 'wp_cache_supports' ) && function_exists( 'wp_cache_flush_runtime' ); + + if ( $flushing_runtime_cache_explicitly_supported || $flushing_runtime_cache_implicitly_supported ) { wp_cache_flush_runtime(); } elseif ( ! wp_using_ext_object_cache() diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_Clean_Command.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_Clean_Command.php new file mode 100644 index 00000000..ff6e57aa --- /dev/null +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_Clean_Command.php @@ -0,0 +1,125 @@ +] + * : The maximum number of actions to delete per batch. Defaults to 20. + * + * [--batches=] + * : Limit execution to a number of batches. Defaults to 0, meaning batches will continue all eligible actions are deleted. + * + * [--status=] + * : Only clean actions with the specified status. Defaults to Canceled, Completed. Define multiple statuses as a comma separated string (without spaces), e.g. `--status=complete,failed,canceled` + * + * [--before=] + * : Only delete actions with scheduled date older than this. Defaults to 31 days. e.g `--before='7 days ago'`, `--before='02-Feb-2020 20:20:20'` + * + * [--pause=] + * : The number of seconds to pause between batches. Default no pause. + * + * @param array $args Positional arguments. + * @param array $assoc_args Keyed arguments. + * @throws \WP_CLI\ExitException When an error occurs. + * + * @subcommand clean + */ + public function clean( $args, $assoc_args ) { + // Handle passed arguments. + $batch = absint( \WP_CLI\Utils\get_flag_value( $assoc_args, 'batch-size', 20 ) ); + $batches = absint( \WP_CLI\Utils\get_flag_value( $assoc_args, 'batches', 0 ) ); + $status = explode( ',', WP_CLI\Utils\get_flag_value( $assoc_args, 'status', '' ) ); + $status = array_filter( array_map( 'trim', $status ) ); + $before = \WP_CLI\Utils\get_flag_value( $assoc_args, 'before', '' ); + $sleep = \WP_CLI\Utils\get_flag_value( $assoc_args, 'pause', 0 ); + + $batches_completed = 0; + $actions_deleted = 0; + $unlimited = $batches === 0; + try { + $lifespan = as_get_datetime_object( $before ); + } catch ( Exception $e ) { + $lifespan = null; + } + + try { + // Custom queue cleaner instance. + $cleaner = new ActionScheduler_QueueCleaner( null, $batch ); + + // Clean actions for as long as possible. + while ( $unlimited || $batches_completed < $batches ) { + if ( $sleep && $batches_completed > 0 ) { + sleep( $sleep ); + } + + $deleted = count( $cleaner->clean_actions( $status, $lifespan, null,'CLI' ) ); + if ( $deleted <= 0 ) { + break; + } + $actions_deleted += $deleted; + $batches_completed++; + $this->print_success( $deleted ); + } + } catch ( Exception $e ) { + $this->print_error( $e ); + } + + $this->print_total_batches( $batches_completed ); + if ( $batches_completed > 1 ) { + $this->print_success( $actions_deleted ); + } + } + + /** + * Print WP CLI message about how many batches of actions were processed. + * + * @param int $batches_processed + */ + protected function print_total_batches( int $batches_processed ) { + WP_CLI::log( + sprintf( + /* translators: %d refers to the total number of batches processed */ + _n( '%d batch processed.', '%d batches processed.', $batches_processed, 'action-scheduler' ), + $batches_processed + ) + ); + } + + /** + * Convert an exception into a WP CLI error. + * + * @param Exception $e The error object. + * + * @throws \WP_CLI\ExitException + */ + protected function print_error( Exception $e ) { + WP_CLI::error( + sprintf( + /* translators: %s refers to the exception error message */ + __( 'There was an error deleting an action: %s', 'action-scheduler' ), + $e->getMessage() + ) + ); + } + + /** + * Print a success message with the number of completed actions. + * + * @param int $actions_deleted + */ + protected function print_success( int $actions_deleted ) { + WP_CLI::success( + sprintf( + /* translators: %d refers to the total number of actions deleted */ + _n( '%d action deleted.', '%d actions deleted.', $actions_deleted, 'action-scheduler' ), + $actions_deleted + ) + ); + } +} diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_QueueRunner.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_QueueRunner.php index c33de686..4681daa4 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_QueueRunner.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_QueueRunner.php @@ -90,7 +90,7 @@ class ActionScheduler_WPCLI_QueueRunner extends ActionScheduler_Abstract_QueueRu $count = count( $this->actions ); $this->progress_bar = new ProgressBar( /* translators: %d: amount of actions */ - sprintf( _n( 'Running %d action', 'Running %d actions', $count, 'action-scheduler' ), number_format_i18n( $count ) ), + sprintf( _n( 'Running %d action', 'Running %d actions', $count, 'action-scheduler' ), $count ), $count ); } diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_Scheduler_command.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_Scheduler_command.php index 70b052e5..2c68a386 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_Scheduler_command.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/WP_CLI/ActionScheduler_WPCLI_Scheduler_command.php @@ -55,6 +55,9 @@ class ActionScheduler_WPCLI_Scheduler_command extends WP_CLI_Command { * [--group=] * : Only run actions from the specified group. Omitting this option runs actions from all groups. * + * [--exclude-groups=] + * : Run actions from all groups except the specified group(s). Define multiple groups as a comma separated string (without spaces), e.g. '--group_a,group_b'. This option is ignored when `--group` is used. + * * [--free-memory-on=] * : The number of actions to process between freeing memory. 0 disables freeing memory. Default 50. * @@ -72,15 +75,16 @@ class ActionScheduler_WPCLI_Scheduler_command extends WP_CLI_Command { */ public function run( $args, $assoc_args ) { // Handle passed arguments. - $batch = absint( \WP_CLI\Utils\get_flag_value( $assoc_args, 'batch-size', 100 ) ); - $batches = absint( \WP_CLI\Utils\get_flag_value( $assoc_args, 'batches', 0 ) ); - $clean = absint( \WP_CLI\Utils\get_flag_value( $assoc_args, 'cleanup-batch-size', $batch ) ); - $hooks = explode( ',', WP_CLI\Utils\get_flag_value( $assoc_args, 'hooks', '' ) ); - $hooks = array_filter( array_map( 'trim', $hooks ) ); - $group = \WP_CLI\Utils\get_flag_value( $assoc_args, 'group', '' ); - $free_on = \WP_CLI\Utils\get_flag_value( $assoc_args, 'free-memory-on', 50 ); - $sleep = \WP_CLI\Utils\get_flag_value( $assoc_args, 'pause', 0 ); - $force = \WP_CLI\Utils\get_flag_value( $assoc_args, 'force', false ); + $batch = absint( \WP_CLI\Utils\get_flag_value( $assoc_args, 'batch-size', 100 ) ); + $batches = absint( \WP_CLI\Utils\get_flag_value( $assoc_args, 'batches', 0 ) ); + $clean = absint( \WP_CLI\Utils\get_flag_value( $assoc_args, 'cleanup-batch-size', $batch ) ); + $hooks = explode( ',', WP_CLI\Utils\get_flag_value( $assoc_args, 'hooks', '' ) ); + $hooks = array_filter( array_map( 'trim', $hooks ) ); + $group = \WP_CLI\Utils\get_flag_value( $assoc_args, 'group', '' ); + $exclude_groups = \WP_CLI\Utils\get_flag_value( $assoc_args, 'exclude-groups', '' ); + $free_on = \WP_CLI\Utils\get_flag_value( $assoc_args, 'free-memory-on', 50 ); + $sleep = \WP_CLI\Utils\get_flag_value( $assoc_args, 'pause', 0 ); + $force = \WP_CLI\Utils\get_flag_value( $assoc_args, 'force', false ); ActionScheduler_DataController::set_free_ticks( $free_on ); ActionScheduler_DataController::set_sleep_time( $sleep ); @@ -88,6 +92,13 @@ class ActionScheduler_WPCLI_Scheduler_command extends WP_CLI_Command { $batches_completed = 0; $actions_completed = 0; $unlimited = $batches === 0; + if ( is_callable( [ ActionScheduler::store(), 'set_claim_filter' ] ) ) { + $exclude_groups = $this->parse_comma_separated_string( $exclude_groups ); + + if ( ! empty( $exclude_groups ) ) { + ActionScheduler::store()->set_claim_filter('exclude-groups', $exclude_groups ); + } + } try { // Custom queue cleaner instance. @@ -116,6 +127,17 @@ class ActionScheduler_WPCLI_Scheduler_command extends WP_CLI_Command { $this->print_success( $actions_completed ); } + /** + * Converts a string of comma-separated values into an array of those same values. + * + * @param string $string The string of one or more comma separated values. + * + * @return array + */ + private function parse_comma_separated_string( $string ): array { + return array_filter( str_getcsv( $string ) ); + } + /** * Print WP CLI message about how many actions are about to be processed. * @@ -126,9 +148,9 @@ class ActionScheduler_WPCLI_Scheduler_command extends WP_CLI_Command { protected function print_total_actions( $total ) { WP_CLI::log( sprintf( - /* translators: %d refers to how many scheduled taks were found to run */ + /* translators: %d refers to how many scheduled tasks were found to run */ _n( 'Found %d scheduled task', 'Found %d scheduled tasks', $total, 'action-scheduler' ), - number_format_i18n( $total ) + $total ) ); } @@ -145,7 +167,7 @@ class ActionScheduler_WPCLI_Scheduler_command extends WP_CLI_Command { sprintf( /* translators: %d refers to the total number of batches executed */ _n( '%d batch executed.', '%d batches executed.', $batches_completed, 'action-scheduler' ), - number_format_i18n( $batches_completed ) + $batches_completed ) ); } @@ -179,9 +201,9 @@ class ActionScheduler_WPCLI_Scheduler_command extends WP_CLI_Command { protected function print_success( $actions_completed ) { WP_CLI::success( sprintf( - /* translators: %d refers to the total number of taskes completed */ + /* translators: %d refers to the total number of tasks completed */ _n( '%d scheduled task completed.', '%d scheduled tasks completed.', $actions_completed, 'action-scheduler' ), - number_format_i18n( $actions_completed ) + $actions_completed ) ); } diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler.php index e8873f11..0163f707 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler.php @@ -153,11 +153,41 @@ abstract class ActionScheduler { add_action( 'init', array( $store, 'init' ), 1, 0 ); add_action( 'init', array( $logger, 'init' ), 1, 0 ); add_action( 'init', array( $runner, 'init' ), 1, 0 ); + + add_action( + 'init', + /** + * Runs after the active store's init() method has been called. + * + * It would probably be preferable to have $store->init() (or it's parent method) set this itself, + * once it has initialized, however that would cause problems in cases where a custom data store is in + * use and it has not yet been updated to follow that same logic. + */ + function () { + self::$data_store_initialized = true; + + /** + * Fires when Action Scheduler is ready: it is safe to use the procedural API after this point. + * + * @since 3.5.5 + */ + do_action( 'action_scheduler_init' ); + }, + 1 + ); } else { $admin_view->init(); $store->init(); $logger->init(); $runner->init(); + self::$data_store_initialized = true; + + /** + * Fires when Action Scheduler is ready: it is safe to use the procedural API after this point. + * + * @since 3.5.5 + */ + do_action( 'action_scheduler_init' ); } if ( apply_filters( 'action_scheduler_load_deprecated_functions', true ) ) { @@ -166,14 +196,13 @@ abstract class ActionScheduler { if ( defined( 'WP_CLI' ) && WP_CLI ) { WP_CLI::add_command( 'action-scheduler', 'ActionScheduler_WPCLI_Scheduler_command' ); + WP_CLI::add_command( 'action-scheduler', 'ActionScheduler_WPCLI_Clean_Command' ); if ( ! ActionScheduler_DataController::is_migration_complete() && Controller::instance()->allow_migration() ) { $command = new Migration_Command(); $command->register(); } } - self::$data_store_initialized = true; - /** * Handle WP comment cleanup after migration. */ @@ -192,8 +221,12 @@ abstract class ActionScheduler { */ public static function is_initialized( $function_name = null ) { if ( ! self::$data_store_initialized && ! empty( $function_name ) ) { - $message = sprintf( __( '%s() was called before the Action Scheduler data store was initialized', 'action-scheduler' ), esc_attr( $function_name ) ); - error_log( $message, E_WARNING ); + $message = sprintf( + /* translators: %s function name. */ + __( '%s() was called before the Action Scheduler data store was initialized', 'action-scheduler' ), + esc_attr( $function_name ) + ); + _doing_it_wrong( $function_name, $message, '3.1.6' ); } return self::$data_store_initialized; diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php index ccc997f2..8d1465fc 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php @@ -673,24 +673,34 @@ abstract class ActionScheduler_Abstract_ListTable extends WP_List_Table { // Helper to set 'all' filter when not set on status counts passed in. if ( ! isset( $this->status_counts['all'] ) ) { - $this->status_counts = array( 'all' => array_sum( $this->status_counts ) ) + $this->status_counts; + $all_count = array_sum( $this->status_counts ); + if ( isset( $this->status_counts['past-due'] ) ) { + $all_count -= $this->status_counts['past-due']; + } + $this->status_counts = array( 'all' => $all_count ) + $this->status_counts; } - foreach ( $this->status_counts as $status_name => $count ) { + // Translated status labels. + $status_labels = ActionScheduler_Store::instance()->get_status_labels(); + $status_labels['all'] = _x( 'All', 'status labels', 'action-scheduler' ); + $status_labels['past-due'] = _x( 'Past-due', 'status labels', 'action-scheduler' ); + + foreach ( $this->status_counts as $status_slug => $count ) { if ( 0 === $count ) { continue; } - if ( $status_name === $request_status || ( empty( $request_status ) && 'all' === $status_name ) ) { + if ( $status_slug === $request_status || ( empty( $request_status ) && 'all' === $status_slug ) ) { $status_list_item = '
  • %3$s (%4$d)
  • '; } else { $status_list_item = '
  • %3$s (%4$d)
  • '; } - $status_filter_url = ( 'all' === $status_name ) ? remove_query_arg( 'status' ) : add_query_arg( 'status', $status_name ); + $status_name = isset( $status_labels[ $status_slug ] ) ? $status_labels[ $status_slug ] : ucfirst( $status_slug ); + $status_filter_url = ( 'all' === $status_slug ) ? remove_query_arg( 'status' ) : add_query_arg( 'status', $status_slug ); $status_filter_url = remove_query_arg( array( 'paged', 's' ), $status_filter_url ); - $status_list_items[] = sprintf( $status_list_item, esc_attr( $status_name ), esc_url( $status_filter_url ), esc_html( ucfirst( $status_name ) ), absint( $count ) ); + $status_list_items[] = sprintf( $status_list_item, esc_attr( $status_slug ), esc_url( $status_filter_url ), esc_html( $status_name ), absint( $count ) ); } if ( $status_list_items ) { diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php index 3440f001..673499fc 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php @@ -48,30 +48,56 @@ abstract class ActionScheduler_Abstract_QueueRunner extends ActionScheduler_Abst * Generally, this should be capitalised and not localised as it's a proper noun. */ public function process_action( $action_id, $context = '' ) { + // Temporarily override the error handler while we process the current action. + set_error_handler( + /** + * Temporary error handler which can catch errors and convert them into exceptions. This faciliates more + * robust error handling across all supported PHP versions. + * + * @throws Exception + * + * @param int $type Error level expressed as an integer. + * @param string $message Error message. + */ + function ( $type, $message ) { + throw new Exception( $message ); + }, + E_USER_ERROR | E_RECOVERABLE_ERROR + ); + + /* + * The nested try/catch structure is required because we potentially need to convert thrown errors into + * exceptions (and an exception thrown from a catch block cannot be caught by a later catch block in the *same* + * structure). + */ try { - $valid_action = false; - do_action( 'action_scheduler_before_execute', $action_id, $context ); + try { + $valid_action = false; + do_action( 'action_scheduler_before_execute', $action_id, $context ); - if ( ActionScheduler_Store::STATUS_PENDING !== $this->store->get_status( $action_id ) ) { - do_action( 'action_scheduler_execution_ignored', $action_id, $context ); - return; + if ( ActionScheduler_Store::STATUS_PENDING !== $this->store->get_status( $action_id ) ) { + do_action( 'action_scheduler_execution_ignored', $action_id, $context ); + return; + } + + $valid_action = true; + do_action( 'action_scheduler_begin_execute', $action_id, $context ); + + $action = $this->store->fetch_action( $action_id ); + $this->store->log_execution( $action_id ); + $action->execute(); + do_action( 'action_scheduler_after_execute', $action_id, $action, $context ); + $this->store->mark_complete( $action_id ); + } catch ( Throwable $e ) { + // Throwable is defined when executing under PHP 7.0 and up. We convert it to an exception, for + // compatibility with ActionScheduler_Logger. + throw new Exception( $e->getMessage(), $e->getCode(), $e ); } - - $valid_action = true; - do_action( 'action_scheduler_begin_execute', $action_id, $context ); - - $action = $this->store->fetch_action( $action_id ); - $this->store->log_execution( $action_id ); - $action->execute(); - do_action( 'action_scheduler_after_execute', $action_id, $action, $context ); - $this->store->mark_complete( $action_id ); } catch ( Exception $e ) { - if ( $valid_action ) { - $this->store->mark_failure( $action_id ); - do_action( 'action_scheduler_failed_execution', $action_id, $e, $context ); - } else { - do_action( 'action_scheduler_failed_validation', $action_id, $e, $context ); - } + // This catch block exists for compatibility with PHP 5.6. + $this->handle_action_error( $action_id, $e, $context, $valid_action ); + } finally { + restore_error_handler(); } if ( isset( $action ) && is_a( $action, 'ActionScheduler_Action' ) && $action->get_schedule()->is_recurring() ) { @@ -79,6 +105,39 @@ abstract class ActionScheduler_Abstract_QueueRunner extends ActionScheduler_Abst } } + /** + * Marks actions as either having failed execution or failed validation, as appropriate. + * + * @param int $action_id Action ID. + * @param Exception $e Exception instance. + * @param string $context Execution context. + * @param bool $valid_action If the action is valid. + * + * @return void + */ + private function handle_action_error( $action_id, $e, $context, $valid_action ) { + if ( $valid_action ) { + $this->store->mark_failure( $action_id ); + /** + * Runs when action execution fails. + * + * @param int $action_id Action ID. + * @param Exception $e Exception instance. + * @param string $context Execution context. + */ + do_action( 'action_scheduler_failed_execution', $action_id, $e, $context ); + } else { + /** + * Runs when action validation fails. + * + * @param int $action_id Action ID. + * @param Exception $e Exception instance. + * @param string $context Execution context. + */ + do_action( 'action_scheduler_failed_validation', $action_id, $e, $context ); + } + } + /** * Schedule the next instance of the action if necessary. * @@ -143,12 +202,22 @@ abstract class ActionScheduler_Abstract_QueueRunner extends ActionScheduler_Abst return false; } - // Now let's fetch the first action (having the same hook) of *any status*ithin the same window. + // Now let's fetch the first action (having the same hook) of *any status* within the same window. unset( $query_args['status'] ); $first_action_id_with_the_same_hook = $this->store->query_actions( $query_args ); - // If the IDs match, then actions for this hook must be consistently failing. - return $first_action_id_with_the_same_hook === $first_failing_action_id; + /** + * If a recurring action is assessed as consistently failing, it will not be rescheduled. This hook provides a + * way to observe and optionally override that assessment. + * + * @param bool $is_consistently_failing If the action is considered to be consistently failing. + * @param ActionScheduler_Action $action The action being assessed. + */ + return (bool) apply_filters( + 'action_scheduler_recurring_action_is_consistently_failing', + $first_action_id_with_the_same_hook === $first_failing_action_id, + $action + ); } /** diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_Schema.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_Schema.php index 2334fda1..3fd259ea 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_Schema.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Abstract_Schema.php @@ -25,7 +25,7 @@ abstract class ActionScheduler_Abstract_Schema { /** * @var array Names of tables that will be registered by this class. */ - protected $tables = []; + protected $tables = array(); /** * Can optionally be used by concrete classes to carry out additional initialization work @@ -90,10 +90,10 @@ abstract class ActionScheduler_Abstract_Schema { $plugin_option_name = 'schema-'; switch ( static::class ) { - case 'ActionScheduler_StoreSchema' : + case 'ActionScheduler_StoreSchema': $plugin_option_name .= 'Action_Scheduler\Custom_Tables\DB_Store_Table_Maker'; break; - case 'ActionScheduler_LoggerSchema' : + case 'ActionScheduler_LoggerSchema': $plugin_option_name .= 'Action_Scheduler\Custom_Tables\DB_Logger_Table_Maker'; break; } @@ -129,7 +129,7 @@ abstract class ActionScheduler_Abstract_Schema { * @return void */ private function update_table( $table ) { - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); + require_once ABSPATH . 'wp-admin/includes/upgrade.php'; $definition = $this->get_table_definition( $table ); if ( $definition ) { $updated = dbDelta( $definition ); @@ -148,7 +148,7 @@ abstract class ActionScheduler_Abstract_Schema { * table prefix for the current blog */ protected function get_full_table_name( $table ) { - return $GLOBALS[ 'wpdb' ]->prefix . $table; + return $GLOBALS['wpdb']->prefix . $table; } /** @@ -159,14 +159,19 @@ abstract class ActionScheduler_Abstract_Schema { public function tables_exist() { global $wpdb; - $existing_tables = $wpdb->get_col( 'SHOW TABLES' ); - $expected_tables = array_map( - function ( $table_name ) use ( $wpdb ) { - return $wpdb->prefix . $table_name; - }, - $this->tables - ); + $tables_exist = true; - return count( array_intersect( $existing_tables, $expected_tables ) ) === count( $expected_tables ); + foreach ( $this->tables as $table_name ) { + $table_name = $wpdb->prefix . $table_name; + $pattern = str_replace( '_', '\\_', $table_name ); + $existing_table = $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $pattern ) ); + + if ( $existing_table !== $table_name ) { + $tables_exist = false; + break; + } + } + + return $tables_exist; } } diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Lock.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Lock.php index 86e85285..e388a58f 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Lock.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Lock.php @@ -26,6 +26,8 @@ abstract class ActionScheduler_Lock { /** * Set a lock. * + * To prevent race conditions, implementations should avoid setting the lock if the lock is already held. + * * @param string $lock_type A string to identify different lock types. * @return bool */ diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Store.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Store.php index a5552933..faaaa9ed 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Store.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/abstracts/ActionScheduler_Store.php @@ -347,7 +347,7 @@ abstract class ActionScheduler_Store extends ActionScheduler_Store_Deprecated { 'hook' => $hook, 'status' => self::STATUS_PENDING, 'per_page' => 1000, - 'orderby' => 'action_id', + 'orderby' => 'none', ) ); @@ -372,7 +372,7 @@ abstract class ActionScheduler_Store extends ActionScheduler_Store_Deprecated { 'group' => $group, 'status' => self::STATUS_PENDING, 'per_page' => 1000, - 'orderby' => 'action_id', + 'orderby' => 'none', ) ); diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/actions/ActionScheduler_Action.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/actions/ActionScheduler_Action.php index f538f506..ddf33d5d 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/actions/ActionScheduler_Action.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/actions/ActionScheduler_Action.php @@ -10,6 +10,19 @@ class ActionScheduler_Action { protected $schedule = NULL; protected $group = ''; + /** + * Priorities are conceptually similar to those used for regular WordPress actions. + * Like those, a lower priority takes precedence over a higher priority and the default + * is 10. + * + * Unlike regular WordPress actions, the priority of a scheduled action is strictly an + * integer and should be kept within the bounds 0-255 (anything outside the bounds will + * be brought back into the acceptable range). + * + * @var int + */ + protected $priority = 10; + public function __construct( $hook, array $args = array(), ActionScheduler_Schedule $schedule = NULL, $group = '' ) { $schedule = empty( $schedule ) ? new ActionScheduler_NullSchedule() : $schedule; $this->set_hook($hook); @@ -93,4 +106,30 @@ class ActionScheduler_Action { public function is_finished() { return FALSE; } + + /** + * Sets the priority of the action. + * + * @param int $priority Priority level (lower is higher priority). Should be in the range 0-255. + * + * @return void + */ + public function set_priority( $priority ) { + if ( $priority < 0 ) { + $priority = 0; + } elseif ( $priority > 255 ) { + $priority = 255; + } + + $this->priority = (int) $priority; + } + + /** + * Gets the action priority. + * + * @return int + */ + public function get_priority() { + return $this->priority; + } } diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_DBLogger.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_DBLogger.php index 37bfd0d4..d285c8d2 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_DBLogger.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_DBLogger.php @@ -82,7 +82,7 @@ class ActionScheduler_DBLogger extends ActionScheduler_Logger { } /** - * Retrieve the an action's log entries from the database. + * Retrieve an action's log entries from the database. * * @param int $action_id Action ID. * diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_DBStore.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_DBStore.php index 5009454f..602c3dd9 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_DBStore.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_DBStore.php @@ -25,6 +25,13 @@ class ActionScheduler_DBStore extends ActionScheduler_Store { /** @var int */ protected static $max_index_length = 191; + /** @var array List of claim filters. */ + protected $claim_filters = [ + 'group' => '', + 'hooks' => '', + 'exclude-groups' => '', + ]; + /** * Initialize the data store * @@ -84,7 +91,8 @@ class ActionScheduler_DBStore extends ActionScheduler_Store { 'scheduled_date_gmt' => $this->get_scheduled_date_string( $action, $date ), 'scheduled_date_local' => $this->get_scheduled_date_string_local( $action, $date ), 'schedule' => serialize( $action->get_schedule() ), // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_serialize - 'group_id' => $this->get_group_id( $action->get_group() ), + 'group_id' => current( $this->get_group_ids( $action->get_group() ) ), + 'priority' => $action->get_priority(), ); $args = wp_json_encode( $action->get_args() ); @@ -172,6 +180,7 @@ WHERE ( $where_clause ) IS NULL", ActionScheduler_Store::STATUS_RUNNING, ); $pending_status_placeholders = implode( ', ', array_fill( 0, count( $pending_statuses ), '%s' ) ); + // phpcs:disable WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- $pending_status_placeholders is hardcoded. $where_clause = $wpdb->prepare( " @@ -242,23 +251,35 @@ AND `group_id` = %d /** * Get a group's ID based on its name/slug. * - * @param string $slug The string name of a group. - * @param bool $create_if_not_exists Whether to create the group if it does not already exist. Default, true - create the group. + * @param string|array $slugs The string name of a group, or names for several groups. + * @param bool $create_if_not_exists Whether to create the group if it does not already exist. Default, true - create the group. * - * @return int The group's ID, if it exists or is created, or 0 if it does not exist and is not created. + * @return array The group IDs, if they exist or were successfully created. May be empty. */ - protected function get_group_id( $slug, $create_if_not_exists = true ) { - if ( empty( $slug ) ) { - return 0; - } - /** @var \wpdb $wpdb */ - global $wpdb; - $group_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT group_id FROM {$wpdb->actionscheduler_groups} WHERE slug=%s", $slug ) ); - if ( empty( $group_id ) && $create_if_not_exists ) { - $group_id = $this->create_group( $slug ); + protected function get_group_ids( $slugs, $create_if_not_exists = true ) { + $slugs = (array) $slugs; + $group_ids = array(); + + if ( empty( $slugs ) ) { + return array(); } - return $group_id; + /** @var \wpdb $wpdb */ + global $wpdb; + + foreach ( $slugs as $slug ) { + $group_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT group_id FROM {$wpdb->actionscheduler_groups} WHERE slug=%s", $slug ) ); + + if ( empty( $group_id ) && $create_if_not_exists ) { + $group_id = $this->create_group( $slug ); + } + + if ( $group_id ) { + $group_ids[] = $group_id; + } + } + + return $group_ids; } /** @@ -355,7 +376,7 @@ AND `group_id` = %d } $group = $data->group ? $data->group : ''; - return ActionScheduler::factory()->get_stored_action( $data->status, $data->hook, $args, $schedule, $group ); + return ActionScheduler::factory()->get_stored_action( $data->status, $data->hook, $args, $schedule, $group, $data->priority ); } /** @@ -684,7 +705,7 @@ AND `group_id` = %d array( 'per_page' => 1000, 'status' => self::STATUS_PENDING, - 'orderby' => 'action_id', + 'orderby' => 'none', ) ); @@ -796,6 +817,33 @@ AND `group_id` = %d return $wpdb->insert_id; } + /** + * Set a claim filter. + * + * @param string $filter_name Claim filter name. + * @param mixed $filter_values Values to filter. + * @return void + */ + public function set_claim_filter( $filter_name, $filter_values ) { + if ( isset( $this->claim_filters[ $filter_name ] ) ) { + $this->claim_filters[ $filter_name ] = $filter_values; + } + } + + /** + * Get the claim filter value. + * + * @param string $filter_name Claim filter name. + * @return mixed + */ + public function get_claim_filter( $filter_name ) { + if ( isset( $this->claim_filters[ $filter_name ] ) ) { + return $this->claim_filters[ $filter_name ]; + } + + return ''; + } + /** * Mark actions claimed. * @@ -813,9 +861,8 @@ AND `group_id` = %d /** @var \wpdb $wpdb */ global $wpdb; - $now = as_get_datetime_object(); - $date = is_null( $before_date ) ? $now : clone $before_date; - + $now = as_get_datetime_object(); + $date = is_null( $before_date ) ? $now : clone $before_date; // can't use $wpdb->update() because of the <= condition. $update = "UPDATE {$wpdb->actionscheduler_actions} SET claim_id=%d, last_attempt_gmt=%s, last_attempt_local=%s"; $params = array( @@ -824,6 +871,18 @@ AND `group_id` = %d current_time( 'mysql' ), ); + // Set claim filters. + if ( ! empty( $hooks ) ) { + $this->set_claim_filter( 'hooks', $hooks ); + } else { + $hooks = $this->get_claim_filter( 'hooks' ); + } + if ( ! empty( $group ) ) { + $this->set_claim_filter( 'group', $group ); + } else { + $group = $this->get_claim_filter( 'group' ); + } + $where = 'WHERE claim_id = 0 AND scheduled_date_gmt <= %s AND status=%s'; $params[] = $date->format( 'Y-m-d H:i:s' ); $params[] = self::STATUS_PENDING; @@ -834,18 +893,33 @@ AND `group_id` = %d $params = array_merge( $params, array_values( $hooks ) ); } + $group_operator = 'IN'; + if ( empty( $group ) ) { + $group = $this->get_claim_filter( 'exclude-groups' ); + $group_operator = 'NOT IN'; + } + if ( ! empty( $group ) ) { + $group_ids = $this->get_group_ids( $group, false ); - $group_id = $this->get_group_id( $group, false ); - - // throw exception if no matching group found, this matches ActionScheduler_wpPostStore's behaviour. - if ( empty( $group_id ) ) { - /* translators: %s: group name */ - throw new InvalidArgumentException( sprintf( __( 'The group "%s" does not exist.', 'action-scheduler' ), $group ) ); + // throw exception if no matching group(s) found, this matches ActionScheduler_wpPostStore's behaviour. + if ( empty( $group_ids ) ) { + throw new InvalidArgumentException( + sprintf( + /* translators: %s: group name(s) */ + _n( + 'The group "%s" does not exist.', + 'The groups "%s" do not exist.', + is_array( $group ) ? count( $group ) : 1, + 'action-scheduler' + ), + $group + ) + ); } - $where .= ' AND group_id = %d'; - $params[] = $group_id; + $id_list = implode( ',', array_map( 'intval', $group_ids ) ); + $where .= " AND group_id {$group_operator} ( $id_list )"; } /** @@ -855,13 +929,23 @@ AND `group_id` = %d * * @param string $order_by_sql */ - $order = apply_filters( 'action_scheduler_claim_actions_order_by', 'ORDER BY attempts ASC, scheduled_date_gmt ASC, action_id ASC' ); + $order = apply_filters( 'action_scheduler_claim_actions_order_by', 'ORDER BY priority ASC, attempts ASC, scheduled_date_gmt ASC, action_id ASC' ); $params[] = $limit; $sql = $wpdb->prepare( "{$update} {$where} {$order} LIMIT %d", $params ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders $rows_affected = $wpdb->query( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching if ( false === $rows_affected ) { - throw new \RuntimeException( __( 'Unable to claim actions. Database error.', 'action-scheduler' ) ); + $error = empty( $wpdb->last_error ) + ? _x( 'unknown', 'database error', 'action-scheduler' ) + : $wpdb->last_error; + + throw new \RuntimeException( + sprintf( + /* translators: %s database error. */ + __( 'Unable to claim actions. Database error: %s.', 'action-scheduler' ), + $error + ) + ); } return (int) $rows_affected; @@ -912,7 +996,7 @@ AND `group_id` = %d $cut_off = $before_date->format( 'Y-m-d H:i:s' ); $sql = $wpdb->prepare( - "SELECT action_id, scheduled_date_gmt FROM {$wpdb->actionscheduler_actions} WHERE claim_id = %d", + "SELECT action_id, scheduled_date_gmt FROM {$wpdb->actionscheduler_actions} WHERE claim_id = %d ORDER BY priority ASC, attempts ASC, scheduled_date_gmt ASC, action_id ASC", $claim_id ); @@ -955,7 +1039,7 @@ AND `group_id` = %d if ( $row_updates < count( $action_ids ) ) { throw new RuntimeException( sprintf( - __( 'Unable to release actions from claim id %d.', 'woocommerce' ), + __( 'Unable to release actions from claim id %d.', 'action-scheduler' ), $claim->get_id() ) ); @@ -1005,6 +1089,8 @@ AND `group_id` = %d /** * Add execution message to action log. * + * @throws Exception If the action status cannot be updated to self::STATUS_RUNNING ('in-progress'). + * * @param int $action_id Action ID. * * @return void @@ -1015,7 +1101,20 @@ AND `group_id` = %d $sql = "UPDATE {$wpdb->actionscheduler_actions} SET attempts = attempts+1, status=%s, last_attempt_gmt = %s, last_attempt_local = %s WHERE action_id = %d"; $sql = $wpdb->prepare( $sql, self::STATUS_RUNNING, current_time( 'mysql', true ), current_time( 'mysql' ), $action_id ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared - $wpdb->query( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared + + // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared + $status_updated = $wpdb->query( $sql ); + + if ( ! $status_updated ) { + throw new Exception( + sprintf( + /* translators: 1: action ID. 2: status slug. */ + __( 'Unable to update the status of action %1$d to %2$s.', 'action-scheduler' ), + $action_id, + self::STATUS_RUNNING + ) + ); + } } /** diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_wpPostStore.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_wpPostStore.php index 7883ca82..7c6b06d1 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_wpPostStore.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/data-stores/ActionScheduler_wpPostStore.php @@ -936,6 +936,8 @@ class ActionScheduler_wpPostStore extends ActionScheduler_Store { /** * Log Execution. * + * @throws Exception If the action status cannot be updated to self::STATUS_RUNNING ('in-progress'). + * * @param string $action_id Action ID. */ public function log_execution( $action_id ) { @@ -947,7 +949,7 @@ class ActionScheduler_wpPostStore extends ActionScheduler_Store { global $wpdb; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching - $wpdb->query( + $status_updated = $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->posts} SET menu_order = menu_order+1, post_status=%s, post_modified_gmt = %s, post_modified = %s WHERE ID = %d AND post_type = %s", self::STATUS_RUNNING, @@ -957,6 +959,17 @@ class ActionScheduler_wpPostStore extends ActionScheduler_Store { self::POST_TYPE ) ); + + if ( ! $status_updated ) { + throw new Exception( + sprintf( + /* translators: 1: action ID. 2: status slug. */ + __( 'Unable to update the status of action %1$d to %2$s.', 'action-scheduler' ), + $action_id, + self::STATUS_RUNNING + ) + ); + } } /** diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/migration/Runner.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/migration/Runner.php index 867c5de6..2304a79a 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/migration/Runner.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/migration/Runner.php @@ -79,7 +79,7 @@ class Runner { if ( $this->progress_bar ) { /* translators: %d: amount of actions */ - $this->progress_bar->set_message( sprintf( _n( 'Migrating %d action', 'Migrating %d actions', $batch_size, 'action-scheduler' ), number_format_i18n( $batch_size ) ) ); + $this->progress_bar->set_message( sprintf( _n( 'Migrating %d action', 'Migrating %d actions', $batch_size, 'action-scheduler' ), $batch_size ) ); $this->progress_bar->set_count( $batch_size ); } diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/schema/ActionScheduler_StoreSchema.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/schema/ActionScheduler_StoreSchema.php index d52f27f6..a0bd8cb2 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/schema/ActionScheduler_StoreSchema.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/classes/schema/ActionScheduler_StoreSchema.php @@ -16,7 +16,7 @@ class ActionScheduler_StoreSchema extends ActionScheduler_Abstract_Schema { /** * @var int Increment this value to trigger a schema update. */ - protected $schema_version = 6; + protected $schema_version = 7; public function __construct() { $this->tables = [ @@ -38,6 +38,7 @@ class ActionScheduler_StoreSchema extends ActionScheduler_Abstract_Schema { $table_name = $wpdb->$table; $charset_collate = $wpdb->get_charset_collate(); $max_index_length = 191; // @see wp_get_db_schema() + $hook_status_scheduled_date_gmt_max_index_length = $max_index_length - 20 - 8; // - status, - scheduled_date_gmt $default_date = self::DEFAULT_DATE; switch ( $table ) { @@ -49,6 +50,7 @@ class ActionScheduler_StoreSchema extends ActionScheduler_Abstract_Schema { status varchar(20) NOT NULL, scheduled_date_gmt datetime NULL default '{$default_date}', scheduled_date_local datetime NULL default '{$default_date}', + priority tinyint unsigned NOT NULL default '10', args varchar($max_index_length), schedule longtext, group_id bigint(20) unsigned NOT NULL default '0', @@ -58,8 +60,8 @@ class ActionScheduler_StoreSchema extends ActionScheduler_Abstract_Schema { claim_id bigint(20) unsigned NOT NULL default '0', extended_args varchar(8000) DEFAULT NULL, PRIMARY KEY (action_id), - KEY hook (hook($max_index_length)), - KEY status (status), + KEY hook_status_scheduled_date_gmt (hook($hook_status_scheduled_date_gmt_max_index_length), status, scheduled_date_gmt), + KEY status_scheduled_date_gmt (status, scheduled_date_gmt), KEY scheduled_date_gmt (scheduled_date_gmt), KEY args (args($max_index_length)), KEY group_id (group_id), diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/functions.php b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/functions.php index 09ef353d..cf803da3 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/functions.php +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/functions.php @@ -12,10 +12,11 @@ * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @param bool $unique Whether the action should be unique. + * @param int $priority Lower values take precedence over higher values. Defaults to 10, with acceptable values falling in the range 0-255. * - * @return int The action ID. + * @return int The action ID. Zero if there was an error scheduling the action. */ -function as_enqueue_async_action( $hook, $args = array(), $group = '', $unique = false ) { +function as_enqueue_async_action( $hook, $args = array(), $group = '', $unique = false, $priority = 10 ) { if ( ! ActionScheduler::is_initialized( __FUNCTION__ ) ) { return 0; } @@ -33,13 +34,23 @@ function as_enqueue_async_action( $hook, $args = array(), $group = '', $unique = * @param string $hook Action hook. * @param array $args Action arguments. * @param string $group Action group. + * @param int $priority Action priority. */ - $pre = apply_filters( 'pre_as_enqueue_async_action', null, $hook, $args, $group ); + $pre = apply_filters( 'pre_as_enqueue_async_action', null, $hook, $args, $group, $priority ); if ( null !== $pre ) { return is_int( $pre ) ? $pre : 0; } - return ActionScheduler::factory()->async_unique( $hook, $args, $group, $unique ); + return ActionScheduler::factory()->create( + array( + 'type' => 'async', + 'hook' => $hook, + 'arguments' => $args, + 'group' => $group, + 'unique' => $unique, + 'priority' => $priority, + ) + ); } /** @@ -50,10 +61,11 @@ function as_enqueue_async_action( $hook, $args = array(), $group = '', $unique = * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @param bool $unique Whether the action should be unique. + * @param int $priority Lower values take precedence over higher values. Defaults to 10, with acceptable values falling in the range 0-255. * - * @return int The action ID. + * @return int The action ID. Zero if there was an error scheduling the action. */ -function as_schedule_single_action( $timestamp, $hook, $args = array(), $group = '', $unique = false ) { +function as_schedule_single_action( $timestamp, $hook, $args = array(), $group = '', $unique = false, $priority = 10 ) { if ( ! ActionScheduler::is_initialized( __FUNCTION__ ) ) { return 0; } @@ -72,13 +84,24 @@ function as_schedule_single_action( $timestamp, $hook, $args = array(), $group = * @param string $hook Action hook. * @param array $args Action arguments. * @param string $group Action group. + * @param int $priorities Action priority. */ - $pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group ); + $pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group, $priority ); if ( null !== $pre ) { return is_int( $pre ) ? $pre : 0; } - return ActionScheduler::factory()->single_unique( $hook, $args, $timestamp, $group, $unique ); + return ActionScheduler::factory()->create( + array( + 'type' => 'single', + 'hook' => $hook, + 'arguments' => $args, + 'when' => $timestamp, + 'group' => $group, + 'unique' => $unique, + 'priority' => $priority, + ) + ); } /** @@ -90,14 +113,34 @@ function as_schedule_single_action( $timestamp, $hook, $args = array(), $group = * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @param bool $unique Whether the action should be unique. + * @param int $priority Lower values take precedence over higher values. Defaults to 10, with acceptable values falling in the range 0-255. * - * @return int The action ID. + * @return int The action ID. Zero if there was an error scheduling the action. */ -function as_schedule_recurring_action( $timestamp, $interval_in_seconds, $hook, $args = array(), $group = '', $unique = false ) { +function as_schedule_recurring_action( $timestamp, $interval_in_seconds, $hook, $args = array(), $group = '', $unique = false, $priority = 10 ) { if ( ! ActionScheduler::is_initialized( __FUNCTION__ ) ) { return 0; } + $interval = (int) $interval_in_seconds; + + // We expect an integer and allow it to be passed using float and string types, but otherwise + // should reject unexpected values. + if ( ! is_numeric( $interval_in_seconds ) || $interval_in_seconds != $interval ) { + _doing_it_wrong( + __METHOD__, + sprintf( + /* translators: 1: provided value 2: provided type. */ + esc_html__( 'An integer was expected but "%1$s" (%2$s) was received.', 'action-scheduler' ), + esc_html( $interval_in_seconds ), + esc_html( gettype( $interval_in_seconds ) ) + ), + '3.6.0' + ); + + return 0; + } + /** * Provides an opportunity to short-circuit the default process for enqueuing recurring * actions. @@ -113,13 +156,25 @@ function as_schedule_recurring_action( $timestamp, $interval_in_seconds, $hook, * @param string $hook Action hook. * @param array $args Action arguments. * @param string $group Action group. + * @param int $priority Action priority. */ - $pre = apply_filters( 'pre_as_schedule_recurring_action', null, $timestamp, $interval_in_seconds, $hook, $args, $group ); + $pre = apply_filters( 'pre_as_schedule_recurring_action', null, $timestamp, $interval_in_seconds, $hook, $args, $group, $priority ); if ( null !== $pre ) { return is_int( $pre ) ? $pre : 0; } - return ActionScheduler::factory()->recurring_unique( $hook, $args, $timestamp, $interval_in_seconds, $group, $unique ); + return ActionScheduler::factory()->create( + array( + 'type' => 'recurring', + 'hook' => $hook, + 'arguments' => $args, + 'when' => $timestamp, + 'pattern' => $interval_in_seconds, + 'group' => $group, + 'unique' => $unique, + 'priority' => $priority, + ) + ); } /** @@ -143,10 +198,11 @@ function as_schedule_recurring_action( $timestamp, $interval_in_seconds, $hook, * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @param bool $unique Whether the action should be unique. + * @param int $priority Lower values take precedence over higher values. Defaults to 10, with acceptable values falling in the range 0-255. * - * @return int The action ID. + * @return int The action ID. Zero if there was an error scheduling the action. */ -function as_schedule_cron_action( $timestamp, $schedule, $hook, $args = array(), $group = '', $unique = false ) { +function as_schedule_cron_action( $timestamp, $schedule, $hook, $args = array(), $group = '', $unique = false, $priority = 10 ) { if ( ! ActionScheduler::is_initialized( __FUNCTION__ ) ) { return 0; } @@ -166,13 +222,25 @@ function as_schedule_cron_action( $timestamp, $schedule, $hook, $args = array(), * @param string $hook Action hook. * @param array $args Action arguments. * @param string $group Action group. + * @param int $priority Action priority. */ - $pre = apply_filters( 'pre_as_schedule_cron_action', null, $timestamp, $schedule, $hook, $args, $group ); + $pre = apply_filters( 'pre_as_schedule_cron_action', null, $timestamp, $schedule, $hook, $args, $group, $priority ); if ( null !== $pre ) { return is_int( $pre ) ? $pre : 0; } - return ActionScheduler::factory()->cron_unique( $hook, $args, $timestamp, $schedule, $group, $unique ); + return ActionScheduler::factory()->create( + array( + 'type' => 'cron', + 'hook' => $hook, + 'arguments' => $args, + 'when' => $timestamp, + 'pattern' => $schedule, + 'group' => $group, + 'unique' => $unique, + 'priority' => $priority, + ) + ); } /** @@ -215,9 +283,10 @@ function as_unschedule_action( $hook, $args = array(), $group = '' ) { ActionScheduler::logger()->log( $action_id, sprintf( - /* translators: %s is the name of the hook to be cancelled. */ - __( 'Caught exception while cancelling action: %s', 'action-scheduler' ), - esc_attr( $hook ) + /* translators: %1$s is the name of the hook to be cancelled, %2$s is the exception message. */ + __( 'Caught exception while cancelling action "%1$s": %2$s', 'action-scheduler' ), + $hook, + $exception->getMessage() ) ); diff --git a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/readme.txt b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/readme.txt index 3518b154..7e0cc7e7 100644 --- a/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/readme.txt +++ b/wp/wp-content/plugins/imagify/inc/Dependencies/ActionScheduler/readme.txt @@ -1,10 +1,10 @@ === Action Scheduler === Contributors: Automattic, wpmuguru, claudiosanches, peterfabian1000, vedjain, jamosova, obliviousharmony, konamiman, sadowski, royho, barryhughes-1 Tags: scheduler, cron -Requires at least: 5.2 -Tested up to: 6.0 -Stable tag: 3.5.4 +Stable tag: 3.7.1 License: GPLv3 +Requires at least: 6.2 +Tested up to: 6.4 Requires PHP: 5.6 Action Scheduler - Job Queue for WordPress @@ -47,6 +47,66 @@ Collaboration is cool. We'd love to work with you to improve Action Scheduler. [ == Changelog == += 3.7.1 - 2023-12-13 = +* Release/3.7.0. +* Tweak - WP 6.4 compatibility. +* update semver to 5.7.2 because of a security vulnerability in 5.7.1. + += 3.7.0 - 2023-11-20 = +* Important: starting with this release, Action Scheduler follows an L-2 version policy (WordPress, and consequently PHP). +* Add extended indexes for hook_status_scheduled_date_gmt and status_sheduled_date_gmt. +* Catch and log exceptions thrown when actions can't be created, e.g. under a corrupt database schema. +* Release/3.6.4. +* Tweak - WP 6.4 compatibility. +* Update unit tests for upcoming dependency version policy. +* make sure hook action_scheduler_failed_execution can access original exception object. +* mention dependency version policy in usage.md. + += 3.6.4 - 2023-10-11 = +* Performance improvements when bulk cancelling actions. +* Dev-related fixes. + += 3.6.3 - 2023-09-13 = +* Use `_doing_it_wrong` in initialization check. + += 3.6.2 - 2023-08-09 = +* Add guidance about passing arguments. +* Atomic option locking. +* Improve bulk delete handling. +* Include database error in the exception message. +* Tweak - WP 6.3 compatibility. + += 3.6.1 - 2023-06-14 = +* Document new optional `$priority` arg for various API functions. +* Document the new `--exclude-groups` WP CLI option. +* Document the new `action_scheduler_init` hook. +* Ensure actions within each claim are executed in the expected order. +* Fix incorrect text domain. +* Remove SHOW TABLES usage when checking if tables exist. + += 3.6.0 - 2023-05-10 = +* Add $unique parameter to function signatures. +* Add a cast-to-int for extra safety before forming new DateTime object. +* Add a hook allowing exceptions for consistently failing recurring actions. +* Add action priorities. +* Add init hook. +* Always raise the time limit. +* Bump minimatch from 3.0.4 to 3.0.8. +* Bump yaml from 2.2.1 to 2.2.2. +* Defensive coding relating to gaps in declared schedule types. +* Do not process an action if it cannot be set to `in-progress`. +* Filter view labels (status names) should be translatable | #919. +* Fix WPCLI progress messages. +* Improve data-store initialization flow. +* Improve error handling across all supported PHP versions. +* Improve logic for flushing the runtime cache. +* Support exclusion of multiple groups. +* Update lint-staged and Node/NPM requirements. +* add CLI clean command. +* add CLI exclude-group filter. +* exclude past-due from list table all filter count. +* throwing an exception if as_schedule_recurring_action interval param is not of type integer. + = 3.5.4 - 2023-01-17 = * Add pre filters during action registration. * Async scheduling. diff --git a/wp/wp-content/plugins/imagify/inc/admin/upgrader.php b/wp/wp-content/plugins/imagify/inc/admin/upgrader.php index 0fcb1761..3ad5eb48 100644 --- a/wp/wp-content/plugins/imagify/inc/admin/upgrader.php +++ b/wp/wp-content/plugins/imagify/inc/admin/upgrader.php @@ -296,7 +296,7 @@ function _imagify_new_upgrade( $network_version, $site_version ) { // 1.9.6 if ( version_compare( $site_version, '1.9.6' ) < 0 ) { - \Imagify\Stats\OptimizedMediaWithoutWebp::get_instance()->clear_cache(); + \Imagify\Stats\OptimizedMediaWithoutNextGen::get_instance()->clear_cache(); } // 1.9.11 @@ -307,6 +307,11 @@ function _imagify_new_upgrade( $network_version, $site_version ) { if ( version_compare( $site_version, '2.0' ) < 0 ) { Imagify_Options::get_instance()->set( 'optimization_level', 2 ); } + + if ( version_compare( $site_version, '2.2' ) < 0 ) { + Imagify_Options::get_instance()->set( 'display_nextgen', Imagify_Options::get_instance()->get( 'display_webp', 0 ) ); + Imagify_Options::get_instance()->set( 'display_nextgen_method', Imagify_Options::get_instance()->get( 'display_webp_method' ) ); + } } add_action( 'imagify_upgrade', '_imagify_new_upgrade', 10, 2 ); diff --git a/wp/wp-content/plugins/imagify/inc/classes/Dependencies/deliciousbrains/wp-background-processing/classes/wp-async-request.php b/wp/wp-content/plugins/imagify/inc/classes/Dependencies/deliciousbrains/wp-background-processing/classes/wp-async-request.php index 3728718a..083c4209 100644 --- a/wp/wp-content/plugins/imagify/inc/classes/Dependencies/deliciousbrains/wp-background-processing/classes/wp-async-request.php +++ b/wp/wp-content/plugins/imagify/inc/classes/Dependencies/deliciousbrains/wp-background-processing/classes/wp-async-request.php @@ -5,6 +5,11 @@ * @package WP-Background-Processing */ +// phpcs:disable Generic.Commenting.DocComment.MissingShort +/** @noinspection PhpIllegalPsrClassPathInspection */ +/** @noinspection AutoloadingIssuesInspection */ +// phpcs:disable Generic.Commenting.DocComment.MissingShort + /** * Abstract Imagify_WP_Async_Request class. * @@ -51,7 +56,7 @@ abstract class Imagify_WP_Async_Request { protected $data = array(); /** - * Initiate new async request + * Initiate new async request. */ public function __construct() { $this->identifier = $this->prefix . '_' . $this->action; @@ -61,7 +66,7 @@ abstract class Imagify_WP_Async_Request { } /** - * Set data used during the request + * Set data used during the request. * * @param array $data Data. * @@ -74,9 +79,9 @@ abstract class Imagify_WP_Async_Request { } /** - * Dispatch the async request + * Dispatch the async request. * - * @return array|WP_Error + * @return array|WP_Error|false HTTP Response array, WP_Error on failure, or false if not attempted. */ public function dispatch() { $url = add_query_arg( $this->get_query_args(), $this->get_query_url() ); @@ -86,7 +91,7 @@ abstract class Imagify_WP_Async_Request { } /** - * Get query args + * Get query args. * * @return array */ @@ -109,7 +114,7 @@ abstract class Imagify_WP_Async_Request { } /** - * Get query URL + * Get query URL. * * @return string */ @@ -129,7 +134,7 @@ abstract class Imagify_WP_Async_Request { } /** - * Get post args + * Get post args. * * @return array */ @@ -139,11 +144,11 @@ abstract class Imagify_WP_Async_Request { } $args = array( - 'timeout' => 0.01, + 'timeout' => 5, 'blocking' => false, 'body' => $this->data, - 'cookies' => $_COOKIE, - 'sslverify' => apply_filters( 'https_local_ssl_verify', false ), + 'cookies' => $_COOKIE, // Passing cookies ensures request is performed as initiating user. + 'sslverify' => apply_filters( 'https_local_ssl_verify', false ), // Local requests, fine to pass false. ); /** @@ -155,27 +160,49 @@ abstract class Imagify_WP_Async_Request { } /** - * Maybe handle + * Maybe handle a dispatched request. * * Check for correct nonce and pass to handler. + * + * @return void|mixed */ public function maybe_handle() { - // Don't lock up other requests while processing + // Don't lock up other requests while processing. session_write_close(); check_ajax_referer( $this->identifier, 'nonce' ); $this->handle(); - wp_die(); + return $this->maybe_wp_die(); } /** - * Handle + * Should the process exit with wp_die? + * + * @param mixed $return What to return if filter says don't die, default is null. + * + * @return void|mixed + * @noinspection ForgottenDebugOutputInspection + */ + protected function maybe_wp_die( $return = null ) { + /** + * Should wp_die be used? + * + * @return bool + */ + if ( apply_filters( $this->identifier . '_wp_die', true ) ) { + wp_die(); + } + + return $return; + } + + /** + * Handle a dispatched request. * * Override this method to perform any actions required * during the async request. */ abstract protected function handle(); - } diff --git a/wp/wp-content/plugins/imagify/inc/classes/Dependencies/deliciousbrains/wp-background-processing/classes/wp-background-process.php b/wp/wp-content/plugins/imagify/inc/classes/Dependencies/deliciousbrains/wp-background-processing/classes/wp-background-process.php index 3928be66..56bbe847 100644 --- a/wp/wp-content/plugins/imagify/inc/classes/Dependencies/deliciousbrains/wp-background-processing/classes/wp-background-process.php +++ b/wp/wp-content/plugins/imagify/inc/classes/Dependencies/deliciousbrains/wp-background-processing/classes/wp-background-process.php @@ -5,6 +5,11 @@ * @package WP-Background-Processing */ +// phpcs:disable Generic.Commenting.DocComment.MissingShort +/** @noinspection PhpIllegalPsrClassPathInspection */ +/** @noinspection AutoloadingIssuesInspection */ +// phpcs:disable Generic.Commenting.DocComment.MissingShort + /** * Abstract Imagify_WP_Background_Process class. * @@ -36,7 +41,7 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { /** * Cron_hook_identifier * - * @var mixed + * @var string * @access protected */ protected $cron_hook_identifier; @@ -44,13 +49,27 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { /** * Cron_interval_identifier * - * @var mixed + * @var string * @access protected */ protected $cron_interval_identifier; /** - * Initiate new background process + * The status set when process is cancelling. + * + * @var int + */ + const STATUS_CANCELLED = 1; + + /** + * The status set when process is paused or pausing. + * + * @var int; + */ + const STATUS_PAUSED = 2; + + /** + * Initiate new background process. */ public function __construct() { parent::__construct(); @@ -59,16 +78,22 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { $this->cron_interval_identifier = $this->identifier . '_cron_interval'; add_action( $this->cron_hook_identifier, array( $this, 'handle_cron_healthcheck' ) ); + // phpcs:ignore WordPress.WP.CronInterval.ChangeDetected add_filter( 'cron_schedules', array( $this, 'schedule_cron_healthcheck' ) ); } /** - * Dispatch + * Schedule the cron healthcheck and dispatch an async request to start processing the queue. * * @access public - * @return void + * @return array|WP_Error|false HTTP Response array, WP_Error on failure, or false if not attempted. */ public function dispatch() { + if ( $this->is_processing() ) { + // Process already running. + return false; + } + // Schedule the cron healthcheck. $this->schedule_event(); @@ -77,7 +102,9 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Push to queue + * Push to the queue. + * + * Note, save must be called in order to persist queued items to a batch for processing. * * @param mixed $data Data. * @@ -90,7 +117,7 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Save queue + * Save the queued items for future processing. * * @return $this */ @@ -101,11 +128,14 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { update_site_option( $key, $this->data ); } + // Clean out data so that new data isn't prepended with closed session's data. + $this->data = array(); + return $this; } /** - * Update queue + * Update a batch's queued items. * * @param string $key Key. * @param array $data Data. @@ -121,7 +151,7 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Delete queue + * Delete a batch of queued items. * * @param string $key Key. * @@ -134,83 +164,209 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Generate key + * Delete entire job queue. + */ + public function delete_all() { + $batches = $this->get_batches(); + + foreach ( $batches as $batch ) { + $this->delete( $batch->key ); + } + + delete_site_option( $this->get_status_key() ); + + $this->cancelled(); + } + + /** + * Cancel job on next batch. + */ + public function cancel() { + update_site_option( $this->get_status_key(), self::STATUS_CANCELLED ); + + // Just in case the job was paused at the time. + $this->dispatch(); + } + + /** + * Has the process been cancelled? + * + * @return bool + */ + public function is_cancelled() { + $status = get_site_option( $this->get_status_key(), 0 ); + + return absint( $status ) === self::STATUS_CANCELLED; + } + + /** + * Called when background process has been cancelled. + */ + protected function cancelled() { + do_action( $this->identifier . '_cancelled' ); + } + + /** + * Pause job on next batch. + */ + public function pause() { + update_site_option( $this->get_status_key(), self::STATUS_PAUSED ); + } + + /** + * Is the job paused? + * + * @return bool + */ + public function is_paused() { + $status = get_site_option( $this->get_status_key(), 0 ); + + return absint( $status ) === self::STATUS_PAUSED; + } + + /** + * Called when background process has been paused. + */ + protected function paused() { + do_action( $this->identifier . '_paused' ); + } + + /** + * Resume job. + */ + public function resume() { + delete_site_option( $this->get_status_key() ); + + $this->schedule_event(); + $this->dispatch(); + $this->resumed(); + } + + /** + * Called when background process has been resumed. + */ + protected function resumed() { + do_action( $this->identifier . '_resumed' ); + } + + /** + * Is queued? + * + * @return bool + */ + public function is_queued() { + return ! $this->is_queue_empty(); + } + + /** + * Is the tool currently active, e.g. starting, working, paused or cleaning up? + * + * @return bool + */ + public function is_active() { + return $this->is_queued() || $this->is_processing() || $this->is_paused() || $this->is_cancelled(); + } + + /** + * Generate key for a batch. * * Generates a unique key based on microtime. Queue items are * given a unique key so that they can be merged upon save. * - * @param int $length Length. + * @param int $length Optional max length to trim key to, defaults to 64 characters. + * @param string $key Optional string to append to identifier before hash, defaults to "batch". * * @return string */ - protected function generate_key( $length = 64 ) { - $unique = md5( microtime() . rand() ); - $prepend = $this->identifier . '_batch_'; + protected function generate_key( $length = 64, $key = 'batch' ) { + $unique = md5( microtime() . wp_rand() ); + $prepend = $this->identifier . '_' . $key . '_'; return substr( $prepend . $unique, 0, $length ); } /** - * Maybe process queue + * Get the status key. + * + * @return string + */ + protected function get_status_key() { + return $this->identifier . '_status'; + } + + /** + * Maybe process a batch of queued items. * * Checks whether data exists within the queue and that * the process is not already running. */ public function maybe_handle() { - // Don't lock up other requests while processing + // Don't lock up other requests while processing. session_write_close(); - if ( $this->is_process_running() ) { + if ( $this->is_processing() ) { // Background process already running. - wp_die(); + return $this->maybe_wp_die(); + } + + if ( $this->is_cancelled() ) { + $this->clear_scheduled_event(); + $this->delete_all(); + + return $this->maybe_wp_die(); + } + + if ( $this->is_paused() ) { + $this->clear_scheduled_event(); + $this->paused(); + + return $this->maybe_wp_die(); } if ( $this->is_queue_empty() ) { // No data to process. - wp_die(); + return $this->maybe_wp_die(); } check_ajax_referer( $this->identifier, 'nonce' ); $this->handle(); - wp_die(); + return $this->maybe_wp_die(); } /** - * Is queue empty + * Is queue empty? * * @return bool + * @noinspection IsEmptyFunctionUsageInspection */ protected function is_queue_empty() { - global $wpdb; - - $table = $wpdb->options; - $column = 'option_name'; - - if ( is_multisite() ) { - $table = $wpdb->sitemeta; - $column = 'meta_key'; - } - - $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%'; - - $count = $wpdb->get_var( $wpdb->prepare( " - SELECT COUNT(*) - FROM {$table} - WHERE {$column} LIKE %s - ", $key ) ); - - return ( $count > 0 ) ? false : true; + return empty( $this->get_batch() ); } /** - * Is process running + * Is process running? * * Check whether the current process is already running * in a background process. + * + * @return bool + * + * @deprecated 1.1.0 Superseded. + * @see is_processing() + * @noinspection PhpUnused */ protected function is_process_running() { + return $this->is_processing(); + } + + /** + * Is the background process currently running? + * + * @return bool + */ + public function is_processing() { if ( get_site_transient( $this->identifier . '_process_lock' ) ) { // Process already running. return true; @@ -220,7 +376,7 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Lock process + * Lock process. * * Lock the process so that multiple instances can't run simultaneously. * Override if applicable, but the duration should be greater than that @@ -236,7 +392,7 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Unlock process + * Unlock process. * * Unlock the process so that other instances can spawn. * @@ -249,13 +405,34 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Get batch + * Get batch. * - * @return stdClass Return the first batch from the queue + * @return stdClass Return the first batch of queued items. */ protected function get_batch() { + return array_reduce( + $this->get_batches( 1 ), + static function ( $carry, $batch ) { + return $batch; + }, + array() + ); + } + + /** + * Get batches. + * + * @param int $limit Number of batches to return, defaults to all. + * + * @return array of stdClass + */ + public function get_batches( $limit = 0 ) { global $wpdb; + if ( empty( $limit ) || ! is_int( $limit ) ) { + $limit = 0; + } + $table = $wpdb->options; $column = 'option_name'; $key_column = 'option_id'; @@ -270,30 +447,68 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%'; - $query = $wpdb->get_row( $wpdb->prepare( " + $sql = ' SELECT * - FROM {$table} - WHERE {$column} LIKE %s - ORDER BY {$key_column} ASC - LIMIT 1 - ", $key ) ); + FROM ' . $table . ' + WHERE ' . $column . ' LIKE %s + ORDER BY ' . $key_column . ' + '; - $batch = new stdClass(); - $batch->key = $query->$column; - $batch->data = maybe_unserialize( $query->$value_column ); + $args = array( $key ); - return $batch; + if ( ! empty( $limit ) ) { + $sql .= ' LIMIT %d'; + + $args[] = $limit; + } + + $items = $wpdb->get_results( $wpdb->prepare( $sql, $args ) ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared + + $batches = array(); + + if ( ! empty( $items ) ) { + $batches = array_map( + static function ( $item ) use ( $column, $value_column ) { + $batch = new stdClass(); + $batch->key = $item->{$column}; + $batch->data = maybe_unserialize( $item->{$value_column} ); + + return $batch; + }, + $items + ); + } + + return $batches; } /** - * Handle + * Handle a dispatched request. * * Pass each queue item to the task handler, while remaining * within server memory and time limit constraints. + * + * @noinspection DisconnectedForeachInstructionInspection */ protected function handle() { $this->lock_process(); + /** + * Number of seconds to sleep between batches. Defaults to 0 seconds, minimum 0. + * + * @param int $seconds + */ + $throttle_seconds = max( + 0, + apply_filters( + $this->identifier . '_seconds_between_batches', + apply_filters( + $this->prefix . '_seconds_between_batches', + 0 + ) + ) + ); + do { $batch = $this->get_batch(); @@ -306,19 +521,25 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { unset( $batch->data[ $key ] ); } - if ( $this->time_exceeded() || $this->memory_exceeded() ) { - // Batch limits reached. + // Keep the batch up to date while processing it. + if ( ! empty( $batch->data ) ) { + $this->update( $batch->key, $batch->data ); + } + + // Let the server breathe a little. + sleep( $throttle_seconds ); + + // Batch limits reached, or pause or cancel request. + if ( $this->time_exceeded() || $this->memory_exceeded() || $this->is_paused() || $this->is_cancelled() ) { break; } } - // Update or delete current batch. - if ( ! empty( $batch->data ) ) { - $this->update( $batch->key, $batch->data ); - } else { + // Delete current batch if fully processed. + if ( empty( $batch->data ) ) { $this->delete( $batch->key ); } - } while ( ! $this->time_exceeded() && ! $this->memory_exceeded() && ! $this->is_queue_empty() ); + } while ( ! $this->time_exceeded() && ! $this->memory_exceeded() && ! $this->is_queue_empty() && ! $this->is_paused() && ! $this->is_cancelled() ); $this->unlock_process(); @@ -329,11 +550,11 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { $this->complete(); } - wp_die(); + return $this->maybe_wp_die(); } /** - * Memory exceeded + * Memory exceeded? * * Ensures the batch process never exceeds 90% * of the maximum WordPress memory. @@ -353,7 +574,7 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Get memory limit + * Get memory limit in bytes. * * @return int */ @@ -365,7 +586,7 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { $memory_limit = '128M'; } - if ( ! $memory_limit || - 1 === intval( $memory_limit ) ) { + if ( ! $memory_limit || -1 === (int) $memory_limit ) { // Unlimited, set to 32GB. $memory_limit = '32000M'; } @@ -374,7 +595,7 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Time exceeded. + * Time limit exceeded? * * Ensures the batch never exceeds a sensible time limit. * A timeout limit of 30s is common on shared hosting. @@ -385,7 +606,10 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { $finish = $this->start_time + apply_filters( $this->identifier . '_default_time_limit', 20 ); // 20 seconds $return = false; - if ( time() >= $finish ) { + if ( + ! ( defined( 'WP_CLI' ) && WP_CLI ) && + time() >= $finish + ) { $return = true; } @@ -393,18 +617,29 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Complete. + * Complete processing. * * Override if applicable, but ensure that the below actions are * performed, or, call parent::complete(). */ protected function complete() { - // Unschedule the cron healthcheck. + delete_site_option( $this->get_status_key() ); + + // Remove the cron healthcheck job from the cron schedule. $this->clear_scheduled_event(); + + $this->completed(); } /** - * Schedule cron healthcheck + * Called when background process has completed. + */ + protected function completed() { + do_action( $this->identifier . '_completed' ); + } + + /** + * Schedule the cron healthcheck job. * * @access public * @@ -413,29 +648,35 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { * @return mixed */ public function schedule_cron_healthcheck( $schedules ) { - $interval = apply_filters( $this->identifier . '_cron_interval', 5 ); + $interval = apply_filters( $this->cron_interval_identifier, 5 ); if ( property_exists( $this, 'cron_interval' ) ) { - $interval = apply_filters( $this->identifier . '_cron_interval', $this->cron_interval ); + $interval = apply_filters( $this->cron_interval_identifier, $this->cron_interval ); } - // Adds every 5 minutes to the existing schedules. - $schedules[ $this->identifier . '_cron_interval' ] = array( + if ( 1 === $interval ) { + $display = __( 'Every Minute' ); + } else { + $display = sprintf( __( 'Every %d Minutes' ), $interval ); + } + + // Adds an "Every NNN Minute(s)" schedule to the existing cron schedules. + $schedules[ $this->cron_interval_identifier ] = array( 'interval' => MINUTE_IN_SECONDS * $interval, - 'display' => sprintf( __( 'Every %d Minutes' ), $interval ), + 'display' => $display, ); return $schedules; } /** - * Handle cron healthcheck + * Handle cron healthcheck event. * * Restart the background process if not already running * and data exists in the queue. */ public function handle_cron_healthcheck() { - if ( $this->is_process_running() ) { + if ( $this->is_processing() ) { // Background process already running. exit; } @@ -446,13 +687,11 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { exit; } - $this->handle(); - - exit; + $this->dispatch(); } /** - * Schedule event + * Schedule the cron healthcheck event. */ protected function schedule_event() { if ( ! wp_next_scheduled( $this->cron_hook_identifier ) ) { @@ -461,7 +700,7 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Clear scheduled event + * Clear scheduled cron healthcheck event. */ protected function clear_scheduled_event() { $timestamp = wp_next_scheduled( $this->cron_hook_identifier ); @@ -472,24 +711,20 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { } /** - * Cancel Process + * Cancel the background process. * - * Stop processing queue items, clear cronjob and delete batch. + * Stop processing queue items, clear cron job and delete batch. * + * @deprecated 1.1.0 Superseded. + * @see cancel() + * @noinspection PhpUnused */ public function cancel_process() { - if ( ! $this->is_queue_empty() ) { - $batch = $this->get_batch(); - - $this->delete( $batch->key ); - - wp_clear_scheduled_hook( $this->cron_hook_identifier ); - } - + $this->cancel(); } /** - * Task + * Perform task with queued item. * * Override this method to perform any actions required on each * queue item. Return the modified item for further processing @@ -501,5 +736,4 @@ abstract class Imagify_WP_Background_Process extends Imagify_WP_Async_Request { * @return mixed */ abstract protected function task( $item ); - -} \ No newline at end of file +} diff --git a/wp/wp-content/plugins/imagify/inc/classes/Dependencies/wp-media/event-manager/EventManager.php b/wp/wp-content/plugins/imagify/inc/classes/Dependencies/wp-media/event-manager/EventManager.php new file mode 100644 index 00000000..5b593e5a --- /dev/null +++ b/wp/wp-content/plugins/imagify/inc/classes/Dependencies/wp-media/event-manager/EventManager.php @@ -0,0 +1,135 @@ + + */ +class EventManager { + /** + * Adds a callback to a specific hook of the WordPress plugin API. + * + * @uses add_filter() + * + * @param string $hook_name Name of the hook. + * @param callable $callback Callback function. + * @param int $priority Priority. + * @param int $accepted_args Number of arguments. + */ + public function add_callback( $hook_name, $callback, $priority = 10, $accepted_args = 1 ) { + add_filter( $hook_name, $callback, $priority, $accepted_args ); + } + + /** + * Add an event subscriber. + * + * The event manager registers all the hooks that the given subscriber + * wants to register with the WordPress Plugin API. + * + * @param SubscriberInterface $subscriber SubscriberInterface implementation. + */ + public function add_subscriber( SubscriberInterface $subscriber ) { + if ( $subscriber instanceof EventManagerAwareSubscriberInterface ) { + $subscriber->set_event_manager( $this ); + } + + $events = $subscriber->get_subscribed_events(); + + if ( empty( $events ) ) { + return; + } + + foreach ( $subscriber->get_subscribed_events() as $hook_name => $parameters ) { + $this->add_subscriber_callback( $subscriber, $hook_name, $parameters ); + } + } + + /** + * Checks the WordPress plugin API to see if the given hook has + * the given callback. The priority of the callback will be returned + * or false. If no callback is given will return true or false if + * there's any callbacks registered to the hook. + * + * @uses has_filter() + * + * @param string $hook_name Hook name. + * @param mixed $callback Callback. + * + * @return bool|int + */ + public function has_callback( $hook_name, $callback = false ) { + return has_filter( $hook_name, $callback ); + } + + /** + * Removes the given callback from the given hook. The WordPress plugin API only + * removes the hook if the callback and priority match a registered hook. + * + * @uses remove_filter() + * + * @param string $hook_name Hook name. + * @param callable $callback Callback. + * @param int $priority Priority. + * + * @return bool + */ + public function remove_callback( $hook_name, $callback, $priority = 10 ) { + return remove_filter( $hook_name, $callback, $priority ); + } + + /** + * Remove an event subscriber. + * + * The event manager removes all the hooks that the given subscriber + * wants to register with the WordPress Plugin API. + * + * @param SubscriberInterface $subscriber SubscriberInterface implementation. + */ + public function remove_subscriber( SubscriberInterface $subscriber ) { + foreach ( $subscriber->get_subscribed_events() as $hook_name => $parameters ) { + $this->remove_subscriber_callback( $subscriber, $hook_name, $parameters ); + } + } + + /** + * Adds the given subscriber's callback to a specific hook + * of the WordPress plugin API. + * + * @param SubscriberInterface $subscriber SubscriberInterface implementation. + * @param string $hook_name Hook name. + * @param mixed $parameters Parameters, can be a string, an array or a multidimensional array. + */ + private function add_subscriber_callback( SubscriberInterface $subscriber, $hook_name, $parameters ) { + if ( is_string( $parameters ) ) { + $this->add_callback( $hook_name, [ $subscriber, $parameters ] ); + } elseif ( is_array( $parameters ) && count( $parameters ) !== count( $parameters, COUNT_RECURSIVE ) ) { + foreach ( $parameters as $parameter ) { + $this->add_subscriber_callback( $subscriber, $hook_name, $parameter ); + } + } elseif ( is_array( $parameters ) && isset( $parameters[0] ) ) { + $this->add_callback( $hook_name, [ $subscriber, $parameters[0] ], isset( $parameters[1] ) ? $parameters[1] : 10, isset( $parameters[2] ) ? $parameters[2] : 1 ); + } + } + + /** + * Removes the given subscriber's callback to a specific hook + * of the WordPress plugin API. + * + * @param SubscriberInterface $subscriber SubscriberInterface implementation. + * @param string $hook_name Hook name. + * @param mixed $parameters Parameters, can be a string, an array or a multidimensional array. + */ + private function remove_subscriber_callback( SubscriberInterface $subscriber, $hook_name, $parameters ) { + if ( is_string( $parameters ) ) { + $this->remove_callback( $hook_name, [ $subscriber, $parameters ] ); + } elseif ( is_array( $parameters ) && count( $parameters ) !== count( $parameters, COUNT_RECURSIVE ) ) { + foreach ( $parameters as $parameter ) { + $this->remove_subscriber_callback( $subscriber, $hook_name, $parameter ); + } + } elseif ( is_array( $parameters ) && isset( $parameters[0] ) ) { + $this->remove_callback( $hook_name, [ $subscriber, $parameters[0] ], isset( $parameters[1] ) ? $parameters[1] : 10 ); + } + } +} diff --git a/wp/wp-content/plugins/imagify/inc/classes/Dependencies/wp-media/event-manager/EventManagerAwareSubscriberInterface.php b/wp/wp-content/plugins/imagify/inc/classes/Dependencies/wp-media/event-manager/EventManagerAwareSubscriberInterface.php new file mode 100644 index 00000000..b0920182 --- /dev/null +++ b/wp/wp-content/plugins/imagify/inc/classes/Dependencies/wp-media/event-manager/EventManagerAwareSubscriberInterface.php @@ -0,0 +1,14 @@ + + */ +interface SubscriberInterface { + /** + * Returns an array of events that this subscriber wants to listen to. + * + * The array key is the event name. The value can be: + * + * * The method name + * * An array with the method name and priority + * * An array with the method name, priority and number of accepted arguments + * + * For instance: + * + * * array('hook_name' => '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(); +} diff --git a/wp/wp-content/plugins/imagify/inc/classes/class-imagify-admin-ajax-post.php b/wp/wp-content/plugins/imagify/inc/classes/class-imagify-admin-ajax-post.php index 4d543973..420ebbcb 100644 --- a/wp/wp-content/plugins/imagify/inc/classes/class-imagify-admin-ajax-post.php +++ b/wp/wp-content/plugins/imagify/inc/classes/class-imagify-admin-ajax-post.php @@ -27,8 +27,8 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated { 'imagify_manual_optimize', 'imagify_manual_reoptimize', 'imagify_optimize_missing_sizes', - 'imagify_generate_webp_versions', - 'imagify_delete_webp_versions', + 'imagify_generate_nextgen_versions', + 'imagify_delete_nextgen_versions', 'imagify_restore', // Custom folders optimization. 'imagify_optimize_file', @@ -194,7 +194,7 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated { } /** - * Generate WebP images if they are missing. + * Generate next-gen images if they are missing. * * @since 1.9 * @@ -202,12 +202,12 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated { * @param string $context The context. * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ - protected function generate_webp_versions( $media_id, $context ) { - return imagify_get_optimization_process( $media_id, $context )->generate_webp_versions(); + protected function generate_nextgen_versions( $media_id, $context ) { + return imagify_get_optimization_process( $media_id, $context )->generate_nextgen_versions(); } /** - * Delete WebP images for media that are "already_optimize". + * Delete Next gen images for media that are "already_optimize". * * @since 1.9.6 * @@ -215,7 +215,7 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated { * @param string $context The context. * @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure. */ - protected function delete_webp_versions( $media_id, $context ) { + protected function delete_nextgen_versions( $media_id, $context ) { $process = imagify_get_optimization_process( $media_id, $context ); if ( ! $process->is_valid() ) { @@ -228,15 +228,15 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated { return new WP_Error( 'not_already_optimized', __( 'This media does not have the right optimization status.', 'imagify' ) ); } - if ( ! $process->has_webp() ) { + if ( ! $process->has_next_gen() ) { return true; } $data->delete_optimization_data(); - $deleted = $process->delete_webp_files(); + $deleted = $process->delete_nextgen_files( false, true ); if ( is_wp_error( $deleted ) ) { - return new WP_Error( 'webp_not_deleted', __( 'Previous WebP files could not be deleted.', 'imagify' ) ); + return new WP_Error( 'nextgen_not_deleted', __( 'Previous next-gen files could not be deleted.', 'imagify' ) ); } return true; @@ -359,11 +359,11 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated { } /** - * Generate WebP images if they are missing. + * Generate next-gen images if they are missing. * * @since 1.9 */ - public function imagify_generate_webp_versions_callback() { + public function imagify_generate_nextgen_versions_callback() { $context = $this->get_context(); $media_id = $this->get_media_id(); @@ -371,13 +371,13 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated { imagify_die( __( 'Invalid request', 'imagify' ) ); } - imagify_check_nonce( 'imagify-generate-webp-versions-' . $media_id . '-' . $context ); + imagify_check_nonce( 'imagify-generate-nextgen-versions-' . $media_id . '-' . $context ); if ( ! imagify_get_context( $context )->current_user_can( 'manual-optimize', $media_id ) ) { imagify_die(); } - $result = $this->generate_webp_versions( $media_id, $context ); + $result = $this->generate_nextgen_versions( $media_id, $context ); imagify_maybe_redirect( is_wp_error( $result ) ? $result : false ); @@ -392,11 +392,11 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated { } /** - * Generate WebP images if they are missing. + * Generate next-gen images if they are missing. * * @since 1.9.6 */ - public function imagify_delete_webp_versions_callback() { + public function imagify_delete_nextgen_versions_callback() { $context = $this->get_context(); $media_id = $this->get_media_id(); @@ -404,13 +404,13 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated { imagify_die( __( 'Invalid request', 'imagify' ) ); } - imagify_check_nonce( 'imagify-delete-webp-versions-' . $media_id . '-' . $context ); + imagify_check_nonce( 'imagify-delete-nextgen-versions-' . $media_id . '-' . $context ); if ( ! imagify_get_context( $context )->current_user_can( 'manual-restore', $media_id ) ) { imagify_die(); } - $result = $this->delete_webp_versions( $media_id, $context ); + $result = $this->delete_nextgen_versions( $media_id, $context ); imagify_maybe_redirect( is_wp_error( $result ) ? $result : false ); diff --git a/wp/wp-content/plugins/imagify/inc/classes/class-imagify-files-list-table.php b/wp/wp-content/plugins/imagify/inc/classes/class-imagify-files-list-table.php index 0ca273f1..eddf8191 100644 --- a/wp/wp-content/plugins/imagify/inc/classes/class-imagify-files-list-table.php +++ b/wp/wp-content/plugins/imagify/inc/classes/class-imagify-files-list-table.php @@ -606,11 +606,11 @@ class Imagify_Files_List_Table extends WP_List_Table { process->get_media()->is_image() ) { - $has_webp = $item->process->has_webp() ? __( 'Yes', 'imagify' ) : __( 'No', 'imagify' ); + $has_nextgen = $item->process->has_next_gen() ? __( 'Yes', 'imagify' ) : __( 'No', 'imagify' ); ?>
  • - - + +
  • optimize_button( $item ); $this->retry_button( $item ); $this->reoptimize_buttons( $item ); - $this->generate_webp_versions_button( $item ); - $this->delete_webp_versions_button( $item ); + $this->generate_nextgen_versions_button( $item ); + $this->delete_nextgen_versions_button( $item ); $this->restore_button( $item ); } @@ -806,14 +806,14 @@ class Imagify_Files_List_Table extends WP_List_Table { } /** - * Prints a button to generate WebP versions if they are missing. + * Prints a button to generate Next gen versions if they are missing. * * @since 1.7 * * @param object $item The current item. It must contain at least a $process property. */ - protected function generate_webp_versions_button( $item ) { - $button = get_imagify_attachment_generate_webp_versions_link( $item->process ); + protected function generate_nextgen_versions_button( $item ) { + $button = get_imagify_attachment_generate_nextgen_versions_link( $item->process ); if ( $button ) { echo $button . '
    '; @@ -821,14 +821,14 @@ class Imagify_Files_List_Table extends WP_List_Table { } /** - * Prints a button to delete WebP versions when the status is "already_optimized". + * Prints a button to delete next-gen versions when the status is "already_optimized". * * @since 1.9.6 * * @param object $item The current item. It must contain at least a $process property. */ - protected function delete_webp_versions_button( $item ) { - $button = get_imagify_attachment_delete_webp_versions_link( $item->process ); + protected function delete_nextgen_versions_button( $item ) { + $button = get_imagify_attachment_delete_nextgen_versions_link( $item->process ); if ( $button ) { echo $button . '
    '; diff --git a/wp/wp-content/plugins/imagify/inc/classes/class-imagify-options.php b/wp/wp-content/plugins/imagify/inc/classes/class-imagify-options.php index 9c196ce4..87bce7bf 100644 --- a/wp/wp-content/plugins/imagify/inc/classes/class-imagify-options.php +++ b/wp/wp-content/plugins/imagify/inc/classes/class-imagify-options.php @@ -27,20 +27,23 @@ class Imagify_Options extends Imagify_Abstract_Options { * @since 1.7 */ protected $default_values = [ - 'api_key' => '', - 'optimization_level' => 2, - 'lossless' => 0, - 'auto_optimize' => 0, - 'backup' => 0, - 'resize_larger' => 0, - 'resize_larger_w' => 0, - 'convert_to_webp' => 0, + 'api_key' => '', + 'optimization_level' => 2, + 'lossless' => 0, + 'auto_optimize' => 0, + 'backup' => 0, + 'resize_larger' => 0, + 'resize_larger_w' => 0, + 'display_nextgen' => 0, + 'display_nextgen_method' => 'picture', 'display_webp' => 0, 'display_webp_method' => 'picture', - 'cdn_url' => '', - 'disallowed-sizes' => [], - 'admin_bar_menu' => 0, - 'partner_links' => 0, + 'cdn_url' => '', + 'disallowed-sizes' => [], + 'admin_bar_menu' => 0, + 'partner_links' => 0, + 'convert_to_avif' => 0, + 'convert_to_webp' => 0, ]; /** @@ -54,7 +57,6 @@ class Imagify_Options extends Imagify_Abstract_Options { 'optimization_level' => 2, 'auto_optimize' => 1, 'backup' => 1, - 'convert_to_webp' => 1, 'admin_bar_menu' => 1, 'partner_links' => 1, ]; @@ -131,10 +133,12 @@ class Imagify_Options extends Imagify_Abstract_Options { case 'lossless': case 'resize_larger': case 'convert_to_webp': + case 'display_nextgen': case 'display_webp': case 'admin_bar_menu': case 'partner_links': - return 1; + case 'convert_to_avif': + return empty( $value ) ? 0 : 1; case 'resize_larger_w': if ( $value <= 0 ) { @@ -159,6 +163,7 @@ class Imagify_Options extends Imagify_Abstract_Options { $value = array_map( 'sanitize_text_field', $value ); return array_fill_keys( $value, 1 ); + case 'display_nextgen_method': case 'display_webp_method': $values = [ 'picture' => 1, @@ -172,7 +177,7 @@ class Imagify_Options extends Imagify_Abstract_Options { return $reset_values[ $key ]; case 'cdn_url': - $cdn_source = \Imagify\Webp\Picture\Display::get_instance()->get_cdn_source( $value ); + $cdn_source = apply_filters( 'imagify_cdn_source_url', $value ); if ( 'option' !== $cdn_source['source'] ) { /** @@ -202,11 +207,6 @@ class Imagify_Options extends Imagify_Abstract_Options { unset( $values['resize_larger'], $values['resize_larger_w'] ); } - // Don't display wepb if conversion is disabled. - if ( empty( $values['convert_to_webp'] ) ) { - unset( $values['convert_to_webp'], $values['display_webp'] ); - } - return $values; } } diff --git a/wp/wp-content/plugins/imagify/inc/common/attachments.php b/wp/wp-content/plugins/imagify/inc/common/attachments.php index b58f070e..ddf34d61 100644 --- a/wp/wp-content/plugins/imagify/inc/common/attachments.php +++ b/wp/wp-content/plugins/imagify/inc/common/attachments.php @@ -22,7 +22,7 @@ function imagify_trigger_delete_attachment_hook( $post_id ) { add_action( 'imagify_delete_media', 'imagify_cleanup_after_media_deletion' ); /** - * Delete the backup file and the WebP files when an attachement is deleted. + * Delete the backup file and the next-gen files when an attachement is deleted. * * @since 1.9 * @author Grégory Viguier @@ -36,15 +36,16 @@ function imagify_cleanup_after_media_deletion( $process ) { /** * The optimization data will be automatically deleted by WP (post metas). - * Delete the WebP versions and the backup file. + * Delete the Nextgen versions and the backup file. */ - $process->delete_webp_files(); + $process->delete_nextgen_files( false, true ); + $process->delete_backup(); } -add_filter( 'ext2type', 'imagify_add_webp_type' ); +add_filter( 'ext2type', 'imagify_add_avif_type' ); /** - * Add the WebP extension to wp_get_ext_types(). + * Add the AVIF extension to wp_get_ext_types(). * * @since 1.9 * @author Grégory Viguier @@ -52,9 +53,9 @@ add_filter( 'ext2type', 'imagify_add_webp_type' ); * @param array $ext2type Multi-dimensional array with extensions for a default set of file types. * @return array */ -function imagify_add_webp_type( $ext2type ) { - if ( ! in_array( 'webp', $ext2type['image'], true ) ) { - $ext2type['image'][] = 'webp'; +function imagify_add_avif_type( $ext2type ) { + if ( ! in_array( 'avif', $ext2type['image'], true ) ) { + $ext2type['image'][] = 'avif'; } return $ext2type; } @@ -67,3 +68,37 @@ function imagify_add_webp_type( $ext2type ) { * @author Grégory Viguier */ add_filter( 'big_image_size_threshold', [ imagify_get_context( 'wp' ), 'get_resizing_threshold' ], IMAGIFY_INT_MAX ); + +/** + * Add filters to manage images formats that will be generated + * + * @return array + */ +function imagify_nextgen_images_formats() { + $formats = [ + 'webp' => 'webp', + ]; + + if ( get_imagify_option( 'convert_to_avif' ) ) { + $formats['avif'] = 'avif'; + + unset( $formats['webp'] ); + } + + $default = $formats; + + /** + * Filters the array of next gen formats to generate with Imagify + * + * @since 2.2 + * + * @param array $formats Array of image formats + */ + $formats = apply_filters( 'imagify_nextgen_images_formats', $formats ); + + if ( ! is_array( $formats ) ) { + $formats = $default; + } + + return $formats; +} diff --git a/wp/wp-content/plugins/imagify/inc/functions/admin-ui.php b/wp/wp-content/plugins/imagify/inc/functions/admin-ui.php index 372d3f5a..245d53f0 100644 --- a/wp/wp-content/plugins/imagify/inc/functions/admin-ui.php +++ b/wp/wp-content/plugins/imagify/inc/functions/admin-ui.php @@ -23,8 +23,8 @@ function get_imagify_attachment_optimization_text( $process ) { $output_after = $is_media_page ? '
    ' : ''; $reoptimize_link = get_imagify_attachment_reoptimize_link( $process ); $reoptimize_link .= get_imagify_attachment_optimize_missing_thumbnails_link( $process ); - $reoptimize_link .= get_imagify_attachment_generate_webp_versions_link( $process ); - $reoptimize_link .= get_imagify_attachment_delete_webp_versions_link( $process ); + $reoptimize_link .= get_imagify_attachment_generate_nextgen_versions_link( $process ); + $reoptimize_link .= get_imagify_attachment_delete_nextgen_versions_link( $process ); $reoptimize_output = $reoptimize_link ? $reoptimize_link : ''; $reoptimize_output_before = ''; @@ -94,12 +94,12 @@ function get_imagify_attachment_optimization_text( $process ) { $output .= $output_before . '' . __( 'Level:', 'imagify' ) . ' ' . $optimization_level . '' . $output_after; if ( $media->is_image() ) { - $has_webp = $process->has_webp() ? __( 'Yes', 'imagify' ) : __( 'No', 'imagify' ); + $has_nextgen = $process->has_next_gen() ? __( 'Yes', 'imagify' ) : __( 'No', 'imagify' ); - if ( $process->has_webp() ) { - $has_webp = $process->is_full_webp() ? __( 'Yes', 'imagify' ) : __( 'Partially', 'imagify' ); + if ( $process->has_next_gen() ) { + $has_nextgen = $process->is_full_next_gen() ? __( 'Yes', 'imagify' ) : __( 'Partially', 'imagify' ); } - $output .= $output_before . '' . __( 'WebP generated:', 'imagify' ) . ' ' . esc_html( $has_webp ) . '' . $output_after; + $output .= $output_before . '' . __( 'Next-Gen generated:', 'imagify' ) . ' ' . esc_html( $has_nextgen ) . '' . $output_after; $total_optimized_thumbnails = $data->get_optimized_sizes_count(); @@ -317,20 +317,22 @@ function get_imagify_attachment_optimize_missing_thumbnails_link( $process ) { } /** - * Get the link to generate WebP versions if they are missing. + * Get the link to generate next-gen versions if they are missing. * - * @since 1.9 - * @author Grégory Viguier + * @since 1.9 * - * @param ProcessInterface $process The optimization process object. - * @return string The output to print. + * @param ProcessInterface $process The optimization process object. + * + * @return string The output to print. */ -function get_imagify_attachment_generate_webp_versions_link( $process ) { +function get_imagify_attachment_generate_nextgen_versions_link( $process ) { if ( ! $process->is_valid() ) { return ''; } - if ( ! get_imagify_option( 'convert_to_webp' ) ) { + $formats = imagify_nextgen_images_formats(); + + if ( empty( $formats ) ) { return ''; } @@ -340,7 +342,13 @@ function get_imagify_attachment_generate_webp_versions_link( $process ) { return ''; } - if ( 'image/webp' === $media->get_mime_type() ) { + if ( + get_imagify_option( 'convert_to_avif' ) + && + 'image/avif' === $media->get_mime_type() + ) { + return ''; + } elseif ( 'image/webp' === $media->get_mime_type() ) { return ''; } @@ -350,14 +358,16 @@ function get_imagify_attachment_generate_webp_versions_link( $process ) { return ''; } - if ( $process->has_webp() ) { + if ( $process->has_next_gen() ) { return ''; } $context = $media->get_context(); + $display = apply_filters_deprecated( 'imagify_display_generate_webp_versions_link', array( true, $process, $context ), '2.2', 'imagify_display_generate_next_gen_versions_link' ); + /** - * Allow to not display the "Generate WebP versions" link. + * Allow to not display the "Generate next-gen versions" link. * * @since 1.9 * @author Grégory Viguier @@ -366,14 +376,14 @@ function get_imagify_attachment_generate_webp_versions_link( $process ) { * @param ProcessInterface $process The optimization process object. * @param string $context The context. */ - $display = apply_filters( 'imagify_display_generate_webp_versions_link', true, $process, $context ); + $display = apply_filters( 'imagify_display_generate_next_gen_versions_link', $display, $process, $context ); // Stop the process if the filter is false. if ( ! $display ) { return ''; } - $url = get_imagify_admin_url( 'generate-webp-versions', [ + $url = get_imagify_admin_url( 'generate-nextgen-versions', [ 'attachment_id' => $media->get_id(), 'context' => $context, ] ); @@ -386,7 +396,7 @@ function get_imagify_attachment_generate_webp_versions_link( $process ) { } /** - * Get the link to delete WebP versions when the status is "already_optimized". + * Get the link to delete next-gen versions when the status is "already_optimized". * * @since 1.9.6 * @author Grégory Viguier @@ -394,7 +404,7 @@ function get_imagify_attachment_generate_webp_versions_link( $process ) { * @param ProcessInterface $process The optimization process object. * @return string The output to print. */ -function get_imagify_attachment_delete_webp_versions_link( $process ) { +function get_imagify_attachment_delete_nextgen_versions_link( $process ) { if ( ! $process->is_valid() ) { return ''; } @@ -409,12 +419,12 @@ function get_imagify_attachment_delete_webp_versions_link( $process ) { $data = $process->get_data(); - if ( ! $data->is_already_optimized() || ! $process->has_webp() ) { + if ( ! $data->is_already_optimized() || ! $process->has_next_gen() ) { return ''; } $class = ''; - $url = get_imagify_admin_url( 'delete-webp-versions', [ + $url = get_imagify_admin_url( 'delete-nextgen-versions', [ 'attachment_id' => $media_id, 'context' => $context, ] ); diff --git a/wp/wp-content/plugins/imagify/inc/functions/admin.php b/wp/wp-content/plugins/imagify/inc/functions/admin.php index 41c0be4d..efe7c935 100644 --- a/wp/wp-content/plugins/imagify/inc/functions/admin.php +++ b/wp/wp-content/plugins/imagify/inc/functions/admin.php @@ -103,11 +103,11 @@ function get_imagify_admin_url( $action = 'settings', $arg = [] ) { case 'optimize-missing-sizes': return wp_nonce_url( admin_url( 'admin-post.php?action=imagify_optimize_missing_sizes&attachment_id=' . $id . '&context=' . $context ), 'imagify-optimize-missing-sizes-' . $id . '-' . $context ); - case 'generate-webp-versions': - return wp_nonce_url( admin_url( 'admin-post.php?action=imagify_generate_webp_versions&attachment_id=' . $id . '&context=' . $context ), 'imagify-generate-webp-versions-' . $id . '-' . $context ); + case 'generate-nextgen-versions': + return wp_nonce_url( admin_url( 'admin-post.php?action=imagify_generate_nextgen_versions&attachment_id=' . $id . '&context=' . $context ), 'imagify-generate-nextgen-versions-' . $id . '-' . $context ); - case 'delete-webp-versions': - return wp_nonce_url( admin_url( 'admin-post.php?action=imagify_delete_webp_versions&attachment_id=' . $id . '&context=' . $context ), 'imagify-delete-webp-versions-' . $id . '-' . $context ); + case 'delete-nextgen-versions': + return wp_nonce_url( admin_url( 'admin-post.php?action=imagify_delete_nextgen_versions&attachment_id=' . $id . '&context=' . $context ), 'imagify-delete-nextgen-versions-' . $id . '-' . $context ); case 'optimize': case 'manual-upload': // Deprecated. diff --git a/wp/wp-content/plugins/imagify/inc/functions/api.php b/wp/wp-content/plugins/imagify/inc/functions/api.php index e5383134..2168dd70 100644 --- a/wp/wp-content/plugins/imagify/inc/functions/api.php +++ b/wp/wp-content/plugins/imagify/inc/functions/api.php @@ -277,14 +277,14 @@ function imagify_bulk_optimize( $contexts, $optimization_level ) { } /** - * Runs the WebP generation + * Runs the next-gen generation * * @param array $contexts An array of contexts (WP/Custom folders). * * @return void */ -function imagify_generate_webp( $contexts ) { - Imagify\Bulk\Bulk::get_instance()->run_generate_webp( $contexts ); +function imagify_generate_nextgen( $contexts ) { + Imagify\Bulk\Bulk::get_instance()->run_generate_nextgen( $contexts ); } /** diff --git a/wp/wp-content/plugins/imagify/inc/functions/common.php b/wp/wp-content/plugins/imagify/inc/functions/common.php index dbc24f47..ac4bffc3 100644 --- a/wp/wp-content/plugins/imagify/inc/functions/common.php +++ b/wp/wp-content/plugins/imagify/inc/functions/common.php @@ -185,6 +185,32 @@ function imagify_path_to_webp( $path ) { return $path . '.webp'; } +/** + * Convert a path (or URL) to its next-gen version. + * To keep the function simple: + * - Not tested if it's an image. + * - File existance is not tested. + * - If an URL is given, make sure it doesn't contain query args. + * + * @since 2.2 + * + * @param string $path A file path or URL. + * @param string $format format we are targeting. + * @return string + */ +function imagify_path_to_nextgen( $path, string $format ) { + switch ( $format ) { + case 'webp': + $path = $path . '.webp'; + break; + case 'avif': + $path = $path . '.avif'; + break; + } + + return $path; +} + /** * Tell if the current user can optimize custom folders. * diff --git a/wp/wp-content/plugins/imagify/inc/functions/i18n.php b/wp/wp-content/plugins/imagify/inc/functions/i18n.php index 425c99a4..8edd3a29 100644 --- a/wp/wp-content/plugins/imagify/inc/functions/i18n.php +++ b/wp/wp-content/plugins/imagify/inc/functions/i18n.php @@ -2,7 +2,7 @@ use Imagify\Imagifybeat\Actions; use Imagify\Imagifybeat\Core; -use Imagify\Stats\OptimizedMediaWithoutWebp; +use Imagify\Stats\OptimizedMediaWithoutNextGen; defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' ); @@ -79,27 +79,27 @@ function get_imagify_localize_script_translations( $context ) { ], ]; - if ( OptimizedMediaWithoutWebp::get_instance()->get_cached_stat() ) { + if ( OptimizedMediaWithoutNextGen::get_instance()->get_cached_stat() ) { $contexts = imagify_get_context_names(); $translations['bulk'] = [ - 'curlMissing' => ! Imagify_Requirements::supports_curl(), - 'editorMissing' => ! Imagify_Requirements::supports_image_editor(), - 'extHttpBlocked' => Imagify_Requirements::is_imagify_blocked(), - 'apiDown' => ! Imagify_Requirements::is_api_up(), - 'keyIsValid' => Imagify_Requirements::is_api_key_valid(), - 'isOverQuota' => Imagify_Requirements::is_over_quota(), - 'imagifybeatIDs' => [ + 'curlMissing' => ! Imagify_Requirements::supports_curl(), + 'editorMissing' => ! Imagify_Requirements::supports_image_editor(), + 'extHttpBlocked' => Imagify_Requirements::is_imagify_blocked(), + 'apiDown' => ! Imagify_Requirements::is_api_up(), + 'keyIsValid' => Imagify_Requirements::is_api_key_valid(), + 'isOverQuota' => Imagify_Requirements::is_over_quota(), + 'imagifybeatIDs' => [ 'progress' => $imagifybeat_actions->get_imagifybeat_id( 'options_optimization_status' ), 'requirements' => $imagifybeat_actions->get_imagifybeat_id( 'requirements' ), ], - 'ajaxActions' => [ - 'MissingWebp' => 'imagify_missing_webp_generation', + 'ajaxActions' => [ + 'MissingNextGen' => 'imagify_missing_nextgen_generation', ], - 'ajaxNonce' => wp_create_nonce( 'imagify-bulk-optimize' ), - 'contexts' => $contexts, - 'progress_webp' => [ - 'remaining' => OptimizedMediaWithoutWebp::get_instance()->get_stat(), - 'total' => get_transient( 'imagify_missing_webp_total' ), + 'ajaxNonce' => wp_create_nonce( 'imagify-bulk-optimize' ), + 'contexts' => $contexts, + 'progress_next_gen' => [ + 'remaining' => OptimizedMediaWithoutNextGen::get_instance()->get_stat(), + 'total' => get_transient( 'imagify_missing_next_gen_total' ), ], 'labels' => [ 'curlMissing' => __( 'cURL is not available on the server.', 'imagify' ), @@ -113,8 +113,8 @@ function get_imagify_localize_script_translations( $context ) { 'invalidAPIKeyTitle' => __( 'Your API key is not valid!', 'imagify' ), 'overQuotaTitle' => __( 'You have used all your credits!', 'imagify' ), 'nothingToDoTitle' => __( 'Hold on!', 'imagify' ), - 'nothingToDoText' => __( 'All your optimized images already have a WebP version. Congratulations!', 'imagify' ), - 'nothingToDoNoBackupText' => __( 'Because the selected images did not have a backup copy, Imagify was unable to create WebP versions.', 'imagify' ), + 'nothingToDoText' => __( 'All your optimized images already have a next-gen version. Congratulations!', 'imagify' ), + 'nothingToDoNoBackupText' => __( 'Because the selected images did not have a backup copy, Imagify was unable to create next-gen versions.', 'imagify' ), 'error' => __( 'Error', 'imagify' ), 'ajaxErrorText' => __( 'The operation failed.', 'imagify' ), 'getUnoptimizedImagesErrorTitle' => __( 'Oops, There is something wrong!', 'imagify' ), @@ -262,7 +262,7 @@ function get_imagify_localize_script_translations( $context ) { 'nothingToDoTitle' => __( 'Hold on!', 'imagify' ), 'nothingToDoText' => [ 'optimize' => __( 'All your media files have been optimized by Imagify. Congratulations!', 'imagify' ), - 'generate_webp' => __( 'All your optimized images already have a WebP version. Congratulations!', 'imagify' ), + 'generate_webp' => __( 'All your optimized images already have a next-gen version. Congratulations!', 'imagify' ), ], 'optimizing' => __( 'Optimizing', 'imagify' ), 'error' => __( 'Error', 'imagify' ), diff --git a/wp/wp-content/plugins/imagify/inc/main.php b/wp/wp-content/plugins/imagify/inc/main.php index 3106246e..eaad6169 100644 --- a/wp/wp-content/plugins/imagify/inc/main.php +++ b/wp/wp-content/plugins/imagify/inc/main.php @@ -1,4 +1,5 @@ IMAGIFY_PATH, ) ); - $plugin->init(); + $plugin->init( $providers ); } add_action( 'plugins_loaded', 'imagify_init' ); diff --git a/wp/wp-content/plugins/imagify/readme.txt b/wp/wp-content/plugins/imagify/readme.txt index 88e88674..2bffa273 100644 --- a/wp/wp-content/plugins/imagify/readme.txt +++ b/wp/wp-content/plugins/imagify/readme.txt @@ -1,12 +1,12 @@ -=== Imagify – Optimize Images & Convert WebP | Compress Images Easily === +=== Imagify – Optimize Images & Convert WebP & AVIF | Compress Images Easily === Contributors: wp_rocket, imagify -Tags: optimize images, convert webp, webp converter, image optimization, compress images, image compressor, resize images, reduce image size, performance, image optimizer, core web vitals, best image optimization plugin +Tags: optimize images, convert webp, webp converter, convert AVIF, webp to AVIF, AVIF plugin, AVIF converter, image optimization, compress images, image compressor, resize images, reduce image size, performance, image optimizer, core web vitals, best image optimization plugin Tested up to: 6.4 -Stable tag: 2.1.3.1 +Stable tag: 2.2.0.1 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html -Compress images & convert WebP with the best WordPress image optimization plugin. Optimize images in 1-click & resize images with our image optimizer! +Compress images & convert WebP and AVIF with the best WordPress image optimization plugin. Optimize images in 1-click & resize images with our image optimizer! == Description == @@ -16,7 +16,7 @@ Compress images & convert WebP with the best WordPress image optimization plugin Imagify is the best WordPress image optimizer. The plugin lets you optimize images in one go with its asynchronous bulk optimization option. You can resize your images on the fly – they will be automatically optimized at the best compression level. If needed, you can always restore your images to their original versions. -On top of optimizing images, you’ll choose the best WebP plugin for WordPress. Imagify also converts your images to WebP, a next-gen format for lighter images that will speed up your WordPress site, improve user experience, and even SEO. Convert WebP will make a difference in images optimization, you’ll see that from yourself. +On top of optimizing images, you’ll choose the best WebP plugin and AVIF plugin for WordPress. Imagify also converts your images to WebP and AVIF, the next-gen formats for lighter images that will speed up your WordPress site, improve user experience, and even SEO. Convert WebP and convert AVIF will make a difference in image optimization, you’ll see that from yourself. Lastly, it’s easy to use the best image compression plugin for better site performance. Speed up your WordPress site and improve Core Web Vitals thanks to Imagify’s state-of-the-art image optimization process. @@ -35,21 +35,24 @@ With such a great image optimizer like Imagify, you’ll get your images automat When using our image compression tool, Imagify, you will enjoy smaller file sizes and faster loading times. But the best part is that you will optimise images and reduce their weight without losing quality: why should you have to choose between beauty and speed? If you want to compress images, it’s now easier than ever with Imagify! -= Convert Images to the WebP Format = += Convert Images to the WebP and AVIF Formats = -Thanks to Imagify, you can take a step further in your image optimization process. You can also convert all your images to next-gen image formats such as WebP. WebP format offers superior image compression and quality and is a way to optimise images and speed up their loading times on websites. To convert images to next-gen format, using the Imagify plugin will save you a precious amount of time. +Thanks to Imagify, you can take a step further in your image optimization process. You can also convert all your images to next-gen image formats such as WebP and AVIF. WebP format, as well as the AVIF format, offers superior image compression and quality and is a way to optimise images and speed up their loading times on websites. To convert images to next-gen format, using the Imagify plugin will save you a precious amount of time. -With Imagify, WebP compression and conversion are indeed super easy. Wondering how the convert WebP option works? If the "Create WebP versions of images" option is enabled, the WebP versions of optimized images will be created automatically. Simple as that! Thanks to the best WebP plugin for WordPress, you’ll be able to take advantage of the convert WebP feature in no time. +With Imagify, WebP compression and conversion are indeed super easy. Wondering how the convert WebP option works? Imagify will automatically enable WebP and convert your images to WebP. You can also easily convert WebP images to AVIF. -Imagify can also display these WebP images directly on your front-end. But because some browsers don’t support WebP yet, Imagify lets you have both optimized versions of the original format images and the WebP versions ready. Imagify will serve the WebP versions if a visitor's browser supports them and the other optimized format if not. +If the "Create Next-gen formats versions" option is enabled, the AVIF version of optimized images will be created automatically. Simple as that! Thanks to the best WebP and AVIF plugin for WordPress, you’ll be able to take advantage of the automatic convert WebP feature in no time, plus you’ll always have the convert AVIF option. -WebP is definitively an excellent replacement for jpeg, png, and gif images. Imagify offers WebP conversion for all image formats: you can convert gif to webP, jpeg to WebP, and even png to WebP. Whatever your favorite image format, let Imagify optimise your images! +Imagify can also display the AVIF images directly on your front-end. But because some browser versions don’t support AVIF yet, Imagify lets you have both optimized versions of the original format images and the WebP versions ready. Imagify will serve the AVIF version if a visitor's browser supports it and the WebP format if not (if you have previously converted the images to WebP). + +WebP is definitively an excellent replacement for jpeg, png, and gif images, and the same goes for AVIF, which improves your image performance even further. Imagify offers WebP conversion for all image formats: you can convert gif to webP, jpeg to WebP, and even png to WebP. You can also benefit from AVIF conversion and convert gif to AVIF, jpg and jpeg to AVIF, ng to AVIF, and even WebP to AVIF! +Whatever your favorite image format, let Imagify optimise your images! = Optimise Images to Make Your Site Faster and Improve Core Web Vitals = Did you know that image optimization and web performance go hand in hand? In fact, when it comes to web page speed, one of the first things you should do is optimize your images. Large and heavy image sizes will indeed slow down your website and provide a bad user experience to your visitors – and that’s why you should compress images. On the contrary, when you optimise images and improve image loading speed, you should see a direct improvement in your website speed and performance. With Imagify, it’s time to say goodbye to images taking too long to load. -Images are one of the largest influencing factors in the Core Web Vitals. Image compression will ensure that your images load faster and improve your overall website performance, including your Core Web Vitals metrics. If you’re looking to improve user experience and speed up your WordPress site, images are a good place to start. +Images are one of the largest influencing factors in the Core Web Vitals. Image compression will ensure your images load faster and improve your overall website performance, including your Core Web Vitals metrics. If you’re looking to improve user experience and speed up your WordPress site, images are a good place to start. Even Google tells you to take care of your images! If you have ever run a performance audit on PageSpeed Insights, you might have seen the [“serve images in next-gen formats”](https://imagify.io/blog/serve-next-gen-formats-wordpress/) opportunity popping up. Another PageSpeed Insights recommendation related to images is to [“efficiently encode images”](https://imagify.io/blog/efficiently-encode-images-wordpress/). When you use Imagify, you will be able to address both recommendations and fix your images for a faster website. @@ -258,6 +261,12 @@ You can report any security bugs found in the source code of the site-reviews pl 4. Other Media Page == Changelog == += 2.2.0.1 = +- Bugfix: Preserve "Display images in webp format" configuration when updating. + += 2.2 = +- New Feature: Introduce AVIF generation feature + = 2.1.3.1 = - Bugfix: missing styling on some banners when using minified versions of the CSS files (#765) @@ -361,13 +370,13 @@ You can report any security bugs found in the source code of the site-reviews pl = 1.9.5 - 2019/07/16 = * Improvement: Basic Authentication support. If it does not work automatically, you can still define the constants `IMAGIFY_AUTH_USER` and `IMAGIFY_AUTH_PASSWORD` in your `wp-config.php` file. -* Improvement: WebP images are not created for animated gif images by default anymore. Use the filter `imagify_pre_can_create_webp_version` if you still want to create an unanimated WebP version of them. +* Improvement: WebP images are not created for animated gif images by default anymore. Use the filter `imagify_pre_can_create_next_gen_version` if you still want to create an unanimated WebP version of them. * Improvement: when creating WebP images from the settings page, we made more clear when all the images are missing a backup copy. * Improvement: clear the 5 minutes data cache when buying quota from the plugin. * Improvement: when displaying WebP images with the `` tag, allow to use relative URLs (starting with `/`). = 1.9.4 - 2019/07/10 = -* Improvement: if a WebP image is larger than its non-webp version, it is now possible to not keep it. This can be done by using the filter `imagify_keep_large_webp`. +* Improvement: if a next-gen image is larger than its non-next-gen version, it is now possible to not keep it. This can be done by using the filter `imagify_keep_large_next_gen`. * Improvement: compatibility with Pressable. * Improvement: renamed a php class to prevent some hosts to wrongly flag it as "suspicious" and trigger a fatal error. * Improvement: better compatibility with WP Real Media Library plugin. diff --git a/wp/wp-content/plugins/imagify/uninstall.php b/wp/wp-content/plugins/imagify/uninstall.php index 578392ad..82a9de69 100644 --- a/wp/wp-content/plugins/imagify/uninstall.php +++ b/wp/wp-content/plugins/imagify/uninstall.php @@ -26,7 +26,7 @@ delete_transient( 'imagify_bulk_optimization_infos' ); delete_transient( 'imagify_large_library' ); delete_transient( 'imagify_max_image_size' ); delete_transient( 'imagify_user' ); -delete_transient( 'imagify_stat_without_webp' ); +delete_transient( 'imagify_stat_without_next_gen' ); // Delete transients. $transients = implode( '" OR option_name LIKE "', array( diff --git a/wp/wp-content/plugins/imagify/vendor/autoload.php b/wp/wp-content/plugins/imagify/vendor/autoload.php index a464f093..0567dacc 100644 --- a/wp/wp-content/plugins/imagify/vendor/autoload.php +++ b/wp/wp-content/plugins/imagify/vendor/autoload.php @@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) { require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit49a1cdf8dc57f57539cd34f9d3c0eac1::getLoader(); +return ComposerAutoloaderInit0382efa3332217fe0a96bbbe57e91464::getLoader(); diff --git a/wp/wp-content/plugins/imagify/vendor/composer/autoload_classmap.php b/wp/wp-content/plugins/imagify/vendor/composer/autoload_classmap.php index 73e3c83f..d454a928 100644 --- a/wp/wp-content/plugins/imagify/vendor/composer/autoload_classmap.php +++ b/wp/wp-content/plugins/imagify/vendor/composer/autoload_classmap.php @@ -8,6 +8,9 @@ $baseDir = dirname($vendorDir); return array( 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', 'Imagify' => $baseDir . '/inc/classes/class-imagify.php', + 'Imagify\\EventManagement\\EventManager' => $baseDir . '/inc/classes/Dependencies/wp-media/event-manager/EventManager.php', + 'Imagify\\EventManagement\\EventManagerAwareSubscriberInterface' => $baseDir . '/inc/classes/Dependencies/wp-media/event-manager/EventManagerAwareSubscriberInterface.php', + 'Imagify\\EventManagement\\SubscriberInterface' => $baseDir . '/inc/classes/Dependencies/wp-media/event-manager/SubscriberInterface.php', 'Imagify_AS3CF_Attachment' => $baseDir . '/inc/deprecated/classes/class-imagify-as3cf-attachment.php', 'Imagify_AS3CF_Deprecated' => $baseDir . '/inc/deprecated/classes/class-imagify-as3cf-deprecated.php', 'Imagify_Abstract_Attachment' => $baseDir . '/inc/deprecated/classes/class-imagify-abstract-attachment.php', diff --git a/wp/wp-content/plugins/imagify/vendor/composer/autoload_real.php b/wp/wp-content/plugins/imagify/vendor/composer/autoload_real.php index 3f6a6136..13eb65d1 100644 --- a/wp/wp-content/plugins/imagify/vendor/composer/autoload_real.php +++ b/wp/wp-content/plugins/imagify/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit49a1cdf8dc57f57539cd34f9d3c0eac1 +class ComposerAutoloaderInit0382efa3332217fe0a96bbbe57e91464 { private static $loader; @@ -24,12 +24,12 @@ class ComposerAutoloaderInit49a1cdf8dc57f57539cd34f9d3c0eac1 require __DIR__ . '/platform_check.php'; - spl_autoload_register(array('ComposerAutoloaderInit49a1cdf8dc57f57539cd34f9d3c0eac1', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit0382efa3332217fe0a96bbbe57e91464', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\AutoloadWPMediaImagifyWordPressPlugin\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit49a1cdf8dc57f57539cd34f9d3c0eac1', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit0382efa3332217fe0a96bbbe57e91464', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit49a1cdf8dc57f57539cd34f9d3c0eac1::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit0382efa3332217fe0a96bbbe57e91464::getInitializer($loader)); $loader->register(true); diff --git a/wp/wp-content/plugins/imagify/vendor/composer/autoload_static.php b/wp/wp-content/plugins/imagify/vendor/composer/autoload_static.php index d63107ed..a6e63559 100644 --- a/wp/wp-content/plugins/imagify/vendor/composer/autoload_static.php +++ b/wp/wp-content/plugins/imagify/vendor/composer/autoload_static.php @@ -7,7 +7,7 @@ namespace Composer\Autoload; use Composer\AutoloadWPMediaImagifyWordPressPlugin\ClassLoader as ClassLoaderWPMediaImagifyWordPressPlugin; -class ComposerStaticInit49a1cdf8dc57f57539cd34f9d3c0eac1 +class ComposerStaticInit0382efa3332217fe0a96bbbe57e91464 { public static $prefixLengthsPsr4 = array ( 'I' => @@ -77,6 +77,9 @@ class ComposerStaticInit49a1cdf8dc57f57539cd34f9d3c0eac1 public static $classMap = array ( 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 'Imagify' => __DIR__ . '/../..' . '/inc/classes/class-imagify.php', + 'Imagify\\EventManagement\\EventManager' => __DIR__ . '/../..' . '/inc/classes/Dependencies/wp-media/event-manager/EventManager.php', + 'Imagify\\EventManagement\\EventManagerAwareSubscriberInterface' => __DIR__ . '/../..' . '/inc/classes/Dependencies/wp-media/event-manager/EventManagerAwareSubscriberInterface.php', + 'Imagify\\EventManagement\\SubscriberInterface' => __DIR__ . '/../..' . '/inc/classes/Dependencies/wp-media/event-manager/SubscriberInterface.php', 'Imagify_AS3CF_Attachment' => __DIR__ . '/../..' . '/inc/deprecated/classes/class-imagify-as3cf-attachment.php', 'Imagify_AS3CF_Deprecated' => __DIR__ . '/../..' . '/inc/deprecated/classes/class-imagify-as3cf-deprecated.php', 'Imagify_Abstract_Attachment' => __DIR__ . '/../..' . '/inc/deprecated/classes/class-imagify-abstract-attachment.php', @@ -124,9 +127,9 @@ class ComposerStaticInit49a1cdf8dc57f57539cd34f9d3c0eac1 public static function getInitializer(ClassLoaderWPMediaImagifyWordPressPlugin $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit49a1cdf8dc57f57539cd34f9d3c0eac1::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit49a1cdf8dc57f57539cd34f9d3c0eac1::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit49a1cdf8dc57f57539cd34f9d3c0eac1::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit0382efa3332217fe0a96bbbe57e91464::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit0382efa3332217fe0a96bbbe57e91464::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit0382efa3332217fe0a96bbbe57e91464::$classMap; }, null, ClassLoaderWPMediaImagifyWordPressPlugin::class); } diff --git a/wp/wp-content/plugins/imagify/vendor/composer/installed.php b/wp/wp-content/plugins/imagify/vendor/composer/installed.php index 8c0fbb77..ba06b3ae 100644 --- a/wp/wp-content/plugins/imagify/vendor/composer/installed.php +++ b/wp/wp-content/plugins/imagify/vendor/composer/installed.php @@ -1,9 +1,9 @@ array( 'name' => 'wp-media/imagify-plugin', - 'pretty_version' => 'v2.1.3.1', - 'version' => '2.1.3.1', - 'reference' => '82a34afe494abd2ba229285f871ab23239428a20', + 'pretty_version' => 'v2.2.0.1', + 'version' => '2.2.0.1', + 'reference' => '910f12a51e611f67e7f68302f8ff1099c6ae3590', 'type' => 'wordpress-plugin', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -29,9 +29,9 @@ 'dev_requirement' => false, ), 'wp-media/imagify-plugin' => array( - 'pretty_version' => 'v2.1.3.1', - 'version' => '2.1.3.1', - 'reference' => '82a34afe494abd2ba229285f871ab23239428a20', + 'pretty_version' => 'v2.2.0.1', + 'version' => '2.2.0.1', + 'reference' => '910f12a51e611f67e7f68302f8ff1099c6ae3590', 'type' => 'wordpress-plugin', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), diff --git a/wp/wp-content/plugins/imagify/views/button/delete-webp.php b/wp/wp-content/plugins/imagify/views/button/delete-webp.php index 26040c46..527bef57 100644 --- a/wp/wp-content/plugins/imagify/views/button/delete-webp.php +++ b/wp/wp-content/plugins/imagify/views/button/delete-webp.php @@ -22,7 +22,7 @@ $html_atts = $this->build_attributes( $data['atts'] ); > - + build_attributes( $data['atts'] ); > diff --git a/wp/wp-content/plugins/imagify/views/part-settings-webp-missing-message.php b/wp/wp-content/plugins/imagify/views/part-settings-webp-missing-message.php index e6fa6982..182122a3 100644 --- a/wp/wp-content/plugins/imagify/views/part-settings-webp-missing-message.php +++ b/wp/wp-content/plugins/imagify/views/part-settings-webp-missing-message.php @@ -5,8 +5,8 @@ sprintf( /* translators: %s is a formatted number (don’t use %d). */ _n( - 'It seems that you have %s optimized image without WebP versions. You can generate it here.', - 'It seems that you have %s optimized images without WebP versions. You can generate them here.', + 'It seems that you have %s optimized image without Next-Gen versions. You can generate it here.', + 'It seems that you have %s optimized images without Next-Gen versions. You can generate them here.', $data['count'], 'imagify' ), diff --git a/wp/wp-content/plugins/imagify/views/part-settings-webp.php b/wp/wp-content/plugins/imagify/views/part-settings-webp.php index ab1013a8..6d2e5680 100644 --- a/wp/wp-content/plugins/imagify/views/part-settings-webp.php +++ b/wp/wp-content/plugins/imagify/views/part-settings-webp.php @@ -1,39 +1,45 @@
    -

    +

    field_checkbox( [ - 'option_name' => 'convert_to_webp', - 'label' => __( 'Create WebP versions of images', 'imagify' ), + 'option_name' => 'convert_to_avif', + 'label' => __( 'Create AVIF versions of images', 'imagify' ), 'attributes' => [ - 'aria-describedby' => 'describe-convert_to_webp', + 'aria-describedby' => 'describe-convert_to_avif', ], ] ); ?> +
    + + +
    +
    + +
    field_checkbox( [ - 'option_name' => 'display_webp', - 'label' => __( 'Display images in WebP format on the site', 'imagify' ), + 'option_name' => 'display_nextgen', + 'label' => __( 'Display images in Next-Gen format on the site', 'imagify' ), ] ); ?>
    field_radio_list( [ - 'option_name' => 'display_webp_method', + 'option_name' => 'display_nextgen_method', 'values' => [ 'rewrite' => __( 'Use rewrite rules', 'imagify' ), /* translators: 1 and 2 are tag opening and closing. */ @@ -47,7 +53,7 @@ $settings = Imagify_Settings::get_instance();
    get_cdn_source(); + $cdn_source = apply_filters( 'imagify_cdn_source_url', '' ); if ( 'option' !== $cdn_source['source'] ) { if ( 'constant' === $cdn_source['source'] ) { @@ -90,7 +96,7 @@ $settings = Imagify_Settings::get_instance();
    -
    +
    get_file_path( true ); @@ -130,7 +136,7 @@ $settings = Imagify_Settings::get_instance();
    get_cached_stat(); + $count = OptimizedMediaWithoutNextGen::get_instance()->get_cached_stat(); if ( $count ) { ?> @@ -139,18 +145,22 @@ $settings = Imagify_Settings::get_instance(); get_stat(); - $total = get_transient( 'imagify_missing_webp_total' ); + $remaining = OptimizedMediaWithoutNextGen::get_instance()->get_stat(); + $total = get_transient( 'imagify_missing_next_gen_total' ); $progress = 0; $aria = ' aria-hidden="true"'; $class = 'hidden'; $style = ''; - if ( false !== $total ) { + if ( + false !== $total + && + $total > 0 + ) { $aria = ''; $class = ''; $processed = $total - $remaining; diff --git a/wp/wp-content/plugins/imagify/views/part-upsell.php b/wp/wp-content/plugins/imagify/views/part-upsell.php index 965f4ac1..8d1633fe 100644 --- a/wp/wp-content/plugins/imagify/views/part-upsell.php +++ b/wp/wp-content/plugins/imagify/views/part-upsell.php @@ -70,7 +70,7 @@ if ( is_free() ) { $upgrade = esc_html__( 'Upgrade your plan now for more!', 'imagify' ); - $price = esc_html__( 'From $4.99/month only, keep going with image optimization!', 'imagify' ); + $price = esc_html__( 'From $5.99/month only, keep going with image optimization!', 'imagify' ); $upgrade_link = IMAGIFY_APP_DOMAIN . '/subscription/?utm_source=plugin&utm_medium=upsell_banner'; } elseif ( $imagify_user->is_growth() ) { $upgrade = esc_html__( 'Upgrade your plan now to keep optimizing your images.', 'imagify' ); diff --git a/wp/wp-content/plugins/visual-web-optimizer/readme.txt b/wp/wp-content/plugins/visual-web-optimizer/readme.txt index 181f9277..ae97d2ac 100644 --- a/wp/wp-content/plugins/visual-web-optimizer/readme.txt +++ b/wp/wp-content/plugins/visual-web-optimizer/readme.txt @@ -4,8 +4,8 @@ Plugin Name: VWO Plugin URI: https://vwo.com/ Tags: split testing, analytics, stats, visual web optimizer, vwo, cro Requires at least: 2.7 -Tested up to: 6.4.1 -Stable tag: 4.1 +Tested up to: 6.4.3 +Stable tag: 4.3 VWO is the all-in-one platform that helps you conduct visitor research, build an optimization roadmap, and run continuous experimentation. @@ -29,6 +29,13 @@ No, this plugin is sufficient by itself 2. Settings page (Synchronous Code) == ChangeLog == += 4.3 = +* Minor bug fix + += 4.2 = +* Tested with latest version +* VWO SmartCode 2.1 updated + = 4.1 = * Tested with latest version * PHPCS Errors resolved diff --git a/wp/wp-content/plugins/visual-web-optimizer/visual-website-optimizer.php b/wp/wp-content/plugins/visual-web-optimizer/visual-website-optimizer.php index d7bbee13..b3f7bb75 100644 --- a/wp/wp-content/plugins/visual-web-optimizer/visual-website-optimizer.php +++ b/wp/wp-content/plugins/visual-web-optimizer/visual-website-optimizer.php @@ -5,13 +5,13 @@ * Plugin URI: https://vwo.com/ * Description: VWO is the all-in-one platform that helps you conduct visitor research, build an optimization roadmap, and run continuous experimentation. Simply enable the plugin and start running tests on your WordPress website without doing any other code changes. Visit VWO for more details. * Author: VWO - * Version: 4.1 + * Version: 4.3 * visual-website-optimizer.php * Author URI: https://vwo.com/ * * @package VWO * @author VWO - * @version 4.1 + * @version 4.3 **/ /** @@ -95,16 +95,16 @@ function get_vwo_clhf_script_async_code( $vwo_id, $settings_tolerance, $library_ enqueue_style( 'metabox-css' ); - $asset_manager->enqueue_style( 'scoring' ); + $asset_manager->enqueue_style( 'ai-generator' ); $asset_manager->enqueue_script( 'term-edit' ); /** @@ -161,7 +162,7 @@ class WPSEO_Taxonomy { $asset_manager->localize_script( 'term-edit', 'wpseoAdminL10n', WPSEO_Utils::get_admin_l10n() ); $script_data = [ - 'analysis' => [ + 'analysis' => [ 'plugins' => [ 'replaceVars' => [ 'no_parent_text' => __( '(no parent)', 'wordpress-seo' ), @@ -181,16 +182,19 @@ class WPSEO_Taxonomy { 'log_level' => WPSEO_Utils::get_analysis_worker_log_level(), ], ], - 'media' => [ + 'media' => [ // @todo replace this translation with JavaScript translations. 'choose_image' => __( 'Use Image', 'wordpress-seo' ), ], - 'metabox' => $this->localize_term_scraper_script( $tag_id ), - 'userLanguageCode' => WPSEO_Language_Utils::get_language( get_user_locale() ), - 'isTerm' => true, - 'postId' => $tag_id, - 'usedKeywordsNonce' => wp_create_nonce( 'wpseo-keyword-usage' ), - 'linkParams' => WPSEO_Shortlinker::get_query_params(), + 'metabox' => $this->localize_term_scraper_script( $tag_id ), + 'userLanguageCode' => WPSEO_Language_Utils::get_language( get_user_locale() ), + 'isTerm' => true, + 'postId' => $tag_id, + 'termType' => $this->get_taxonomy(), + 'usedKeywordsNonce' => wp_create_nonce( 'wpseo-keyword-usage' ), + 'linkParams' => WPSEO_Shortlinker::get_query_params(), + 'pluginUrl' => plugins_url( '', WPSEO_FILE ), + 'wistiaEmbedPermission' => YoastSEO()->classes->get( Wistia_Embed_Permission_Repository::class )->get_value_for_user( get_current_user_id() ), ]; $asset_manager->localize_script( 'term-edit', 'wpseoScriptData', $script_data ); $asset_manager->enqueue_user_language_script(); @@ -413,7 +417,7 @@ class WPSEO_Taxonomy { /** * Prepares the replace vars for localization. * - * @return array The replacement variables. + * @return array The replacement variables. */ private function get_replace_vars() { $term_id = $this::get_tag_id(); @@ -447,7 +451,7 @@ class WPSEO_Taxonomy { /** * Prepares the recommended replace vars for localization. * - * @return array The recommended replacement variables. + * @return array The recommended replacement variables. */ private function get_recommended_replace_vars() { $recommended_replace_vars = new WPSEO_Admin_Recommended_Replace_Vars(); @@ -466,7 +470,7 @@ class WPSEO_Taxonomy { /** * Returns an array with shortcode tags for all registered shortcodes. * - * @return array + * @return array Array with shortcode tags. */ private function get_valid_shortcode_tags() { $shortcode_tags = []; diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/academy-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/academy-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/academy-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/academy-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/academy-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/academy-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/academy-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/academy-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/admin-global-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/admin-global-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/admin-global-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/admin-global-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/admin-global-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/admin-global-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/admin-global-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/admin-global-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/adminbar-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/adminbar-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/adminbar-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/adminbar-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/adminbar-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/adminbar-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/adminbar-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/adminbar-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/alerts-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/alerts-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/alerts-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/alerts-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/alerts-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/alerts-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/alerts-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/alerts-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/black-friday-banner-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/black-friday-banner-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/black-friday-banner-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/black-friday-banner-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/black-friday-banner-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/black-friday-banner-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/black-friday-banner-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/black-friday-banner-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/dashboard-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/dashboard-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/dashboard-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/dashboard-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/dashboard-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/dashboard-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/dashboard-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/dashboard-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/edit-page-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/edit-page-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/edit-page-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/edit-page-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/edit-page-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/edit-page-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/edit-page-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/edit-page-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/elementor-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/elementor-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/elementor-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/elementor-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/elementor-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/elementor-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/elementor-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/elementor-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/featured-image-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/featured-image-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/featured-image-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/featured-image-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/featured-image-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/featured-image-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/featured-image-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/featured-image-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2210-rtl.css deleted file mode 100644 index ee3dbabf..00000000 --- a/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2210-rtl.css +++ /dev/null @@ -1 +0,0 @@ -#wpseo-first-time-configuration .yst-root a:focus{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#wpseo-first-time-configuration .yst-root a{color:#1d4ed8;text-decoration:underline}#wpseo-first-time-configuration .yst-root .yst-button{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:inline-flex;font-size:.8125rem;font-weight:500;justify-content:center;line-height:1rem;padding:.5rem .75rem;-webkit-text-decoration-line:none;text-decoration-line:none}#wpseo-first-time-configuration .yst-root .yst-button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}#wpseo-first-time-configuration .yst-root .yst-button--primary{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));border-color:#0000;color:rgb(255 255 255/var(--tw-text-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--primary:disabled,#wpseo-first-time-configuration .yst-root .yst-button--primary:hover{--tw-bg-opacity:1;background-color:rgb(143 15 87/var(--tw-bg-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--secondary{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(209 213 219/var(--tw-border-opacity));color:rgb(55 65 81/var(--tw-text-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--secondary:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--danger{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity));border-color:#0000;color:rgb(255 255 255/var(--tw-text-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--danger:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--remove{--tw-text-opacity:1;border-radius:.375rem;color:rgb(220 38 38/var(--tw-text-opacity));padding:.25rem .375rem;-webkit-text-decoration-line:underline;text-decoration-line:underline}#wpseo-first-time-configuration .yst-root .yst-button--remove:focus{outline:2px solid #0000;outline-offset:2px}#wpseo-first-time-configuration .yst-root .yst-button--small{font-size:12px;padding:.375rem .625rem}#wpseo-first-time-configuration .yst-root .yst-button--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}#wpseo-first-time-configuration .yst-root .yst-button--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#wpseo-first-time-configuration .yst-root .yst-input{--tw-bg-opacity:1!important;--tw-shadow:0 1px 2px 0 #0000000d!important;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;border-radius:.375rem!important;border-width:1px!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;font-size:.8125rem!important;padding:.5rem .75rem!important}#wpseo-first-time-configuration .yst-root .yst-radio{align-items:center!important;display:flex!important}#wpseo-first-time-configuration .yst-root .yst-radio__input{--tw-border-opacity:1!important;--tw-text-opacity:1!important;--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;-webkit-appearance:none!important;appearance:none!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;border-radius:9999px!important;border-width:1px!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;color:rgb(166 30 105/var(--tw-text-opacity))!important;height:1rem!important;margin:0!important;transition-property:none!important;width:1rem!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:before{content:var(--tw-content)!important;display:none!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:checked{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important;border-width:5px!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important;--tw-ring-offset-width:2px!important;--tw-ring-offset-color:#fff!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important;outline:2px solid #0000!important;outline-offset:2px!important}#wpseo-first-time-configuration .yst-root .yst-radio__label{--tw-text-opacity:1!important;color:rgb(55 65 81/var(--tw-text-opacity))!important;font-weight:500!important;margin-right:.75rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__label{margin-bottom:.25rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__options{display:flex!important;flex-direction:column!important;gap:.5rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__description{margin-bottom:1rem!important}#wpseo-first-time-configuration .yst-root .yst-checkbox__input:before{--tw-content:none!important;content:var(--tw-content)!important} \ No newline at end of file diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2210.css deleted file mode 100644 index 2d4bc67d..00000000 --- a/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2210.css +++ /dev/null @@ -1 +0,0 @@ -#wpseo-first-time-configuration .yst-root a:focus{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#wpseo-first-time-configuration .yst-root a{color:#1d4ed8;text-decoration:underline}#wpseo-first-time-configuration .yst-root .yst-button{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:inline-flex;font-size:.8125rem;font-weight:500;justify-content:center;line-height:1rem;padding:.5rem .75rem;-webkit-text-decoration-line:none;text-decoration-line:none}#wpseo-first-time-configuration .yst-root .yst-button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}#wpseo-first-time-configuration .yst-root .yst-button--primary{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));border-color:#0000;color:rgb(255 255 255/var(--tw-text-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--primary:disabled,#wpseo-first-time-configuration .yst-root .yst-button--primary:hover{--tw-bg-opacity:1;background-color:rgb(143 15 87/var(--tw-bg-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--secondary{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(209 213 219/var(--tw-border-opacity));color:rgb(55 65 81/var(--tw-text-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--secondary:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--danger{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity));border-color:#0000;color:rgb(255 255 255/var(--tw-text-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--danger:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}#wpseo-first-time-configuration .yst-root .yst-button--remove{--tw-text-opacity:1;border-radius:.375rem;color:rgb(220 38 38/var(--tw-text-opacity));padding:.25rem .375rem;-webkit-text-decoration-line:underline;text-decoration-line:underline}#wpseo-first-time-configuration .yst-root .yst-button--remove:focus{outline:2px solid #0000;outline-offset:2px}#wpseo-first-time-configuration .yst-root .yst-button--small{font-size:12px;padding:.375rem .625rem}#wpseo-first-time-configuration .yst-root .yst-button--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}#wpseo-first-time-configuration .yst-root .yst-button--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#wpseo-first-time-configuration .yst-root .yst-input{--tw-bg-opacity:1!important;--tw-shadow:0 1px 2px 0 #0000000d!important;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;border-radius:.375rem!important;border-width:1px!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;font-size:.8125rem!important;padding:.5rem .75rem!important}#wpseo-first-time-configuration .yst-root .yst-radio{align-items:center!important;display:flex!important}#wpseo-first-time-configuration .yst-root .yst-radio__input{--tw-border-opacity:1!important;--tw-text-opacity:1!important;--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;-webkit-appearance:none!important;appearance:none!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;border-radius:9999px!important;border-width:1px!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;color:rgb(166 30 105/var(--tw-text-opacity))!important;height:1rem!important;margin:0!important;transition-property:none!important;width:1rem!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:before{content:var(--tw-content)!important;display:none!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:checked{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important;border-width:5px!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important;--tw-ring-offset-width:2px!important;--tw-ring-offset-color:#fff!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important;outline:2px solid #0000!important;outline-offset:2px!important}#wpseo-first-time-configuration .yst-root .yst-radio__label{--tw-text-opacity:1!important;color:rgb(55 65 81/var(--tw-text-opacity))!important;font-weight:500!important;margin-left:.75rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__label{margin-bottom:.25rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__options{display:flex!important;flex-direction:column!important;gap:.5rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__description{margin-bottom:1rem!important}#wpseo-first-time-configuration .yst-root .yst-checkbox__input:before{--tw-content:none!important;content:var(--tw-content)!important} \ No newline at end of file diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2230-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2230-rtl.css new file mode 100644 index 00000000..f6a2d2cc --- /dev/null +++ b/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2230-rtl.css @@ -0,0 +1 @@ +#wpseo-first-time-configuration .yst-root .yst-input{--tw-bg-opacity:1!important;--tw-shadow:0 1px 2px 0 #0000000d!important;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;border-radius:.375rem!important;border-width:1px!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;font-size:.8125rem!important;padding:.5rem .75rem!important}#wpseo-first-time-configuration .yst-root .yst-radio{align-items:center!important;display:flex!important}#wpseo-first-time-configuration .yst-root .yst-radio__input{--tw-border-opacity:1!important;--tw-text-opacity:1!important;--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;-webkit-appearance:none!important;appearance:none!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;border-radius:9999px!important;border-width:1px!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;color:rgb(166 30 105/var(--tw-text-opacity))!important;height:1rem!important;margin:0!important;transition-property:none!important;width:1rem!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:before{content:var(--tw-content)!important;display:none!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:checked{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important;border-width:5px!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important;--tw-ring-offset-width:2px!important;--tw-ring-offset-color:#fff!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important;outline:2px solid #0000!important;outline-offset:2px!important}#wpseo-first-time-configuration .yst-root .yst-radio__label{--tw-text-opacity:1!important;color:rgb(55 65 81/var(--tw-text-opacity))!important;font-weight:500!important;margin-right:.75rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__label{margin-bottom:.25rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__options{display:flex!important;flex-direction:column!important;gap:.5rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__description{margin-bottom:1rem!important}#wpseo-first-time-configuration .yst-root .yst-checkbox__input:before{--tw-content:none!important;content:var(--tw-content)!important} \ No newline at end of file diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2230.css b/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2230.css new file mode 100644 index 00000000..04d8c25b --- /dev/null +++ b/wp/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2230.css @@ -0,0 +1 @@ +#wpseo-first-time-configuration .yst-root .yst-input{--tw-bg-opacity:1!important;--tw-shadow:0 1px 2px 0 #0000000d!important;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;border-radius:.375rem!important;border-width:1px!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;font-size:.8125rem!important;padding:.5rem .75rem!important}#wpseo-first-time-configuration .yst-root .yst-radio{align-items:center!important;display:flex!important}#wpseo-first-time-configuration .yst-root .yst-radio__input{--tw-border-opacity:1!important;--tw-text-opacity:1!important;--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;-webkit-appearance:none!important;appearance:none!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;border-radius:9999px!important;border-width:1px!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;color:rgb(166 30 105/var(--tw-text-opacity))!important;height:1rem!important;margin:0!important;transition-property:none!important;width:1rem!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:before{content:var(--tw-content)!important;display:none!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:checked{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important;border-width:5px!important}#wpseo-first-time-configuration .yst-root .yst-radio__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important;--tw-ring-offset-width:2px!important;--tw-ring-offset-color:#fff!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important;outline:2px solid #0000!important;outline-offset:2px!important}#wpseo-first-time-configuration .yst-root .yst-radio__label{--tw-text-opacity:1!important;color:rgb(55 65 81/var(--tw-text-opacity))!important;font-weight:500!important;margin-left:.75rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__label{margin-bottom:.25rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__options{display:flex!important;flex-direction:column!important;gap:.5rem!important}#wpseo-first-time-configuration .yst-root .yst-radio-group__description{margin-bottom:1rem!important}#wpseo-first-time-configuration .yst-root .yst-checkbox__input:before{--tw-content:none!important;content:var(--tw-content)!important} \ No newline at end of file diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/icons-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/icons-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/icons-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/icons-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/icons-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/icons-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/icons-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/icons-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/introductions-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/introductions-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/introductions-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/introductions-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/introductions-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/introductions-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/introductions-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/introductions-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/metabox-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/metabox-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/metabox-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/metabox-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/metabox-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/metabox-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/metabox-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/metabox-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/modal-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/modal-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/modal-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/modal-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/modal-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/modal-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/modal-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/modal-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/monorepo-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/monorepo-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/monorepo-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/monorepo-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/monorepo-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/monorepo-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/monorepo-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/monorepo-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/new-settings-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/new-settings-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/new-settings-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/new-settings-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/new-settings-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/new-settings-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/new-settings-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/new-settings-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/notifications-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/notifications-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/notifications-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/notifications-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/notifications-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/notifications-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/notifications-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/notifications-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/score_icon-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/score_icon-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/score_icon-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/score_icon-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/score_icon-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/score_icon-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/score_icon-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/score_icon-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/support-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/support-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/support-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/support-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/support-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/support-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/support-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/support-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2210-rtl.css deleted file mode 100644 index 3192d91f..00000000 --- a/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2210-rtl.css +++ /dev/null @@ -1 +0,0 @@ -.yst-root *,.yst-root :after,.yst-root :before{border:0 solid #e5e7eb;box-sizing:border-box}.yst-root :after,.yst-root :before{--tw-content:""}.yst-root{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;margin:0;tab-size:4}.yst-root hr{border-top-width:1px;color:inherit;height:0}.yst-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.yst-root h1,.yst-root h2,.yst-root h3,.yst-root h4,.yst-root h5,.yst-root h6{font-size:inherit;font-weight:inherit}.yst-root a{color:inherit;text-decoration:inherit}.yst-root b,.yst-root strong{font-weight:bolder}.yst-root code,.yst-root kbd,.yst-root pre,.yst-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}.yst-root small{font-size:80%}.yst-root sub,.yst-root sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.yst-root sub{bottom:-.25em}.yst-root sup{top:-.5em}.yst-root table{border-collapse:collapse;border-color:inherit;text-indent:0}.yst-root button,.yst-root input,.yst-root optgroup,.yst-root select,.yst-root textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}.yst-root button,.yst-root select{text-transform:none}.yst-root [type=button],.yst-root [type=reset],.yst-root [type=submit],.yst-root button{-webkit-appearance:button;background-color:initial;background-image:none}.yst-root :-moz-focusring{outline:auto}.yst-root :-moz-ui-invalid{box-shadow:none}.yst-root progress{vertical-align:initial}.yst-root ::-webkit-inner-spin-button,.yst-root ::-webkit-outer-spin-button{height:auto}.yst-root [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.yst-root ::-webkit-search-decoration{-webkit-appearance:none}.yst-root ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.yst-root summary{display:list-item}.yst-root blockquote,.yst-root dd,.yst-root dl,.yst-root figure,.yst-root h1,.yst-root h2,.yst-root h3,.yst-root h4,.yst-root h5,.yst-root h6,.yst-root hr,.yst-root p,.yst-root pre{margin:0}.yst-root fieldset{margin:0;padding:0}.yst-root legend{padding:0}.yst-root menu,.yst-root ol,.yst-root ul{list-style:none;margin:0;padding:0}.yst-root textarea{resize:vertical}.yst-root input::placeholder,.yst-root textarea::placeholder{color:#6b7280;opacity:1}.yst-root [role=button],.yst-root button{cursor:pointer}.yst-root :disabled{cursor:default}.yst-root audio,.yst-root canvas,.yst-root embed,.yst-root iframe,.yst-root img,.yst-root object,.yst-root svg,.yst-root video{display:block;vertical-align:middle}.yst-root img,.yst-root video{height:auto;max-width:100%}.yst-root [type=date],.yst-root [type=datetime-local],.yst-root [type=email],.yst-root [type=month],.yst-root [type=number],.yst-root [type=password],.yst-root [type=search],.yst-root [type=tel],.yst-root [type=text],.yst-root [type=time],.yst-root [type=url],.yst-root [type=week]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root [type=date]:focus,.yst-root [type=datetime-local]:focus,.yst-root [type=email]:focus,.yst-root [type=month]:focus,.yst-root [type=number]:focus,.yst-root [type=password]:focus,.yst-root [type=search]:focus,.yst-root [type=tel]:focus,.yst-root [type=text]:focus,.yst-root [type=time]:focus,.yst-root [type=url]:focus,.yst-root [type=week]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=date]::placeholder,.yst-root [type=datetime-local]::placeholder,.yst-root [type=email]::placeholder,.yst-root [type=month]::placeholder,.yst-root [type=number]::placeholder,.yst-root [type=password]::placeholder,.yst-root [type=search]::placeholder,.yst-root [type=tel]::placeholder,.yst-root [type=text]::placeholder,.yst-root [type=time]::placeholder,.yst-root [type=url]::placeholder,.yst-root [type=week]::placeholder{color:#6b7280;opacity:1}.yst-root [type=date]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=email]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=month]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=number]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=password]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=search]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=tel]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=text]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=time]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=url]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=week]::-webkit-datetime-edit-fields-wrapper{padding:0}.yst-root [type=date]::-webkit-date-and-time-value,.yst-root [type=datetime-local]::-webkit-date-and-time-value,.yst-root [type=email]::-webkit-date-and-time-value,.yst-root [type=month]::-webkit-date-and-time-value,.yst-root [type=number]::-webkit-date-and-time-value,.yst-root [type=password]::-webkit-date-and-time-value,.yst-root [type=search]::-webkit-date-and-time-value,.yst-root [type=tel]::-webkit-date-and-time-value,.yst-root [type=text]::-webkit-date-and-time-value,.yst-root [type=time]::-webkit-date-and-time-value,.yst-root [type=url]::-webkit-date-and-time-value,.yst-root [type=week]::-webkit-date-and-time-value{min-height:1.5em}.yst-root [type=date]::-webkit-datetime-edit,.yst-root [type=date]::-webkit-datetime-edit-day-field,.yst-root [type=date]::-webkit-datetime-edit-hour-field,.yst-root [type=date]::-webkit-datetime-edit-meridiem-field,.yst-root [type=date]::-webkit-datetime-edit-millisecond-field,.yst-root [type=date]::-webkit-datetime-edit-minute-field,.yst-root [type=date]::-webkit-datetime-edit-month-field,.yst-root [type=date]::-webkit-datetime-edit-second-field,.yst-root [type=date]::-webkit-datetime-edit-year-field,.yst-root [type=datetime-local]::-webkit-datetime-edit,.yst-root [type=datetime-local]::-webkit-datetime-edit-day-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-hour-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-meridiem-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-millisecond-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-minute-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-month-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-second-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-year-field,.yst-root [type=email]::-webkit-datetime-edit,.yst-root [type=email]::-webkit-datetime-edit-day-field,.yst-root [type=email]::-webkit-datetime-edit-hour-field,.yst-root [type=email]::-webkit-datetime-edit-meridiem-field,.yst-root [type=email]::-webkit-datetime-edit-millisecond-field,.yst-root [type=email]::-webkit-datetime-edit-minute-field,.yst-root [type=email]::-webkit-datetime-edit-month-field,.yst-root [type=email]::-webkit-datetime-edit-second-field,.yst-root [type=email]::-webkit-datetime-edit-year-field,.yst-root [type=month]::-webkit-datetime-edit,.yst-root [type=month]::-webkit-datetime-edit-day-field,.yst-root [type=month]::-webkit-datetime-edit-hour-field,.yst-root [type=month]::-webkit-datetime-edit-meridiem-field,.yst-root [type=month]::-webkit-datetime-edit-millisecond-field,.yst-root [type=month]::-webkit-datetime-edit-minute-field,.yst-root [type=month]::-webkit-datetime-edit-month-field,.yst-root [type=month]::-webkit-datetime-edit-second-field,.yst-root [type=month]::-webkit-datetime-edit-year-field,.yst-root [type=number]::-webkit-datetime-edit,.yst-root [type=number]::-webkit-datetime-edit-day-field,.yst-root [type=number]::-webkit-datetime-edit-hour-field,.yst-root [type=number]::-webkit-datetime-edit-meridiem-field,.yst-root [type=number]::-webkit-datetime-edit-millisecond-field,.yst-root [type=number]::-webkit-datetime-edit-minute-field,.yst-root [type=number]::-webkit-datetime-edit-month-field,.yst-root [type=number]::-webkit-datetime-edit-second-field,.yst-root [type=number]::-webkit-datetime-edit-year-field,.yst-root [type=password]::-webkit-datetime-edit,.yst-root [type=password]::-webkit-datetime-edit-day-field,.yst-root [type=password]::-webkit-datetime-edit-hour-field,.yst-root [type=password]::-webkit-datetime-edit-meridiem-field,.yst-root [type=password]::-webkit-datetime-edit-millisecond-field,.yst-root [type=password]::-webkit-datetime-edit-minute-field,.yst-root [type=password]::-webkit-datetime-edit-month-field,.yst-root [type=password]::-webkit-datetime-edit-second-field,.yst-root [type=password]::-webkit-datetime-edit-year-field,.yst-root [type=search]::-webkit-datetime-edit,.yst-root [type=search]::-webkit-datetime-edit-day-field,.yst-root [type=search]::-webkit-datetime-edit-hour-field,.yst-root [type=search]::-webkit-datetime-edit-meridiem-field,.yst-root [type=search]::-webkit-datetime-edit-millisecond-field,.yst-root [type=search]::-webkit-datetime-edit-minute-field,.yst-root [type=search]::-webkit-datetime-edit-month-field,.yst-root [type=search]::-webkit-datetime-edit-second-field,.yst-root [type=search]::-webkit-datetime-edit-year-field,.yst-root [type=tel]::-webkit-datetime-edit,.yst-root [type=tel]::-webkit-datetime-edit-day-field,.yst-root [type=tel]::-webkit-datetime-edit-hour-field,.yst-root [type=tel]::-webkit-datetime-edit-meridiem-field,.yst-root [type=tel]::-webkit-datetime-edit-millisecond-field,.yst-root [type=tel]::-webkit-datetime-edit-minute-field,.yst-root [type=tel]::-webkit-datetime-edit-month-field,.yst-root [type=tel]::-webkit-datetime-edit-second-field,.yst-root [type=tel]::-webkit-datetime-edit-year-field,.yst-root [type=text]::-webkit-datetime-edit,.yst-root [type=text]::-webkit-datetime-edit-day-field,.yst-root [type=text]::-webkit-datetime-edit-hour-field,.yst-root [type=text]::-webkit-datetime-edit-meridiem-field,.yst-root [type=text]::-webkit-datetime-edit-millisecond-field,.yst-root [type=text]::-webkit-datetime-edit-minute-field,.yst-root [type=text]::-webkit-datetime-edit-month-field,.yst-root [type=text]::-webkit-datetime-edit-second-field,.yst-root [type=text]::-webkit-datetime-edit-year-field,.yst-root [type=time]::-webkit-datetime-edit,.yst-root [type=time]::-webkit-datetime-edit-day-field,.yst-root [type=time]::-webkit-datetime-edit-hour-field,.yst-root [type=time]::-webkit-datetime-edit-meridiem-field,.yst-root [type=time]::-webkit-datetime-edit-millisecond-field,.yst-root [type=time]::-webkit-datetime-edit-minute-field,.yst-root [type=time]::-webkit-datetime-edit-month-field,.yst-root [type=time]::-webkit-datetime-edit-second-field,.yst-root [type=time]::-webkit-datetime-edit-year-field,.yst-root [type=url]::-webkit-datetime-edit,.yst-root [type=url]::-webkit-datetime-edit-day-field,.yst-root [type=url]::-webkit-datetime-edit-hour-field,.yst-root [type=url]::-webkit-datetime-edit-meridiem-field,.yst-root [type=url]::-webkit-datetime-edit-millisecond-field,.yst-root [type=url]::-webkit-datetime-edit-minute-field,.yst-root [type=url]::-webkit-datetime-edit-month-field,.yst-root [type=url]::-webkit-datetime-edit-second-field,.yst-root [type=url]::-webkit-datetime-edit-year-field,.yst-root [type=week]::-webkit-datetime-edit,.yst-root [type=week]::-webkit-datetime-edit-day-field,.yst-root [type=week]::-webkit-datetime-edit-hour-field,.yst-root [type=week]::-webkit-datetime-edit-meridiem-field,.yst-root [type=week]::-webkit-datetime-edit-millisecond-field,.yst-root [type=week]::-webkit-datetime-edit-minute-field,.yst-root [type=week]::-webkit-datetime-edit-month-field,.yst-root [type=week]::-webkit-datetime-edit-second-field,.yst-root [type=week]::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}.yst-root textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root textarea::placeholder{color:#6b7280;opacity:1}.yst-root select{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root select:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:left .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-left:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.yst-root select[multiple]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root select[multiple]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=checkbox]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-radius:0;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}.yst-root [type=checkbox]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=checkbox]:checked,.yst-root [type=checkbox]:checked:focus,.yst-root [type=checkbox]:checked:hover,.yst-root [type=checkbox]:indeterminate{background-color:currentColor;border-color:#0000}.yst-root [type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=checkbox]:indeterminate:focus,.yst-root [type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}.yst-root [type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-radius:100%;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}.yst-root [type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=radio]:checked,.yst-root [type=radio]:checked:focus,.yst-root [type=radio]:checked:hover{background-color:currentColor;border-color:#0000}.yst-root{--tw-text-opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgb(71 85 105/var(--tw-text-opacity));font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.8125rem;font-weight:400;line-height:1.5}.yst-root a{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity));-webkit-text-decoration-line:underline;text-decoration-line:underline}.yst-root a:visited{color:#a61e69}.yst-root a:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.yst-root a:hover:visited{color:#b94986}.yst-root a:focus{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity));--tw-ring-offset-width:1px;--tw-ring-offset-color:#0000;border-radius:.125rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(99 102 241/var(--tw-text-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root [type=date]::placeholder,.yst-root [type=datetime-local]::placeholder,.yst-root [type=email]::placeholder,.yst-root [type=month]::placeholder,.yst-root [type=number]::placeholder,.yst-root [type=password]::placeholder,.yst-root [type=search]::placeholder,.yst-root [type=tel]::placeholder,.yst-root [type=text]::placeholder,.yst-root [type=time]::placeholder,.yst-root [type=url]::placeholder,.yst-root [type=week]::placeholder,.yst-root textarea::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity))}.yst-root svg path{stroke-width:inherit}.yst-root .yst-radio__input,.yst-root a:focus{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-radio__input{transition-property:none}.yst-root .yst-radio__input:checked:before{content:var(--tw-content);display:none}.yst-root .yst-modal{z-index:100000!important}.yst-root dd,.yst-root li{margin-bottom:0}.yst-root input[type=date],.yst-root input[type=datetime-local],.yst-root input[type=datetime],.yst-root input[type=email],.yst-root input[type=month],.yst-root input[type=number],.yst-root input[type=password],.yst-root input[type=search],.yst-root input[type=tel],.yst-root input[type=text],.yst-root input[type=time],.yst-root input[type=url],.yst-root input[type=week]{min-height:0}.yst-root input[type=checkbox]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);min-height:0;min-width:0;transition-property:none}.yst-root input[type=checkbox]:before{--tw-content:none;content:var(--tw-content)}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.yst-root .yst-alert{border-radius:.375rem;display:flex;gap:.75rem;padding:1rem}.yst-root .yst-alert--info{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.yst-root .yst-alert--info .yst-alert__message{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.yst-root .yst-alert--warning{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.yst-root .yst-alert--warning .yst-alert__message{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.yst-root .yst-alert--success{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.yst-root .yst-alert--success .yst-alert__message{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.yst-root .yst-alert--error{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.yst-root .yst-alert--error .yst-alert__message{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.yst-root .yst-alert__icon{flex-grow:0;flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-autocomplete{position:relative}.yst-root .yst-autocomplete--error .yst-autocomplete__button{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}.yst-root .yst-autocomplete--error .yst-autocomplete__button:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity));border-color:rgb(239 68 68/var(--tw-border-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete--error .yst-autocomplete__input::placeholder{--tw-placeholder-opacity:1;color:rgb(252 165 165/var(--tw-placeholder-opacity))}.yst-root .yst-autocomplete--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-autocomplete--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-autocomplete__button{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;height:100%;padding-right:.75rem;padding-left:.75rem;width:100%}.yst-root .yst-autocomplete__button:focus-within{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete__button-icon{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:1.25rem;pointer-events:none;position:absolute;left:.625rem;top:.6875rem;width:1.25rem}.yst-root .yst-autocomplete__input{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem 0 .5rem 2.5rem;width:100%}.yst-root .yst-autocomplete__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-autocomplete__options{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.8125rem;margin-top:.25rem;max-height:15rem;overflow:auto;position:absolute;width:100%;z-index:20}.yst-root .yst-autocomplete__options:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete__option{--tw-text-opacity:1;align-items:center;color:rgb(51 65 85/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;padding:.5rem .75rem;position:relative;-webkit-user-select:none;user-select:none}.yst-root .yst-autocomplete__option--active{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.yst-root .yst-autocomplete__option--selected{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-select__option-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yst-root .yst-autocomplete__option-check{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-badge{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(219 234 254/var(--tw-bg-opacity));border-radius:9999px;color:rgb(30 64 175/var(--tw-text-opacity));display:inline-flex;font-size:.75rem;font-weight:500;line-height:1.25;padding:.125rem .5rem;vertical-align:middle;white-space:nowrap}.yst-root .yst-badge--info{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity));color:rgb(30 58 138/var(--tw-text-opacity))}.yst-root .yst-badge--upsell{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity));color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-badge--plain{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(15 23 42/var(--tw-text-opacity))}.yst-root .yst-badge--small{font-size:.675rem}.yst-root .yst-badge--large{font-size:1rem;padding-right:.75rem;padding-left:.75rem}.yst-root .yst-button{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;justify-content:center;line-height:1rem;padding:.5rem .75rem;text-align:center;-webkit-text-decoration-line:none;text-decoration-line:none}.yst-root .yst-button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root a.yst-button:focus{border-radius:.375rem}.yst-root a.yst-button:not(.yst-button--tertiary):focus{--tw-ring-offset-color:#fff}.yst-root .yst-button--primary{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));border-color:#0000;color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--primary:visited{color:#fff}.yst-root .yst-button--primary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(143 15 87/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--primary:hover:visited{color:#fff}.yst-root .yst-button--primary:focus{--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(143 15 87/var(--tw-ring-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--secondary{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));color:rgb(30 41 59/var(--tw-text-opacity))}.yst-root .yst-button--secondary:visited{color:#1e293b}.yst-root .yst-button--secondary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity));color:rgb(30 41 59/var(--tw-text-opacity))}.yst-root .yst-button--secondary:hover:visited{color:#1e293b}.yst-root .yst-button--secondary:focus{--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(143 15 87/var(--tw-ring-opacity));color:rgb(30 41 59/var(--tw-text-opacity))}.yst-root .yst-button--tertiary{--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:initial;border-style:none;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-button--tertiary:visited{color:#83084e}.yst-root .yst-button--tertiary:hover{--tw-text-opacity:1;color:rgb(131 8 78/var(--tw-text-opacity))}.yst-root .yst-button--tertiary:hover:visited{color:#83084e}.yst-root .yst-button--tertiary:focus{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(143 15 87/var(--tw-ring-opacity));--tw-ring-offset-width:2px;--tw-ring-offset-color:#0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(131 8 78/var(--tw-text-opacity))}.yst-root .yst-button--error{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity));border-color:#0000;color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--error:visited{color:#fff}.yst-root .yst-button--error:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--error:hover:visited{color:#fff}.yst-root .yst-button--error:focus{--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--upsell{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity));border-color:#0000;color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-button--upsell:visited{color:#78350f}.yst-root .yst-button--upsell:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-button--upsell:hover:visited{color:#78350f}.yst-root .yst-button--upsell:focus{--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(251 191 36/var(--tw-ring-opacity));color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-button--large{font-size:1rem;line-height:1.25rem;padding:.75rem 1.5rem}.yst-root .yst-button--small{font-size:.75rem;padding:.375rem .625rem}.yst-root .yst-button--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-button--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-checkbox{align-items:center;display:flex}.yst-root .yst-checkbox--disabled .yst-checkbox__input,.yst-root .yst-checkbox--disabled .yst-checkbox__label{cursor:not-allowed;opacity:.5}.yst-root .yst-checkbox__input{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.25rem;color:rgb(166 30 105/var(--tw-text-opacity));height:1rem;width:1rem}.yst-root .yst-checkbox__input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))}.yst-root .yst-checkbox__label{margin-right:.75rem}.yst-root .yst-code{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:.25rem;color:rgb(15 23 42/var(--tw-text-opacity));display:inline-block;font-size:.75rem;line-height:1.25;margin:0;padding:.25rem}.yst-root .yst-code--block{display:block;margin-bottom:.5rem;margin-top:.5rem;max-width:100%;overflow-x:auto;padding:.25rem .5rem;white-space:nowrap}.yst-root .yst-file-input{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border:2px dashed rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;padding:1.25rem 1.5rem 1.5rem;text-align:center;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:100%}.yst-root .yst-file-input.yst-is-drag-over{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(250 243 247/var(--tw-bg-opacity));border-color:rgb(205 130 171/var(--tw-border-opacity))}.yst-root .yst-file-input.yst-is-drag-over .yst-file-input__content{pointer-events:none}.yst-root .yst-file-input.yst-is-drag-over .yst-file-input__icon{--tw-translate-y:-0.5rem;--tw-text-opacity:1;color:rgb(185 73 134/var(--tw-text-opacity));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-file-input.yst-is-disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-file-input.yst-is-disabled .yst-file-input__select-label{cursor:not-allowed}.yst-root .yst-file-input__content{align-items:center;display:inline-flex;flex-direction:column;max-width:20rem}.yst-root .yst-file-input__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-file-input__content{text-align:center}.yst-root .yst-file-input__icon{stroke-width:1;--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:3rem;margin-right:auto;margin-left:auto;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:3rem}.yst-root .yst-file-input__icon>path{stroke-width:1}.yst-root .yst-file-input__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.yst-root .yst-file-input__input:focus+.yst-file-input__select-label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-file-input__labels{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));display:inline-block;font-weight:400}.yst-root .yst-file-input__select-label{border-radius:.375rem;font-weight:500}[dir=rtl] .yst-root .yst-file-input__labels{flex-direction:row-reverse}.yst-root .yst-label{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;font-weight:500}.yst-root .yst-link{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity));cursor:pointer;-webkit-text-decoration-line:underline;text-decoration-line:underline}.yst-root .yst-link:visited{color:#a61e69}.yst-root .yst-link:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.yst-root .yst-link:hover:visited{color:#b94986}.yst-root .yst-link:focus{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity));--tw-ring-offset-width:1px;--tw-ring-offset-color:#0000;border-radius:.125rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(99 102 241/var(--tw-text-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-link--primary{--tw-text-opacity:1;color:rgb(154 22 96/var(--tw-text-opacity))}.yst-root .yst-link--primary:focus,.yst-root .yst-link--primary:hover{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-link--primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(154 22 96/var(--tw-ring-opacity))}.yst-root .yst-link--error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.yst-root .yst-link--error:focus,.yst-root .yst-link--error:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.yst-root .yst-link--error:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity))}.yst-root .yst-paper{--tw-bg-opacity:1;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column}.yst-root .yst-paper__header{border-bottom-width:1px;padding:2rem}.yst-root .yst-paper__content{flex-grow:1;padding:2rem}.yst-root .yst-progress-bar{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:9999px;display:block;overflow:hidden;width:100%}.yst-root .yst-progress-bar__progress{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));border-radius:9999px;display:block;height:.375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:linear}.yst-root .yst-radio{align-items:center;display:flex}.yst-root .yst-radio--disabled .yst-radio__check,.yst-root .yst-radio--disabled .yst-radio__input,.yst-root .yst-radio--disabled .yst-radio__label{cursor:not-allowed;opacity:.5}.yst-root .yst-radio--disabled .yst-radio__check:focus,.yst-root .yst-radio--disabled .yst-radio__input:focus,.yst-root .yst-radio--disabled .yst-radio__label:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block{display:inline-flex}.yst-root .yst-radio--inline-block .yst-radio__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.yst-root .yst-radio--inline-block .yst-radio__input:checked+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:#0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__input:checked+.yst-radio__content .yst-radio__check{visibility:visible}.yst-root .yst-radio--inline-block .yst-radio__input:focus+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__input:checked:focus+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-offset-width:1px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__content{position:relative}.yst-root .yst-radio--inline-block .yst-radio__label{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);cursor:pointer;display:flex;font-size:1rem;height:3.5rem;justify-content:center;margin-right:0;width:3.5rem}.yst-root .yst-radio--inline-block .yst-radio__label:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.yst-root .yst-radio--inline-block .yst-radio__label:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-radio--inline-block .yst-radio__check{--tw-text-opacity:1;color:rgb(154 22 96/var(--tw-text-opacity));height:1.25rem;position:absolute;left:.125rem;top:.125rem;visibility:hidden;width:1.25rem}.yst-root .yst-radio__input{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity));color:rgb(166 30 105/var(--tw-text-opacity));height:1rem;width:1rem}.yst-root .yst-radio__input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))}.yst-root .yst-radio__label{margin-right:.75rem}.yst-root .yst-select{position:relative}.yst-root .yst-select--disabled .yst-select__button,.yst-root .yst-select--disabled .yst-select__label{cursor:not-allowed;opacity:.5}.yst-root .yst-select__button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(30 41 59/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;line-height:1.5rem;padding:.5rem .75rem;position:relative;text-align:right;width:100%}.yst-root .yst-select__button:focus{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-select__button-icon{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:1.25rem;pointer-events:none;position:absolute;left:.625rem;top:.625rem;width:1.25rem}.yst-root .yst-select__options{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.8125rem;margin-top:.25rem;max-height:15rem;overflow:auto;position:absolute;width:100%;z-index:10}.yst-root .yst-select__options:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-select__option{--tw-text-opacity:1;align-items:center;color:rgb(51 65 85/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;padding:.5rem .75rem;position:relative;-webkit-user-select:none;user-select:none}.yst-root .yst-select__option--active{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.yst-root .yst-select__option--selected{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(154 22 96/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-select__button-label,.yst-root .yst-select__option-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yst-root .yst-select__option-check{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-skeleton-loader{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:.25rem;display:block;height:auto;overflow:hidden;position:relative;width:-moz-fit-content;width:fit-content}.yst-root .yst-skeleton-loader:after{--tw-translate-x:-100%;animation:wave 2.5s linear .5s infinite;background:linear-gradient(-90deg,#0000,#00000012,#0000);bottom:0;content:"";right:0;position:absolute;left:0;top:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes wave{0%{transform:translateX(100%)}50%,to{transform:translateX(-100%)}}.yst-root .yst-tag-input{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;color:rgb(30 41 59/var(--tw-text-opacity));display:flex;flex-wrap:wrap;font-size:.8125rem;gap:.375rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root .yst-tag-input::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity))}.yst-root .yst-tag-input{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-tag-input:focus-within{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-tag-input--disabled:focus-within{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:rgb(203 213 225/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input--disabled .yst-tag-input__tag{cursor:not-allowed}.yst-root .yst-tag-input--disabled .yst-tag-input__tag:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input--disabled .yst-tag-input__tag:focus,.yst-root .yst-tag-input--disabled .yst-tag-input__tag:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag{cursor:not-allowed}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(148 163 184/var(--tw-text-opacity))}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input--disabled .yst-tag-input__input{cursor:not-allowed}.yst-root .yst-tag-input__tag{cursor:pointer;gap:.125rem;min-height:20px;padding-inline-end:.125rem}.yst-root .yst-tag-input__tag:hover{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input__tag:focus,.yst-root .yst-tag-input__tag:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input__remove-tag{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:9999px;color:rgb(148 163 184/var(--tw-text-opacity));display:inline-flex;flex-shrink:0;height:1rem;justify-content:center;width:1rem}.yst-root .yst-tag-input__remove-tag:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));color:rgb(100 116 139/var(--tw-text-opacity))}.yst-root .yst-tag-input__remove-tag:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input__input{border-style:none;display:inline-flex;flex:1 1 0%;font-size:.8125rem;margin:0;padding:0}.yst-root .yst-tag-input__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-text-input{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem .75rem;width:100%}.yst-root .yst-text-input:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-text-input--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-text-input--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-text-input--read-only{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:rgb(248 250 252/var(--tw-bg-opacity));border-color:rgb(226 232 240/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(100 116 139/var(--tw-text-opacity));cursor:default}.yst-root .yst-text-input[type=date]::-webkit-calendar-picker-indicator{background-image:url('data:image/svg+xml;charset=utf-8,');background-position:50%;background-size:contain;height:1.25rem;padding:0;width:1.25rem}.yst-root .yst-text-input--empty[type=date]:not(:focus)::-webkit-datetime-edit{opacity:0}.yst-root .yst-text-input--empty[type=date]:not(:focus):before{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));content:attr(placeholder);flex-grow:1}.yst-root .yst-textarea{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem .75rem;width:100%}.yst-root .yst-textarea:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-textarea--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-textarea--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-title{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity));font-weight:500;line-height:1.25}.yst-root .yst-title--1{font-size:1.5rem}.yst-root .yst-title--2{font-size:1.125rem}.yst-root .yst-title--3{font-size:.875rem}.yst-root .yst-title--4{font-size:1rem}.yst-root .yst-title--5{font-size:.8125rem}.yst-root .yst-toggle{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));border-color:#0000;border-radius:9999px;border-width:2px;cursor:pointer;display:inline-flex;flex-shrink:0;height:1.5rem;position:relative;transition-duration:.2s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2.75rem}.yst-root .yst-toggle:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-toggle--checked{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity))}.yst-root .yst-toggle--checked .yst-toggle__handle{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-toggle--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-toggle--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-toggle__handle{--tw-translate-x:0px;--tw-bg-opacity:1;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:9999px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:flex;height:1.25rem;justify-content:center;pointer-events:none;position:relative;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.2s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1.25rem}.yst-root .yst-toggle__icon{stroke:currentColor;stroke-width:2;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-grow:0;flex-shrink:0;height:.625rem;transition-duration:.1s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:.625rem}.yst-root .yst-toggle__icon--check{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-toggle__icon--x{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}[dir=rtl] .yst-root .yst-toggle--checked .yst-toggle__handle{--tw-translate-x:-1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-validation-icon{pointer-events:none}.yst-root .yst-validation-icon--success{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.yst-root .yst-validation-icon--info{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.yst-root .yst-validation-icon--warning{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.yst-root .yst-validation-icon--error{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.yst-root .yst-validation-input{position:relative}.yst-root .yst-validation-input--success .yst-validation-input__input{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity));padding-left:2.5rem}.yst-root .yst-validation-input--success .yst-validation-input__input:focus,.yst-root .yst-validation-input--success .yst-validation-input__input:focus-within{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity));border-color:rgb(34 197 94/var(--tw-border-opacity))}.yst-root .yst-validation-input--info .yst-validation-input__input{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity));padding-left:2.5rem}.yst-root .yst-validation-input--info .yst-validation-input__input:focus,.yst-root .yst-validation-input--info .yst-validation-input__input:focus-within{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity));border-color:rgb(59 130 246/var(--tw-border-opacity))}.yst-root .yst-validation-input--warning .yst-validation-input__input{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity));padding-left:2.5rem}.yst-root .yst-validation-input--warning .yst-validation-input__input:focus,.yst-root .yst-validation-input--warning .yst-validation-input__input:focus-within{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity));border-color:rgb(245 158 11/var(--tw-border-opacity))}.yst-root .yst-validation-input--error .yst-validation-input__input{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity));padding-left:2.5rem}.yst-root .yst-validation-input--error .yst-validation-input__input:focus,.yst-root .yst-validation-input--error .yst-validation-input__input:focus-within{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity));border-color:rgb(239 68 68/var(--tw-border-opacity))}.yst-root .yst-validation-input__icon{height:1.25rem;position:absolute;left:.625rem;top:.6875rem;width:1.25rem}.yst-root .yst-validation-message a{color:inherit;font-weight:500}.yst-root .yst-validation-message a:visited:hover{color:inherit}.yst-root .yst-validation-message a:focus{--tw-ring-color:currentColor}.yst-root .yst-validation-message--success{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.yst-root .yst-validation-message--info{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.yst-root .yst-validation-message--warning{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.yst-root .yst-validation-message--error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.yst-root .yst-autocomplete-field__description,.yst-root .yst-autocomplete-field__validation{margin-top:.5rem}.yst-root .yst-card{display:flex;flex-direction:column;position:relative}.yst-root .yst-card>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-card{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);overflow:hidden;padding:1.5rem;transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yst-root .yst-card__header{--tw-bg-opacity:1;align-items:center;background-color:rgb(243 244 246/var(--tw-bg-opacity));display:flex;height:6rem;justify-content:center;margin-right:-1.5rem;margin-left:-1.5rem;margin-top:-1.5rem;padding:1.5rem;position:relative}.yst-root .yst-card__content{flex-grow:1}.yst-root .yst-card__footer{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));border-top-width:1px;padding-top:1.5rem}.yst-root .yst-checkbox-group--disabled .yst-checkbox-group__description,.yst-root .yst-checkbox-group--disabled .yst-checkbox-group__label{cursor:not-allowed;opacity:.5}.yst-root .yst-checkbox-group__label{margin-bottom:.5rem}.yst-root .yst-checkbox-group__options{display:flex;flex-direction:column;gap:.75rem}.yst-root .yst-checkbox-group__description{margin-bottom:1rem;margin-top:-.5rem}.yst-root .yst-feature-upsell{position:relative}.yst-root .yst-feature-upsell--default{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.yst-root .yst-feature-upsell--card{padding:1.5rem}.yst-root .yst-file-import>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-file-import__feedback{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);padding:1rem}.yst-root .yst-file-import__feedback-header{align-items:flex-start;display:flex}.yst-root .yst-file-import__feedback-header>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-left:calc(1rem*var(--tw-space-x-reverse))}.yst-root .yst-file-import__feedback-figure{--tw-bg-opacity:1;align-items:center;background-color:rgb(243 229 237/var(--tw-bg-opacity));border-radius:9999px;display:flex;height:2rem;justify-content:center;width:2rem}.yst-root .yst-file-import__feedback-figure>svg{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity));height:1.25rem;width:1.25rem}.yst-root .yst-file-import__feedback-title{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));display:block;font-weight:500;margin-bottom:.125rem;overflow-wrap:break-word}.yst-root .yst-file-import__feedback-description{display:block;font-size:.75rem;font-weight:500}.yst-root .yst-file-import__abort-button{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(241 245 249/var(--tw-bg-opacity));border-radius:9999px;color:rgb(100 116 139/var(--tw-text-opacity));display:inline-flex;flex-shrink:0;height:1.25rem;justify-content:center;width:1.25rem}.yst-root .yst-file-import__abort-button:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(71 85 105/var(--tw-text-opacity))}.yst-root .yst-file-import__abort-button:focus{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-file-import__abort-button>svg{height:.75rem;width:.75rem}.yst-root .yst-file-import__abort-button>svg>path{stroke-width:3}.yst-root .yst-modal{bottom:0;right:0;padding:1rem;position:fixed;left:0;top:0;z-index:10}@media (min-width:640px){.yst-root .yst-modal{padding:2rem}}@media (min-width:768px){.yst-root .yst-modal{padding:5rem}}.yst-root .yst-modal__layout{display:flex;min-height:100%}.yst-root .yst-modal--center .yst-modal__layout{align-items:center;justify-content:center}.yst-root .yst-modal--top-center .yst-modal__layout{align-items:flex-start;justify-content:center}.yst-root .yst-modal__overlay{--tw-bg-opacity:0.75;background-color:rgb(100 116 139/var(--tw-bg-opacity));bottom:0;right:0;position:fixed;left:0;top:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yst-root .yst-modal__panel{--tw-bg-opacity:1;--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);max-width:36rem;overflow:hidden;padding:1.5rem;position:relative;width:100%}.yst-root .yst-modal__close{display:block;position:absolute;left:1rem;top:1rem}.yst-root .yst-modal__close-button{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;color:rgb(148 163 184/var(--tw-text-opacity));position:relative;z-index:10}.yst-root .yst-modal__close-button:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.yst-root .yst-modal__close-button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-modal__container{display:flex;flex-direction:column;max-height:calc(100vh - 2rem)}@media (min-width:640px){.yst-root .yst-modal__container{max-height:calc(100vh - 4rem)}}@media (min-width:768px){.yst-root .yst-modal__container{max-height:calc(100vh - 10rem)}}.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 5rem)}@media (min-width:640px){.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 7rem)}}@media (min-width:768px){.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 13rem)}}.yst-root .yst-modal__container-footer,.yst-root .yst-modal__container-header{flex-shrink:0}.yst-root .yst-modal__container-content{overflow:auto}.yst-root .yst-modal__panel .yst-modal__container-content{margin-right:-1.5rem;margin-left:-1.5rem;padding-right:1.5rem;padding-left:1.5rem}.yst-root .yst-notifications{display:flex;flex-direction:column;max-height:calc(100vh - 4rem);max-width:calc(100vw - 4rem);pointer-events:none;position:fixed;width:100%;z-index:20}.yst-root .yst-notifications>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-notifications--bottom-center{align-items:center;bottom:2rem}.yst-root .yst-notifications--bottom-left{bottom:2rem;right:2rem}.yst-root .yst-notifications--top-center{align-items:center;top:2rem}.yst-root .yst-notification{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);max-width:100%;overflow-y:auto;padding:1rem;pointer-events:auto;width:20rem;z-index:20}.yst-root .yst-notification--large{width:24rem}.yst-root .yst-notification__icon{height:1.25rem;width:1.25rem}.yst-root .yst-pagination{display:inline-flex;isolation:isolate}.yst-root .yst-pagination>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*(1 - var(--tw-space-x-reverse)));margin-left:calc(-1px*var(--tw-space-x-reverse))}.yst-root .yst-pagination{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-pagination-display__text{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(100 116 139/var(--tw-text-opacity));font-weight:400;padding:.5rem .75rem}.yst-root .yst-pagination-display__current-text{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity));font-weight:600}.yst-root .yst-pagination-display__truncated{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity));align-self:center;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(100 116 139/var(--tw-text-opacity));display:inline-flex;font-size:.8125rem;font-weight:600;padding:.5rem 1rem}.yst-root .yst-pagination__button{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));align-items:center;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(148 163 184/var(--tw-text-opacity));display:inline-flex;padding:.5rem;position:relative}.yst-root .yst-pagination__button:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.yst-root .yst-pagination__button:focus{outline-color:#a61e69;outline-offset:0;z-index:20}.yst-root .yst-pagination__button--active{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);background-color:rgb(166 30 105/var(--tw-bg-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(255 255 255/var(--tw-text-opacity));font-size:.8125rem;font-weight:600;z-index:10}.yst-root .yst-pagination__button--active:hover{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity))}.yst-root .yst-pagination__button--active:focus{z-index:20}.yst-root .yst-pagination__button--active:focus-visible{border-radius:.125rem;outline-color:#a61e69;outline-offset:2px;outline-style:solid;outline-width:2px}.yst-root .yst-pagination__button--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-pagination__button--disabled:hover{background-color:initial}.yst-root .yst-pagination__button--disabled:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-radio-group--inline-block .yst-radio-group__options{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.yst-root .yst-radio-group--disabled .yst-radio-group__description,.yst-root .yst-radio-group--disabled .yst-radio-group__label{opacity:.5}.yst-root .yst-radio-group--disabled .yst-radio-group__label{cursor:not-allowed}.yst-root .yst-radio-group__label{margin-bottom:.5rem}.yst-root .yst-radio-group__options{display:flex;flex-direction:column;gap:.5rem}.yst-root .yst-radio-group__description{margin-bottom:1rem;margin-top:-.5rem}.yst-root .yst-select-field--disabled .yst-select-field__description,.yst-root .yst-select-field--disabled .yst-select-field__label{cursor:not-allowed;opacity:.5}.yst-root .yst-select-field__options{display:flex;flex-direction:column;gap:.75rem}.yst-root .yst-select-field__description,.yst-root .yst-select-field__validation{margin-top:.5rem}.yst-root .yst-mobile-navigation__top{position:sticky;top:0;width:100%;z-index:50}.yst-root .yst-mobile-navigation__dialog{bottom:0;display:flex;right:0;position:fixed;left:0;top:0;z-index:50}.yst-root .yst-tag-field--disabled .yst-tag-field__description,.yst-root .yst-tag-field--disabled .yst-tag-field__label{cursor:not-allowed;opacity:.5}.yst-root .yst-tag-field__description,.yst-root .yst-tag-field__validation{margin-top:.5rem}.yst-root .yst-text-field--disabled .yst-text-field__description,.yst-root .yst-text-field--disabled .yst-text-field__label{opacity:.5}.yst-root .yst-text-field--disabled .yst-text-field__label{cursor:not-allowed}.yst-root .yst-text-field--read-only .yst-text-field__label{cursor:default}.yst-root .yst-text-field__description,.yst-root .yst-text-field__validation{margin-top:.5rem}.yst-root .yst-textarea-field--disabled .yst-textarea-field__description,.yst-root .yst-textarea-field--disabled .yst-textarea-field__label{opacity:.5}.yst-root .yst-textarea-field--disabled .yst-textarea-field__label{cursor:not-allowed}.yst-root .yst-text-field--read-only .yst-textarea-field__label{cursor:default}.yst-root .yst-textarea-field__description,.yst-root .yst-textarea-field__validation{margin-top:.5rem}.yst-root .yst-toggle-field{display:flex;flex-direction:column;gap:.25rem}.yst-root .yst-toggle-field--disabled .yst-toggle-field__description,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label-wrapper{opacity:.5}.yst-root .yst-toggle-field--disabled .yst-toggle-field__description,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label-wrapper{cursor:not-allowed}.yst-root .yst-toggle-field__header{align-items:center;display:flex;flex-direction:row;gap:1.5rem;justify-content:space-between}.yst-root .yst-toggle-field__label-wrapper{align-items:center;display:flex;gap:.25rem}.yst-root .yst-toggle-field__description{margin-left:4.25rem}.yst-sr-only{clip:rect(0,0,0,0)!important;border-width:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.yst-pointer-events-none{pointer-events:none!important}.yst-invisible{visibility:hidden!important}.yst-fixed{position:fixed!important}.yst-absolute{position:absolute!important}.yst-relative{position:relative!important}.yst-sticky{position:sticky!important}.yst-inset-0{bottom:0!important;top:0!important}.yst-inset-0,.yst-inset-x-0{right:0!important;left:0!important}.yst-inset-y-0{bottom:0!important;top:0!important}.yst--left-3{right:-.75rem!important}.yst-top-0{top:0!important}.yst-right-0{left:0!important}.yst-bottom-12{bottom:3rem!important}.yst-top-2{top:.5rem!important}.yst-right-2{left:.5rem!important}.yst-bottom-0{bottom:0!important}.yst-top-1\/2{top:50%!important}.yst--right-\[6\.5px\]{left:-6.5px!important}.yst--top-\[6\.5px\]{top:-6.5px!important}.yst-left-4{right:1rem!important}.yst--bottom-6{bottom:-1.5rem!important}.yst-top-8{top:2rem!important}.yst-top-3\.5{top:.875rem!important}.yst-top-3{top:.75rem!important}.yst-left-0{right:0!important}.yst--top-0\.5{top:-.125rem!important}.yst--top-0{top:0!important}.yst-z-30{z-index:30!important}.yst-z-40{z-index:40!important}.yst-z-10{z-index:10!important}.yst-z-20{z-index:20!important}.yst-col-span-1{grid-column:span 1/span 1!important}.yst-m-0{margin:0!important}.yst--m-\[16px\]{margin:-16px!important}.yst--m-6{margin:-1.5rem!important}.yst-my-auto{margin-bottom:auto!important;margin-top:auto!important}.yst-mx-auto{margin-right:auto!important;margin-left:auto!important}.yst-my-4{margin-bottom:1rem!important;margin-top:1rem!important}.yst-my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.yst-my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.yst-my-12{margin-bottom:3rem!important;margin-top:3rem!important}.yst-my-3{margin-bottom:.75rem!important;margin-top:.75rem!important}.yst-my-8{margin-bottom:2rem!important;margin-top:2rem!important}.yst--mx-6{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.yst-mx-1\.5{margin-right:.375rem!important;margin-left:.375rem!important}.yst-mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.yst-mx-0{margin-right:0!important;margin-left:0!important}.yst-mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.yst-my-0{margin-bottom:0!important;margin-top:0!important}.yst-my-16{margin-bottom:4rem!important;margin-top:4rem!important}.yst--ml-1{margin-right:-.25rem!important}.yst-mt-6{margin-top:1.5rem!important}.yst-mt-1\.5{margin-top:.375rem!important}.yst-mt-1{margin-top:.25rem!important}.yst-ml-4{margin-right:1rem!important}.yst-ml-8{margin-right:2rem!important}.yst--mr-14{margin-left:-3.5rem!important}.yst-mb-2{margin-bottom:.5rem!important}.yst-mr-4{margin-left:1rem!important}.yst-mr-2{margin-left:.5rem!important}.yst-mb-px{margin-bottom:1px!important}.yst-mb-16{margin-bottom:4rem!important}.yst-mt-auto{margin-top:auto!important}.yst-ml-3{margin-right:.75rem!important}.yst-mr-1{margin-left:.25rem!important}.yst-mr-5{margin-left:1.25rem!important}.yst-mb-8{margin-bottom:2rem!important}.yst-mt-3{margin-top:.75rem!important}.yst-ml-1{margin-right:.25rem!important}.yst--mr-1{margin-left:-.25rem!important}.yst--mb-\[1em\]{margin-bottom:-1em!important}.yst--ml-0\.5{margin-right:-.125rem!important}.yst--ml-0{margin-right:0!important}.yst-ml-auto{margin-right:auto!important}.yst-mt-2{margin-top:.5rem!important}.yst-mt-4{margin-top:1rem!important}.yst-mb-5{margin-bottom:1.25rem!important}.yst-mb-6{margin-bottom:1.5rem!important}.yst-mt-8{margin-top:2rem!important}.yst-mt-12{margin-top:3rem!important}.yst-mb-3{margin-bottom:.75rem!important}.yst-ml-1\.5{margin-right:.375rem!important}.yst-mr-6{margin-left:1.5rem!important}.yst--ml-px{margin-right:-1px!important}.yst-ml-12{margin-right:3rem!important}.yst-mb-0{margin-bottom:0!important}.yst--mt-6{margin-top:-1.5rem!important}.yst-mb-4{margin-bottom:1rem!important}.yst-ml-2{margin-right:.5rem!important}.yst-mr-3{margin-left:.75rem!important}.yst-mt-7{margin-top:1.75rem!important}.yst-mt-10{margin-top:2.5rem!important}.yst-mt-\[-2\.6rem\]{margin-top:-2.6rem!important}.yst-mt-\[18px\]{margin-top:18px!important}.yst-mb-1{margin-bottom:.25rem!important}.yst-mr-8{margin-left:2rem!important}.yst--mt-4{margin-top:-1rem!important}.yst-mb-24{margin-bottom:6rem!important}.yst-mt-\[27\.5px\]{margin-top:27.5px!important}.yst-mt-5{margin-top:1.25rem!important}.yst-mt-0{margin-top:0!important}.yst-block{display:block!important}.yst-inline-block{display:inline-block!important}.yst-inline{display:inline!important}.yst-flex{display:flex!important}.yst-inline-flex{display:inline-flex!important}.yst-grid{display:grid!important}.yst-hidden{display:none!important}.yst-h-5{height:1.25rem!important}.yst-h-6{height:1.5rem!important}.yst-h-4{height:1rem!important}.yst-h-12{height:3rem!important}.yst-h-0{height:0!important}.yst-h-full{height:100%!important}.yst-h-16{height:4rem!important}.yst-h-7{height:1.75rem!important}.yst-h-3{height:.75rem!important}.yst-h-8{height:2rem!important}.yst-h-\[90vh\]{height:90vh!important}.yst-h-4\/5{height:80%!important}.yst-h-20{height:5rem!important}.yst-h-\[120px\]{height:120px!important}.yst-h-auto{height:auto!important}.yst-h-9{height:2.25rem!important}.yst-h-2\.5{height:.625rem!important}.yst-h-2{height:.5rem!important}.yst-h-24{height:6rem!important}.yst-h-48{height:12rem!important}.yst-h-96{height:24rem!important}.yst-h-\[45px\]{height:45px!important}.yst-h-14{height:3.5rem!important}.yst-h-28{height:7rem!important}.yst-max-h-\[calc\(90vh-10rem\)\]{max-height:calc(90vh - 10rem)!important}.yst-max-h-60{max-height:15rem!important}.yst-min-h-screen{min-height:100vh!important}.yst-min-h-full{min-height:100%!important}.yst-w-5{width:1.25rem!important}.yst-w-6{width:1.5rem!important}.yst-w-0{width:0!important}.yst-w-full{width:100%!important}.yst-w-4{width:1rem!important}.yst-w-12{width:3rem!important}.yst-w-2{width:.5rem!important}.yst-w-3{width:.75rem!important}.yst-w-8{width:2rem!important}.yst-w-\[350px\]{width:350px!important}.yst-w-20{width:5rem!important}.yst-w-\[150px\]{width:150px!important}.yst-w-\[3px\]{width:3px!important}.yst-w-40{width:10rem!important}.yst-w-56{width:14rem!important}.yst-w-2\.5{width:.625rem!important}.yst-w-0\.5{width:.125rem!important}.yst-w-48{width:12rem!important}.yst-w-96{width:24rem!important}.yst-w-1\/2{width:50%!important}.yst-w-3\/5{width:60%!important}.yst-w-16{width:4rem!important}.yst-w-14{width:3.5rem!important}.yst-w-\[463px\]{width:463px!important}.yst-w-24{width:6rem!important}.yst-min-w-full{min-width:100%!important}.yst-min-w-0{min-width:0!important}.yst-max-w-xs{max-width:20rem!important}.yst-max-w-sm{max-width:24rem!important}.yst-max-w-screen-sm{max-width:640px!important}.yst-max-w-6xl{max-width:72rem!important}.yst-max-w-lg{max-width:32rem!important}.yst-max-w-\[715px\]{max-width:715px!important}.yst-max-w-none{max-width:none!important}.yst-max-w-full{max-width:100%!important}.yst-max-w-5xl{max-width:64rem!important}.yst-max-w-2xl{max-width:42rem!important}.yst-max-w-\[500px\]{max-width:500px!important}.yst-flex-1{flex:1 1 0%!important}.yst-flex-none{flex:none!important}.yst-flex-shrink-0,.yst-shrink-0{flex-shrink:0!important}.yst-flex-grow,.yst-grow{flex-grow:1!important}.yst-origin-top{transform-origin:top!important}.yst-translate-y-4{--tw-translate-y:1rem!important}.yst-translate-y-0,.yst-translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst-translate-y-0{--tw-translate-y:0px!important}.yst-translate-y-full{--tw-translate-y:100%!important}.yst--translate-y-full,.yst-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst--translate-y-full{--tw-translate-y:-100%!important}.yst-scale-95{--tw-scale-x:.95!important;--tw-scale-y:.95!important}.yst-scale-100,.yst-scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst-scale-100{--tw-scale-x:1!important;--tw-scale-y:1!important}.yst-scale-y-0{--tw-scale-y:0!important}.yst-scale-y-0,.yst-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@keyframes yst-spin{to{transform:rotate(-1turn)}}.yst-animate-spin{animation:yst-spin 1s linear infinite!important}.yst-cursor-wait{cursor:wait!important}.yst-cursor-not-allowed{cursor:not-allowed!important}.yst-cursor-default{cursor:default!important}.yst-select-none{-webkit-user-select:none!important;user-select:none!important}.yst-scroll-pt-11{scroll-padding-top:2.75rem!important}.yst-scroll-pb-2{scroll-padding-bottom:.5rem!important}.yst-list-outside{list-style-position:outside!important}.yst-list-disc{list-style-type:disc!important}.yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.yst-flex-row{flex-direction:row!important}.yst-flex-col{flex-direction:column!important}.yst-flex-wrap{flex-wrap:wrap!important}.yst-content-between{align-content:space-between!important}.yst-items-start{align-items:flex-start!important}.yst-items-end{align-items:flex-end!important}.yst-items-center{align-items:center!important}.yst-justify-center{justify-content:center!important}.yst-justify-between{justify-content:space-between!important}.yst-gap-2{gap:.5rem!important}.yst-gap-3{gap:.75rem!important}.yst-gap-8{gap:2rem!important}.yst-gap-6{gap:1.5rem!important}.yst-gap-1\.5{gap:.375rem!important}.yst-gap-1{gap:.25rem!important}.yst-gap-4{gap:1rem!important}.yst-gap-x-6{column-gap:1.5rem!important}.yst-gap-x-4{column-gap:1rem!important}.yst-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-right:calc(2rem*(1 - var(--tw-space-x-reverse)))!important;margin-left:calc(2rem*var(--tw-space-x-reverse))!important}.yst-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(2rem*var(--tw-space-y-reverse))!important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-right:calc(.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-left:calc(.5rem*var(--tw-space-x-reverse))!important}.yst-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.75rem*var(--tw-space-y-reverse))!important;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1rem*var(--tw-space-y-reverse))!important;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-right:calc(.75rem*(1 - var(--tw-space-x-reverse)))!important;margin-left:calc(.75rem*var(--tw-space-x-reverse))!important}.yst-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))!important}.yst-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0!important;border-bottom-width:calc(1px*var(--tw-divide-y-reverse))!important;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))!important}.yst-divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1!important;border-color:rgb(229 231 235/var(--tw-divide-opacity))!important}.yst-divide-slate-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1!important;border-color:rgb(203 213 225/var(--tw-divide-opacity))!important}.yst-self-start{align-self:flex-start!important}.yst-self-end{align-self:flex-end!important}.yst-self-center{align-self:center!important}.yst-overflow-auto{overflow:auto!important}.yst-overflow-hidden{overflow:hidden!important}.yst-overflow-y-auto{overflow-y:auto!important}.yst-overflow-x-scroll{overflow-x:scroll!important}.yst-truncate{overflow:hidden!important;white-space:nowrap!important}.yst-overflow-ellipsis,.yst-text-ellipsis,.yst-truncate{text-overflow:ellipsis!important}.yst-whitespace-nowrap{white-space:nowrap!important}.yst-whitespace-pre-line{white-space:pre-line!important}.yst-rounded-md{border-radius:.375rem!important}.yst-rounded-full{border-radius:9999px!important}.yst-rounded-lg{border-radius:.5rem!important}.yst-rounded-3xl{border-radius:1.5rem!important}.yst-rounded-none{border-radius:0!important}.yst-rounded-xl{border-radius:.75rem!important}.yst-rounded-l-md{border-bottom-right-radius:.375rem!important;border-top-right-radius:.375rem!important}.yst-rounded-r-md{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}.yst-rounded-t-lg{border-top-right-radius:.5rem!important;border-top-left-radius:.5rem!important}.yst-rounded-b-lg{border-bottom-right-radius:.5rem!important;border-bottom-left-radius:.5rem!important}.yst-rounded-br-none{border-bottom-left-radius:0!important}.yst-border{border-width:1px!important}.yst-border-2{border-width:2px!important}.yst-border-0{border-width:0!important}.yst-border-y{border-bottom-width:1px!important;border-top-width:1px!important}.yst-border-x-0{border-right-width:0!important;border-left-width:0!important}.yst-border-l{border-right-width:1px!important}.yst-border-b{border-bottom-width:1px!important}.yst-border-r{border-left-width:1px!important}.yst-border-t,.yst-border-t-\[1px\]{border-top-width:1px!important}.yst-border-solid{border-style:solid!important}.yst-border-dashed{border-style:dashed!important}.yst-border-none{border-style:none!important}.yst-border-slate-200{--tw-border-opacity:1!important;border-color:rgb(226 232 240/var(--tw-border-opacity))!important}.yst-border-transparent{border-color:#0000!important}.yst-border-white{--tw-border-opacity:1!important;border-color:rgb(255 255 255/var(--tw-border-opacity))!important}.yst-border-amber-300{--tw-border-opacity:1!important;border-color:rgb(252 211 77/var(--tw-border-opacity))!important}.yst-border-slate-300{--tw-border-opacity:1!important;border-color:rgb(203 213 225/var(--tw-border-opacity))!important}.yst-border-primary-500{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.yst-border-slate-100{--tw-border-opacity:1!important;border-color:rgb(241 245 249/var(--tw-border-opacity))!important}.yst-border-primary-300{--tw-border-opacity:1!important;border-color:rgb(205 130 171/var(--tw-border-opacity))!important}.yst-border-red-300{--tw-border-opacity:1!important;border-color:rgb(252 165 165/var(--tw-border-opacity))!important}.yst-border-red-500{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity))!important}.yst-border-emerald-600{--tw-border-opacity:1!important;border-color:rgb(5 150 105/var(--tw-border-opacity))!important}.yst-border-r-slate-200{--tw-border-opacity:1!important;border-left-color:rgb(226 232 240/var(--tw-border-opacity))!important}.yst-border-t-\[rgb\(0\,0\,0\,0\.2\)\]{border-top-color:#0003!important}.yst-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.yst-bg-slate-600{--tw-bg-opacity:1!important;background-color:rgb(71 85 105/var(--tw-bg-opacity))!important}.yst-bg-slate-100{--tw-bg-opacity:1!important;background-color:rgb(241 245 249/var(--tw-bg-opacity))!important}.yst-bg-slate-200{--tw-bg-opacity:1!important;background-color:rgb(226 232 240/var(--tw-bg-opacity))!important}.yst-bg-slate-50{--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.yst-bg-green-100{--tw-bg-opacity:1!important;background-color:rgb(220 252 231/var(--tw-bg-opacity))!important}.yst-bg-primary-500{--tw-bg-opacity:1!important;background-color:rgb(166 30 105/var(--tw-bg-opacity))!important}.yst-bg-black{--tw-bg-opacity:1!important;background-color:rgb(0 0 0/var(--tw-bg-opacity))!important}.yst-bg-transparent{background-color:initial!important}.yst-bg-slate-300{--tw-bg-opacity:1!important;background-color:rgb(203 213 225/var(--tw-bg-opacity))!important}.yst-bg-slate-500{--tw-bg-opacity:1!important;background-color:rgb(100 116 139/var(--tw-bg-opacity))!important}.yst-bg-red-100{--tw-bg-opacity:1!important;background-color:rgb(254 226 226/var(--tw-bg-opacity))!important}.yst-bg-primary-600{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.yst-bg-blue-100{--tw-bg-opacity:1!important;background-color:rgb(219 234 254/var(--tw-bg-opacity))!important}.yst-bg-yellow-100{--tw-bg-opacity:1!important;background-color:rgb(254 249 195/var(--tw-bg-opacity))!important}.yst-bg-primary-200{--tw-bg-opacity:1!important;background-color:rgb(224 179 204/var(--tw-bg-opacity))!important}.yst-bg-opacity-75{--tw-bg-opacity:0.75!important}.yst-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))!important}.yst-from-\[\#EDD2E1\]{--tw-gradient-from:#edd2e1!important;--tw-gradient-to:#edd2e100!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important}.yst-stroke-3{stroke-width:3px!important}.yst-stroke-1{stroke-width:1!important}.yst-object-contain{object-fit:contain!important}.yst-object-cover{object-fit:cover!important}.yst-object-center{object-position:center!important}.yst-p-1{padding:.25rem!important}.yst-p-6{padding:1.5rem!important}.yst-p-4{padding:1rem!important}.yst-p-8{padding:2rem!important}.yst-p-0{padding:0!important}.yst-p-2\.5{padding:.625rem!important}.yst-p-2{padding:.5rem!important}.yst-p-10{padding:2.5rem!important}.yst-p-3{padding:.75rem!important}.yst-px-4{padding-right:1rem!important;padding-left:1rem!important}.yst-px-3{padding-right:.75rem!important;padding-left:.75rem!important}.yst-py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.yst-py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.yst-px-2{padding-right:.5rem!important;padding-left:.5rem!important}.yst-py-4{padding-bottom:1rem!important;padding-top:1rem!important}.yst-px-6{padding-right:1.5rem!important;padding-left:1.5rem!important}.yst-py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.yst-px-2\.5{padding-right:.625rem!important;padding-left:.625rem!important}.yst-py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.yst-px-0\.5{padding-right:.125rem!important;padding-left:.125rem!important}.yst-px-0{padding-right:0!important;padding-left:0!important}.yst-px-\[3px\]{padding-right:3px!important;padding-left:3px!important}.yst-py-\[3px\]{padding-bottom:3px!important;padding-top:3px!important}.yst-px-8{padding-right:2rem!important;padding-left:2rem!important}.yst-py-12{padding-bottom:3rem!important;padding-top:3rem!important}.yst-py-1\.5{padding-bottom:.375rem!important;padding-top:.375rem!important}.yst-px-11{padding-right:2.75rem!important;padding-left:2.75rem!important}.yst-pb-10{padding-bottom:2.5rem!important}.yst-pt-1{padding-top:.25rem!important}.yst-pb-1{padding-bottom:.25rem!important}.yst-pt-4{padding-top:1rem!important}.yst-pb-4{padding-bottom:1rem!important}.yst-pr-4{padding-left:1rem!important}.yst-pl-6{padding-right:1.5rem!important}.yst-pt-2{padding-top:.5rem!important}.yst-pl-\[1em\]{padding-right:1em!important}.yst-pb-6{padding-bottom:1.5rem!important}.yst-pb-8{padding-bottom:2rem!important}.yst-pb-20{padding-bottom:5rem!important}.yst-pt-5{padding-top:1.25rem!important}.yst-pt-6{padding-top:1.5rem!important}.yst-pl-2{padding-right:.5rem!important}.yst-pr-3{padding-left:.75rem!important}.yst-pb-2{padding-bottom:.5rem!important}.yst-pt-\[56\.25\%\]{padding-top:56.25%!important}.yst-pl-3{padding-right:.75rem!important}.yst-pr-2{padding-left:.5rem!important}.yst-pl-0{padding-right:0!important}.yst-pr-10{padding-left:2.5rem!important}.yst-pr-9{padding-left:2.25rem!important}.yst-text-left{text-align:right!important}.yst-text-center{text-align:center!important}.yst-align-middle{vertical-align:middle!important}.yst-align-bottom{vertical-align:bottom!important}.yst-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.yst-font-wp{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif!important}.yst-text-sm{font-size:.8125rem!important}.yst-text-4xl{font-size:2.25rem!important}.yst-text-2xl{font-size:1.5rem!important}.yst-text-base{font-size:1rem!important}.yst-text-tiny{font-size:.875rem!important}.yst-text-lg{font-size:1.125rem!important}.yst-text-xs{font-size:.75rem!important}.yst-text-xl{font-size:1.25rem!important}.yst-text-\[10px\]{font-size:10px!important}.yst-text-xxs{font-size:.675rem!important}.yst-font-medium{font-weight:500!important}.yst-font-semibold{font-weight:600!important}.yst-font-extrabold{font-weight:800!important}.yst-font-bold{font-weight:700!important}.yst-font-\[650\]{font-weight:650!important}.yst-font-light{font-weight:300!important}.yst-font-normal{font-weight:400!important}.yst-uppercase{text-transform:uppercase!important}.yst-italic{font-style:italic!important}.yst-leading-10{line-height:2.5rem!important}.yst-leading-6{line-height:1.5rem!important}.yst-leading-8{line-height:2rem!important}.yst-leading-5{line-height:1.25rem!important}.yst-leading-normal{line-height:1.5!important}.yst-leading-\[normal\]{line-height:normal!important}.yst-leading-tight{line-height:1.25!important}.yst-leading-4{line-height:1rem!important}.yst-tracking-tight{letter-spacing:-.025em!important}.yst-tracking-wide{letter-spacing:.025em!important}.yst-text-slate-800{--tw-text-opacity:1!important;color:rgb(30 41 59/var(--tw-text-opacity))!important}.yst-text-slate-400{--tw-text-opacity:1!important;color:rgb(148 163 184/var(--tw-text-opacity))!important}.yst-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.yst-text-slate-500{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.yst-text-slate-900{--tw-text-opacity:1!important;color:rgb(15 23 42/var(--tw-text-opacity))!important}.yst-text-slate-600{--tw-text-opacity:1!important;color:rgb(71 85 105/var(--tw-text-opacity))!important}.yst-text-primary-500{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.yst-text-gray-900{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.yst-text-gray-500{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity))!important}.yst-text-green-600{--tw-text-opacity:1!important;color:rgb(22 163 74/var(--tw-text-opacity))!important}.yst-text-gray-400{--tw-text-opacity:1!important;color:rgb(156 163 175/var(--tw-text-opacity))!important}.yst-text-indigo-600{--tw-text-opacity:1!important;color:rgb(79 70 229/var(--tw-text-opacity))!important}.yst-text-\[\#555\]{--tw-text-opacity:1!important;color:rgb(85 85 85/var(--tw-text-opacity))!important}.yst-text-amber-300{--tw-text-opacity:1!important;color:rgb(252 211 77/var(--tw-text-opacity))!important}.yst-text-slate-700{--tw-text-opacity:1!important;color:rgb(51 65 85/var(--tw-text-opacity))!important}.yst-text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.yst-text-green-400{--tw-text-opacity:1!important;color:rgb(74 222 128/var(--tw-text-opacity))!important}.yst-text-\[\#111827\]{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.yst-text-yellow-900{--tw-text-opacity:1!important;color:rgb(113 63 18/var(--tw-text-opacity))!important}.yst-text-amber-500{--tw-text-opacity:1!important;color:rgb(245 158 11/var(--tw-text-opacity))!important}.yst-text-red-600{--tw-text-opacity:1!important;color:rgb(220 38 38/var(--tw-text-opacity))!important}.yst-text-blue-500{--tw-text-opacity:1!important;color:rgb(59 130 246/var(--tw-text-opacity))!important}.yst-text-blue-800{--tw-text-opacity:1!important;color:rgb(30 64 175/var(--tw-text-opacity))!important}.yst-text-yellow-500{--tw-text-opacity:1!important;color:rgb(234 179 8/var(--tw-text-opacity))!important}.yst-text-yellow-800{--tw-text-opacity:1!important;color:rgb(133 77 14/var(--tw-text-opacity))!important}.yst-text-red-800{--tw-text-opacity:1!important;color:rgb(153 27 27/var(--tw-text-opacity))!important}.yst-text-emerald-600{--tw-text-opacity:1!important;color:rgb(5 150 105/var(--tw-text-opacity))!important}.yst-text-green-800{--tw-text-opacity:1!important;color:rgb(22 101 52/var(--tw-text-opacity))!important}.yst-text-red-900{--tw-text-opacity:1!important;color:rgb(127 29 29/var(--tw-text-opacity))!important}.yst-underline{-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.yst-line-through{-webkit-text-decoration-line:line-through!important;text-decoration-line:line-through!important}.yst-no-underline{-webkit-text-decoration-line:none!important;text-decoration-line:none!important}.yst-subpixel-antialiased{-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.yst-placeholder-slate-500::placeholder{--tw-placeholder-opacity:1!important;color:rgb(100 116 139/var(--tw-placeholder-opacity))!important}.yst-opacity-0{opacity:0!important}.yst-opacity-100{opacity:1!important}.yst-opacity-25{opacity:.25!important}.yst-opacity-75{opacity:.75!important}.yst-opacity-50{opacity:.5!important}.yst-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a!important;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)!important}.yst-shadow,.yst-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important}.yst-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a!important;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)!important}.yst-shadow-md,.yst-shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)!important}.yst-shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important}.yst-shadow-none,.yst-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d!important;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)!important}.yst-shadow-amber-700\/30{--tw-shadow-color:#b453094d!important;--tw-shadow:var(--tw-shadow-colored)!important}.yst-outline-none{outline:2px solid #0000!important;outline-offset:2px!important}.yst-ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.yst-ring-gray-200{--tw-ring-opacity:1!important;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))!important}.yst-ring-black{--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))!important}.yst-ring-opacity-5{--tw-ring-opacity:0.05!important}.yst-ring-offset-2{--tw-ring-offset-width:2px!important}.yst-ring-offset-primary-500{--tw-ring-offset-color:#a61e69!important}.yst-drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)!important}.yst-drop-shadow-md,.yst-grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.yst-grayscale{--tw-grayscale:grayscale(100%)!important}.yst-filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.yst-transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-colors{transition-duration:.15s!important;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-transform{transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-\[width\]{transition-duration:.15s!important;transition-property:width!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-delay-200{transition-delay:.2s!important}.yst-delay-\[900ms\]{transition-delay:.9s!important}.yst-delay-100{transition-delay:.1s!important}.yst-duration-1000{transition-duration:1s!important}.yst-duration-200{transition-duration:.2s!important}.yst-duration-300{transition-duration:.3s!important}.yst-duration-150{transition-duration:.15s!important}.yst-duration-100{transition-duration:.1s!important}.yst-duration-75{transition-duration:75ms!important}.yst-duration-500{transition-duration:.5s!important}.yst-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)!important}.yst-ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)!important}.yst-ease-linear{transition-timing-function:linear!important}.odd\:yst-bg-white:nth-child(odd){--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.even\:yst-bg-slate-50:nth-child(2n){--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.focus-within\:yst-border-primary-500:focus-within{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.focus-within\:yst-outline-none:focus-within{outline:2px solid #0000!important;outline-offset:2px!important}.focus-within\:yst-ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus-within\:yst-ring-primary-500:focus-within{--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important}.hover\:yst-bg-slate-50:hover{--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.hover\:yst-bg-gray-50:hover{--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}.hover\:yst-bg-\[\#f0f0f0\]:hover{--tw-bg-opacity:1!important;background-color:rgb(240 240 240/var(--tw-bg-opacity))!important}.hover\:yst-bg-white:hover{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.hover\:yst-bg-primary-600:hover{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.hover\:yst-text-slate-500:hover{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.hover\:yst-text-slate-900:hover{--tw-text-opacity:1!important;color:rgb(15 23 42/var(--tw-text-opacity))!important}.hover\:yst-text-slate-800:hover{--tw-text-opacity:1!important;color:rgb(30 41 59/var(--tw-text-opacity))!important}.hover\:yst-text-slate-600:hover{--tw-text-opacity:1!important;color:rgb(71 85 105/var(--tw-text-opacity))!important}.hover\:yst-text-white:hover{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.hover\:yst-text-primary-500:hover{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.hover\:yst-underline:hover{-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.focus\:yst-border-primary-500:focus{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.focus\:yst-border-red-500:focus{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity))!important}.focus\:yst-border-emerald-600:focus{--tw-border-opacity:1!important;border-color:rgb(5 150 105/var(--tw-border-opacity))!important}.focus\:yst-bg-primary-600:focus{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.focus\:yst-text-white:focus{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.focus\:yst-text-primary-500:focus{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.focus\:yst-shadow-\[0_0_3px_rgba\(8\2c 74\2c 103\2c 0\.8\)\]:focus{--tw-shadow:0 0 3px #084a67cc!important;--tw-shadow-colored:0 0 3px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.focus\:yst-outline-none:focus{outline:2px solid #0000!important;outline-offset:2px!important}.focus\:yst-outline:focus{outline-style:solid!important}.focus\:yst-outline-\[1px\]:focus{outline-width:1px!important}.focus\:-yst-outline-offset-1:focus{outline-offset:-1px!important}.focus\:yst-outline-\[color\:\#0066cd\]:focus{outline-color:#0066cd!important}.focus\:yst-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.focus\:yst-ring-1:focus,.focus\:yst-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus\:yst-ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.focus\:yst-ring-inset:focus{--tw-ring-inset:inset!important}.focus\:yst-ring-primary-500:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important}.focus\:yst-ring-white:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))!important}.focus\:yst-ring-red-500:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))!important}.focus\:yst-ring-emerald-600:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(5 150 105/var(--tw-ring-opacity))!important}.focus\:yst-ring-offset-2:focus{--tw-ring-offset-width:2px!important}.focus\:yst-ring-offset-1:focus{--tw-ring-offset-width:1px!important}.focus\:yst-ring-offset-transparent:focus{--tw-ring-offset-color:#0000!important}.focus\:yst-ring-offset-primary-500:focus{--tw-ring-offset-color:#a61e69!important}.yst-group:hover .group-hover\:yst-bg-primary-500{--tw-bg-opacity:1!important;background-color:rgb(166 30 105/var(--tw-bg-opacity))!important}.yst-group:hover .group-hover\:yst-bg-primary-200{--tw-bg-opacity:1!important;background-color:rgb(224 179 204/var(--tw-bg-opacity))!important}.yst-group:hover .group-hover\:yst-text-slate-500{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.yst-group:hover .group-hover\:yst-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.yst-group:hover .group-hover\:yst-text-primary-800{--tw-text-opacity:1!important;color:rgb(131 8 78/var(--tw-text-opacity))!important}[dir=rtl] .rtl\:yst-rotate-180{--tw-rotate:180deg!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@media not all and (min-width:640px){.max-sm\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}}@media (min-width:640px){.sm\:yst-my-8{margin-bottom:2rem!important;margin-top:2rem!important}.sm\:yst-mx-0{margin-right:0!important;margin-left:0!important}.sm\:yst-mb-0{margin-bottom:0!important}.sm\:yst-ml-3{margin-right:.75rem!important}.sm\:yst-mt-0{margin-top:0!important}.sm\:yst-ml-4{margin-right:1rem!important}.sm\:yst-block{display:block!important}.sm\:yst-inline-block{display:inline-block!important}.sm\:yst-flex{display:flex!important}.sm\:yst-h-screen{height:100vh!important}.sm\:yst-h-10{height:2.5rem!important}.sm\:yst-w-auto{width:auto!important}.sm\:yst-w-full{width:100%!important}.sm\:yst-w-10{width:2.5rem!important}.sm\:yst-max-w-lg{max-width:32rem!important}.sm\:yst-translate-y-0{--tw-translate-y:0px!important}.sm\:yst-scale-95,.sm\:yst-translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.sm\:yst-scale-95{--tw-scale-x:.95!important;--tw-scale-y:.95!important}.sm\:yst-scale-100{--tw-scale-x:1!important;--tw-scale-y:1!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.sm\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sm\:yst-flex-row-reverse{flex-direction:row-reverse!important}.sm\:yst-items-start{align-items:flex-start!important}.sm\:yst-p-0{padding:0!important}.sm\:yst-p-6{padding:1.5rem!important}.sm\:yst-text-left{text-align:right!important}.sm\:yst-align-middle{vertical-align:middle!important}.sm\:yst-text-sm{font-size:.8125rem!important}}@media (min-width:768px){.md\:yst-absolute{position:absolute!important}.md\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.md\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.md\:yst-flex-row{flex-direction:row!important}}@media (min-width:783px){.min-\[783px\]\:yst-block{display:block!important}.min-\[783px\]\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.min-\[783px\]\:yst-p-8{padding:2rem!important}}@media (min-width:1024px){.lg\:yst-col-span-2{grid-column:span 2/span 2!important}.lg\:yst-mt-0{margin-top:0!important}.lg\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lg\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.lg\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lg\:yst-gap-12{gap:3rem!important}}@media (min-width:1280px){.xl\:yst-fixed{position:fixed!important}.xl\:yst-right-8{left:2rem!important}.xl\:yst-col-span-2{grid-column:span 2/span 2!important}.xl\:yst-mb-0{margin-bottom:0!important}.xl\:yst-mt-0{margin-top:0!important}.xl\:yst-w-\[16rem\]{width:16rem!important}.xl\:yst-max-w-3xl{max-width:48rem!important}.xl\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.xl\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.xl\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.xl\:yst-gap-12{gap:3rem!important}.xl\:yst-pr-\[17\.5rem\]{padding-left:17.5rem!important}}@media (min-width:1536px){.\32xl\:yst-col-span-2{grid-column:span 2/span 2!important}.\32xl\:yst-mt-0{margin-top:0!important}.\32xl\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.\32xl\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.\32xl\:yst-gap-12{gap:3rem!important}}@media (min-width:1800px){.min-\[1800px\]\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}} \ No newline at end of file diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2210.css deleted file mode 100644 index c3f4626d..00000000 --- a/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2210.css +++ /dev/null @@ -1 +0,0 @@ -.yst-root *,.yst-root :after,.yst-root :before{border:0 solid #e5e7eb;box-sizing:border-box}.yst-root :after,.yst-root :before{--tw-content:""}.yst-root{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;margin:0;tab-size:4}.yst-root hr{border-top-width:1px;color:inherit;height:0}.yst-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.yst-root h1,.yst-root h2,.yst-root h3,.yst-root h4,.yst-root h5,.yst-root h6{font-size:inherit;font-weight:inherit}.yst-root a{color:inherit;text-decoration:inherit}.yst-root b,.yst-root strong{font-weight:bolder}.yst-root code,.yst-root kbd,.yst-root pre,.yst-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}.yst-root small{font-size:80%}.yst-root sub,.yst-root sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.yst-root sub{bottom:-.25em}.yst-root sup{top:-.5em}.yst-root table{border-collapse:collapse;border-color:inherit;text-indent:0}.yst-root button,.yst-root input,.yst-root optgroup,.yst-root select,.yst-root textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}.yst-root button,.yst-root select{text-transform:none}.yst-root [type=button],.yst-root [type=reset],.yst-root [type=submit],.yst-root button{-webkit-appearance:button;background-color:initial;background-image:none}.yst-root :-moz-focusring{outline:auto}.yst-root :-moz-ui-invalid{box-shadow:none}.yst-root progress{vertical-align:initial}.yst-root ::-webkit-inner-spin-button,.yst-root ::-webkit-outer-spin-button{height:auto}.yst-root [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.yst-root ::-webkit-search-decoration{-webkit-appearance:none}.yst-root ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.yst-root summary{display:list-item}.yst-root blockquote,.yst-root dd,.yst-root dl,.yst-root figure,.yst-root h1,.yst-root h2,.yst-root h3,.yst-root h4,.yst-root h5,.yst-root h6,.yst-root hr,.yst-root p,.yst-root pre{margin:0}.yst-root fieldset{margin:0;padding:0}.yst-root legend{padding:0}.yst-root menu,.yst-root ol,.yst-root ul{list-style:none;margin:0;padding:0}.yst-root textarea{resize:vertical}.yst-root input::placeholder,.yst-root textarea::placeholder{color:#6b7280;opacity:1}.yst-root [role=button],.yst-root button{cursor:pointer}.yst-root :disabled{cursor:default}.yst-root audio,.yst-root canvas,.yst-root embed,.yst-root iframe,.yst-root img,.yst-root object,.yst-root svg,.yst-root video{display:block;vertical-align:middle}.yst-root img,.yst-root video{height:auto;max-width:100%}.yst-root [type=date],.yst-root [type=datetime-local],.yst-root [type=email],.yst-root [type=month],.yst-root [type=number],.yst-root [type=password],.yst-root [type=search],.yst-root [type=tel],.yst-root [type=text],.yst-root [type=time],.yst-root [type=url],.yst-root [type=week]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root [type=date]:focus,.yst-root [type=datetime-local]:focus,.yst-root [type=email]:focus,.yst-root [type=month]:focus,.yst-root [type=number]:focus,.yst-root [type=password]:focus,.yst-root [type=search]:focus,.yst-root [type=tel]:focus,.yst-root [type=text]:focus,.yst-root [type=time]:focus,.yst-root [type=url]:focus,.yst-root [type=week]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=date]::placeholder,.yst-root [type=datetime-local]::placeholder,.yst-root [type=email]::placeholder,.yst-root [type=month]::placeholder,.yst-root [type=number]::placeholder,.yst-root [type=password]::placeholder,.yst-root [type=search]::placeholder,.yst-root [type=tel]::placeholder,.yst-root [type=text]::placeholder,.yst-root [type=time]::placeholder,.yst-root [type=url]::placeholder,.yst-root [type=week]::placeholder{color:#6b7280;opacity:1}.yst-root [type=date]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=email]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=month]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=number]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=password]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=search]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=tel]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=text]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=time]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=url]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=week]::-webkit-datetime-edit-fields-wrapper{padding:0}.yst-root [type=date]::-webkit-date-and-time-value,.yst-root [type=datetime-local]::-webkit-date-and-time-value,.yst-root [type=email]::-webkit-date-and-time-value,.yst-root [type=month]::-webkit-date-and-time-value,.yst-root [type=number]::-webkit-date-and-time-value,.yst-root [type=password]::-webkit-date-and-time-value,.yst-root [type=search]::-webkit-date-and-time-value,.yst-root [type=tel]::-webkit-date-and-time-value,.yst-root [type=text]::-webkit-date-and-time-value,.yst-root [type=time]::-webkit-date-and-time-value,.yst-root [type=url]::-webkit-date-and-time-value,.yst-root [type=week]::-webkit-date-and-time-value{min-height:1.5em}.yst-root [type=date]::-webkit-datetime-edit,.yst-root [type=date]::-webkit-datetime-edit-day-field,.yst-root [type=date]::-webkit-datetime-edit-hour-field,.yst-root [type=date]::-webkit-datetime-edit-meridiem-field,.yst-root [type=date]::-webkit-datetime-edit-millisecond-field,.yst-root [type=date]::-webkit-datetime-edit-minute-field,.yst-root [type=date]::-webkit-datetime-edit-month-field,.yst-root [type=date]::-webkit-datetime-edit-second-field,.yst-root [type=date]::-webkit-datetime-edit-year-field,.yst-root [type=datetime-local]::-webkit-datetime-edit,.yst-root [type=datetime-local]::-webkit-datetime-edit-day-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-hour-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-meridiem-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-millisecond-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-minute-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-month-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-second-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-year-field,.yst-root [type=email]::-webkit-datetime-edit,.yst-root [type=email]::-webkit-datetime-edit-day-field,.yst-root [type=email]::-webkit-datetime-edit-hour-field,.yst-root [type=email]::-webkit-datetime-edit-meridiem-field,.yst-root [type=email]::-webkit-datetime-edit-millisecond-field,.yst-root [type=email]::-webkit-datetime-edit-minute-field,.yst-root [type=email]::-webkit-datetime-edit-month-field,.yst-root [type=email]::-webkit-datetime-edit-second-field,.yst-root [type=email]::-webkit-datetime-edit-year-field,.yst-root [type=month]::-webkit-datetime-edit,.yst-root [type=month]::-webkit-datetime-edit-day-field,.yst-root [type=month]::-webkit-datetime-edit-hour-field,.yst-root [type=month]::-webkit-datetime-edit-meridiem-field,.yst-root [type=month]::-webkit-datetime-edit-millisecond-field,.yst-root [type=month]::-webkit-datetime-edit-minute-field,.yst-root [type=month]::-webkit-datetime-edit-month-field,.yst-root [type=month]::-webkit-datetime-edit-second-field,.yst-root [type=month]::-webkit-datetime-edit-year-field,.yst-root [type=number]::-webkit-datetime-edit,.yst-root [type=number]::-webkit-datetime-edit-day-field,.yst-root [type=number]::-webkit-datetime-edit-hour-field,.yst-root [type=number]::-webkit-datetime-edit-meridiem-field,.yst-root [type=number]::-webkit-datetime-edit-millisecond-field,.yst-root [type=number]::-webkit-datetime-edit-minute-field,.yst-root [type=number]::-webkit-datetime-edit-month-field,.yst-root [type=number]::-webkit-datetime-edit-second-field,.yst-root [type=number]::-webkit-datetime-edit-year-field,.yst-root [type=password]::-webkit-datetime-edit,.yst-root [type=password]::-webkit-datetime-edit-day-field,.yst-root [type=password]::-webkit-datetime-edit-hour-field,.yst-root [type=password]::-webkit-datetime-edit-meridiem-field,.yst-root [type=password]::-webkit-datetime-edit-millisecond-field,.yst-root [type=password]::-webkit-datetime-edit-minute-field,.yst-root [type=password]::-webkit-datetime-edit-month-field,.yst-root [type=password]::-webkit-datetime-edit-second-field,.yst-root [type=password]::-webkit-datetime-edit-year-field,.yst-root [type=search]::-webkit-datetime-edit,.yst-root [type=search]::-webkit-datetime-edit-day-field,.yst-root [type=search]::-webkit-datetime-edit-hour-field,.yst-root [type=search]::-webkit-datetime-edit-meridiem-field,.yst-root [type=search]::-webkit-datetime-edit-millisecond-field,.yst-root [type=search]::-webkit-datetime-edit-minute-field,.yst-root [type=search]::-webkit-datetime-edit-month-field,.yst-root [type=search]::-webkit-datetime-edit-second-field,.yst-root [type=search]::-webkit-datetime-edit-year-field,.yst-root [type=tel]::-webkit-datetime-edit,.yst-root [type=tel]::-webkit-datetime-edit-day-field,.yst-root [type=tel]::-webkit-datetime-edit-hour-field,.yst-root [type=tel]::-webkit-datetime-edit-meridiem-field,.yst-root [type=tel]::-webkit-datetime-edit-millisecond-field,.yst-root [type=tel]::-webkit-datetime-edit-minute-field,.yst-root [type=tel]::-webkit-datetime-edit-month-field,.yst-root [type=tel]::-webkit-datetime-edit-second-field,.yst-root [type=tel]::-webkit-datetime-edit-year-field,.yst-root [type=text]::-webkit-datetime-edit,.yst-root [type=text]::-webkit-datetime-edit-day-field,.yst-root [type=text]::-webkit-datetime-edit-hour-field,.yst-root [type=text]::-webkit-datetime-edit-meridiem-field,.yst-root [type=text]::-webkit-datetime-edit-millisecond-field,.yst-root [type=text]::-webkit-datetime-edit-minute-field,.yst-root [type=text]::-webkit-datetime-edit-month-field,.yst-root [type=text]::-webkit-datetime-edit-second-field,.yst-root [type=text]::-webkit-datetime-edit-year-field,.yst-root [type=time]::-webkit-datetime-edit,.yst-root [type=time]::-webkit-datetime-edit-day-field,.yst-root [type=time]::-webkit-datetime-edit-hour-field,.yst-root [type=time]::-webkit-datetime-edit-meridiem-field,.yst-root [type=time]::-webkit-datetime-edit-millisecond-field,.yst-root [type=time]::-webkit-datetime-edit-minute-field,.yst-root [type=time]::-webkit-datetime-edit-month-field,.yst-root [type=time]::-webkit-datetime-edit-second-field,.yst-root [type=time]::-webkit-datetime-edit-year-field,.yst-root [type=url]::-webkit-datetime-edit,.yst-root [type=url]::-webkit-datetime-edit-day-field,.yst-root [type=url]::-webkit-datetime-edit-hour-field,.yst-root [type=url]::-webkit-datetime-edit-meridiem-field,.yst-root [type=url]::-webkit-datetime-edit-millisecond-field,.yst-root [type=url]::-webkit-datetime-edit-minute-field,.yst-root [type=url]::-webkit-datetime-edit-month-field,.yst-root [type=url]::-webkit-datetime-edit-second-field,.yst-root [type=url]::-webkit-datetime-edit-year-field,.yst-root [type=week]::-webkit-datetime-edit,.yst-root [type=week]::-webkit-datetime-edit-day-field,.yst-root [type=week]::-webkit-datetime-edit-hour-field,.yst-root [type=week]::-webkit-datetime-edit-meridiem-field,.yst-root [type=week]::-webkit-datetime-edit-millisecond-field,.yst-root [type=week]::-webkit-datetime-edit-minute-field,.yst-root [type=week]::-webkit-datetime-edit-month-field,.yst-root [type=week]::-webkit-datetime-edit-second-field,.yst-root [type=week]::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}.yst-root textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root textarea::placeholder{color:#6b7280;opacity:1}.yst-root select{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root select:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.yst-root select[multiple]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root select[multiple]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=checkbox]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-radius:0;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}.yst-root [type=checkbox]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=checkbox]:checked,.yst-root [type=checkbox]:checked:focus,.yst-root [type=checkbox]:checked:hover,.yst-root [type=checkbox]:indeterminate{background-color:currentColor;border-color:#0000}.yst-root [type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=checkbox]:indeterminate:focus,.yst-root [type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}.yst-root [type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-radius:100%;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}.yst-root [type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=radio]:checked,.yst-root [type=radio]:checked:focus,.yst-root [type=radio]:checked:hover{background-color:currentColor;border-color:#0000}.yst-root{--tw-text-opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgb(71 85 105/var(--tw-text-opacity));font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.8125rem;font-weight:400;line-height:1.5}.yst-root a{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity));-webkit-text-decoration-line:underline;text-decoration-line:underline}.yst-root a:visited{color:#a61e69}.yst-root a:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.yst-root a:hover:visited{color:#b94986}.yst-root a:focus{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity));--tw-ring-offset-width:1px;--tw-ring-offset-color:#0000;border-radius:.125rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(99 102 241/var(--tw-text-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root [type=date]::placeholder,.yst-root [type=datetime-local]::placeholder,.yst-root [type=email]::placeholder,.yst-root [type=month]::placeholder,.yst-root [type=number]::placeholder,.yst-root [type=password]::placeholder,.yst-root [type=search]::placeholder,.yst-root [type=tel]::placeholder,.yst-root [type=text]::placeholder,.yst-root [type=time]::placeholder,.yst-root [type=url]::placeholder,.yst-root [type=week]::placeholder,.yst-root textarea::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity))}.yst-root svg path{stroke-width:inherit}.yst-root .yst-radio__input,.yst-root a:focus{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-radio__input{transition-property:none}.yst-root .yst-radio__input:checked:before{content:var(--tw-content);display:none}.yst-root .yst-modal{z-index:100000!important}.yst-root dd,.yst-root li{margin-bottom:0}.yst-root input[type=date],.yst-root input[type=datetime-local],.yst-root input[type=datetime],.yst-root input[type=email],.yst-root input[type=month],.yst-root input[type=number],.yst-root input[type=password],.yst-root input[type=search],.yst-root input[type=tel],.yst-root input[type=text],.yst-root input[type=time],.yst-root input[type=url],.yst-root input[type=week]{min-height:0}.yst-root input[type=checkbox]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);min-height:0;min-width:0;transition-property:none}.yst-root input[type=checkbox]:before{--tw-content:none;content:var(--tw-content)}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.yst-root .yst-alert{border-radius:.375rem;display:flex;gap:.75rem;padding:1rem}.yst-root .yst-alert--info{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.yst-root .yst-alert--info .yst-alert__message{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.yst-root .yst-alert--warning{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.yst-root .yst-alert--warning .yst-alert__message{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.yst-root .yst-alert--success{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.yst-root .yst-alert--success .yst-alert__message{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.yst-root .yst-alert--error{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.yst-root .yst-alert--error .yst-alert__message{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.yst-root .yst-alert__icon{flex-grow:0;flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-autocomplete{position:relative}.yst-root .yst-autocomplete--error .yst-autocomplete__button{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}.yst-root .yst-autocomplete--error .yst-autocomplete__button:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity));border-color:rgb(239 68 68/var(--tw-border-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete--error .yst-autocomplete__input::placeholder{--tw-placeholder-opacity:1;color:rgb(252 165 165/var(--tw-placeholder-opacity))}.yst-root .yst-autocomplete--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-autocomplete--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-autocomplete__button{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;height:100%;padding-left:.75rem;padding-right:.75rem;width:100%}.yst-root .yst-autocomplete__button:focus-within{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete__button-icon{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:1.25rem;pointer-events:none;position:absolute;right:.625rem;top:.6875rem;width:1.25rem}.yst-root .yst-autocomplete__input{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem 2.5rem .5rem 0;width:100%}.yst-root .yst-autocomplete__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-autocomplete__options{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.8125rem;margin-top:.25rem;max-height:15rem;overflow:auto;position:absolute;width:100%;z-index:20}.yst-root .yst-autocomplete__options:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete__option{--tw-text-opacity:1;align-items:center;color:rgb(51 65 85/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;padding:.5rem .75rem;position:relative;-webkit-user-select:none;user-select:none}.yst-root .yst-autocomplete__option--active{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.yst-root .yst-autocomplete__option--selected{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-select__option-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yst-root .yst-autocomplete__option-check{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-badge{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(219 234 254/var(--tw-bg-opacity));border-radius:9999px;color:rgb(30 64 175/var(--tw-text-opacity));display:inline-flex;font-size:.75rem;font-weight:500;line-height:1.25;padding:.125rem .5rem;vertical-align:middle;white-space:nowrap}.yst-root .yst-badge--info{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity));color:rgb(30 58 138/var(--tw-text-opacity))}.yst-root .yst-badge--upsell{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity));color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-badge--plain{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(15 23 42/var(--tw-text-opacity))}.yst-root .yst-badge--small{font-size:.675rem}.yst-root .yst-badge--large{font-size:1rem;padding-left:.75rem;padding-right:.75rem}.yst-root .yst-button{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;justify-content:center;line-height:1rem;padding:.5rem .75rem;text-align:center;-webkit-text-decoration-line:none;text-decoration-line:none}.yst-root .yst-button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root a.yst-button:focus{border-radius:.375rem}.yst-root a.yst-button:not(.yst-button--tertiary):focus{--tw-ring-offset-color:#fff}.yst-root .yst-button--primary{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));border-color:#0000;color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--primary:visited{color:#fff}.yst-root .yst-button--primary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(143 15 87/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--primary:hover:visited{color:#fff}.yst-root .yst-button--primary:focus{--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(143 15 87/var(--tw-ring-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--secondary{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));color:rgb(30 41 59/var(--tw-text-opacity))}.yst-root .yst-button--secondary:visited{color:#1e293b}.yst-root .yst-button--secondary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity));color:rgb(30 41 59/var(--tw-text-opacity))}.yst-root .yst-button--secondary:hover:visited{color:#1e293b}.yst-root .yst-button--secondary:focus{--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(143 15 87/var(--tw-ring-opacity));color:rgb(30 41 59/var(--tw-text-opacity))}.yst-root .yst-button--tertiary{--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:initial;border-style:none;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-button--tertiary:visited{color:#83084e}.yst-root .yst-button--tertiary:hover{--tw-text-opacity:1;color:rgb(131 8 78/var(--tw-text-opacity))}.yst-root .yst-button--tertiary:hover:visited{color:#83084e}.yst-root .yst-button--tertiary:focus{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(143 15 87/var(--tw-ring-opacity));--tw-ring-offset-width:2px;--tw-ring-offset-color:#0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(131 8 78/var(--tw-text-opacity))}.yst-root .yst-button--error{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity));border-color:#0000;color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--error:visited{color:#fff}.yst-root .yst-button--error:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--error:hover:visited{color:#fff}.yst-root .yst-button--error:focus{--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--upsell{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity));border-color:#0000;color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-button--upsell:visited{color:#78350f}.yst-root .yst-button--upsell:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-button--upsell:hover:visited{color:#78350f}.yst-root .yst-button--upsell:focus{--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(251 191 36/var(--tw-ring-opacity));color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-button--large{font-size:1rem;line-height:1.25rem;padding:.75rem 1.5rem}.yst-root .yst-button--small{font-size:.75rem;padding:.375rem .625rem}.yst-root .yst-button--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-button--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-checkbox{align-items:center;display:flex}.yst-root .yst-checkbox--disabled .yst-checkbox__input,.yst-root .yst-checkbox--disabled .yst-checkbox__label{cursor:not-allowed;opacity:.5}.yst-root .yst-checkbox__input{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.25rem;color:rgb(166 30 105/var(--tw-text-opacity));height:1rem;width:1rem}.yst-root .yst-checkbox__input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))}.yst-root .yst-checkbox__label{margin-left:.75rem}.yst-root .yst-code{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:.25rem;color:rgb(15 23 42/var(--tw-text-opacity));display:inline-block;font-size:.75rem;line-height:1.25;margin:0;padding:.25rem}.yst-root .yst-code--block{display:block;margin-bottom:.5rem;margin-top:.5rem;max-width:100%;overflow-x:auto;padding:.25rem .5rem;white-space:nowrap}.yst-root .yst-file-input{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border:2px dashed rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;padding:1.25rem 1.5rem 1.5rem;text-align:center;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:100%}.yst-root .yst-file-input.yst-is-drag-over{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(250 243 247/var(--tw-bg-opacity));border-color:rgb(205 130 171/var(--tw-border-opacity))}.yst-root .yst-file-input.yst-is-drag-over .yst-file-input__content{pointer-events:none}.yst-root .yst-file-input.yst-is-drag-over .yst-file-input__icon{--tw-translate-y:-0.5rem;--tw-text-opacity:1;color:rgb(185 73 134/var(--tw-text-opacity));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-file-input.yst-is-disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-file-input.yst-is-disabled .yst-file-input__select-label{cursor:not-allowed}.yst-root .yst-file-input__content{align-items:center;display:inline-flex;flex-direction:column;max-width:20rem}.yst-root .yst-file-input__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-file-input__content{text-align:center}.yst-root .yst-file-input__icon{stroke-width:1;--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:3rem;margin-left:auto;margin-right:auto;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:3rem}.yst-root .yst-file-input__icon>path{stroke-width:1}.yst-root .yst-file-input__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.yst-root .yst-file-input__input:focus+.yst-file-input__select-label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-file-input__labels{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));display:inline-block;font-weight:400}.yst-root .yst-file-input__select-label{border-radius:.375rem;font-weight:500}[dir=rtl] .yst-root .yst-file-input__labels{flex-direction:row-reverse}.yst-root .yst-label{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;font-weight:500}.yst-root .yst-link{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity));cursor:pointer;-webkit-text-decoration-line:underline;text-decoration-line:underline}.yst-root .yst-link:visited{color:#a61e69}.yst-root .yst-link:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.yst-root .yst-link:hover:visited{color:#b94986}.yst-root .yst-link:focus{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity));--tw-ring-offset-width:1px;--tw-ring-offset-color:#0000;border-radius:.125rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(99 102 241/var(--tw-text-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-link--primary{--tw-text-opacity:1;color:rgb(154 22 96/var(--tw-text-opacity))}.yst-root .yst-link--primary:focus,.yst-root .yst-link--primary:hover{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-link--primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(154 22 96/var(--tw-ring-opacity))}.yst-root .yst-link--error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.yst-root .yst-link--error:focus,.yst-root .yst-link--error:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.yst-root .yst-link--error:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity))}.yst-root .yst-paper{--tw-bg-opacity:1;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column}.yst-root .yst-paper__header{border-bottom-width:1px;padding:2rem}.yst-root .yst-paper__content{flex-grow:1;padding:2rem}.yst-root .yst-progress-bar{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:9999px;display:block;overflow:hidden;width:100%}.yst-root .yst-progress-bar__progress{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));border-radius:9999px;display:block;height:.375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:linear}.yst-root .yst-radio{align-items:center;display:flex}.yst-root .yst-radio--disabled .yst-radio__check,.yst-root .yst-radio--disabled .yst-radio__input,.yst-root .yst-radio--disabled .yst-radio__label{cursor:not-allowed;opacity:.5}.yst-root .yst-radio--disabled .yst-radio__check:focus,.yst-root .yst-radio--disabled .yst-radio__input:focus,.yst-root .yst-radio--disabled .yst-radio__label:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block{display:inline-flex}.yst-root .yst-radio--inline-block .yst-radio__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.yst-root .yst-radio--inline-block .yst-radio__input:checked+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:#0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__input:checked+.yst-radio__content .yst-radio__check{visibility:visible}.yst-root .yst-radio--inline-block .yst-radio__input:focus+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__input:checked:focus+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-offset-width:1px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__content{position:relative}.yst-root .yst-radio--inline-block .yst-radio__label{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);cursor:pointer;display:flex;font-size:1rem;height:3.5rem;justify-content:center;margin-left:0;width:3.5rem}.yst-root .yst-radio--inline-block .yst-radio__label:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.yst-root .yst-radio--inline-block .yst-radio__label:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-radio--inline-block .yst-radio__check{--tw-text-opacity:1;color:rgb(154 22 96/var(--tw-text-opacity));height:1.25rem;position:absolute;right:.125rem;top:.125rem;visibility:hidden;width:1.25rem}.yst-root .yst-radio__input{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity));color:rgb(166 30 105/var(--tw-text-opacity));height:1rem;width:1rem}.yst-root .yst-radio__input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))}.yst-root .yst-radio__label{margin-left:.75rem}.yst-root .yst-select{position:relative}.yst-root .yst-select--disabled .yst-select__button,.yst-root .yst-select--disabled .yst-select__label{cursor:not-allowed;opacity:.5}.yst-root .yst-select__button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(30 41 59/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;line-height:1.5rem;padding:.5rem .75rem;position:relative;text-align:left;width:100%}.yst-root .yst-select__button:focus{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-select__button-icon{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:1.25rem;pointer-events:none;position:absolute;right:.625rem;top:.625rem;width:1.25rem}.yst-root .yst-select__options{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.8125rem;margin-top:.25rem;max-height:15rem;overflow:auto;position:absolute;width:100%;z-index:10}.yst-root .yst-select__options:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-select__option{--tw-text-opacity:1;align-items:center;color:rgb(51 65 85/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;padding:.5rem .75rem;position:relative;-webkit-user-select:none;user-select:none}.yst-root .yst-select__option--active{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.yst-root .yst-select__option--selected{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(154 22 96/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-select__button-label,.yst-root .yst-select__option-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yst-root .yst-select__option-check{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-skeleton-loader{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:.25rem;display:block;height:auto;overflow:hidden;position:relative;width:-moz-fit-content;width:fit-content}.yst-root .yst-skeleton-loader:after{--tw-translate-x:-100%;animation:wave 2.5s linear .5s infinite;background:linear-gradient(90deg,#0000,#00000012,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes wave{0%{transform:translateX(-100%)}50%,to{transform:translateX(100%)}}.yst-root .yst-tag-input{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;color:rgb(30 41 59/var(--tw-text-opacity));display:flex;flex-wrap:wrap;font-size:.8125rem;gap:.375rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root .yst-tag-input::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity))}.yst-root .yst-tag-input{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-tag-input:focus-within{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-tag-input--disabled:focus-within{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:rgb(203 213 225/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input--disabled .yst-tag-input__tag{cursor:not-allowed}.yst-root .yst-tag-input--disabled .yst-tag-input__tag:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input--disabled .yst-tag-input__tag:focus,.yst-root .yst-tag-input--disabled .yst-tag-input__tag:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag{cursor:not-allowed}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(148 163 184/var(--tw-text-opacity))}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input--disabled .yst-tag-input__input{cursor:not-allowed}.yst-root .yst-tag-input__tag{cursor:pointer;gap:.125rem;min-height:20px;padding-inline-end:.125rem}.yst-root .yst-tag-input__tag:hover{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input__tag:focus,.yst-root .yst-tag-input__tag:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input__remove-tag{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:9999px;color:rgb(148 163 184/var(--tw-text-opacity));display:inline-flex;flex-shrink:0;height:1rem;justify-content:center;width:1rem}.yst-root .yst-tag-input__remove-tag:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));color:rgb(100 116 139/var(--tw-text-opacity))}.yst-root .yst-tag-input__remove-tag:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input__input{border-style:none;display:inline-flex;flex:1 1 0%;font-size:.8125rem;margin:0;padding:0}.yst-root .yst-tag-input__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-text-input{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem .75rem;width:100%}.yst-root .yst-text-input:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-text-input--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-text-input--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-text-input--read-only{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:rgb(248 250 252/var(--tw-bg-opacity));border-color:rgb(226 232 240/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(100 116 139/var(--tw-text-opacity));cursor:default}.yst-root .yst-text-input[type=date]::-webkit-calendar-picker-indicator{background-image:url('data:image/svg+xml;charset=utf-8,');background-position:50%;background-size:contain;height:1.25rem;padding:0;width:1.25rem}.yst-root .yst-text-input--empty[type=date]:not(:focus)::-webkit-datetime-edit{opacity:0}.yst-root .yst-text-input--empty[type=date]:not(:focus):before{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));content:attr(placeholder);flex-grow:1}.yst-root .yst-textarea{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem .75rem;width:100%}.yst-root .yst-textarea:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-textarea--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-textarea--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-title{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity));font-weight:500;line-height:1.25}.yst-root .yst-title--1{font-size:1.5rem}.yst-root .yst-title--2{font-size:1.125rem}.yst-root .yst-title--3{font-size:.875rem}.yst-root .yst-title--4{font-size:1rem}.yst-root .yst-title--5{font-size:.8125rem}.yst-root .yst-toggle{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));border-color:#0000;border-radius:9999px;border-width:2px;cursor:pointer;display:inline-flex;flex-shrink:0;height:1.5rem;position:relative;transition-duration:.2s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2.75rem}.yst-root .yst-toggle:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-toggle--checked{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity))}.yst-root .yst-toggle--checked .yst-toggle__handle{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-toggle--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-toggle--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-toggle__handle{--tw-translate-x:0px;--tw-bg-opacity:1;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:9999px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:flex;height:1.25rem;justify-content:center;pointer-events:none;position:relative;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.2s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1.25rem}.yst-root .yst-toggle__icon{stroke:currentColor;stroke-width:2;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-grow:0;flex-shrink:0;height:.625rem;transition-duration:.1s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:.625rem}.yst-root .yst-toggle__icon--check{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-toggle__icon--x{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}[dir=rtl] .yst-root .yst-toggle--checked .yst-toggle__handle{--tw-translate-x:-1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-validation-icon{pointer-events:none}.yst-root .yst-validation-icon--success{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.yst-root .yst-validation-icon--info{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.yst-root .yst-validation-icon--warning{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.yst-root .yst-validation-icon--error{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.yst-root .yst-validation-input{position:relative}.yst-root .yst-validation-input--success .yst-validation-input__input{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity));padding-right:2.5rem}.yst-root .yst-validation-input--success .yst-validation-input__input:focus,.yst-root .yst-validation-input--success .yst-validation-input__input:focus-within{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity));border-color:rgb(34 197 94/var(--tw-border-opacity))}.yst-root .yst-validation-input--info .yst-validation-input__input{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity));padding-right:2.5rem}.yst-root .yst-validation-input--info .yst-validation-input__input:focus,.yst-root .yst-validation-input--info .yst-validation-input__input:focus-within{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity));border-color:rgb(59 130 246/var(--tw-border-opacity))}.yst-root .yst-validation-input--warning .yst-validation-input__input{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity));padding-right:2.5rem}.yst-root .yst-validation-input--warning .yst-validation-input__input:focus,.yst-root .yst-validation-input--warning .yst-validation-input__input:focus-within{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity));border-color:rgb(245 158 11/var(--tw-border-opacity))}.yst-root .yst-validation-input--error .yst-validation-input__input{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity));padding-right:2.5rem}.yst-root .yst-validation-input--error .yst-validation-input__input:focus,.yst-root .yst-validation-input--error .yst-validation-input__input:focus-within{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity));border-color:rgb(239 68 68/var(--tw-border-opacity))}.yst-root .yst-validation-input__icon{height:1.25rem;position:absolute;right:.625rem;top:.6875rem;width:1.25rem}.yst-root .yst-validation-message a{color:inherit;font-weight:500}.yst-root .yst-validation-message a:visited:hover{color:inherit}.yst-root .yst-validation-message a:focus{--tw-ring-color:currentColor}.yst-root .yst-validation-message--success{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.yst-root .yst-validation-message--info{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.yst-root .yst-validation-message--warning{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.yst-root .yst-validation-message--error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.yst-root .yst-autocomplete-field__description,.yst-root .yst-autocomplete-field__validation{margin-top:.5rem}.yst-root .yst-card{display:flex;flex-direction:column;position:relative}.yst-root .yst-card>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-card{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);overflow:hidden;padding:1.5rem;transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yst-root .yst-card__header{--tw-bg-opacity:1;align-items:center;background-color:rgb(243 244 246/var(--tw-bg-opacity));display:flex;height:6rem;justify-content:center;margin-left:-1.5rem;margin-right:-1.5rem;margin-top:-1.5rem;padding:1.5rem;position:relative}.yst-root .yst-card__content{flex-grow:1}.yst-root .yst-card__footer{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));border-top-width:1px;padding-top:1.5rem}.yst-root .yst-checkbox-group--disabled .yst-checkbox-group__description,.yst-root .yst-checkbox-group--disabled .yst-checkbox-group__label{cursor:not-allowed;opacity:.5}.yst-root .yst-checkbox-group__label{margin-bottom:.5rem}.yst-root .yst-checkbox-group__options{display:flex;flex-direction:column;gap:.75rem}.yst-root .yst-checkbox-group__description{margin-bottom:1rem;margin-top:-.5rem}.yst-root .yst-feature-upsell{position:relative}.yst-root .yst-feature-upsell--default{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.yst-root .yst-feature-upsell--card{padding:1.5rem}.yst-root .yst-file-import>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-file-import__feedback{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);padding:1rem}.yst-root .yst-file-import__feedback-header{align-items:flex-start;display:flex}.yst-root .yst-file-import__feedback-header>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.yst-root .yst-file-import__feedback-figure{--tw-bg-opacity:1;align-items:center;background-color:rgb(243 229 237/var(--tw-bg-opacity));border-radius:9999px;display:flex;height:2rem;justify-content:center;width:2rem}.yst-root .yst-file-import__feedback-figure>svg{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity));height:1.25rem;width:1.25rem}.yst-root .yst-file-import__feedback-title{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));display:block;font-weight:500;margin-bottom:.125rem;overflow-wrap:break-word}.yst-root .yst-file-import__feedback-description{display:block;font-size:.75rem;font-weight:500}.yst-root .yst-file-import__abort-button{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(241 245 249/var(--tw-bg-opacity));border-radius:9999px;color:rgb(100 116 139/var(--tw-text-opacity));display:inline-flex;flex-shrink:0;height:1.25rem;justify-content:center;width:1.25rem}.yst-root .yst-file-import__abort-button:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(71 85 105/var(--tw-text-opacity))}.yst-root .yst-file-import__abort-button:focus{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-file-import__abort-button>svg{height:.75rem;width:.75rem}.yst-root .yst-file-import__abort-button>svg>path{stroke-width:3}.yst-root .yst-modal{bottom:0;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10}@media (min-width:640px){.yst-root .yst-modal{padding:2rem}}@media (min-width:768px){.yst-root .yst-modal{padding:5rem}}.yst-root .yst-modal__layout{display:flex;min-height:100%}.yst-root .yst-modal--center .yst-modal__layout{align-items:center;justify-content:center}.yst-root .yst-modal--top-center .yst-modal__layout{align-items:flex-start;justify-content:center}.yst-root .yst-modal__overlay{--tw-bg-opacity:0.75;background-color:rgb(100 116 139/var(--tw-bg-opacity));bottom:0;left:0;position:fixed;right:0;top:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yst-root .yst-modal__panel{--tw-bg-opacity:1;--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);max-width:36rem;overflow:hidden;padding:1.5rem;position:relative;width:100%}.yst-root .yst-modal__close{display:block;position:absolute;right:1rem;top:1rem}.yst-root .yst-modal__close-button{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;color:rgb(148 163 184/var(--tw-text-opacity));position:relative;z-index:10}.yst-root .yst-modal__close-button:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.yst-root .yst-modal__close-button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-modal__container{display:flex;flex-direction:column;max-height:calc(100vh - 2rem)}@media (min-width:640px){.yst-root .yst-modal__container{max-height:calc(100vh - 4rem)}}@media (min-width:768px){.yst-root .yst-modal__container{max-height:calc(100vh - 10rem)}}.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 5rem)}@media (min-width:640px){.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 7rem)}}@media (min-width:768px){.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 13rem)}}.yst-root .yst-modal__container-footer,.yst-root .yst-modal__container-header{flex-shrink:0}.yst-root .yst-modal__container-content{overflow:auto}.yst-root .yst-modal__panel .yst-modal__container-content{margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}.yst-root .yst-notifications{display:flex;flex-direction:column;max-height:calc(100vh - 4rem);max-width:calc(100vw - 4rem);pointer-events:none;position:fixed;width:100%;z-index:20}.yst-root .yst-notifications>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-notifications--bottom-center{align-items:center;bottom:2rem}.yst-root .yst-notifications--bottom-left{bottom:2rem;left:2rem}.yst-root .yst-notifications--top-center{align-items:center;top:2rem}.yst-root .yst-notification{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);max-width:100%;overflow-y:auto;padding:1rem;pointer-events:auto;width:20rem;z-index:20}.yst-root .yst-notification--large{width:24rem}.yst-root .yst-notification__icon{height:1.25rem;width:1.25rem}.yst-root .yst-pagination{display:inline-flex;isolation:isolate}.yst-root .yst-pagination>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1px*var(--tw-space-x-reverse))}.yst-root .yst-pagination{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-pagination-display__text{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(100 116 139/var(--tw-text-opacity));font-weight:400;padding:.5rem .75rem}.yst-root .yst-pagination-display__current-text{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity));font-weight:600}.yst-root .yst-pagination-display__truncated{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity));align-self:center;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(100 116 139/var(--tw-text-opacity));display:inline-flex;font-size:.8125rem;font-weight:600;padding:.5rem 1rem}.yst-root .yst-pagination__button{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));align-items:center;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(148 163 184/var(--tw-text-opacity));display:inline-flex;padding:.5rem;position:relative}.yst-root .yst-pagination__button:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.yst-root .yst-pagination__button:focus{outline-color:#a61e69;outline-offset:0;z-index:20}.yst-root .yst-pagination__button--active{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);background-color:rgb(166 30 105/var(--tw-bg-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(255 255 255/var(--tw-text-opacity));font-size:.8125rem;font-weight:600;z-index:10}.yst-root .yst-pagination__button--active:hover{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity))}.yst-root .yst-pagination__button--active:focus{z-index:20}.yst-root .yst-pagination__button--active:focus-visible{border-radius:.125rem;outline-color:#a61e69;outline-offset:2px;outline-style:solid;outline-width:2px}.yst-root .yst-pagination__button--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-pagination__button--disabled:hover{background-color:initial}.yst-root .yst-pagination__button--disabled:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-radio-group--inline-block .yst-radio-group__options{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.yst-root .yst-radio-group--disabled .yst-radio-group__description,.yst-root .yst-radio-group--disabled .yst-radio-group__label{opacity:.5}.yst-root .yst-radio-group--disabled .yst-radio-group__label{cursor:not-allowed}.yst-root .yst-radio-group__label{margin-bottom:.5rem}.yst-root .yst-radio-group__options{display:flex;flex-direction:column;gap:.5rem}.yst-root .yst-radio-group__description{margin-bottom:1rem;margin-top:-.5rem}.yst-root .yst-select-field--disabled .yst-select-field__description,.yst-root .yst-select-field--disabled .yst-select-field__label{cursor:not-allowed;opacity:.5}.yst-root .yst-select-field__options{display:flex;flex-direction:column;gap:.75rem}.yst-root .yst-select-field__description,.yst-root .yst-select-field__validation{margin-top:.5rem}.yst-root .yst-mobile-navigation__top{position:sticky;top:0;width:100%;z-index:50}.yst-root .yst-mobile-navigation__dialog{bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:50}.yst-root .yst-tag-field--disabled .yst-tag-field__description,.yst-root .yst-tag-field--disabled .yst-tag-field__label{cursor:not-allowed;opacity:.5}.yst-root .yst-tag-field__description,.yst-root .yst-tag-field__validation{margin-top:.5rem}.yst-root .yst-text-field--disabled .yst-text-field__description,.yst-root .yst-text-field--disabled .yst-text-field__label{opacity:.5}.yst-root .yst-text-field--disabled .yst-text-field__label{cursor:not-allowed}.yst-root .yst-text-field--read-only .yst-text-field__label{cursor:default}.yst-root .yst-text-field__description,.yst-root .yst-text-field__validation{margin-top:.5rem}.yst-root .yst-textarea-field--disabled .yst-textarea-field__description,.yst-root .yst-textarea-field--disabled .yst-textarea-field__label{opacity:.5}.yst-root .yst-textarea-field--disabled .yst-textarea-field__label{cursor:not-allowed}.yst-root .yst-text-field--read-only .yst-textarea-field__label{cursor:default}.yst-root .yst-textarea-field__description,.yst-root .yst-textarea-field__validation{margin-top:.5rem}.yst-root .yst-toggle-field{display:flex;flex-direction:column;gap:.25rem}.yst-root .yst-toggle-field--disabled .yst-toggle-field__description,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label-wrapper{opacity:.5}.yst-root .yst-toggle-field--disabled .yst-toggle-field__description,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label-wrapper{cursor:not-allowed}.yst-root .yst-toggle-field__header{align-items:center;display:flex;flex-direction:row;gap:1.5rem;justify-content:space-between}.yst-root .yst-toggle-field__label-wrapper{align-items:center;display:flex;gap:.25rem}.yst-root .yst-toggle-field__description{margin-right:4.25rem}.yst-sr-only{clip:rect(0,0,0,0)!important;border-width:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.yst-pointer-events-none{pointer-events:none!important}.yst-invisible{visibility:hidden!important}.yst-fixed{position:fixed!important}.yst-absolute{position:absolute!important}.yst-relative{position:relative!important}.yst-sticky{position:sticky!important}.yst-inset-0{bottom:0!important;top:0!important}.yst-inset-0,.yst-inset-x-0{left:0!important;right:0!important}.yst-inset-y-0{bottom:0!important;top:0!important}.yst--left-3{left:-.75rem!important}.yst-top-0{top:0!important}.yst-right-0{right:0!important}.yst-bottom-12{bottom:3rem!important}.yst-top-2{top:.5rem!important}.yst-right-2{right:.5rem!important}.yst-bottom-0{bottom:0!important}.yst-top-1\/2{top:50%!important}.yst--right-\[6\.5px\]{right:-6.5px!important}.yst--top-\[6\.5px\]{top:-6.5px!important}.yst-left-4{left:1rem!important}.yst--bottom-6{bottom:-1.5rem!important}.yst-top-8{top:2rem!important}.yst-top-3\.5{top:.875rem!important}.yst-top-3{top:.75rem!important}.yst-left-0{left:0!important}.yst--top-0\.5{top:-.125rem!important}.yst--top-0{top:0!important}.yst-z-30{z-index:30!important}.yst-z-40{z-index:40!important}.yst-z-10{z-index:10!important}.yst-z-20{z-index:20!important}.yst-col-span-1{grid-column:span 1/span 1!important}.yst-m-0{margin:0!important}.yst--m-\[16px\]{margin:-16px!important}.yst--m-6{margin:-1.5rem!important}.yst-my-auto{margin-bottom:auto!important;margin-top:auto!important}.yst-mx-auto{margin-left:auto!important;margin-right:auto!important}.yst-my-4{margin-bottom:1rem!important;margin-top:1rem!important}.yst-my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.yst-my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.yst-my-12{margin-bottom:3rem!important;margin-top:3rem!important}.yst-my-3{margin-bottom:.75rem!important;margin-top:.75rem!important}.yst-my-8{margin-bottom:2rem!important;margin-top:2rem!important}.yst--mx-6{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.yst-mx-1\.5{margin-left:.375rem!important;margin-right:.375rem!important}.yst-mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.yst-mx-0{margin-left:0!important;margin-right:0!important}.yst-mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.yst-my-0{margin-bottom:0!important;margin-top:0!important}.yst-my-16{margin-bottom:4rem!important;margin-top:4rem!important}.yst--ml-1{margin-left:-.25rem!important}.yst-mt-6{margin-top:1.5rem!important}.yst-mt-1\.5{margin-top:.375rem!important}.yst-mt-1{margin-top:.25rem!important}.yst-ml-4{margin-left:1rem!important}.yst-ml-8{margin-left:2rem!important}.yst--mr-14{margin-right:-3.5rem!important}.yst-mb-2{margin-bottom:.5rem!important}.yst-mr-4{margin-right:1rem!important}.yst-mr-2{margin-right:.5rem!important}.yst-mb-px{margin-bottom:1px!important}.yst-mb-16{margin-bottom:4rem!important}.yst-mt-auto{margin-top:auto!important}.yst-ml-3{margin-left:.75rem!important}.yst-mr-1{margin-right:.25rem!important}.yst-mr-5{margin-right:1.25rem!important}.yst-mb-8{margin-bottom:2rem!important}.yst-mt-3{margin-top:.75rem!important}.yst-ml-1{margin-left:.25rem!important}.yst--mr-1{margin-right:-.25rem!important}.yst--mb-\[1em\]{margin-bottom:-1em!important}.yst--ml-0\.5{margin-left:-.125rem!important}.yst--ml-0{margin-left:0!important}.yst-ml-auto{margin-left:auto!important}.yst-mt-2{margin-top:.5rem!important}.yst-mt-4{margin-top:1rem!important}.yst-mb-5{margin-bottom:1.25rem!important}.yst-mb-6{margin-bottom:1.5rem!important}.yst-mt-8{margin-top:2rem!important}.yst-mt-12{margin-top:3rem!important}.yst-mb-3{margin-bottom:.75rem!important}.yst-ml-1\.5{margin-left:.375rem!important}.yst-mr-6{margin-right:1.5rem!important}.yst--ml-px{margin-left:-1px!important}.yst-ml-12{margin-left:3rem!important}.yst-mb-0{margin-bottom:0!important}.yst--mt-6{margin-top:-1.5rem!important}.yst-mb-4{margin-bottom:1rem!important}.yst-ml-2{margin-left:.5rem!important}.yst-mr-3{margin-right:.75rem!important}.yst-mt-7{margin-top:1.75rem!important}.yst-mt-10{margin-top:2.5rem!important}.yst-mt-\[-2\.6rem\]{margin-top:-2.6rem!important}.yst-mt-\[18px\]{margin-top:18px!important}.yst-mb-1{margin-bottom:.25rem!important}.yst-mr-8{margin-right:2rem!important}.yst--mt-4{margin-top:-1rem!important}.yst-mb-24{margin-bottom:6rem!important}.yst-mt-\[27\.5px\]{margin-top:27.5px!important}.yst-mt-5{margin-top:1.25rem!important}.yst-mt-0{margin-top:0!important}.yst-block{display:block!important}.yst-inline-block{display:inline-block!important}.yst-inline{display:inline!important}.yst-flex{display:flex!important}.yst-inline-flex{display:inline-flex!important}.yst-grid{display:grid!important}.yst-hidden{display:none!important}.yst-h-5{height:1.25rem!important}.yst-h-6{height:1.5rem!important}.yst-h-4{height:1rem!important}.yst-h-12{height:3rem!important}.yst-h-0{height:0!important}.yst-h-full{height:100%!important}.yst-h-16{height:4rem!important}.yst-h-7{height:1.75rem!important}.yst-h-3{height:.75rem!important}.yst-h-8{height:2rem!important}.yst-h-\[90vh\]{height:90vh!important}.yst-h-4\/5{height:80%!important}.yst-h-20{height:5rem!important}.yst-h-\[120px\]{height:120px!important}.yst-h-auto{height:auto!important}.yst-h-9{height:2.25rem!important}.yst-h-2\.5{height:.625rem!important}.yst-h-2{height:.5rem!important}.yst-h-24{height:6rem!important}.yst-h-48{height:12rem!important}.yst-h-96{height:24rem!important}.yst-h-\[45px\]{height:45px!important}.yst-h-14{height:3.5rem!important}.yst-h-28{height:7rem!important}.yst-max-h-\[calc\(90vh-10rem\)\]{max-height:calc(90vh - 10rem)!important}.yst-max-h-60{max-height:15rem!important}.yst-min-h-screen{min-height:100vh!important}.yst-min-h-full{min-height:100%!important}.yst-w-5{width:1.25rem!important}.yst-w-6{width:1.5rem!important}.yst-w-0{width:0!important}.yst-w-full{width:100%!important}.yst-w-4{width:1rem!important}.yst-w-12{width:3rem!important}.yst-w-2{width:.5rem!important}.yst-w-3{width:.75rem!important}.yst-w-8{width:2rem!important}.yst-w-\[350px\]{width:350px!important}.yst-w-20{width:5rem!important}.yst-w-\[150px\]{width:150px!important}.yst-w-\[3px\]{width:3px!important}.yst-w-40{width:10rem!important}.yst-w-56{width:14rem!important}.yst-w-2\.5{width:.625rem!important}.yst-w-0\.5{width:.125rem!important}.yst-w-48{width:12rem!important}.yst-w-96{width:24rem!important}.yst-w-1\/2{width:50%!important}.yst-w-3\/5{width:60%!important}.yst-w-16{width:4rem!important}.yst-w-14{width:3.5rem!important}.yst-w-\[463px\]{width:463px!important}.yst-w-24{width:6rem!important}.yst-min-w-full{min-width:100%!important}.yst-min-w-0{min-width:0!important}.yst-max-w-xs{max-width:20rem!important}.yst-max-w-sm{max-width:24rem!important}.yst-max-w-screen-sm{max-width:640px!important}.yst-max-w-6xl{max-width:72rem!important}.yst-max-w-lg{max-width:32rem!important}.yst-max-w-\[715px\]{max-width:715px!important}.yst-max-w-none{max-width:none!important}.yst-max-w-full{max-width:100%!important}.yst-max-w-5xl{max-width:64rem!important}.yst-max-w-2xl{max-width:42rem!important}.yst-max-w-\[500px\]{max-width:500px!important}.yst-flex-1{flex:1 1 0%!important}.yst-flex-none{flex:none!important}.yst-flex-shrink-0,.yst-shrink-0{flex-shrink:0!important}.yst-flex-grow,.yst-grow{flex-grow:1!important}.yst-origin-top{transform-origin:top!important}.yst-translate-y-4{--tw-translate-y:1rem!important}.yst-translate-y-0,.yst-translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst-translate-y-0{--tw-translate-y:0px!important}.yst-translate-y-full{--tw-translate-y:100%!important}.yst--translate-y-full,.yst-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst--translate-y-full{--tw-translate-y:-100%!important}.yst-scale-95{--tw-scale-x:.95!important;--tw-scale-y:.95!important}.yst-scale-100,.yst-scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst-scale-100{--tw-scale-x:1!important;--tw-scale-y:1!important}.yst-scale-y-0{--tw-scale-y:0!important}.yst-scale-y-0,.yst-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@keyframes yst-spin{to{transform:rotate(1turn)}}.yst-animate-spin{animation:yst-spin 1s linear infinite!important}.yst-cursor-wait{cursor:wait!important}.yst-cursor-not-allowed{cursor:not-allowed!important}.yst-cursor-default{cursor:default!important}.yst-select-none{-webkit-user-select:none!important;user-select:none!important}.yst-scroll-pt-11{scroll-padding-top:2.75rem!important}.yst-scroll-pb-2{scroll-padding-bottom:.5rem!important}.yst-list-outside{list-style-position:outside!important}.yst-list-disc{list-style-type:disc!important}.yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.yst-flex-row{flex-direction:row!important}.yst-flex-col{flex-direction:column!important}.yst-flex-wrap{flex-wrap:wrap!important}.yst-content-between{align-content:space-between!important}.yst-items-start{align-items:flex-start!important}.yst-items-end{align-items:flex-end!important}.yst-items-center{align-items:center!important}.yst-justify-center{justify-content:center!important}.yst-justify-between{justify-content:space-between!important}.yst-gap-2{gap:.5rem!important}.yst-gap-3{gap:.75rem!important}.yst-gap-8{gap:2rem!important}.yst-gap-6{gap:1.5rem!important}.yst-gap-1\.5{gap:.375rem!important}.yst-gap-1{gap:.25rem!important}.yst-gap-4{gap:1rem!important}.yst-gap-x-6{column-gap:1.5rem!important}.yst-gap-x-4{column-gap:1rem!important}.yst-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(2rem*var(--tw-space-x-reverse))!important}.yst-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(2rem*var(--tw-space-y-reverse))!important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.5rem*var(--tw-space-x-reverse))!important}.yst-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.75rem*var(--tw-space-y-reverse))!important;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1rem*var(--tw-space-y-reverse))!important;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.75rem*var(--tw-space-x-reverse))!important}.yst-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))!important}.yst-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0!important;border-bottom-width:calc(1px*var(--tw-divide-y-reverse))!important;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))!important}.yst-divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1!important;border-color:rgb(229 231 235/var(--tw-divide-opacity))!important}.yst-divide-slate-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1!important;border-color:rgb(203 213 225/var(--tw-divide-opacity))!important}.yst-self-start{align-self:flex-start!important}.yst-self-end{align-self:flex-end!important}.yst-self-center{align-self:center!important}.yst-overflow-auto{overflow:auto!important}.yst-overflow-hidden{overflow:hidden!important}.yst-overflow-y-auto{overflow-y:auto!important}.yst-overflow-x-scroll{overflow-x:scroll!important}.yst-truncate{overflow:hidden!important;white-space:nowrap!important}.yst-overflow-ellipsis,.yst-text-ellipsis,.yst-truncate{text-overflow:ellipsis!important}.yst-whitespace-nowrap{white-space:nowrap!important}.yst-whitespace-pre-line{white-space:pre-line!important}.yst-rounded-md{border-radius:.375rem!important}.yst-rounded-full{border-radius:9999px!important}.yst-rounded-lg{border-radius:.5rem!important}.yst-rounded-3xl{border-radius:1.5rem!important}.yst-rounded-none{border-radius:0!important}.yst-rounded-xl{border-radius:.75rem!important}.yst-rounded-l-md{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}.yst-rounded-r-md{border-bottom-right-radius:.375rem!important;border-top-right-radius:.375rem!important}.yst-rounded-t-lg{border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important}.yst-rounded-b-lg{border-bottom-left-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.yst-rounded-br-none{border-bottom-right-radius:0!important}.yst-border{border-width:1px!important}.yst-border-2{border-width:2px!important}.yst-border-0{border-width:0!important}.yst-border-y{border-bottom-width:1px!important;border-top-width:1px!important}.yst-border-x-0{border-left-width:0!important;border-right-width:0!important}.yst-border-l{border-left-width:1px!important}.yst-border-b{border-bottom-width:1px!important}.yst-border-r{border-right-width:1px!important}.yst-border-t,.yst-border-t-\[1px\]{border-top-width:1px!important}.yst-border-solid{border-style:solid!important}.yst-border-dashed{border-style:dashed!important}.yst-border-none{border-style:none!important}.yst-border-slate-200{--tw-border-opacity:1!important;border-color:rgb(226 232 240/var(--tw-border-opacity))!important}.yst-border-transparent{border-color:#0000!important}.yst-border-white{--tw-border-opacity:1!important;border-color:rgb(255 255 255/var(--tw-border-opacity))!important}.yst-border-amber-300{--tw-border-opacity:1!important;border-color:rgb(252 211 77/var(--tw-border-opacity))!important}.yst-border-slate-300{--tw-border-opacity:1!important;border-color:rgb(203 213 225/var(--tw-border-opacity))!important}.yst-border-primary-500{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.yst-border-slate-100{--tw-border-opacity:1!important;border-color:rgb(241 245 249/var(--tw-border-opacity))!important}.yst-border-primary-300{--tw-border-opacity:1!important;border-color:rgb(205 130 171/var(--tw-border-opacity))!important}.yst-border-red-300{--tw-border-opacity:1!important;border-color:rgb(252 165 165/var(--tw-border-opacity))!important}.yst-border-red-500{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity))!important}.yst-border-emerald-600{--tw-border-opacity:1!important;border-color:rgb(5 150 105/var(--tw-border-opacity))!important}.yst-border-r-slate-200{--tw-border-opacity:1!important;border-right-color:rgb(226 232 240/var(--tw-border-opacity))!important}.yst-border-t-\[rgb\(0\,0\,0\,0\.2\)\]{border-top-color:#0003!important}.yst-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.yst-bg-slate-600{--tw-bg-opacity:1!important;background-color:rgb(71 85 105/var(--tw-bg-opacity))!important}.yst-bg-slate-100{--tw-bg-opacity:1!important;background-color:rgb(241 245 249/var(--tw-bg-opacity))!important}.yst-bg-slate-200{--tw-bg-opacity:1!important;background-color:rgb(226 232 240/var(--tw-bg-opacity))!important}.yst-bg-slate-50{--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.yst-bg-green-100{--tw-bg-opacity:1!important;background-color:rgb(220 252 231/var(--tw-bg-opacity))!important}.yst-bg-primary-500{--tw-bg-opacity:1!important;background-color:rgb(166 30 105/var(--tw-bg-opacity))!important}.yst-bg-black{--tw-bg-opacity:1!important;background-color:rgb(0 0 0/var(--tw-bg-opacity))!important}.yst-bg-transparent{background-color:initial!important}.yst-bg-slate-300{--tw-bg-opacity:1!important;background-color:rgb(203 213 225/var(--tw-bg-opacity))!important}.yst-bg-slate-500{--tw-bg-opacity:1!important;background-color:rgb(100 116 139/var(--tw-bg-opacity))!important}.yst-bg-red-100{--tw-bg-opacity:1!important;background-color:rgb(254 226 226/var(--tw-bg-opacity))!important}.yst-bg-primary-600{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.yst-bg-blue-100{--tw-bg-opacity:1!important;background-color:rgb(219 234 254/var(--tw-bg-opacity))!important}.yst-bg-yellow-100{--tw-bg-opacity:1!important;background-color:rgb(254 249 195/var(--tw-bg-opacity))!important}.yst-bg-primary-200{--tw-bg-opacity:1!important;background-color:rgb(224 179 204/var(--tw-bg-opacity))!important}.yst-bg-opacity-75{--tw-bg-opacity:0.75!important}.yst-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))!important}.yst-from-\[\#EDD2E1\]{--tw-gradient-from:#edd2e1!important;--tw-gradient-to:#edd2e100!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important}.yst-stroke-3{stroke-width:3px!important}.yst-stroke-1{stroke-width:1!important}.yst-object-contain{object-fit:contain!important}.yst-object-cover{object-fit:cover!important}.yst-object-center{object-position:center!important}.yst-p-1{padding:.25rem!important}.yst-p-6{padding:1.5rem!important}.yst-p-4{padding:1rem!important}.yst-p-8{padding:2rem!important}.yst-p-0{padding:0!important}.yst-p-2\.5{padding:.625rem!important}.yst-p-2{padding:.5rem!important}.yst-p-10{padding:2.5rem!important}.yst-p-3{padding:.75rem!important}.yst-px-4{padding-left:1rem!important;padding-right:1rem!important}.yst-px-3{padding-left:.75rem!important;padding-right:.75rem!important}.yst-py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.yst-py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.yst-px-2{padding-left:.5rem!important;padding-right:.5rem!important}.yst-py-4{padding-bottom:1rem!important;padding-top:1rem!important}.yst-px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.yst-py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.yst-px-2\.5{padding-left:.625rem!important;padding-right:.625rem!important}.yst-py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.yst-px-0\.5{padding-left:.125rem!important;padding-right:.125rem!important}.yst-px-0{padding-left:0!important;padding-right:0!important}.yst-px-\[3px\]{padding-left:3px!important;padding-right:3px!important}.yst-py-\[3px\]{padding-bottom:3px!important;padding-top:3px!important}.yst-px-8{padding-left:2rem!important;padding-right:2rem!important}.yst-py-12{padding-bottom:3rem!important;padding-top:3rem!important}.yst-py-1\.5{padding-bottom:.375rem!important;padding-top:.375rem!important}.yst-px-11{padding-left:2.75rem!important;padding-right:2.75rem!important}.yst-pb-10{padding-bottom:2.5rem!important}.yst-pt-1{padding-top:.25rem!important}.yst-pb-1{padding-bottom:.25rem!important}.yst-pt-4{padding-top:1rem!important}.yst-pb-4{padding-bottom:1rem!important}.yst-pr-4{padding-right:1rem!important}.yst-pl-6{padding-left:1.5rem!important}.yst-pt-2{padding-top:.5rem!important}.yst-pl-\[1em\]{padding-left:1em!important}.yst-pb-6{padding-bottom:1.5rem!important}.yst-pb-8{padding-bottom:2rem!important}.yst-pb-20{padding-bottom:5rem!important}.yst-pt-5{padding-top:1.25rem!important}.yst-pt-6{padding-top:1.5rem!important}.yst-pl-2{padding-left:.5rem!important}.yst-pr-3{padding-right:.75rem!important}.yst-pb-2{padding-bottom:.5rem!important}.yst-pt-\[56\.25\%\]{padding-top:56.25%!important}.yst-pl-3{padding-left:.75rem!important}.yst-pr-2{padding-right:.5rem!important}.yst-pl-0{padding-left:0!important}.yst-pr-10{padding-right:2.5rem!important}.yst-pr-9{padding-right:2.25rem!important}.yst-text-left{text-align:left!important}.yst-text-center{text-align:center!important}.yst-align-middle{vertical-align:middle!important}.yst-align-bottom{vertical-align:bottom!important}.yst-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.yst-font-wp{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif!important}.yst-text-sm{font-size:.8125rem!important}.yst-text-4xl{font-size:2.25rem!important}.yst-text-2xl{font-size:1.5rem!important}.yst-text-base{font-size:1rem!important}.yst-text-tiny{font-size:.875rem!important}.yst-text-lg{font-size:1.125rem!important}.yst-text-xs{font-size:.75rem!important}.yst-text-xl{font-size:1.25rem!important}.yst-text-\[10px\]{font-size:10px!important}.yst-text-xxs{font-size:.675rem!important}.yst-font-medium{font-weight:500!important}.yst-font-semibold{font-weight:600!important}.yst-font-extrabold{font-weight:800!important}.yst-font-bold{font-weight:700!important}.yst-font-\[650\]{font-weight:650!important}.yst-font-light{font-weight:300!important}.yst-font-normal{font-weight:400!important}.yst-uppercase{text-transform:uppercase!important}.yst-italic{font-style:italic!important}.yst-leading-10{line-height:2.5rem!important}.yst-leading-6{line-height:1.5rem!important}.yst-leading-8{line-height:2rem!important}.yst-leading-5{line-height:1.25rem!important}.yst-leading-normal{line-height:1.5!important}.yst-leading-\[normal\]{line-height:normal!important}.yst-leading-tight{line-height:1.25!important}.yst-leading-4{line-height:1rem!important}.yst-tracking-tight{letter-spacing:-.025em!important}.yst-tracking-wide{letter-spacing:.025em!important}.yst-text-slate-800{--tw-text-opacity:1!important;color:rgb(30 41 59/var(--tw-text-opacity))!important}.yst-text-slate-400{--tw-text-opacity:1!important;color:rgb(148 163 184/var(--tw-text-opacity))!important}.yst-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.yst-text-slate-500{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.yst-text-slate-900{--tw-text-opacity:1!important;color:rgb(15 23 42/var(--tw-text-opacity))!important}.yst-text-slate-600{--tw-text-opacity:1!important;color:rgb(71 85 105/var(--tw-text-opacity))!important}.yst-text-primary-500{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.yst-text-gray-900{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.yst-text-gray-500{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity))!important}.yst-text-green-600{--tw-text-opacity:1!important;color:rgb(22 163 74/var(--tw-text-opacity))!important}.yst-text-gray-400{--tw-text-opacity:1!important;color:rgb(156 163 175/var(--tw-text-opacity))!important}.yst-text-indigo-600{--tw-text-opacity:1!important;color:rgb(79 70 229/var(--tw-text-opacity))!important}.yst-text-\[\#555\]{--tw-text-opacity:1!important;color:rgb(85 85 85/var(--tw-text-opacity))!important}.yst-text-amber-300{--tw-text-opacity:1!important;color:rgb(252 211 77/var(--tw-text-opacity))!important}.yst-text-slate-700{--tw-text-opacity:1!important;color:rgb(51 65 85/var(--tw-text-opacity))!important}.yst-text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.yst-text-green-400{--tw-text-opacity:1!important;color:rgb(74 222 128/var(--tw-text-opacity))!important}.yst-text-\[\#111827\]{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.yst-text-yellow-900{--tw-text-opacity:1!important;color:rgb(113 63 18/var(--tw-text-opacity))!important}.yst-text-amber-500{--tw-text-opacity:1!important;color:rgb(245 158 11/var(--tw-text-opacity))!important}.yst-text-red-600{--tw-text-opacity:1!important;color:rgb(220 38 38/var(--tw-text-opacity))!important}.yst-text-blue-500{--tw-text-opacity:1!important;color:rgb(59 130 246/var(--tw-text-opacity))!important}.yst-text-blue-800{--tw-text-opacity:1!important;color:rgb(30 64 175/var(--tw-text-opacity))!important}.yst-text-yellow-500{--tw-text-opacity:1!important;color:rgb(234 179 8/var(--tw-text-opacity))!important}.yst-text-yellow-800{--tw-text-opacity:1!important;color:rgb(133 77 14/var(--tw-text-opacity))!important}.yst-text-red-800{--tw-text-opacity:1!important;color:rgb(153 27 27/var(--tw-text-opacity))!important}.yst-text-emerald-600{--tw-text-opacity:1!important;color:rgb(5 150 105/var(--tw-text-opacity))!important}.yst-text-green-800{--tw-text-opacity:1!important;color:rgb(22 101 52/var(--tw-text-opacity))!important}.yst-text-red-900{--tw-text-opacity:1!important;color:rgb(127 29 29/var(--tw-text-opacity))!important}.yst-underline{-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.yst-line-through{-webkit-text-decoration-line:line-through!important;text-decoration-line:line-through!important}.yst-no-underline{-webkit-text-decoration-line:none!important;text-decoration-line:none!important}.yst-subpixel-antialiased{-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.yst-placeholder-slate-500::placeholder{--tw-placeholder-opacity:1!important;color:rgb(100 116 139/var(--tw-placeholder-opacity))!important}.yst-opacity-0{opacity:0!important}.yst-opacity-100{opacity:1!important}.yst-opacity-25{opacity:.25!important}.yst-opacity-75{opacity:.75!important}.yst-opacity-50{opacity:.5!important}.yst-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a!important;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)!important}.yst-shadow,.yst-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important}.yst-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a!important;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)!important}.yst-shadow-md,.yst-shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)!important}.yst-shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important}.yst-shadow-none,.yst-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d!important;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)!important}.yst-shadow-amber-700\/30{--tw-shadow-color:#b453094d!important;--tw-shadow:var(--tw-shadow-colored)!important}.yst-outline-none{outline:2px solid #0000!important;outline-offset:2px!important}.yst-ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.yst-ring-gray-200{--tw-ring-opacity:1!important;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))!important}.yst-ring-black{--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))!important}.yst-ring-opacity-5{--tw-ring-opacity:0.05!important}.yst-ring-offset-2{--tw-ring-offset-width:2px!important}.yst-ring-offset-primary-500{--tw-ring-offset-color:#a61e69!important}.yst-drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)!important}.yst-drop-shadow-md,.yst-grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.yst-grayscale{--tw-grayscale:grayscale(100%)!important}.yst-filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.yst-transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-colors{transition-duration:.15s!important;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-transform{transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-\[width\]{transition-duration:.15s!important;transition-property:width!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-delay-200{transition-delay:.2s!important}.yst-delay-\[900ms\]{transition-delay:.9s!important}.yst-delay-100{transition-delay:.1s!important}.yst-duration-1000{transition-duration:1s!important}.yst-duration-200{transition-duration:.2s!important}.yst-duration-300{transition-duration:.3s!important}.yst-duration-150{transition-duration:.15s!important}.yst-duration-100{transition-duration:.1s!important}.yst-duration-75{transition-duration:75ms!important}.yst-duration-500{transition-duration:.5s!important}.yst-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)!important}.yst-ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)!important}.yst-ease-linear{transition-timing-function:linear!important}.odd\:yst-bg-white:nth-child(odd){--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.even\:yst-bg-slate-50:nth-child(2n){--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.focus-within\:yst-border-primary-500:focus-within{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.focus-within\:yst-outline-none:focus-within{outline:2px solid #0000!important;outline-offset:2px!important}.focus-within\:yst-ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus-within\:yst-ring-primary-500:focus-within{--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important}.hover\:yst-bg-slate-50:hover{--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.hover\:yst-bg-gray-50:hover{--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}.hover\:yst-bg-\[\#f0f0f0\]:hover{--tw-bg-opacity:1!important;background-color:rgb(240 240 240/var(--tw-bg-opacity))!important}.hover\:yst-bg-white:hover{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.hover\:yst-bg-primary-600:hover{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.hover\:yst-text-slate-500:hover{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.hover\:yst-text-slate-900:hover{--tw-text-opacity:1!important;color:rgb(15 23 42/var(--tw-text-opacity))!important}.hover\:yst-text-slate-800:hover{--tw-text-opacity:1!important;color:rgb(30 41 59/var(--tw-text-opacity))!important}.hover\:yst-text-slate-600:hover{--tw-text-opacity:1!important;color:rgb(71 85 105/var(--tw-text-opacity))!important}.hover\:yst-text-white:hover{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.hover\:yst-text-primary-500:hover{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.hover\:yst-underline:hover{-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.focus\:yst-border-primary-500:focus{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.focus\:yst-border-red-500:focus{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity))!important}.focus\:yst-border-emerald-600:focus{--tw-border-opacity:1!important;border-color:rgb(5 150 105/var(--tw-border-opacity))!important}.focus\:yst-bg-primary-600:focus{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.focus\:yst-text-white:focus{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.focus\:yst-text-primary-500:focus{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.focus\:yst-shadow-\[0_0_3px_rgba\(8\2c 74\2c 103\2c 0\.8\)\]:focus{--tw-shadow:0 0 3px #084a67cc!important;--tw-shadow-colored:0 0 3px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.focus\:yst-outline-none:focus{outline:2px solid #0000!important;outline-offset:2px!important}.focus\:yst-outline:focus{outline-style:solid!important}.focus\:yst-outline-\[1px\]:focus{outline-width:1px!important}.focus\:-yst-outline-offset-1:focus{outline-offset:-1px!important}.focus\:yst-outline-\[color\:\#0066cd\]:focus{outline-color:#0066cd!important}.focus\:yst-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.focus\:yst-ring-1:focus,.focus\:yst-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus\:yst-ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.focus\:yst-ring-inset:focus{--tw-ring-inset:inset!important}.focus\:yst-ring-primary-500:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important}.focus\:yst-ring-white:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))!important}.focus\:yst-ring-red-500:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))!important}.focus\:yst-ring-emerald-600:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(5 150 105/var(--tw-ring-opacity))!important}.focus\:yst-ring-offset-2:focus{--tw-ring-offset-width:2px!important}.focus\:yst-ring-offset-1:focus{--tw-ring-offset-width:1px!important}.focus\:yst-ring-offset-transparent:focus{--tw-ring-offset-color:#0000!important}.focus\:yst-ring-offset-primary-500:focus{--tw-ring-offset-color:#a61e69!important}.yst-group:hover .group-hover\:yst-bg-primary-500{--tw-bg-opacity:1!important;background-color:rgb(166 30 105/var(--tw-bg-opacity))!important}.yst-group:hover .group-hover\:yst-bg-primary-200{--tw-bg-opacity:1!important;background-color:rgb(224 179 204/var(--tw-bg-opacity))!important}.yst-group:hover .group-hover\:yst-text-slate-500{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.yst-group:hover .group-hover\:yst-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.yst-group:hover .group-hover\:yst-text-primary-800{--tw-text-opacity:1!important;color:rgb(131 8 78/var(--tw-text-opacity))!important}[dir=rtl] .rtl\:yst-rotate-180{--tw-rotate:180deg!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@media not all and (min-width:640px){.max-sm\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}}@media (min-width:640px){.sm\:yst-my-8{margin-bottom:2rem!important;margin-top:2rem!important}.sm\:yst-mx-0{margin-left:0!important;margin-right:0!important}.sm\:yst-mb-0{margin-bottom:0!important}.sm\:yst-ml-3{margin-left:.75rem!important}.sm\:yst-mt-0{margin-top:0!important}.sm\:yst-ml-4{margin-left:1rem!important}.sm\:yst-block{display:block!important}.sm\:yst-inline-block{display:inline-block!important}.sm\:yst-flex{display:flex!important}.sm\:yst-h-screen{height:100vh!important}.sm\:yst-h-10{height:2.5rem!important}.sm\:yst-w-auto{width:auto!important}.sm\:yst-w-full{width:100%!important}.sm\:yst-w-10{width:2.5rem!important}.sm\:yst-max-w-lg{max-width:32rem!important}.sm\:yst-translate-y-0{--tw-translate-y:0px!important}.sm\:yst-scale-95,.sm\:yst-translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.sm\:yst-scale-95{--tw-scale-x:.95!important;--tw-scale-y:.95!important}.sm\:yst-scale-100{--tw-scale-x:1!important;--tw-scale-y:1!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.sm\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sm\:yst-flex-row-reverse{flex-direction:row-reverse!important}.sm\:yst-items-start{align-items:flex-start!important}.sm\:yst-p-0{padding:0!important}.sm\:yst-p-6{padding:1.5rem!important}.sm\:yst-text-left{text-align:left!important}.sm\:yst-align-middle{vertical-align:middle!important}.sm\:yst-text-sm{font-size:.8125rem!important}}@media (min-width:768px){.md\:yst-absolute{position:absolute!important}.md\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.md\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.md\:yst-flex-row{flex-direction:row!important}}@media (min-width:783px){.min-\[783px\]\:yst-block{display:block!important}.min-\[783px\]\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.min-\[783px\]\:yst-p-8{padding:2rem!important}}@media (min-width:1024px){.lg\:yst-col-span-2{grid-column:span 2/span 2!important}.lg\:yst-mt-0{margin-top:0!important}.lg\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lg\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.lg\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lg\:yst-gap-12{gap:3rem!important}}@media (min-width:1280px){.xl\:yst-fixed{position:fixed!important}.xl\:yst-right-8{right:2rem!important}.xl\:yst-col-span-2{grid-column:span 2/span 2!important}.xl\:yst-mb-0{margin-bottom:0!important}.xl\:yst-mt-0{margin-top:0!important}.xl\:yst-w-\[16rem\]{width:16rem!important}.xl\:yst-max-w-3xl{max-width:48rem!important}.xl\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.xl\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.xl\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.xl\:yst-gap-12{gap:3rem!important}.xl\:yst-pr-\[17\.5rem\]{padding-right:17.5rem!important}}@media (min-width:1536px){.\32xl\:yst-col-span-2{grid-column:span 2/span 2!important}.\32xl\:yst-mt-0{margin-top:0!important}.\32xl\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.\32xl\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.\32xl\:yst-gap-12{gap:3rem!important}}@media (min-width:1800px){.min-\[1800px\]\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}} \ No newline at end of file diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2230-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2230-rtl.css new file mode 100644 index 00000000..d006b420 --- /dev/null +++ b/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2230-rtl.css @@ -0,0 +1 @@ +.yst-root *,.yst-root :after,.yst-root :before{border:0 solid #e5e7eb;box-sizing:border-box}.yst-root :after,.yst-root :before{--tw-content:""}.yst-root{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;margin:0;tab-size:4}.yst-root hr{border-top-width:1px;color:inherit;height:0}.yst-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.yst-root h1,.yst-root h2,.yst-root h3,.yst-root h4,.yst-root h5,.yst-root h6{font-size:inherit;font-weight:inherit}.yst-root a{color:inherit;text-decoration:inherit}.yst-root b,.yst-root strong{font-weight:bolder}.yst-root code,.yst-root kbd,.yst-root pre,.yst-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}.yst-root small{font-size:80%}.yst-root sub,.yst-root sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.yst-root sub{bottom:-.25em}.yst-root sup{top:-.5em}.yst-root table{border-collapse:collapse;border-color:inherit;text-indent:0}.yst-root button,.yst-root input,.yst-root optgroup,.yst-root select,.yst-root textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}.yst-root button,.yst-root select{text-transform:none}.yst-root [type=button],.yst-root [type=reset],.yst-root [type=submit],.yst-root button{-webkit-appearance:button;background-color:initial;background-image:none}.yst-root :-moz-focusring{outline:auto}.yst-root :-moz-ui-invalid{box-shadow:none}.yst-root progress{vertical-align:initial}.yst-root ::-webkit-inner-spin-button,.yst-root ::-webkit-outer-spin-button{height:auto}.yst-root [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.yst-root ::-webkit-search-decoration{-webkit-appearance:none}.yst-root ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.yst-root summary{display:list-item}.yst-root blockquote,.yst-root dd,.yst-root dl,.yst-root figure,.yst-root h1,.yst-root h2,.yst-root h3,.yst-root h4,.yst-root h5,.yst-root h6,.yst-root hr,.yst-root p,.yst-root pre{margin:0}.yst-root fieldset{margin:0;padding:0}.yst-root legend{padding:0}.yst-root menu,.yst-root ol,.yst-root ul{list-style:none;margin:0;padding:0}.yst-root textarea{resize:vertical}.yst-root input::placeholder,.yst-root textarea::placeholder{color:#6b7280;opacity:1}.yst-root [role=button],.yst-root button{cursor:pointer}.yst-root :disabled{cursor:default}.yst-root audio,.yst-root canvas,.yst-root embed,.yst-root iframe,.yst-root img,.yst-root object,.yst-root svg,.yst-root video{display:block;vertical-align:middle}.yst-root img,.yst-root video{height:auto;max-width:100%}.yst-root [type=date],.yst-root [type=datetime-local],.yst-root [type=email],.yst-root [type=month],.yst-root [type=number],.yst-root [type=password],.yst-root [type=search],.yst-root [type=tel],.yst-root [type=text],.yst-root [type=time],.yst-root [type=url],.yst-root [type=week]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root [type=date]:focus,.yst-root [type=datetime-local]:focus,.yst-root [type=email]:focus,.yst-root [type=month]:focus,.yst-root [type=number]:focus,.yst-root [type=password]:focus,.yst-root [type=search]:focus,.yst-root [type=tel]:focus,.yst-root [type=text]:focus,.yst-root [type=time]:focus,.yst-root [type=url]:focus,.yst-root [type=week]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=date]::placeholder,.yst-root [type=datetime-local]::placeholder,.yst-root [type=email]::placeholder,.yst-root [type=month]::placeholder,.yst-root [type=number]::placeholder,.yst-root [type=password]::placeholder,.yst-root [type=search]::placeholder,.yst-root [type=tel]::placeholder,.yst-root [type=text]::placeholder,.yst-root [type=time]::placeholder,.yst-root [type=url]::placeholder,.yst-root [type=week]::placeholder{color:#6b7280;opacity:1}.yst-root [type=date]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=email]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=month]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=number]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=password]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=search]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=tel]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=text]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=time]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=url]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=week]::-webkit-datetime-edit-fields-wrapper{padding:0}.yst-root [type=date]::-webkit-date-and-time-value,.yst-root [type=datetime-local]::-webkit-date-and-time-value,.yst-root [type=email]::-webkit-date-and-time-value,.yst-root [type=month]::-webkit-date-and-time-value,.yst-root [type=number]::-webkit-date-and-time-value,.yst-root [type=password]::-webkit-date-and-time-value,.yst-root [type=search]::-webkit-date-and-time-value,.yst-root [type=tel]::-webkit-date-and-time-value,.yst-root [type=text]::-webkit-date-and-time-value,.yst-root [type=time]::-webkit-date-and-time-value,.yst-root [type=url]::-webkit-date-and-time-value,.yst-root [type=week]::-webkit-date-and-time-value{min-height:1.5em}.yst-root [type=date]::-webkit-datetime-edit,.yst-root [type=date]::-webkit-datetime-edit-day-field,.yst-root [type=date]::-webkit-datetime-edit-hour-field,.yst-root [type=date]::-webkit-datetime-edit-meridiem-field,.yst-root [type=date]::-webkit-datetime-edit-millisecond-field,.yst-root [type=date]::-webkit-datetime-edit-minute-field,.yst-root [type=date]::-webkit-datetime-edit-month-field,.yst-root [type=date]::-webkit-datetime-edit-second-field,.yst-root [type=date]::-webkit-datetime-edit-year-field,.yst-root [type=datetime-local]::-webkit-datetime-edit,.yst-root [type=datetime-local]::-webkit-datetime-edit-day-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-hour-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-meridiem-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-millisecond-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-minute-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-month-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-second-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-year-field,.yst-root [type=email]::-webkit-datetime-edit,.yst-root [type=email]::-webkit-datetime-edit-day-field,.yst-root [type=email]::-webkit-datetime-edit-hour-field,.yst-root [type=email]::-webkit-datetime-edit-meridiem-field,.yst-root [type=email]::-webkit-datetime-edit-millisecond-field,.yst-root [type=email]::-webkit-datetime-edit-minute-field,.yst-root [type=email]::-webkit-datetime-edit-month-field,.yst-root [type=email]::-webkit-datetime-edit-second-field,.yst-root [type=email]::-webkit-datetime-edit-year-field,.yst-root [type=month]::-webkit-datetime-edit,.yst-root [type=month]::-webkit-datetime-edit-day-field,.yst-root [type=month]::-webkit-datetime-edit-hour-field,.yst-root [type=month]::-webkit-datetime-edit-meridiem-field,.yst-root [type=month]::-webkit-datetime-edit-millisecond-field,.yst-root [type=month]::-webkit-datetime-edit-minute-field,.yst-root [type=month]::-webkit-datetime-edit-month-field,.yst-root [type=month]::-webkit-datetime-edit-second-field,.yst-root [type=month]::-webkit-datetime-edit-year-field,.yst-root [type=number]::-webkit-datetime-edit,.yst-root [type=number]::-webkit-datetime-edit-day-field,.yst-root [type=number]::-webkit-datetime-edit-hour-field,.yst-root [type=number]::-webkit-datetime-edit-meridiem-field,.yst-root [type=number]::-webkit-datetime-edit-millisecond-field,.yst-root [type=number]::-webkit-datetime-edit-minute-field,.yst-root [type=number]::-webkit-datetime-edit-month-field,.yst-root [type=number]::-webkit-datetime-edit-second-field,.yst-root [type=number]::-webkit-datetime-edit-year-field,.yst-root [type=password]::-webkit-datetime-edit,.yst-root [type=password]::-webkit-datetime-edit-day-field,.yst-root [type=password]::-webkit-datetime-edit-hour-field,.yst-root [type=password]::-webkit-datetime-edit-meridiem-field,.yst-root [type=password]::-webkit-datetime-edit-millisecond-field,.yst-root [type=password]::-webkit-datetime-edit-minute-field,.yst-root [type=password]::-webkit-datetime-edit-month-field,.yst-root [type=password]::-webkit-datetime-edit-second-field,.yst-root [type=password]::-webkit-datetime-edit-year-field,.yst-root [type=search]::-webkit-datetime-edit,.yst-root [type=search]::-webkit-datetime-edit-day-field,.yst-root [type=search]::-webkit-datetime-edit-hour-field,.yst-root [type=search]::-webkit-datetime-edit-meridiem-field,.yst-root [type=search]::-webkit-datetime-edit-millisecond-field,.yst-root [type=search]::-webkit-datetime-edit-minute-field,.yst-root [type=search]::-webkit-datetime-edit-month-field,.yst-root [type=search]::-webkit-datetime-edit-second-field,.yst-root [type=search]::-webkit-datetime-edit-year-field,.yst-root [type=tel]::-webkit-datetime-edit,.yst-root [type=tel]::-webkit-datetime-edit-day-field,.yst-root [type=tel]::-webkit-datetime-edit-hour-field,.yst-root [type=tel]::-webkit-datetime-edit-meridiem-field,.yst-root [type=tel]::-webkit-datetime-edit-millisecond-field,.yst-root [type=tel]::-webkit-datetime-edit-minute-field,.yst-root [type=tel]::-webkit-datetime-edit-month-field,.yst-root [type=tel]::-webkit-datetime-edit-second-field,.yst-root [type=tel]::-webkit-datetime-edit-year-field,.yst-root [type=text]::-webkit-datetime-edit,.yst-root [type=text]::-webkit-datetime-edit-day-field,.yst-root [type=text]::-webkit-datetime-edit-hour-field,.yst-root [type=text]::-webkit-datetime-edit-meridiem-field,.yst-root [type=text]::-webkit-datetime-edit-millisecond-field,.yst-root [type=text]::-webkit-datetime-edit-minute-field,.yst-root [type=text]::-webkit-datetime-edit-month-field,.yst-root [type=text]::-webkit-datetime-edit-second-field,.yst-root [type=text]::-webkit-datetime-edit-year-field,.yst-root [type=time]::-webkit-datetime-edit,.yst-root [type=time]::-webkit-datetime-edit-day-field,.yst-root [type=time]::-webkit-datetime-edit-hour-field,.yst-root [type=time]::-webkit-datetime-edit-meridiem-field,.yst-root [type=time]::-webkit-datetime-edit-millisecond-field,.yst-root [type=time]::-webkit-datetime-edit-minute-field,.yst-root [type=time]::-webkit-datetime-edit-month-field,.yst-root [type=time]::-webkit-datetime-edit-second-field,.yst-root [type=time]::-webkit-datetime-edit-year-field,.yst-root [type=url]::-webkit-datetime-edit,.yst-root [type=url]::-webkit-datetime-edit-day-field,.yst-root [type=url]::-webkit-datetime-edit-hour-field,.yst-root [type=url]::-webkit-datetime-edit-meridiem-field,.yst-root [type=url]::-webkit-datetime-edit-millisecond-field,.yst-root [type=url]::-webkit-datetime-edit-minute-field,.yst-root [type=url]::-webkit-datetime-edit-month-field,.yst-root [type=url]::-webkit-datetime-edit-second-field,.yst-root [type=url]::-webkit-datetime-edit-year-field,.yst-root [type=week]::-webkit-datetime-edit,.yst-root [type=week]::-webkit-datetime-edit-day-field,.yst-root [type=week]::-webkit-datetime-edit-hour-field,.yst-root [type=week]::-webkit-datetime-edit-meridiem-field,.yst-root [type=week]::-webkit-datetime-edit-millisecond-field,.yst-root [type=week]::-webkit-datetime-edit-minute-field,.yst-root [type=week]::-webkit-datetime-edit-month-field,.yst-root [type=week]::-webkit-datetime-edit-second-field,.yst-root [type=week]::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}.yst-root textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root textarea::placeholder{color:#6b7280;opacity:1}.yst-root select{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root select:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:left .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-left:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.yst-root select[multiple]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root select[multiple]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=checkbox]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-radius:0;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}.yst-root [type=checkbox]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=checkbox]:checked,.yst-root [type=checkbox]:checked:focus,.yst-root [type=checkbox]:checked:hover,.yst-root [type=checkbox]:indeterminate{background-color:currentColor;border-color:#0000}.yst-root [type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=checkbox]:indeterminate:focus,.yst-root [type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}.yst-root [type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-radius:100%;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}.yst-root [type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=radio]:checked,.yst-root [type=radio]:checked:focus,.yst-root [type=radio]:checked:hover{background-color:currentColor;border-color:#0000}.yst-root{--tw-text-opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgb(71 85 105/var(--tw-text-opacity));font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.8125rem;font-weight:400;line-height:1.5}.yst-root a{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity));-webkit-text-decoration-line:underline;text-decoration-line:underline}.yst-root a:visited{color:#a61e69}.yst-root a:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.yst-root a:hover:visited{color:#b94986}.yst-root a:focus{--tw-text-opacity:1;border-radius:.125rem;color:rgb(99 102 241/var(--tw-text-opacity));outline-color:#4f46e5;outline-offset:1px;outline-style:solid}.yst-root [type=date]::placeholder,.yst-root [type=datetime-local]::placeholder,.yst-root [type=email]::placeholder,.yst-root [type=month]::placeholder,.yst-root [type=number]::placeholder,.yst-root [type=password]::placeholder,.yst-root [type=search]::placeholder,.yst-root [type=tel]::placeholder,.yst-root [type=text]::placeholder,.yst-root [type=time]::placeholder,.yst-root [type=url]::placeholder,.yst-root [type=week]::placeholder,.yst-root textarea::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity))}.yst-root svg path{stroke-width:inherit}.yst-root .yst-radio__input,.yst-root a:focus{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-radio__input{transition-property:none}.yst-root .yst-radio__input:checked:before{content:var(--tw-content);display:none}.yst-root .yst-modal{z-index:100000!important}.yst-root dd,.yst-root li{margin-bottom:0}.yst-root input[type=date],.yst-root input[type=datetime-local],.yst-root input[type=datetime],.yst-root input[type=email],.yst-root input[type=month],.yst-root input[type=number],.yst-root input[type=password],.yst-root input[type=search],.yst-root input[type=tel],.yst-root input[type=text],.yst-root input[type=time],.yst-root input[type=url],.yst-root input[type=week]{min-height:0}.yst-root input[type=checkbox]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);min-height:0;min-width:0;transition-property:none}.yst-root input[type=checkbox]:before{--tw-content:none;content:var(--tw-content)}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.yst-root .yst-alert{border-radius:.375rem;display:flex;gap:.75rem;padding:1rem}.yst-root .yst-alert--info{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.yst-root .yst-alert--info .yst-alert__message{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.yst-root .yst-alert--warning{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.yst-root .yst-alert--warning .yst-alert__message{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.yst-root .yst-alert--success{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.yst-root .yst-alert--success .yst-alert__message{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.yst-root .yst-alert--error{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.yst-root .yst-alert--error .yst-alert__message{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.yst-root .yst-alert__icon{flex-grow:0;flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-autocomplete{position:relative}.yst-root .yst-autocomplete--error .yst-autocomplete__button{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}.yst-root .yst-autocomplete--error .yst-autocomplete__button:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity));border-color:rgb(239 68 68/var(--tw-border-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete--error .yst-autocomplete__input::placeholder{--tw-placeholder-opacity:1;color:rgb(252 165 165/var(--tw-placeholder-opacity))}.yst-root .yst-autocomplete--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-autocomplete--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-autocomplete__button{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;border-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:flex;height:100%;padding-right:.75rem;padding-left:.75rem;width:100%}.yst-root .yst-autocomplete__button:focus-within{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete__button-icon{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:1.25rem;pointer-events:none;position:absolute;left:.625rem;top:.6875rem;width:1.25rem}.yst-root .yst-autocomplete__input{--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;border-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem 0 .5rem 2.5rem;width:100%}.yst-root .yst-autocomplete__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-autocomplete__options{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.8125rem;margin-top:.25rem;max-height:15rem;overflow:auto;position:absolute;width:100%;z-index:20}.yst-root .yst-autocomplete__options:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete__option{--tw-text-opacity:1;align-items:center;color:rgb(51 65 85/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;padding:.5rem .75rem;position:relative;-webkit-user-select:none;user-select:none}.yst-root .yst-autocomplete__option--active{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.yst-root .yst-autocomplete__option--selected{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-select__option-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yst-root .yst-autocomplete__option-check{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-badge{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(219 234 254/var(--tw-bg-opacity));border-radius:9999px;color:rgb(30 64 175/var(--tw-text-opacity));display:inline-flex;font-size:.75rem;font-weight:500;line-height:1.25;padding:.125rem .5rem;vertical-align:middle;white-space:nowrap}.yst-root .yst-badge--info{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity));color:rgb(30 58 138/var(--tw-text-opacity))}.yst-root .yst-badge--upsell{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity));color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-badge--plain{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(15 23 42/var(--tw-text-opacity))}.yst-root .yst-badge--small{font-size:.675rem}.yst-root .yst-badge--large{font-size:1rem;padding-right:.75rem;padding-left:.75rem}.yst-root .yst-button{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-color:#0000;align-items:center;border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;justify-content:center;line-height:1.25rem;padding:.5rem .75rem;text-align:center;-webkit-text-decoration-line:none;text-decoration-line:none}.yst-root .yst-button:focus{outline-color:#a61e69;outline-offset:2px;outline-style:solid;outline-width:2px}.yst-root a.yst-button:focus{border-radius:.375rem}.yst-root .yst-button--primary{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-color:#0000;background-color:rgb(166 30 105/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--primary:visited{color:#fff}.yst-root .yst-button--primary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(143 15 87/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--primary:hover:visited{color:#fff}.yst-root .yst-button--primary:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));outline-color:#8f0f57}.yst-root .yst-button--secondary{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));background-color:rgb(255 255 255/var(--tw-bg-opacity));color:rgb(30 41 59/var(--tw-text-opacity))}.yst-root .yst-button--secondary:visited{color:#1e293b}.yst-root .yst-button--secondary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity));color:rgb(30 41 59/var(--tw-text-opacity))}.yst-root .yst-button--secondary:hover:visited{color:#1e293b}.yst-root .yst-button--secondary:focus{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));outline-color:#8f0f57}.yst-root .yst-button--tertiary{--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);background-color:initial;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-button--tertiary:visited{color:#83084e}.yst-root .yst-button--tertiary:hover{--tw-text-opacity:1;color:rgb(131 8 78/var(--tw-text-opacity))}.yst-root .yst-button--tertiary:hover:visited{color:#83084e}.yst-root .yst-button--tertiary:focus{--tw-text-opacity:1;color:rgb(131 8 78/var(--tw-text-opacity));outline-color:#8f0f57}.yst-root .yst-button--error{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity));border-color:#0000;color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--error:visited{color:#fff}.yst-root .yst-button--error:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--error:hover:visited{color:#fff}.yst-root .yst-button--error:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));outline-color:#dc2626}.yst-root .yst-button--upsell{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity));border-color:#0000;color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-button--upsell:visited{color:#78350f}.yst-root .yst-button--upsell:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-button--upsell:hover:visited{color:#78350f}.yst-root .yst-button--upsell:focus{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity));outline-color:#fbbf24}.yst-root .yst-button--large{font-size:.875rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root .yst-button--extra-large{font-size:1rem;line-height:1.5rem;padding:.625rem .875rem}.yst-root .yst-button--small{font-size:.75rem;line-height:1rem;padding:.375rem .625rem}.yst-root .yst-button--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-button--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-checkbox{align-items:center;display:flex}.yst-root .yst-checkbox--disabled .yst-checkbox__input,.yst-root .yst-checkbox--disabled .yst-checkbox__label{cursor:not-allowed;opacity:.5}.yst-root .yst-checkbox__input{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.25rem;color:rgb(166 30 105/var(--tw-text-opacity));height:1rem;width:1rem}.yst-root .yst-checkbox__input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))}.yst-root .yst-checkbox__label{margin-right:.75rem}.yst-root .yst-code{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:.25rem;color:rgb(15 23 42/var(--tw-text-opacity));display:inline-block;font-size:.75rem;line-height:1.25;margin:0;padding:.25rem}.yst-root .yst-code--block{display:block;margin-bottom:.5rem;margin-top:.5rem;max-width:100%;overflow-x:auto;padding:.25rem .5rem;white-space:nowrap}.yst-root .yst-file-input{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border:2px dashed rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;padding:1.25rem 1.5rem 1.5rem;text-align:center;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:100%}.yst-root .yst-file-input.yst-is-drag-over{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(250 243 247/var(--tw-bg-opacity));border-color:rgb(205 130 171/var(--tw-border-opacity))}.yst-root .yst-file-input.yst-is-drag-over .yst-file-input__content{pointer-events:none}.yst-root .yst-file-input.yst-is-drag-over .yst-file-input__icon{--tw-translate-y:-0.5rem;--tw-text-opacity:1;color:rgb(185 73 134/var(--tw-text-opacity));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-file-input.yst-is-disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-file-input.yst-is-disabled .yst-file-input__select-label{cursor:not-allowed}.yst-root .yst-file-input__content{align-items:center;display:inline-flex;flex-direction:column;max-width:20rem}.yst-root .yst-file-input__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-file-input__content{text-align:center}.yst-root .yst-file-input__icon{stroke-width:1;--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:3rem;margin-right:auto;margin-left:auto;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:3rem}.yst-root .yst-file-input__icon>path{stroke-width:1}.yst-root .yst-file-input__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.yst-root .yst-file-input__input:focus+.yst-file-input__select-label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-file-input__labels{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));display:inline-block;font-weight:400}.yst-root .yst-file-input__select-label{border-radius:.375rem;font-weight:500}[dir=rtl] .yst-root .yst-file-input__labels{flex-direction:row-reverse}.yst-root .yst-label{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;font-weight:500}.yst-root .yst-link{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity));cursor:pointer;-webkit-text-decoration-line:underline;text-decoration-line:underline}.yst-root .yst-link:visited{color:#a61e69}.yst-root .yst-link:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.yst-root .yst-link:hover:visited{color:#b94986}.yst-root .yst-link:focus{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity));--tw-ring-offset-width:1px;--tw-ring-offset-color:#0000;border-radius:.125rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(99 102 241/var(--tw-text-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-link--primary{--tw-text-opacity:1;color:rgb(154 22 96/var(--tw-text-opacity))}.yst-root .yst-link--primary:focus,.yst-root .yst-link--primary:hover{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-link--primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(154 22 96/var(--tw-ring-opacity))}.yst-root .yst-link--error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.yst-root .yst-link--error:focus,.yst-root .yst-link--error:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.yst-root .yst-link--error:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity))}.yst-root .yst-paper{--tw-bg-opacity:1;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column}.yst-root .yst-paper__header{border-bottom-width:1px;padding:2rem}.yst-root .yst-paper__content{flex-grow:1;padding:2rem}.yst-root .yst-progress-bar{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:9999px;display:block;overflow:hidden;width:100%}.yst-root .yst-progress-bar__progress{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));border-radius:9999px;display:block;height:.375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:linear}.yst-root .yst-radio{align-items:center;display:flex}.yst-root .yst-radio--disabled .yst-radio__check,.yst-root .yst-radio--disabled .yst-radio__input,.yst-root .yst-radio--disabled .yst-radio__label{cursor:not-allowed;opacity:.5}.yst-root .yst-radio--disabled .yst-radio__check:focus,.yst-root .yst-radio--disabled .yst-radio__input:focus,.yst-root .yst-radio--disabled .yst-radio__label:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block{display:inline-flex}.yst-root .yst-radio--inline-block .yst-radio__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.yst-root .yst-radio--inline-block .yst-radio__input:checked+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:#0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__input:checked+.yst-radio__content .yst-radio__check{visibility:visible}.yst-root .yst-radio--inline-block .yst-radio__input:focus+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__input:checked:focus+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-offset-width:1px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__content{position:relative}.yst-root .yst-radio--inline-block .yst-radio__label{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);cursor:pointer;display:flex;font-size:1rem;height:3.5rem;justify-content:center;margin-right:0;width:3.5rem}.yst-root .yst-radio--inline-block .yst-radio__label:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.yst-root .yst-radio--inline-block .yst-radio__label:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-radio--inline-block .yst-radio__check{--tw-text-opacity:1;color:rgb(154 22 96/var(--tw-text-opacity));height:1.25rem;position:absolute;left:.125rem;top:.125rem;visibility:hidden;width:1.25rem}.yst-root .yst-radio__input{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity));color:rgb(166 30 105/var(--tw-text-opacity));height:1rem;width:1rem}.yst-root .yst-radio__input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))}.yst-root .yst-radio__label{margin-right:.75rem}.yst-root .yst-select{position:relative}.yst-root .yst-select--disabled .yst-select__button,.yst-root .yst-select--disabled .yst-select__label{cursor:not-allowed;opacity:.5}.yst-root .yst-select__button{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(30 41 59/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;line-height:1.5rem;padding:.5rem .75rem;position:relative;text-align:right;width:100%}.yst-root .yst-select__button:focus{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-select__button-icon{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:1.25rem;pointer-events:none;position:absolute;left:.625rem;top:.625rem;width:1.25rem}.yst-root .yst-select__options{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.8125rem;margin-top:.25rem;max-height:15rem;overflow:auto;position:absolute;width:100%;z-index:10}.yst-root .yst-select__options:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-select__option{--tw-text-opacity:1;align-items:center;color:rgb(51 65 85/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;padding:.5rem .75rem;position:relative;-webkit-user-select:none;user-select:none}.yst-root .yst-select__option--active{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.yst-root .yst-select__option--selected{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(154 22 96/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-select__button-label,.yst-root .yst-select__option-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yst-root .yst-select__option-check{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-skeleton-loader{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:.25rem;display:block;height:auto;overflow:hidden;position:relative;width:-moz-fit-content;width:fit-content}.yst-root .yst-skeleton-loader:after{--tw-translate-x:-100%;animation:wave 2.5s linear .5s infinite;background:linear-gradient(-90deg,#0000,#00000012,#0000);bottom:0;content:"";right:0;position:absolute;left:0;top:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes wave{0%{transform:translateX(100%)}50%,to{transform:translateX(-100%)}}.yst-root .yst-tag-input{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;color:rgb(30 41 59/var(--tw-text-opacity));display:flex;flex-wrap:wrap;font-size:.8125rem;gap:.375rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root .yst-tag-input::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity))}.yst-root .yst-tag-input{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-tag-input,.yst-root .yst-tag-input:focus-within{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))}.yst-root .yst-tag-input--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-tag-input--disabled:focus-within{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:rgb(203 213 225/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input--disabled .yst-tag-input__tag{cursor:not-allowed}.yst-root .yst-tag-input--disabled .yst-tag-input__tag:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input--disabled .yst-tag-input__tag:focus,.yst-root .yst-tag-input--disabled .yst-tag-input__tag:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag{cursor:not-allowed}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(148 163 184/var(--tw-text-opacity))}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input--disabled .yst-tag-input__input{cursor:not-allowed}.yst-root .yst-tag-input__tag{cursor:pointer;gap:.125rem;min-height:20px;padding-inline-end:.125rem}.yst-root .yst-tag-input__tag:hover{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input__tag:focus,.yst-root .yst-tag-input__tag:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input__remove-tag{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:9999px;color:rgb(148 163 184/var(--tw-text-opacity));display:inline-flex;flex-shrink:0;height:1rem;justify-content:center;width:1rem}.yst-root .yst-tag-input__remove-tag:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));color:rgb(100 116 139/var(--tw-text-opacity))}.yst-root .yst-tag-input__remove-tag:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input__input{border-style:none;display:inline-flex;flex:1 1 0%;font-size:.8125rem;margin:0;padding:0}.yst-root .yst-tag-input__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-text-input{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;border-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem .75rem;width:100%}.yst-root .yst-text-input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-text-input--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-text-input--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-text-input--read-only{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:rgb(248 250 252/var(--tw-bg-opacity));border-color:rgb(226 232 240/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(100 116 139/var(--tw-text-opacity));cursor:default}.yst-root .yst-textarea{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;border-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem .75rem;width:100%}.yst-root .yst-textarea:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-textarea--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-textarea--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-title{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity));font-weight:500;line-height:1.25}.yst-root .yst-title--1{font-size:1.5rem}.yst-root .yst-title--2{font-size:1.125rem}.yst-root .yst-title--3{font-size:.875rem}.yst-root .yst-title--4{font-size:1rem}.yst-root .yst-title--5{font-size:.8125rem}.yst-root .yst-toggle{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));border-color:#0000;border-radius:9999px;border-width:2px;cursor:pointer;display:inline-flex;flex-shrink:0;height:1.5rem;position:relative;transition-duration:.2s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2.75rem}.yst-root .yst-toggle:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-toggle--checked{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity))}.yst-root .yst-toggle--checked .yst-toggle__handle{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-toggle--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-toggle--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-toggle__handle{--tw-translate-x:0px;--tw-bg-opacity:1;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:9999px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:flex;height:1.25rem;justify-content:center;pointer-events:none;position:relative;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.2s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1.25rem}.yst-root .yst-toggle__icon{stroke:currentColor;stroke-width:2;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-grow:0;flex-shrink:0;height:.625rem;transition-duration:.1s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:.625rem}.yst-root .yst-toggle__icon--check{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-toggle__icon--x{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}[dir=rtl] .yst-root .yst-toggle--checked .yst-toggle__handle{--tw-translate-x:-1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity));border-radius:.5rem;color:rgb(255 255 255/var(--tw-text-opacity));display:inline-block;font-size:.75rem;padding:.5rem;position:absolute;z-index:10}.yst-root .yst-tooltip--top{--tw-translate-x:-50%;--tw-translate-y:-100%;right:50%;margin-bottom:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip--top:before{--tw-translate-x:-50%;--tw-translate-y:0px;--tw-border-opacity:1;--tw-content:"";border-bottom-color:#0000;border-right-color:#0000;border-left-color:#0000;border-top-color:rgb(31 41 55/var(--tw-border-opacity));border-width:8px;content:var(--tw-content);position:absolute}.yst-root .yst-tooltip--bottom,.yst-root .yst-tooltip--top:before{right:50%;top:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip--bottom{--tw-translate-x:-50%;--tw-translate-y:-0px;margin-top:.5rem}.yst-root .yst-tooltip--bottom:before{--tw-translate-x:-50%;--tw-border-opacity:1;--tw-content:"";border-bottom-color:rgb(31 41 55/var(--tw-border-opacity));border-right-color:#0000;border-left-color:#0000;border-top-color:#0000;border-width:8px;bottom:100%;content:var(--tw-content);right:50%;position:absolute;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip--right{--tw-translate-x:-0px;right:100%;margin-right:.5rem}.yst-root .yst-tooltip--right,.yst-root .yst-tooltip--right:before{--tw-translate-y:-50%;top:50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip--right:before{--tw-border-opacity:1;--tw-content:"";border-bottom-color:#0000;border-right-color:#0000;border-left-color:rgb(31 41 55/var(--tw-border-opacity));border-top-color:#0000;border-width:8px;content:var(--tw-content);position:absolute;left:100%}.yst-root .yst-tooltip--left{--tw-translate-y:-0px;margin-left:.5rem;left:100%}.yst-root .yst-tooltip--left,.yst-root .yst-tooltip--left:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip--left:before{--tw-translate-y:-50%;--tw-border-opacity:1;--tw-content:"";border-bottom-color:#0000;border-right-color:rgb(31 41 55/var(--tw-border-opacity));border-left-color:#0000;border-top-color:#0000;border-width:8px;content:var(--tw-content);right:100%;position:absolute;top:50%}.yst-root .yst-validation-icon{pointer-events:none}.yst-root .yst-validation-icon--success{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.yst-root .yst-validation-icon--info{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.yst-root .yst-validation-icon--warning{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.yst-root .yst-validation-icon--error{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.yst-root .yst-validation-input{position:relative}.yst-root .yst-validation-input--success .yst-validation-input__input{--tw-ring-opacity:1;--tw-ring-color:rgb(134 239 172/var(--tw-ring-opacity));padding-left:2.5rem}.yst-root .yst-validation-input--success .yst-validation-input__input:focus,.yst-root .yst-validation-input--success .yst-validation-input__input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity))}.yst-root .yst-validation-input--info .yst-validation-input__input{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity));padding-left:2.5rem}.yst-root .yst-validation-input--info .yst-validation-input__input:focus,.yst-root .yst-validation-input--info .yst-validation-input__input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.yst-root .yst-validation-input--warning .yst-validation-input__input{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity));padding-left:2.5rem}.yst-root .yst-validation-input--warning .yst-validation-input__input:focus,.yst-root .yst-validation-input--warning .yst-validation-input__input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.yst-root .yst-validation-input--error .yst-validation-input__input{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity));padding-left:2.5rem}.yst-root .yst-validation-input--error .yst-validation-input__input:focus,.yst-root .yst-validation-input--error .yst-validation-input__input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.yst-root .yst-validation-input__input:focus,.yst-root .yst-validation-input__input:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-validation-input__icon{height:1.25rem;position:absolute;left:.625rem;top:.6875rem;width:1.25rem}.yst-root .yst-validation-message a{color:inherit;font-weight:500}.yst-root .yst-validation-message a:visited:hover{color:inherit}.yst-root .yst-validation-message a:focus{--tw-ring-color:currentColor}.yst-root .yst-validation-message--success{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.yst-root .yst-validation-message--info{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.yst-root .yst-validation-message--warning{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.yst-root .yst-validation-message--error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.yst-root .yst-autocomplete-field__description,.yst-root .yst-autocomplete-field__validation{margin-top:.5rem}.yst-root .yst-card{display:flex;flex-direction:column;position:relative}.yst-root .yst-card>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-card{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);overflow:hidden;padding:1.5rem;transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yst-root .yst-card__header{--tw-bg-opacity:1;align-items:center;background-color:rgb(243 244 246/var(--tw-bg-opacity));display:flex;height:6rem;justify-content:center;margin-right:-1.5rem;margin-left:-1.5rem;margin-top:-1.5rem;padding:1.5rem;position:relative}.yst-root .yst-card__content{flex-grow:1}.yst-root .yst-card__footer{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));border-top-width:1px;padding-top:1.5rem}.yst-root .yst-checkbox-group--disabled .yst-checkbox-group__description,.yst-root .yst-checkbox-group--disabled .yst-checkbox-group__label{cursor:not-allowed;opacity:.5}.yst-root .yst-checkbox-group__label{margin-bottom:.5rem}.yst-root .yst-checkbox-group__options{display:flex;flex-direction:column;gap:.75rem}.yst-root .yst-checkbox-group__description{margin-bottom:1rem;margin-top:-.5rem}.yst-root .yst-feature-upsell{position:relative}.yst-root .yst-feature-upsell--default{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.yst-root .yst-feature-upsell--card{padding:1.5rem}.yst-root .yst-file-import>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-file-import__feedback{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);padding:1rem}.yst-root .yst-file-import__feedback-header{align-items:flex-start;display:flex}.yst-root .yst-file-import__feedback-header>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-left:calc(1rem*var(--tw-space-x-reverse))}.yst-root .yst-file-import__feedback-figure{--tw-bg-opacity:1;align-items:center;background-color:rgb(243 229 237/var(--tw-bg-opacity));border-radius:9999px;display:flex;height:2rem;justify-content:center;width:2rem}.yst-root .yst-file-import__feedback-figure>svg{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity));height:1.25rem;width:1.25rem}.yst-root .yst-file-import__feedback-title{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));display:block;font-weight:500;margin-bottom:.125rem;overflow-wrap:break-word}.yst-root .yst-file-import__feedback-description{display:block;font-size:.75rem;font-weight:500}.yst-root .yst-file-import__abort-button{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(241 245 249/var(--tw-bg-opacity));border-radius:9999px;color:rgb(100 116 139/var(--tw-text-opacity));display:inline-flex;flex-shrink:0;height:1.25rem;justify-content:center;width:1.25rem}.yst-root .yst-file-import__abort-button:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(71 85 105/var(--tw-text-opacity))}.yst-root .yst-file-import__abort-button:focus{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-file-import__abort-button>svg{height:.75rem;width:.75rem}.yst-root .yst-file-import__abort-button>svg>path{stroke-width:3}.yst-root .yst-modal{bottom:0;right:0;padding:1rem;position:fixed;left:0;top:0;z-index:10}@media (min-width:640px){.yst-root .yst-modal{padding:2rem}}@media (min-width:768px){.yst-root .yst-modal{padding:5rem}}.yst-root .yst-modal__layout{display:flex;min-height:100%}.yst-root .yst-modal--center .yst-modal__layout{align-items:center;justify-content:center}.yst-root .yst-modal--top-center .yst-modal__layout{align-items:flex-start;justify-content:center}.yst-root .yst-modal__overlay{--tw-bg-opacity:0.75;background-color:rgb(100 116 139/var(--tw-bg-opacity));bottom:0;right:0;position:fixed;left:0;top:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yst-root .yst-modal__panel{--tw-bg-opacity:1;--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);max-width:36rem;overflow:hidden;padding:1.5rem;position:relative;width:100%}.yst-root .yst-modal__close{display:block;position:absolute;left:1rem;top:1rem}.yst-root .yst-modal__close-button{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;color:rgb(148 163 184/var(--tw-text-opacity));position:relative;z-index:10}.yst-root .yst-modal__close-button:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.yst-root .yst-modal__close-button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-modal__container{display:flex;flex-direction:column;max-height:calc(100vh - 2rem)}@media (min-width:640px){.yst-root .yst-modal__container{max-height:calc(100vh - 4rem)}}@media (min-width:768px){.yst-root .yst-modal__container{max-height:calc(100vh - 10rem)}}.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 5rem)}@media (min-width:640px){.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 7rem)}}@media (min-width:768px){.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 13rem)}}.yst-root .yst-modal__container-footer,.yst-root .yst-modal__container-header{flex-shrink:0}.yst-root .yst-modal__container-content{overflow:auto}.yst-root .yst-modal__panel .yst-modal__container-content{margin-right:-1.5rem;margin-left:-1.5rem;padding-right:1.5rem;padding-left:1.5rem}.yst-root .yst-notifications{display:flex;flex-direction:column;max-height:calc(100vh - 4rem);max-width:calc(100vw - 4rem);pointer-events:none;position:fixed;width:100%;z-index:20}.yst-root .yst-notifications>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-notifications--bottom-center{align-items:center;bottom:2rem}.yst-root .yst-notifications--bottom-left{bottom:2rem;right:2rem}.yst-root .yst-notifications--top-center{align-items:center;top:2rem}.yst-root .yst-notification{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);max-width:100%;overflow-y:auto;padding:1rem;pointer-events:auto;width:20rem;z-index:20}.yst-root .yst-notification--large{width:24rem}.yst-root .yst-notification__icon{height:1.25rem;width:1.25rem}.yst-root .yst-pagination{display:inline-flex;isolation:isolate}.yst-root .yst-pagination>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*(1 - var(--tw-space-x-reverse)));margin-left:calc(-1px*var(--tw-space-x-reverse))}.yst-root .yst-pagination{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-pagination-display__text{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(100 116 139/var(--tw-text-opacity));font-weight:400;padding:.5rem .75rem}.yst-root .yst-pagination-display__current-text{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity));font-weight:600}.yst-root .yst-pagination-display__truncated{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity));align-self:center;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(100 116 139/var(--tw-text-opacity));display:inline-flex;font-size:.8125rem;font-weight:600;padding:.5rem 1rem}.yst-root .yst-pagination__button{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));align-items:center;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(148 163 184/var(--tw-text-opacity));display:inline-flex;padding:.5rem;position:relative}.yst-root .yst-pagination__button:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.yst-root .yst-pagination__button:focus{outline-color:#a61e69;outline-offset:0;z-index:20}.yst-root .yst-pagination__button--active{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);background-color:rgb(166 30 105/var(--tw-bg-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(255 255 255/var(--tw-text-opacity));font-size:.8125rem;font-weight:600;z-index:10}.yst-root .yst-pagination__button--active:hover{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity))}.yst-root .yst-pagination__button--active:focus{z-index:20}.yst-root .yst-pagination__button--active:focus-visible{border-radius:.125rem;outline-color:#a61e69;outline-offset:2px;outline-style:solid;outline-width:2px}.yst-root .yst-pagination__button--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-pagination__button--disabled:hover{background-color:initial}.yst-root .yst-pagination__button--disabled:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-radio-group--inline-block .yst-radio-group__options{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.yst-root .yst-radio-group--disabled .yst-radio-group__description,.yst-root .yst-radio-group--disabled .yst-radio-group__label{opacity:.5}.yst-root .yst-radio-group--disabled .yst-radio-group__label{cursor:not-allowed}.yst-root .yst-radio-group__label{margin-bottom:.5rem}.yst-root .yst-radio-group__options{display:flex;flex-direction:column;gap:.5rem}.yst-root .yst-radio-group__description{margin-bottom:1rem;margin-top:-.5rem}.yst-root .yst-select-field--disabled .yst-select-field__description,.yst-root .yst-select-field--disabled .yst-select-field__label{cursor:not-allowed;opacity:.5}.yst-root .yst-select-field__options{display:flex;flex-direction:column;gap:.75rem}.yst-root .yst-select-field__description,.yst-root .yst-select-field__validation{margin-top:.5rem}.yst-root .yst-mobile-navigation__top{position:sticky;top:0;width:100%;z-index:50}.yst-root .yst-mobile-navigation__dialog{bottom:0;display:flex;right:0;position:fixed;left:0;top:0;z-index:50}.yst-root .yst-tag-field--disabled .yst-tag-field__description,.yst-root .yst-tag-field--disabled .yst-tag-field__label{cursor:not-allowed;opacity:.5}.yst-root .yst-tag-field__description,.yst-root .yst-tag-field__validation{margin-top:.5rem}.yst-root .yst-text-field--disabled .yst-text-field__description,.yst-root .yst-text-field--disabled .yst-text-field__label{opacity:.5}.yst-root .yst-text-field--disabled .yst-text-field__label{cursor:not-allowed}.yst-root .yst-text-field--read-only .yst-text-field__label{cursor:default}.yst-root .yst-text-field__description,.yst-root .yst-text-field__validation{margin-top:.5rem}.yst-root .yst-textarea-field--disabled .yst-textarea-field__description,.yst-root .yst-textarea-field--disabled .yst-textarea-field__label{opacity:.5}.yst-root .yst-textarea-field--disabled .yst-textarea-field__label{cursor:not-allowed}.yst-root .yst-text-field--read-only .yst-textarea-field__label{cursor:default}.yst-root .yst-textarea-field__description,.yst-root .yst-textarea-field__validation{margin-top:.5rem}.yst-root .yst-toggle-field{display:flex;flex-direction:column;gap:.25rem}.yst-root .yst-toggle-field--disabled .yst-toggle-field__description,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label-wrapper{opacity:.5}.yst-root .yst-toggle-field--disabled .yst-toggle-field__description,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label-wrapper{cursor:not-allowed}.yst-root .yst-toggle-field__header{align-items:center;display:flex;flex-direction:row;gap:1.5rem;justify-content:space-between}.yst-root .yst-toggle-field__label-wrapper{align-items:center;display:flex;gap:.25rem}.yst-root .yst-toggle-field__description{margin-left:4.25rem}.yst-sr-only{clip:rect(0,0,0,0)!important;border-width:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.yst-pointer-events-none{pointer-events:none!important}.yst-invisible{visibility:hidden!important}.yst-fixed{position:fixed!important}.yst-absolute{position:absolute!important}.yst-relative{position:relative!important}.yst-sticky{position:sticky!important}.yst-inset-0{bottom:0!important;top:0!important}.yst-inset-0,.yst-inset-x-0{right:0!important;left:0!important}.yst-inset-y-0{bottom:0!important;top:0!important}.yst--left-3{right:-.75rem!important}.yst-top-0{top:0!important}.yst-right-0{left:0!important}.yst-bottom-12{bottom:3rem!important}.yst-top-2{top:.5rem!important}.yst-right-2{left:.5rem!important}.yst-bottom-0{bottom:0!important}.yst-top-1\/2{top:50%!important}.yst--right-\[6\.5px\]{left:-6.5px!important}.yst--top-\[6\.5px\]{top:-6.5px!important}.yst-left-4{right:1rem!important}.yst--bottom-6{bottom:-1.5rem!important}.yst-top-8{top:2rem!important}.yst-top-3\.5{top:.875rem!important}.yst-top-3{top:.75rem!important}.yst-left-0{right:0!important}.yst-z-30{z-index:30!important}.yst-z-40{z-index:40!important}.yst-z-10{z-index:10!important}.yst-z-20{z-index:20!important}.yst-col-span-1{grid-column:span 1/span 1!important}.yst-m-0{margin:0!important}.yst--m-\[16px\]{margin:-16px!important}.yst--m-6{margin:-1.5rem!important}.yst-my-auto{margin-bottom:auto!important;margin-top:auto!important}.yst-mx-auto{margin-right:auto!important;margin-left:auto!important}.yst-my-4{margin-bottom:1rem!important;margin-top:1rem!important}.yst-my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.yst-my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.yst-my-12{margin-bottom:3rem!important;margin-top:3rem!important}.yst-my-3{margin-bottom:.75rem!important;margin-top:.75rem!important}.yst-my-8{margin-bottom:2rem!important;margin-top:2rem!important}.yst--mx-6{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.yst-mx-1\.5{margin-right:.375rem!important;margin-left:.375rem!important}.yst-mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.yst-mx-0{margin-right:0!important;margin-left:0!important}.yst-mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.yst-my-0{margin-bottom:0!important;margin-top:0!important}.yst-my-16{margin-bottom:4rem!important;margin-top:4rem!important}.yst--ml-1{margin-right:-.25rem!important}.yst-mt-6{margin-top:1.5rem!important}.yst-mt-1\.5{margin-top:.375rem!important}.yst-mt-1{margin-top:.25rem!important}.yst-ml-4{margin-right:1rem!important}.yst-ml-8{margin-right:2rem!important}.yst--mr-14{margin-left:-3.5rem!important}.yst-mb-2{margin-bottom:.5rem!important}.yst-mr-4{margin-left:1rem!important}.yst-mr-2{margin-left:.5rem!important}.yst-mb-px{margin-bottom:1px!important}.yst-mb-16{margin-bottom:4rem!important}.yst-mt-auto{margin-top:auto!important}.yst-ml-3{margin-right:.75rem!important}.yst-mr-1{margin-left:.25rem!important}.yst-mr-5{margin-left:1.25rem!important}.yst-mb-8{margin-bottom:2rem!important}.yst-mt-3{margin-top:.75rem!important}.yst-ml-1{margin-right:.25rem!important}.yst--mr-1{margin-left:-.25rem!important}.yst--mb-\[1em\]{margin-bottom:-1em!important}.yst--ml-0\.5{margin-right:-.125rem!important}.yst--ml-0{margin-right:0!important}.yst-ml-auto{margin-right:auto!important}.yst-mt-2{margin-top:.5rem!important}.yst-mt-4{margin-top:1rem!important}.yst-mb-5{margin-bottom:1.25rem!important}.yst-mb-6{margin-bottom:1.5rem!important}.yst-mt-8{margin-top:2rem!important}.yst-mt-12{margin-top:3rem!important}.yst-mb-3{margin-bottom:.75rem!important}.yst-ml-1\.5{margin-right:.375rem!important}.yst-mr-6{margin-left:1.5rem!important}.yst--ml-px{margin-right:-1px!important}.yst-ml-12{margin-right:3rem!important}.yst-mb-0{margin-bottom:0!important}.yst--mt-6{margin-top:-1.5rem!important}.yst-mb-4{margin-bottom:1rem!important}.yst-ml-2{margin-right:.5rem!important}.yst-mr-3{margin-left:.75rem!important}.yst-mt-7{margin-top:1.75rem!important}.yst-mt-10{margin-top:2.5rem!important}.yst-mt-\[-2\.6rem\]{margin-top:-2.6rem!important}.yst-mt-\[18px\]{margin-top:18px!important}.yst-mb-1{margin-bottom:.25rem!important}.yst-mr-8{margin-left:2rem!important}.yst--mt-4{margin-top:-1rem!important}.yst-mb-24{margin-bottom:6rem!important}.yst-mt-\[27\.5px\]{margin-top:27.5px!important}.yst-mt-5{margin-top:1.25rem!important}.yst-mt-0{margin-top:0!important}.yst-block{display:block!important}.yst-inline-block{display:inline-block!important}.yst-inline{display:inline!important}.yst-flex{display:flex!important}.yst-inline-flex{display:inline-flex!important}.yst-grid{display:grid!important}.yst-hidden{display:none!important}.yst-h-5{height:1.25rem!important}.yst-h-6{height:1.5rem!important}.yst-h-4{height:1rem!important}.yst-h-12{height:3rem!important}.yst-h-0{height:0!important}.yst-h-full{height:100%!important}.yst-h-16{height:4rem!important}.yst-h-7{height:1.75rem!important}.yst-h-3{height:.75rem!important}.yst-h-8{height:2rem!important}.yst-h-\[90vh\]{height:90vh!important}.yst-h-4\/5{height:80%!important}.yst-h-20{height:5rem!important}.yst-h-\[120px\]{height:120px!important}.yst-h-auto{height:auto!important}.yst-h-9{height:2.25rem!important}.yst-h-2\.5{height:.625rem!important}.yst-h-2{height:.5rem!important}.yst-h-24{height:6rem!important}.yst-h-48{height:12rem!important}.yst-h-96{height:24rem!important}.yst-h-\[45px\]{height:45px!important}.yst-h-14{height:3.5rem!important}.yst-h-28{height:7rem!important}.yst-max-h-\[calc\(90vh-10rem\)\]{max-height:calc(90vh - 10rem)!important}.yst-max-h-60{max-height:15rem!important}.yst-min-h-full{min-height:100%!important}.yst-w-5{width:1.25rem!important}.yst-w-6{width:1.5rem!important}.yst-w-0{width:0!important}.yst-w-full{width:100%!important}.yst-w-4{width:1rem!important}.yst-w-12{width:3rem!important}.yst-w-2{width:.5rem!important}.yst-w-3{width:.75rem!important}.yst-w-8{width:2rem!important}.yst-w-\[350px\]{width:350px!important}.yst-w-20{width:5rem!important}.yst-w-\[150px\]{width:150px!important}.yst-w-\[3px\]{width:3px!important}.yst-w-40{width:10rem!important}.yst-w-56{width:14rem!important}.yst-w-2\.5{width:.625rem!important}.yst-w-0\.5{width:.125rem!important}.yst-w-48{width:12rem!important}.yst-w-96{width:24rem!important}.yst-w-3\/5{width:60%!important}.yst-w-16{width:4rem!important}.yst-w-14{width:3.5rem!important}.yst-w-\[463px\]{width:463px!important}.yst-w-24{width:6rem!important}.yst-min-w-full{min-width:100%!important}.yst-min-w-0{min-width:0!important}.yst-max-w-xs{max-width:20rem!important}.yst-max-w-sm{max-width:24rem!important}.yst-max-w-screen-sm{max-width:640px!important}.yst-max-w-6xl{max-width:72rem!important}.yst-max-w-lg{max-width:32rem!important}.yst-max-w-\[715px\]{max-width:715px!important}.yst-max-w-none{max-width:none!important}.yst-max-w-full{max-width:100%!important}.yst-max-w-5xl{max-width:64rem!important}.yst-max-w-2xl{max-width:42rem!important}.yst-max-w-\[500px\]{max-width:500px!important}.yst-flex-1{flex:1 1 0%!important}.yst-flex-none{flex:none!important}.yst-flex-shrink-0,.yst-shrink-0{flex-shrink:0!important}.yst-flex-grow,.yst-grow{flex-grow:1!important}.yst-origin-top{transform-origin:top!important}.yst-translate-y-4{--tw-translate-y:1rem!important}.yst-translate-y-0,.yst-translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst-translate-y-0{--tw-translate-y:0px!important}.yst-translate-y-full{--tw-translate-y:100%!important}.yst--translate-y-full,.yst-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst--translate-y-full{--tw-translate-y:-100%!important}.yst-scale-95{--tw-scale-x:.95!important;--tw-scale-y:.95!important}.yst-scale-100,.yst-scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst-scale-100{--tw-scale-x:1!important;--tw-scale-y:1!important}.yst-scale-y-0{--tw-scale-y:0!important}.yst-scale-y-0,.yst-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@keyframes yst-spin{to{transform:rotate(-1turn)}}.yst-animate-spin{animation:yst-spin 1s linear infinite!important}.yst-cursor-wait{cursor:wait!important}.yst-cursor-not-allowed{cursor:not-allowed!important}.yst-cursor-default{cursor:default!important}.yst-select-none{-webkit-user-select:none!important;user-select:none!important}.yst-scroll-pt-11{scroll-padding-top:2.75rem!important}.yst-scroll-pb-2{scroll-padding-bottom:.5rem!important}.yst-list-outside{list-style-position:outside!important}.yst-list-disc{list-style-type:disc!important}.yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.yst-flex-row{flex-direction:row!important}.yst-flex-col{flex-direction:column!important}.yst-flex-wrap{flex-wrap:wrap!important}.yst-content-between{align-content:space-between!important}.yst-items-start{align-items:flex-start!important}.yst-items-center{align-items:center!important}.yst-justify-center{justify-content:center!important}.yst-justify-between{justify-content:space-between!important}.yst-gap-2{gap:.5rem!important}.yst-gap-3{gap:.75rem!important}.yst-gap-8{gap:2rem!important}.yst-gap-6{gap:1.5rem!important}.yst-gap-1\.5{gap:.375rem!important}.yst-gap-1{gap:.25rem!important}.yst-gap-4{gap:1rem!important}.yst-gap-x-6{column-gap:1.5rem!important}.yst-gap-x-4{column-gap:1rem!important}.yst-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-right:calc(2rem*(1 - var(--tw-space-x-reverse)))!important;margin-left:calc(2rem*var(--tw-space-x-reverse))!important}.yst-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(2rem*var(--tw-space-y-reverse))!important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-right:calc(.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-left:calc(.5rem*var(--tw-space-x-reverse))!important}.yst-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.75rem*var(--tw-space-y-reverse))!important;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1rem*var(--tw-space-y-reverse))!important;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-right:calc(.75rem*(1 - var(--tw-space-x-reverse)))!important;margin-left:calc(.75rem*var(--tw-space-x-reverse))!important}.yst-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))!important}.yst-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0!important;border-bottom-width:calc(1px*var(--tw-divide-y-reverse))!important;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))!important}.yst-divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1!important;border-color:rgb(229 231 235/var(--tw-divide-opacity))!important}.yst-divide-slate-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1!important;border-color:rgb(203 213 225/var(--tw-divide-opacity))!important}.yst-self-start{align-self:flex-start!important}.yst-self-end{align-self:flex-end!important}.yst-self-center{align-self:center!important}.yst-overflow-auto{overflow:auto!important}.yst-overflow-hidden{overflow:hidden!important}.yst-overflow-y-auto{overflow-y:auto!important}.yst-overflow-x-scroll{overflow-x:scroll!important}.yst-truncate{overflow:hidden!important;white-space:nowrap!important}.yst-overflow-ellipsis,.yst-text-ellipsis,.yst-truncate{text-overflow:ellipsis!important}.yst-whitespace-nowrap{white-space:nowrap!important}.yst-whitespace-pre-line{white-space:pre-line!important}.yst-rounded-md{border-radius:.375rem!important}.yst-rounded-full{border-radius:9999px!important}.yst-rounded-lg{border-radius:.5rem!important}.yst-rounded-3xl{border-radius:1.5rem!important}.yst-rounded-none{border-radius:0!important}.yst-rounded-xl{border-radius:.75rem!important}.yst-rounded-l-md{border-bottom-right-radius:.375rem!important;border-top-right-radius:.375rem!important}.yst-rounded-r-md{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}.yst-rounded-t-lg{border-top-right-radius:.5rem!important;border-top-left-radius:.5rem!important}.yst-rounded-b-lg{border-bottom-right-radius:.5rem!important;border-bottom-left-radius:.5rem!important}.yst-rounded-br-none{border-bottom-left-radius:0!important}.yst-border{border-width:1px!important}.yst-border-2{border-width:2px!important}.yst-border-0{border-width:0!important}.yst-border-y{border-bottom-width:1px!important;border-top-width:1px!important}.yst-border-x-0{border-right-width:0!important;border-left-width:0!important}.yst-border-l{border-right-width:1px!important}.yst-border-b{border-bottom-width:1px!important}.yst-border-r{border-left-width:1px!important}.yst-border-t,.yst-border-t-\[1px\]{border-top-width:1px!important}.yst-border-solid{border-style:solid!important}.yst-border-dashed{border-style:dashed!important}.yst-border-none{border-style:none!important}.yst-border-slate-200{--tw-border-opacity:1!important;border-color:rgb(226 232 240/var(--tw-border-opacity))!important}.yst-border-transparent{border-color:#0000!important}.yst-border-white{--tw-border-opacity:1!important;border-color:rgb(255 255 255/var(--tw-border-opacity))!important}.yst-border-amber-300{--tw-border-opacity:1!important;border-color:rgb(252 211 77/var(--tw-border-opacity))!important}.yst-border-slate-300{--tw-border-opacity:1!important;border-color:rgb(203 213 225/var(--tw-border-opacity))!important}.yst-border-primary-500{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.yst-border-slate-100{--tw-border-opacity:1!important;border-color:rgb(241 245 249/var(--tw-border-opacity))!important}.yst-border-primary-300{--tw-border-opacity:1!important;border-color:rgb(205 130 171/var(--tw-border-opacity))!important}.yst-border-red-300{--tw-border-opacity:1!important;border-color:rgb(252 165 165/var(--tw-border-opacity))!important}.yst-border-red-500{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity))!important}.yst-border-emerald-600{--tw-border-opacity:1!important;border-color:rgb(5 150 105/var(--tw-border-opacity))!important}.yst-border-r-slate-200{--tw-border-opacity:1!important;border-left-color:rgb(226 232 240/var(--tw-border-opacity))!important}.yst-border-t-\[rgb\(0\,0\,0\,0\.2\)\]{border-top-color:#0003!important}.yst-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.yst-bg-slate-600{--tw-bg-opacity:1!important;background-color:rgb(71 85 105/var(--tw-bg-opacity))!important}.yst-bg-slate-100{--tw-bg-opacity:1!important;background-color:rgb(241 245 249/var(--tw-bg-opacity))!important}.yst-bg-slate-200{--tw-bg-opacity:1!important;background-color:rgb(226 232 240/var(--tw-bg-opacity))!important}.yst-bg-slate-50{--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.yst-bg-green-100{--tw-bg-opacity:1!important;background-color:rgb(220 252 231/var(--tw-bg-opacity))!important}.yst-bg-primary-500{--tw-bg-opacity:1!important;background-color:rgb(166 30 105/var(--tw-bg-opacity))!important}.yst-bg-black{--tw-bg-opacity:1!important;background-color:rgb(0 0 0/var(--tw-bg-opacity))!important}.yst-bg-transparent{background-color:initial!important}.yst-bg-slate-300{--tw-bg-opacity:1!important;background-color:rgb(203 213 225/var(--tw-bg-opacity))!important}.yst-bg-red-100{--tw-bg-opacity:1!important;background-color:rgb(254 226 226/var(--tw-bg-opacity))!important}.yst-bg-primary-600{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.yst-bg-blue-100{--tw-bg-opacity:1!important;background-color:rgb(219 234 254/var(--tw-bg-opacity))!important}.yst-bg-yellow-100{--tw-bg-opacity:1!important;background-color:rgb(254 249 195/var(--tw-bg-opacity))!important}.yst-bg-primary-200{--tw-bg-opacity:1!important;background-color:rgb(224 179 204/var(--tw-bg-opacity))!important}.yst-bg-opacity-75{--tw-bg-opacity:0.75!important}.yst-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))!important}.yst-from-\[\#EDD2E1\]{--tw-gradient-from:#edd2e1!important;--tw-gradient-to:#edd2e100!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important}.yst-stroke-3{stroke-width:3px!important}.yst-stroke-1{stroke-width:1!important}.yst-object-contain{object-fit:contain!important}.yst-object-cover{object-fit:cover!important}.yst-object-center{object-position:center!important}.yst-p-1{padding:.25rem!important}.yst-p-6{padding:1.5rem!important}.yst-p-4{padding:1rem!important}.yst-p-8{padding:2rem!important}.yst-p-0{padding:0!important}.yst-p-2\.5{padding:.625rem!important}.yst-p-2{padding:.5rem!important}.yst-p-10{padding:2.5rem!important}.yst-p-3{padding:.75rem!important}.yst-px-4{padding-right:1rem!important;padding-left:1rem!important}.yst-px-3{padding-right:.75rem!important;padding-left:.75rem!important}.yst-py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.yst-py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.yst-px-2{padding-right:.5rem!important;padding-left:.5rem!important}.yst-py-4{padding-bottom:1rem!important;padding-top:1rem!important}.yst-px-6{padding-right:1.5rem!important;padding-left:1.5rem!important}.yst-py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.yst-px-2\.5{padding-right:.625rem!important;padding-left:.625rem!important}.yst-py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.yst-px-0\.5{padding-right:.125rem!important;padding-left:.125rem!important}.yst-px-0{padding-right:0!important;padding-left:0!important}.yst-px-\[3px\]{padding-right:3px!important;padding-left:3px!important}.yst-py-\[3px\]{padding-bottom:3px!important;padding-top:3px!important}.yst-px-8{padding-right:2rem!important;padding-left:2rem!important}.yst-py-12{padding-bottom:3rem!important;padding-top:3rem!important}.yst-py-1\.5{padding-bottom:.375rem!important;padding-top:.375rem!important}.yst-px-11{padding-right:2.75rem!important;padding-left:2.75rem!important}.yst-pb-10{padding-bottom:2.5rem!important}.yst-pt-1{padding-top:.25rem!important}.yst-pb-1{padding-bottom:.25rem!important}.yst-pt-4{padding-top:1rem!important}.yst-pb-4{padding-bottom:1rem!important}.yst-pr-4{padding-left:1rem!important}.yst-pl-6{padding-right:1.5rem!important}.yst-pt-2{padding-top:.5rem!important}.yst-pl-\[1em\]{padding-right:1em!important}.yst-pb-6{padding-bottom:1.5rem!important}.yst-pb-8{padding-bottom:2rem!important}.yst-pt-6{padding-top:1.5rem!important}.yst-pl-2{padding-right:.5rem!important}.yst-pr-3{padding-left:.75rem!important}.yst-pb-2{padding-bottom:.5rem!important}.yst-pt-\[56\.25\%\]{padding-top:56.25%!important}.yst-pl-3{padding-right:.75rem!important}.yst-pr-2{padding-left:.5rem!important}.yst-pl-0{padding-right:0!important}.yst-pr-10{padding-left:2.5rem!important}.yst-pr-9{padding-left:2.25rem!important}.yst-text-left{text-align:right!important}.yst-text-center{text-align:center!important}.yst-align-middle{vertical-align:middle!important}.yst-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.yst-font-wp{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif!important}.yst-text-sm{font-size:.8125rem!important}.yst-text-4xl{font-size:2.25rem!important}.yst-text-2xl{font-size:1.5rem!important}.yst-text-base{font-size:1rem!important}.yst-text-tiny{font-size:.875rem!important}.yst-text-lg{font-size:1.125rem!important}.yst-text-xs{font-size:.75rem!important}.yst-text-xl{font-size:1.25rem!important}.yst-text-\[10px\]{font-size:10px!important}.yst-text-xxs{font-size:.675rem!important}.yst-font-medium{font-weight:500!important}.yst-font-semibold{font-weight:600!important}.yst-font-extrabold{font-weight:800!important}.yst-font-bold{font-weight:700!important}.yst-font-\[650\]{font-weight:650!important}.yst-font-light{font-weight:300!important}.yst-font-normal{font-weight:400!important}.yst-uppercase{text-transform:uppercase!important}.yst-italic{font-style:italic!important}.yst-leading-10{line-height:2.5rem!important}.yst-leading-6{line-height:1.5rem!important}.yst-leading-8{line-height:2rem!important}.yst-leading-5{line-height:1.25rem!important}.yst-leading-normal{line-height:1.5!important}.yst-leading-\[normal\]{line-height:normal!important}.yst-leading-tight{line-height:1.25!important}.yst-leading-4{line-height:1rem!important}.yst-tracking-tight{letter-spacing:-.025em!important}.yst-tracking-wide{letter-spacing:.025em!important}.yst-text-slate-800{--tw-text-opacity:1!important;color:rgb(30 41 59/var(--tw-text-opacity))!important}.yst-text-slate-400{--tw-text-opacity:1!important;color:rgb(148 163 184/var(--tw-text-opacity))!important}.yst-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.yst-text-slate-500{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.yst-text-slate-900{--tw-text-opacity:1!important;color:rgb(15 23 42/var(--tw-text-opacity))!important}.yst-text-slate-600{--tw-text-opacity:1!important;color:rgb(71 85 105/var(--tw-text-opacity))!important}.yst-text-primary-500{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.yst-text-gray-900{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.yst-text-gray-500{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity))!important}.yst-text-green-600{--tw-text-opacity:1!important;color:rgb(22 163 74/var(--tw-text-opacity))!important}.yst-text-gray-400{--tw-text-opacity:1!important;color:rgb(156 163 175/var(--tw-text-opacity))!important}.yst-text-indigo-600{--tw-text-opacity:1!important;color:rgb(79 70 229/var(--tw-text-opacity))!important}.yst-text-\[\#555\]{--tw-text-opacity:1!important;color:rgb(85 85 85/var(--tw-text-opacity))!important}.yst-text-amber-300{--tw-text-opacity:1!important;color:rgb(252 211 77/var(--tw-text-opacity))!important}.yst-text-slate-700{--tw-text-opacity:1!important;color:rgb(51 65 85/var(--tw-text-opacity))!important}.yst-text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.yst-text-green-400{--tw-text-opacity:1!important;color:rgb(74 222 128/var(--tw-text-opacity))!important}.yst-text-\[\#111827\]{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.yst-text-yellow-900{--tw-text-opacity:1!important;color:rgb(113 63 18/var(--tw-text-opacity))!important}.yst-text-amber-500{--tw-text-opacity:1!important;color:rgb(245 158 11/var(--tw-text-opacity))!important}.yst-text-red-600{--tw-text-opacity:1!important;color:rgb(220 38 38/var(--tw-text-opacity))!important}.yst-text-blue-500{--tw-text-opacity:1!important;color:rgb(59 130 246/var(--tw-text-opacity))!important}.yst-text-blue-800{--tw-text-opacity:1!important;color:rgb(30 64 175/var(--tw-text-opacity))!important}.yst-text-yellow-500{--tw-text-opacity:1!important;color:rgb(234 179 8/var(--tw-text-opacity))!important}.yst-text-yellow-800{--tw-text-opacity:1!important;color:rgb(133 77 14/var(--tw-text-opacity))!important}.yst-text-red-800{--tw-text-opacity:1!important;color:rgb(153 27 27/var(--tw-text-opacity))!important}.yst-text-emerald-600{--tw-text-opacity:1!important;color:rgb(5 150 105/var(--tw-text-opacity))!important}.yst-text-green-800{--tw-text-opacity:1!important;color:rgb(22 101 52/var(--tw-text-opacity))!important}.yst-text-red-900{--tw-text-opacity:1!important;color:rgb(127 29 29/var(--tw-text-opacity))!important}.yst-underline{-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.yst-line-through{-webkit-text-decoration-line:line-through!important;text-decoration-line:line-through!important}.yst-no-underline{-webkit-text-decoration-line:none!important;text-decoration-line:none!important}.yst-subpixel-antialiased{-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.yst-placeholder-slate-500::placeholder{--tw-placeholder-opacity:1!important;color:rgb(100 116 139/var(--tw-placeholder-opacity))!important}.yst-opacity-0{opacity:0!important}.yst-opacity-100{opacity:1!important}.yst-opacity-25{opacity:.25!important}.yst-opacity-75{opacity:.75!important}.yst-opacity-50{opacity:.5!important}.yst-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a!important;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)!important}.yst-shadow,.yst-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important}.yst-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a!important;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)!important}.yst-shadow-md,.yst-shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)!important}.yst-shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important}.yst-shadow-none,.yst-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d!important;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)!important}.yst-shadow-amber-700\/30{--tw-shadow-color:#b453094d!important;--tw-shadow:var(--tw-shadow-colored)!important}.yst-outline-none{outline:2px solid #0000!important;outline-offset:2px!important}.yst-ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.yst-ring-gray-200{--tw-ring-opacity:1!important;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))!important}.yst-ring-black{--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))!important}.yst-ring-opacity-5{--tw-ring-opacity:0.05!important}.yst-ring-offset-2{--tw-ring-offset-width:2px!important}.yst-ring-offset-primary-500{--tw-ring-offset-color:#a61e69!important}.yst-drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)!important}.yst-drop-shadow-md,.yst-grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.yst-grayscale{--tw-grayscale:grayscale(100%)!important}.yst-filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.yst-transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-colors{transition-duration:.15s!important;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-transform{transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-\[width\]{transition-duration:.15s!important;transition-property:width!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-delay-200{transition-delay:.2s!important}.yst-delay-\[900ms\]{transition-delay:.9s!important}.yst-delay-100{transition-delay:.1s!important}.yst-duration-1000{transition-duration:1s!important}.yst-duration-200{transition-duration:.2s!important}.yst-duration-300{transition-duration:.3s!important}.yst-duration-150{transition-duration:.15s!important}.yst-duration-100{transition-duration:.1s!important}.yst-duration-75{transition-duration:75ms!important}.yst-duration-500{transition-duration:.5s!important}.yst-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)!important}.yst-ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)!important}.yst-ease-linear{transition-timing-function:linear!important}.odd\:yst-bg-white:nth-child(odd){--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.even\:yst-bg-slate-50:nth-child(2n){--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.focus-within\:yst-border-primary-500:focus-within{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.focus-within\:yst-outline-none:focus-within{outline:2px solid #0000!important;outline-offset:2px!important}.focus-within\:yst-ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus-within\:yst-ring-primary-500:focus-within{--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important}.hover\:yst-bg-slate-50:hover{--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.hover\:yst-bg-gray-50:hover{--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}.hover\:yst-bg-\[\#f0f0f0\]:hover{--tw-bg-opacity:1!important;background-color:rgb(240 240 240/var(--tw-bg-opacity))!important}.hover\:yst-bg-white:hover{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.hover\:yst-bg-primary-600:hover{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.hover\:yst-text-slate-500:hover{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.hover\:yst-text-slate-900:hover{--tw-text-opacity:1!important;color:rgb(15 23 42/var(--tw-text-opacity))!important}.hover\:yst-text-slate-800:hover{--tw-text-opacity:1!important;color:rgb(30 41 59/var(--tw-text-opacity))!important}.hover\:yst-text-white:hover{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.hover\:yst-text-primary-500:hover{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.hover\:yst-underline:hover{-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.focus\:yst-border-primary-500:focus{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.focus\:yst-border-red-500:focus{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity))!important}.focus\:yst-border-emerald-600:focus{--tw-border-opacity:1!important;border-color:rgb(5 150 105/var(--tw-border-opacity))!important}.focus\:yst-bg-primary-600:focus{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.focus\:yst-text-white:focus{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.focus\:yst-text-primary-500:focus{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.focus\:yst-shadow-\[0_0_3px_rgba\(8\2c 74\2c 103\2c 0\.8\)\]:focus{--tw-shadow:0 0 3px #084a67cc!important;--tw-shadow-colored:0 0 3px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.focus\:yst-outline-none:focus{outline:2px solid #0000!important;outline-offset:2px!important}.focus\:yst-outline:focus{outline-style:solid!important}.focus\:yst-outline-\[1px\]:focus{outline-width:1px!important}.focus\:-yst-outline-offset-1:focus{outline-offset:-1px!important}.focus\:yst-outline-\[color\:\#0066cd\]:focus{outline-color:#0066cd!important}.focus\:yst-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.focus\:yst-ring-1:focus,.focus\:yst-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus\:yst-ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.focus\:yst-ring-inset:focus{--tw-ring-inset:inset!important}.focus\:yst-ring-primary-500:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important}.focus\:yst-ring-white:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))!important}.focus\:yst-ring-red-500:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))!important}.focus\:yst-ring-emerald-600:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(5 150 105/var(--tw-ring-opacity))!important}.focus\:yst-ring-offset-2:focus{--tw-ring-offset-width:2px!important}.focus\:yst-ring-offset-1:focus{--tw-ring-offset-width:1px!important}.focus\:yst-ring-offset-transparent:focus{--tw-ring-offset-color:#0000!important}.focus\:yst-ring-offset-primary-500:focus{--tw-ring-offset-color:#a61e69!important}.yst-group:hover .group-hover\:yst-bg-primary-500{--tw-bg-opacity:1!important;background-color:rgb(166 30 105/var(--tw-bg-opacity))!important}.yst-group:hover .group-hover\:yst-bg-primary-200{--tw-bg-opacity:1!important;background-color:rgb(224 179 204/var(--tw-bg-opacity))!important}.yst-group:hover .group-hover\:yst-text-slate-500{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.yst-group:hover .group-hover\:yst-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.yst-group:hover .group-hover\:yst-text-primary-800{--tw-text-opacity:1!important;color:rgb(131 8 78/var(--tw-text-opacity))!important}[dir=rtl] .rtl\:yst-rotate-180{--tw-rotate:180deg!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@media not all and (min-width:640px){.max-sm\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}}@media (min-width:640px){.sm\:yst-mx-0{margin-right:0!important;margin-left:0!important}.sm\:yst-mb-0{margin-bottom:0!important}.sm\:yst-ml-3{margin-right:.75rem!important}.sm\:yst-mt-0{margin-top:0!important}.sm\:yst-ml-4{margin-right:1rem!important}.sm\:yst-flex{display:flex!important}.sm\:yst-h-10{height:2.5rem!important}.sm\:yst-w-auto{width:auto!important}.sm\:yst-w-10{width:2.5rem!important}.sm\:yst-translate-y-0{--tw-translate-y:0px!important}.sm\:yst-scale-95,.sm\:yst-translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.sm\:yst-scale-95{--tw-scale-x:.95!important;--tw-scale-y:.95!important}.sm\:yst-scale-100{--tw-scale-x:1!important;--tw-scale-y:1!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.sm\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sm\:yst-flex-row-reverse{flex-direction:row-reverse!important}.sm\:yst-items-start{align-items:flex-start!important}.sm\:yst-text-left{text-align:right!important}.sm\:yst-text-sm{font-size:.8125rem!important}}@media (min-width:768px){.md\:yst-absolute{position:absolute!important}.md\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.md\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.md\:yst-flex-row{flex-direction:row!important}}@media (min-width:783px){.min-\[783px\]\:yst-block{display:block!important}.min-\[783px\]\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.min-\[783px\]\:yst-p-8{padding:2rem!important}}@media (min-width:1024px){.lg\:yst-col-span-2{grid-column:span 2/span 2!important}.lg\:yst-mt-0{margin-top:0!important}.lg\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lg\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.lg\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lg\:yst-gap-12{gap:3rem!important}}@media (min-width:1280px){.xl\:yst-fixed{position:fixed!important}.xl\:yst-right-8{left:2rem!important}.xl\:yst-col-span-2{grid-column:span 2/span 2!important}.xl\:yst-mb-0{margin-bottom:0!important}.xl\:yst-mt-0{margin-top:0!important}.xl\:yst-w-\[16rem\]{width:16rem!important}.xl\:yst-max-w-3xl{max-width:48rem!important}.xl\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.xl\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.xl\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.xl\:yst-gap-12{gap:3rem!important}.xl\:yst-pr-\[17\.5rem\]{padding-left:17.5rem!important}}@media (min-width:1536px){.\32xl\:yst-col-span-2{grid-column:span 2/span 2!important}.\32xl\:yst-mt-0{margin-top:0!important}.\32xl\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.\32xl\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.\32xl\:yst-gap-12{gap:3rem!important}}@media (min-width:1800px){.min-\[1800px\]\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}} \ No newline at end of file diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2230.css b/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2230.css new file mode 100644 index 00000000..01446bce --- /dev/null +++ b/wp/wp-content/plugins/wordpress-seo/css/dist/tailwind-2230.css @@ -0,0 +1 @@ +.yst-root *,.yst-root :after,.yst-root :before{border:0 solid #e5e7eb;box-sizing:border-box}.yst-root :after,.yst-root :before{--tw-content:""}.yst-root{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;margin:0;tab-size:4}.yst-root hr{border-top-width:1px;color:inherit;height:0}.yst-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.yst-root h1,.yst-root h2,.yst-root h3,.yst-root h4,.yst-root h5,.yst-root h6{font-size:inherit;font-weight:inherit}.yst-root a{color:inherit;text-decoration:inherit}.yst-root b,.yst-root strong{font-weight:bolder}.yst-root code,.yst-root kbd,.yst-root pre,.yst-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}.yst-root small{font-size:80%}.yst-root sub,.yst-root sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.yst-root sub{bottom:-.25em}.yst-root sup{top:-.5em}.yst-root table{border-collapse:collapse;border-color:inherit;text-indent:0}.yst-root button,.yst-root input,.yst-root optgroup,.yst-root select,.yst-root textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}.yst-root button,.yst-root select{text-transform:none}.yst-root [type=button],.yst-root [type=reset],.yst-root [type=submit],.yst-root button{-webkit-appearance:button;background-color:initial;background-image:none}.yst-root :-moz-focusring{outline:auto}.yst-root :-moz-ui-invalid{box-shadow:none}.yst-root progress{vertical-align:initial}.yst-root ::-webkit-inner-spin-button,.yst-root ::-webkit-outer-spin-button{height:auto}.yst-root [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.yst-root ::-webkit-search-decoration{-webkit-appearance:none}.yst-root ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.yst-root summary{display:list-item}.yst-root blockquote,.yst-root dd,.yst-root dl,.yst-root figure,.yst-root h1,.yst-root h2,.yst-root h3,.yst-root h4,.yst-root h5,.yst-root h6,.yst-root hr,.yst-root p,.yst-root pre{margin:0}.yst-root fieldset{margin:0;padding:0}.yst-root legend{padding:0}.yst-root menu,.yst-root ol,.yst-root ul{list-style:none;margin:0;padding:0}.yst-root textarea{resize:vertical}.yst-root input::placeholder,.yst-root textarea::placeholder{color:#6b7280;opacity:1}.yst-root [role=button],.yst-root button{cursor:pointer}.yst-root :disabled{cursor:default}.yst-root audio,.yst-root canvas,.yst-root embed,.yst-root iframe,.yst-root img,.yst-root object,.yst-root svg,.yst-root video{display:block;vertical-align:middle}.yst-root img,.yst-root video{height:auto;max-width:100%}.yst-root [type=date],.yst-root [type=datetime-local],.yst-root [type=email],.yst-root [type=month],.yst-root [type=number],.yst-root [type=password],.yst-root [type=search],.yst-root [type=tel],.yst-root [type=text],.yst-root [type=time],.yst-root [type=url],.yst-root [type=week]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root [type=date]:focus,.yst-root [type=datetime-local]:focus,.yst-root [type=email]:focus,.yst-root [type=month]:focus,.yst-root [type=number]:focus,.yst-root [type=password]:focus,.yst-root [type=search]:focus,.yst-root [type=tel]:focus,.yst-root [type=text]:focus,.yst-root [type=time]:focus,.yst-root [type=url]:focus,.yst-root [type=week]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=date]::placeholder,.yst-root [type=datetime-local]::placeholder,.yst-root [type=email]::placeholder,.yst-root [type=month]::placeholder,.yst-root [type=number]::placeholder,.yst-root [type=password]::placeholder,.yst-root [type=search]::placeholder,.yst-root [type=tel]::placeholder,.yst-root [type=text]::placeholder,.yst-root [type=time]::placeholder,.yst-root [type=url]::placeholder,.yst-root [type=week]::placeholder{color:#6b7280;opacity:1}.yst-root [type=date]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=email]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=month]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=number]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=password]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=search]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=tel]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=text]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=time]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=url]::-webkit-datetime-edit-fields-wrapper,.yst-root [type=week]::-webkit-datetime-edit-fields-wrapper{padding:0}.yst-root [type=date]::-webkit-date-and-time-value,.yst-root [type=datetime-local]::-webkit-date-and-time-value,.yst-root [type=email]::-webkit-date-and-time-value,.yst-root [type=month]::-webkit-date-and-time-value,.yst-root [type=number]::-webkit-date-and-time-value,.yst-root [type=password]::-webkit-date-and-time-value,.yst-root [type=search]::-webkit-date-and-time-value,.yst-root [type=tel]::-webkit-date-and-time-value,.yst-root [type=text]::-webkit-date-and-time-value,.yst-root [type=time]::-webkit-date-and-time-value,.yst-root [type=url]::-webkit-date-and-time-value,.yst-root [type=week]::-webkit-date-and-time-value{min-height:1.5em}.yst-root [type=date]::-webkit-datetime-edit,.yst-root [type=date]::-webkit-datetime-edit-day-field,.yst-root [type=date]::-webkit-datetime-edit-hour-field,.yst-root [type=date]::-webkit-datetime-edit-meridiem-field,.yst-root [type=date]::-webkit-datetime-edit-millisecond-field,.yst-root [type=date]::-webkit-datetime-edit-minute-field,.yst-root [type=date]::-webkit-datetime-edit-month-field,.yst-root [type=date]::-webkit-datetime-edit-second-field,.yst-root [type=date]::-webkit-datetime-edit-year-field,.yst-root [type=datetime-local]::-webkit-datetime-edit,.yst-root [type=datetime-local]::-webkit-datetime-edit-day-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-hour-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-meridiem-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-millisecond-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-minute-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-month-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-second-field,.yst-root [type=datetime-local]::-webkit-datetime-edit-year-field,.yst-root [type=email]::-webkit-datetime-edit,.yst-root [type=email]::-webkit-datetime-edit-day-field,.yst-root [type=email]::-webkit-datetime-edit-hour-field,.yst-root [type=email]::-webkit-datetime-edit-meridiem-field,.yst-root [type=email]::-webkit-datetime-edit-millisecond-field,.yst-root [type=email]::-webkit-datetime-edit-minute-field,.yst-root [type=email]::-webkit-datetime-edit-month-field,.yst-root [type=email]::-webkit-datetime-edit-second-field,.yst-root [type=email]::-webkit-datetime-edit-year-field,.yst-root [type=month]::-webkit-datetime-edit,.yst-root [type=month]::-webkit-datetime-edit-day-field,.yst-root [type=month]::-webkit-datetime-edit-hour-field,.yst-root [type=month]::-webkit-datetime-edit-meridiem-field,.yst-root [type=month]::-webkit-datetime-edit-millisecond-field,.yst-root [type=month]::-webkit-datetime-edit-minute-field,.yst-root [type=month]::-webkit-datetime-edit-month-field,.yst-root [type=month]::-webkit-datetime-edit-second-field,.yst-root [type=month]::-webkit-datetime-edit-year-field,.yst-root [type=number]::-webkit-datetime-edit,.yst-root [type=number]::-webkit-datetime-edit-day-field,.yst-root [type=number]::-webkit-datetime-edit-hour-field,.yst-root [type=number]::-webkit-datetime-edit-meridiem-field,.yst-root [type=number]::-webkit-datetime-edit-millisecond-field,.yst-root [type=number]::-webkit-datetime-edit-minute-field,.yst-root [type=number]::-webkit-datetime-edit-month-field,.yst-root [type=number]::-webkit-datetime-edit-second-field,.yst-root [type=number]::-webkit-datetime-edit-year-field,.yst-root [type=password]::-webkit-datetime-edit,.yst-root [type=password]::-webkit-datetime-edit-day-field,.yst-root [type=password]::-webkit-datetime-edit-hour-field,.yst-root [type=password]::-webkit-datetime-edit-meridiem-field,.yst-root [type=password]::-webkit-datetime-edit-millisecond-field,.yst-root [type=password]::-webkit-datetime-edit-minute-field,.yst-root [type=password]::-webkit-datetime-edit-month-field,.yst-root [type=password]::-webkit-datetime-edit-second-field,.yst-root [type=password]::-webkit-datetime-edit-year-field,.yst-root [type=search]::-webkit-datetime-edit,.yst-root [type=search]::-webkit-datetime-edit-day-field,.yst-root [type=search]::-webkit-datetime-edit-hour-field,.yst-root [type=search]::-webkit-datetime-edit-meridiem-field,.yst-root [type=search]::-webkit-datetime-edit-millisecond-field,.yst-root [type=search]::-webkit-datetime-edit-minute-field,.yst-root [type=search]::-webkit-datetime-edit-month-field,.yst-root [type=search]::-webkit-datetime-edit-second-field,.yst-root [type=search]::-webkit-datetime-edit-year-field,.yst-root [type=tel]::-webkit-datetime-edit,.yst-root [type=tel]::-webkit-datetime-edit-day-field,.yst-root [type=tel]::-webkit-datetime-edit-hour-field,.yst-root [type=tel]::-webkit-datetime-edit-meridiem-field,.yst-root [type=tel]::-webkit-datetime-edit-millisecond-field,.yst-root [type=tel]::-webkit-datetime-edit-minute-field,.yst-root [type=tel]::-webkit-datetime-edit-month-field,.yst-root [type=tel]::-webkit-datetime-edit-second-field,.yst-root [type=tel]::-webkit-datetime-edit-year-field,.yst-root [type=text]::-webkit-datetime-edit,.yst-root [type=text]::-webkit-datetime-edit-day-field,.yst-root [type=text]::-webkit-datetime-edit-hour-field,.yst-root [type=text]::-webkit-datetime-edit-meridiem-field,.yst-root [type=text]::-webkit-datetime-edit-millisecond-field,.yst-root [type=text]::-webkit-datetime-edit-minute-field,.yst-root [type=text]::-webkit-datetime-edit-month-field,.yst-root [type=text]::-webkit-datetime-edit-second-field,.yst-root [type=text]::-webkit-datetime-edit-year-field,.yst-root [type=time]::-webkit-datetime-edit,.yst-root [type=time]::-webkit-datetime-edit-day-field,.yst-root [type=time]::-webkit-datetime-edit-hour-field,.yst-root [type=time]::-webkit-datetime-edit-meridiem-field,.yst-root [type=time]::-webkit-datetime-edit-millisecond-field,.yst-root [type=time]::-webkit-datetime-edit-minute-field,.yst-root [type=time]::-webkit-datetime-edit-month-field,.yst-root [type=time]::-webkit-datetime-edit-second-field,.yst-root [type=time]::-webkit-datetime-edit-year-field,.yst-root [type=url]::-webkit-datetime-edit,.yst-root [type=url]::-webkit-datetime-edit-day-field,.yst-root [type=url]::-webkit-datetime-edit-hour-field,.yst-root [type=url]::-webkit-datetime-edit-meridiem-field,.yst-root [type=url]::-webkit-datetime-edit-millisecond-field,.yst-root [type=url]::-webkit-datetime-edit-minute-field,.yst-root [type=url]::-webkit-datetime-edit-month-field,.yst-root [type=url]::-webkit-datetime-edit-second-field,.yst-root [type=url]::-webkit-datetime-edit-year-field,.yst-root [type=week]::-webkit-datetime-edit,.yst-root [type=week]::-webkit-datetime-edit-day-field,.yst-root [type=week]::-webkit-datetime-edit-hour-field,.yst-root [type=week]::-webkit-datetime-edit-meridiem-field,.yst-root [type=week]::-webkit-datetime-edit-millisecond-field,.yst-root [type=week]::-webkit-datetime-edit-minute-field,.yst-root [type=week]::-webkit-datetime-edit-month-field,.yst-root [type=week]::-webkit-datetime-edit-second-field,.yst-root [type=week]::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}.yst-root textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root textarea::placeholder{color:#6b7280;opacity:1}.yst-root select{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root select:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.yst-root select[multiple]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root select[multiple]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=checkbox]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-radius:0;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}.yst-root [type=checkbox]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=checkbox]:checked,.yst-root [type=checkbox]:checked:focus,.yst-root [type=checkbox]:checked:hover,.yst-root [type=checkbox]:indeterminate{background-color:currentColor;border-color:#0000}.yst-root [type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=checkbox]:indeterminate:focus,.yst-root [type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}.yst-root [type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-radius:100%;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}.yst-root [type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}.yst-root [type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.yst-root [type=radio]:checked,.yst-root [type=radio]:checked:focus,.yst-root [type=radio]:checked:hover{background-color:currentColor;border-color:#0000}.yst-root{--tw-text-opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgb(71 85 105/var(--tw-text-opacity));font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.8125rem;font-weight:400;line-height:1.5}.yst-root a{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity));-webkit-text-decoration-line:underline;text-decoration-line:underline}.yst-root a:visited{color:#a61e69}.yst-root a:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.yst-root a:hover:visited{color:#b94986}.yst-root a:focus{--tw-text-opacity:1;border-radius:.125rem;color:rgb(99 102 241/var(--tw-text-opacity));outline-color:#4f46e5;outline-offset:1px;outline-style:solid}.yst-root [type=date]::placeholder,.yst-root [type=datetime-local]::placeholder,.yst-root [type=email]::placeholder,.yst-root [type=month]::placeholder,.yst-root [type=number]::placeholder,.yst-root [type=password]::placeholder,.yst-root [type=search]::placeholder,.yst-root [type=tel]::placeholder,.yst-root [type=text]::placeholder,.yst-root [type=time]::placeholder,.yst-root [type=url]::placeholder,.yst-root [type=week]::placeholder,.yst-root textarea::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity))}.yst-root svg path{stroke-width:inherit}.yst-root .yst-radio__input,.yst-root a:focus{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-radio__input{transition-property:none}.yst-root .yst-radio__input:checked:before{content:var(--tw-content);display:none}.yst-root .yst-modal{z-index:100000!important}.yst-root dd,.yst-root li{margin-bottom:0}.yst-root input[type=date],.yst-root input[type=datetime-local],.yst-root input[type=datetime],.yst-root input[type=email],.yst-root input[type=month],.yst-root input[type=number],.yst-root input[type=password],.yst-root input[type=search],.yst-root input[type=tel],.yst-root input[type=text],.yst-root input[type=time],.yst-root input[type=url],.yst-root input[type=week]{min-height:0}.yst-root input[type=checkbox]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);min-height:0;min-width:0;transition-property:none}.yst-root input[type=checkbox]:before{--tw-content:none;content:var(--tw-content)}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.yst-root .yst-alert{border-radius:.375rem;display:flex;gap:.75rem;padding:1rem}.yst-root .yst-alert--info{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.yst-root .yst-alert--info .yst-alert__message{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.yst-root .yst-alert--warning{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.yst-root .yst-alert--warning .yst-alert__message{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.yst-root .yst-alert--success{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.yst-root .yst-alert--success .yst-alert__message{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.yst-root .yst-alert--error{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.yst-root .yst-alert--error .yst-alert__message{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.yst-root .yst-alert__icon{flex-grow:0;flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-autocomplete{position:relative}.yst-root .yst-autocomplete--error .yst-autocomplete__button{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}.yst-root .yst-autocomplete--error .yst-autocomplete__button:focus{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity));border-color:rgb(239 68 68/var(--tw-border-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete--error .yst-autocomplete__input::placeholder{--tw-placeholder-opacity:1;color:rgb(252 165 165/var(--tw-placeholder-opacity))}.yst-root .yst-autocomplete--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-autocomplete--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-autocomplete__button{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;border-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:flex;height:100%;padding-left:.75rem;padding-right:.75rem;width:100%}.yst-root .yst-autocomplete__button:focus-within{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete__button-icon{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:1.25rem;pointer-events:none;position:absolute;right:.625rem;top:.6875rem;width:1.25rem}.yst-root .yst-autocomplete__input{--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;border-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem 2.5rem .5rem 0;width:100%}.yst-root .yst-autocomplete__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-autocomplete__options{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.8125rem;margin-top:.25rem;max-height:15rem;overflow:auto;position:absolute;width:100%;z-index:20}.yst-root .yst-autocomplete__options:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-autocomplete__option{--tw-text-opacity:1;align-items:center;color:rgb(51 65 85/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;padding:.5rem .75rem;position:relative;-webkit-user-select:none;user-select:none}.yst-root .yst-autocomplete__option--active{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.yst-root .yst-autocomplete__option--selected{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-select__option-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yst-root .yst-autocomplete__option-check{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-badge{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(219 234 254/var(--tw-bg-opacity));border-radius:9999px;color:rgb(30 64 175/var(--tw-text-opacity));display:inline-flex;font-size:.75rem;font-weight:500;line-height:1.25;padding:.125rem .5rem;vertical-align:middle;white-space:nowrap}.yst-root .yst-badge--info{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity));color:rgb(30 58 138/var(--tw-text-opacity))}.yst-root .yst-badge--upsell{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity));color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-badge--plain{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(15 23 42/var(--tw-text-opacity))}.yst-root .yst-badge--small{font-size:.675rem}.yst-root .yst-badge--large{font-size:1rem;padding-left:.75rem;padding-right:.75rem}.yst-root .yst-button{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-color:#0000;align-items:center;border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;justify-content:center;line-height:1.25rem;padding:.5rem .75rem;text-align:center;-webkit-text-decoration-line:none;text-decoration-line:none}.yst-root .yst-button:focus{outline-color:#a61e69;outline-offset:2px;outline-style:solid;outline-width:2px}.yst-root a.yst-button:focus{border-radius:.375rem}.yst-root .yst-button--primary{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-color:#0000;background-color:rgb(166 30 105/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--primary:visited{color:#fff}.yst-root .yst-button--primary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(143 15 87/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--primary:hover:visited{color:#fff}.yst-root .yst-button--primary:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));outline-color:#8f0f57}.yst-root .yst-button--secondary{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));background-color:rgb(255 255 255/var(--tw-bg-opacity));color:rgb(30 41 59/var(--tw-text-opacity))}.yst-root .yst-button--secondary:visited{color:#1e293b}.yst-root .yst-button--secondary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity));color:rgb(30 41 59/var(--tw-text-opacity))}.yst-root .yst-button--secondary:hover:visited{color:#1e293b}.yst-root .yst-button--secondary:focus{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));outline-color:#8f0f57}.yst-root .yst-button--tertiary{--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);background-color:initial;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-button--tertiary:visited{color:#83084e}.yst-root .yst-button--tertiary:hover{--tw-text-opacity:1;color:rgb(131 8 78/var(--tw-text-opacity))}.yst-root .yst-button--tertiary:hover:visited{color:#83084e}.yst-root .yst-button--tertiary:focus{--tw-text-opacity:1;color:rgb(131 8 78/var(--tw-text-opacity));outline-color:#8f0f57}.yst-root .yst-button--error{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity));border-color:#0000;color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--error:visited{color:#fff}.yst-root .yst-button--error:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-button--error:hover:visited{color:#fff}.yst-root .yst-button--error:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));outline-color:#dc2626}.yst-root .yst-button--upsell{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity));border-color:#0000;color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-button--upsell:visited{color:#78350f}.yst-root .yst-button--upsell:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));color:rgb(120 53 15/var(--tw-text-opacity))}.yst-root .yst-button--upsell:hover:visited{color:#78350f}.yst-root .yst-button--upsell:focus{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity));outline-color:#fbbf24}.yst-root .yst-button--large{font-size:.875rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root .yst-button--extra-large{font-size:1rem;line-height:1.5rem;padding:.625rem .875rem}.yst-root .yst-button--small{font-size:.75rem;line-height:1rem;padding:.375rem .625rem}.yst-root .yst-button--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-button--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-checkbox{align-items:center;display:flex}.yst-root .yst-checkbox--disabled .yst-checkbox__input,.yst-root .yst-checkbox--disabled .yst-checkbox__label{cursor:not-allowed;opacity:.5}.yst-root .yst-checkbox__input{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.25rem;color:rgb(166 30 105/var(--tw-text-opacity));height:1rem;width:1rem}.yst-root .yst-checkbox__input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))}.yst-root .yst-checkbox__label{margin-left:.75rem}.yst-root .yst-code{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:.25rem;color:rgb(15 23 42/var(--tw-text-opacity));display:inline-block;font-size:.75rem;line-height:1.25;margin:0;padding:.25rem}.yst-root .yst-code--block{display:block;margin-bottom:.5rem;margin-top:.5rem;max-width:100%;overflow-x:auto;padding:.25rem .5rem;white-space:nowrap}.yst-root .yst-file-input{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border:2px dashed rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;padding:1.25rem 1.5rem 1.5rem;text-align:center;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:100%}.yst-root .yst-file-input.yst-is-drag-over{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(250 243 247/var(--tw-bg-opacity));border-color:rgb(205 130 171/var(--tw-border-opacity))}.yst-root .yst-file-input.yst-is-drag-over .yst-file-input__content{pointer-events:none}.yst-root .yst-file-input.yst-is-drag-over .yst-file-input__icon{--tw-translate-y:-0.5rem;--tw-text-opacity:1;color:rgb(185 73 134/var(--tw-text-opacity));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-file-input.yst-is-disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-file-input.yst-is-disabled .yst-file-input__select-label{cursor:not-allowed}.yst-root .yst-file-input__content{align-items:center;display:inline-flex;flex-direction:column;max-width:20rem}.yst-root .yst-file-input__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-file-input__content{text-align:center}.yst-root .yst-file-input__icon{stroke-width:1;--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:3rem;margin-left:auto;margin-right:auto;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:3rem}.yst-root .yst-file-input__icon>path{stroke-width:1}.yst-root .yst-file-input__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.yst-root .yst-file-input__input:focus+.yst-file-input__select-label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-file-input__labels{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));display:inline-block;font-weight:400}.yst-root .yst-file-input__select-label{border-radius:.375rem;font-weight:500}[dir=rtl] .yst-root .yst-file-input__labels{flex-direction:row-reverse}.yst-root .yst-label{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;font-weight:500}.yst-root .yst-link{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity));cursor:pointer;-webkit-text-decoration-line:underline;text-decoration-line:underline}.yst-root .yst-link:visited{color:#a61e69}.yst-root .yst-link:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.yst-root .yst-link:hover:visited{color:#b94986}.yst-root .yst-link:focus{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity));--tw-ring-offset-width:1px;--tw-ring-offset-color:#0000;border-radius:.125rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(99 102 241/var(--tw-text-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-link--primary{--tw-text-opacity:1;color:rgb(154 22 96/var(--tw-text-opacity))}.yst-root .yst-link--primary:focus,.yst-root .yst-link--primary:hover{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-link--primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(154 22 96/var(--tw-ring-opacity))}.yst-root .yst-link--error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.yst-root .yst-link--error:focus,.yst-root .yst-link--error:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.yst-root .yst-link--error:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity))}.yst-root .yst-paper{--tw-bg-opacity:1;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column}.yst-root .yst-paper__header{border-bottom-width:1px;padding:2rem}.yst-root .yst-paper__content{flex-grow:1;padding:2rem}.yst-root .yst-progress-bar{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:9999px;display:block;overflow:hidden;width:100%}.yst-root .yst-progress-bar__progress{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));border-radius:9999px;display:block;height:.375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:linear}.yst-root .yst-radio{align-items:center;display:flex}.yst-root .yst-radio--disabled .yst-radio__check,.yst-root .yst-radio--disabled .yst-radio__input,.yst-root .yst-radio--disabled .yst-radio__label{cursor:not-allowed;opacity:.5}.yst-root .yst-radio--disabled .yst-radio__check:focus,.yst-root .yst-radio--disabled .yst-radio__input:focus,.yst-root .yst-radio--disabled .yst-radio__label:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block{display:inline-flex}.yst-root .yst-radio--inline-block .yst-radio__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.yst-root .yst-radio--inline-block .yst-radio__input:checked+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:#0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__input:checked+.yst-radio__content .yst-radio__check{visibility:visible}.yst-root .yst-radio--inline-block .yst-radio__input:focus+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__input:checked:focus+.yst-radio__content .yst-radio__label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-offset-width:1px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-radio--inline-block .yst-radio__content{position:relative}.yst-root .yst-radio--inline-block .yst-radio__label{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);cursor:pointer;display:flex;font-size:1rem;height:3.5rem;justify-content:center;margin-left:0;width:3.5rem}.yst-root .yst-radio--inline-block .yst-radio__label:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.yst-root .yst-radio--inline-block .yst-radio__label:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-radio--inline-block .yst-radio__check{--tw-text-opacity:1;color:rgb(154 22 96/var(--tw-text-opacity));height:1.25rem;position:absolute;right:.125rem;top:.125rem;visibility:hidden;width:1.25rem}.yst-root .yst-radio__input{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity));color:rgb(166 30 105/var(--tw-text-opacity));height:1rem;width:1rem}.yst-root .yst-radio__input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))}.yst-root .yst-radio__label{margin-left:.75rem}.yst-root .yst-select{position:relative}.yst-root .yst-select--disabled .yst-select__button,.yst-root .yst-select--disabled .yst-select__label{cursor:not-allowed;opacity:.5}.yst-root .yst-select__button{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(30 41 59/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;line-height:1.5rem;padding:.5rem .75rem;position:relative;text-align:left;width:100%}.yst-root .yst-select__button:focus{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-select__button-icon{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity));height:1.25rem;pointer-events:none;position:absolute;right:.625rem;top:.625rem;width:1.25rem}.yst-root .yst-select__options{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.8125rem;margin-top:.25rem;max-height:15rem;overflow:auto;position:absolute;width:100%;z-index:10}.yst-root .yst-select__options:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-select__option{--tw-text-opacity:1;align-items:center;color:rgb(51 65 85/var(--tw-text-opacity));cursor:default;display:flex;justify-content:space-between;padding:.5rem .75rem;position:relative;-webkit-user-select:none;user-select:none}.yst-root .yst-select__option--active{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.yst-root .yst-select__option--selected{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(154 22 96/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.yst-root .yst-select__button-label,.yst-root .yst-select__option-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yst-root .yst-select__option-check{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-shrink:0;height:1.25rem;width:1.25rem}.yst-root .yst-skeleton-loader{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:.25rem;display:block;height:auto;overflow:hidden;position:relative;width:-moz-fit-content;width:fit-content}.yst-root .yst-skeleton-loader:after{--tw-translate-x:-100%;animation:wave 2.5s linear .5s infinite;background:linear-gradient(90deg,#0000,#00000012,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes wave{0%{transform:translateX(-100%)}50%,to{transform:translateX(100%)}}.yst-root .yst-tag-input{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;color:rgb(30 41 59/var(--tw-text-opacity));display:flex;flex-wrap:wrap;font-size:.8125rem;gap:.375rem;line-height:1.5rem;padding:.5rem .75rem}.yst-root .yst-tag-input::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity))}.yst-root .yst-tag-input{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-tag-input,.yst-root .yst-tag-input:focus-within{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))}.yst-root .yst-tag-input--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-tag-input--disabled:focus-within{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:rgb(203 213 225/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input--disabled .yst-tag-input__tag{cursor:not-allowed}.yst-root .yst-tag-input--disabled .yst-tag-input__tag:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input--disabled .yst-tag-input__tag:focus,.yst-root .yst-tag-input--disabled .yst-tag-input__tag:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag{cursor:not-allowed}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(148 163 184/var(--tw-text-opacity))}.yst-root .yst-tag-input--disabled .yst-tag-input__remove-tag:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input--disabled .yst-tag-input__input{cursor:not-allowed}.yst-root .yst-tag-input__tag{cursor:pointer;gap:.125rem;min-height:20px;padding-inline-end:.125rem}.yst-root .yst-tag-input__tag:hover{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));border-color:rgb(166 30 105/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-tag-input__tag:focus,.yst-root .yst-tag-input__tag:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input__remove-tag{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(226 232 240/var(--tw-bg-opacity));border-radius:9999px;color:rgb(148 163 184/var(--tw-text-opacity));display:inline-flex;flex-shrink:0;height:1rem;justify-content:center;width:1rem}.yst-root .yst-tag-input__remove-tag:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));color:rgb(100 116 139/var(--tw-text-opacity))}.yst-root .yst-tag-input__remove-tag:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-tag-input__input{border-style:none;display:inline-flex;flex:1 1 0%;font-size:.8125rem;margin:0;padding:0}.yst-root .yst-tag-input__input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-text-input{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;border-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem .75rem;width:100%}.yst-root .yst-text-input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-text-input--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-text-input--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-text-input--read-only{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:rgb(248 250 252/var(--tw-bg-opacity));border-color:rgb(226 232 240/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(100 116 139/var(--tw-text-opacity));cursor:default}.yst-root .yst-textarea{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;border-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(30 41 59/var(--tw-text-opacity));font-size:.8125rem;padding:.5rem .75rem;width:100%}.yst-root .yst-textarea:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-textarea--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-textarea--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-title{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity));font-weight:500;line-height:1.25}.yst-root .yst-title--1{font-size:1.5rem}.yst-root .yst-title--2{font-size:1.125rem}.yst-root .yst-title--3{font-size:.875rem}.yst-root .yst-title--4{font-size:1rem}.yst-root .yst-title--5{font-size:.8125rem}.yst-root .yst-toggle{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity));border-color:#0000;border-radius:9999px;border-width:2px;cursor:pointer;display:inline-flex;flex-shrink:0;height:1.5rem;position:relative;transition-duration:.2s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2.75rem}.yst-root .yst-toggle:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-toggle--checked{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity))}.yst-root .yst-toggle--checked .yst-toggle__handle{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-toggle--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-toggle--disabled:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-toggle__handle{--tw-translate-x:0px;--tw-bg-opacity:1;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:9999px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:flex;height:1.25rem;justify-content:center;pointer-events:none;position:relative;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.2s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1.25rem}.yst-root .yst-toggle__icon{stroke:currentColor;stroke-width:2;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));flex-grow:0;flex-shrink:0;height:.625rem;transition-duration:.1s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);width:.625rem}.yst-root .yst-toggle__icon--check{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity))}.yst-root .yst-toggle__icon--x{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}[dir=rtl] .yst-root .yst-toggle--checked .yst-toggle__handle{--tw-translate-x:-1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity));border-radius:.5rem;color:rgb(255 255 255/var(--tw-text-opacity));display:inline-block;font-size:.75rem;padding:.5rem;position:absolute;z-index:10}.yst-root .yst-tooltip--top{--tw-translate-x:-50%;--tw-translate-y:-100%;left:50%;margin-bottom:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip--top:before{--tw-translate-x:-50%;--tw-translate-y:0px;--tw-border-opacity:1;--tw-content:"";border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;border-top-color:rgb(31 41 55/var(--tw-border-opacity));border-width:8px;content:var(--tw-content);position:absolute}.yst-root .yst-tooltip--bottom,.yst-root .yst-tooltip--top:before{left:50%;top:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip--bottom{--tw-translate-x:-50%;--tw-translate-y:-0px;margin-top:.5rem}.yst-root .yst-tooltip--bottom:before{--tw-translate-x:-50%;--tw-border-opacity:1;--tw-content:"";border-bottom-color:rgb(31 41 55/var(--tw-border-opacity));border-left-color:#0000;border-right-color:#0000;border-top-color:#0000;border-width:8px;bottom:100%;content:var(--tw-content);left:50%;position:absolute;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip--right{--tw-translate-x:-0px;left:100%;margin-left:.5rem}.yst-root .yst-tooltip--right,.yst-root .yst-tooltip--right:before{--tw-translate-y:-50%;top:50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip--right:before{--tw-border-opacity:1;--tw-content:"";border-bottom-color:#0000;border-left-color:#0000;border-right-color:rgb(31 41 55/var(--tw-border-opacity));border-top-color:#0000;border-width:8px;content:var(--tw-content);position:absolute;right:100%}.yst-root .yst-tooltip--left{--tw-translate-y:-0px;margin-right:.5rem;right:100%}.yst-root .yst-tooltip--left,.yst-root .yst-tooltip--left:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yst-root .yst-tooltip--left:before{--tw-translate-y:-50%;--tw-border-opacity:1;--tw-content:"";border-bottom-color:#0000;border-left-color:rgb(31 41 55/var(--tw-border-opacity));border-right-color:#0000;border-top-color:#0000;border-width:8px;content:var(--tw-content);left:100%;position:absolute;top:50%}.yst-root .yst-validation-icon{pointer-events:none}.yst-root .yst-validation-icon--success{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.yst-root .yst-validation-icon--info{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.yst-root .yst-validation-icon--warning{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.yst-root .yst-validation-icon--error{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.yst-root .yst-validation-input{position:relative}.yst-root .yst-validation-input--success .yst-validation-input__input{--tw-ring-opacity:1;--tw-ring-color:rgb(134 239 172/var(--tw-ring-opacity));padding-right:2.5rem}.yst-root .yst-validation-input--success .yst-validation-input__input:focus,.yst-root .yst-validation-input--success .yst-validation-input__input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity))}.yst-root .yst-validation-input--info .yst-validation-input__input{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity));padding-right:2.5rem}.yst-root .yst-validation-input--info .yst-validation-input__input:focus,.yst-root .yst-validation-input--info .yst-validation-input__input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.yst-root .yst-validation-input--warning .yst-validation-input__input{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity));padding-right:2.5rem}.yst-root .yst-validation-input--warning .yst-validation-input__input:focus,.yst-root .yst-validation-input--warning .yst-validation-input__input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.yst-root .yst-validation-input--error .yst-validation-input__input{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity));padding-right:2.5rem}.yst-root .yst-validation-input--error .yst-validation-input__input:focus,.yst-root .yst-validation-input--error .yst-validation-input__input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.yst-root .yst-validation-input__input:focus,.yst-root .yst-validation-input__input:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.yst-root .yst-validation-input__icon{height:1.25rem;position:absolute;right:.625rem;top:.6875rem;width:1.25rem}.yst-root .yst-validation-message a{color:inherit;font-weight:500}.yst-root .yst-validation-message a:visited:hover{color:inherit}.yst-root .yst-validation-message a:focus{--tw-ring-color:currentColor}.yst-root .yst-validation-message--success{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.yst-root .yst-validation-message--info{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.yst-root .yst-validation-message--warning{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.yst-root .yst-validation-message--error{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.yst-root .yst-autocomplete-field__description,.yst-root .yst-autocomplete-field__validation{margin-top:.5rem}.yst-root .yst-card{display:flex;flex-direction:column;position:relative}.yst-root .yst-card>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-card{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);overflow:hidden;padding:1.5rem;transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yst-root .yst-card__header{--tw-bg-opacity:1;align-items:center;background-color:rgb(243 244 246/var(--tw-bg-opacity));display:flex;height:6rem;justify-content:center;margin-left:-1.5rem;margin-right:-1.5rem;margin-top:-1.5rem;padding:1.5rem;position:relative}.yst-root .yst-card__content{flex-grow:1}.yst-root .yst-card__footer{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));border-top-width:1px;padding-top:1.5rem}.yst-root .yst-checkbox-group--disabled .yst-checkbox-group__description,.yst-root .yst-checkbox-group--disabled .yst-checkbox-group__label{cursor:not-allowed;opacity:.5}.yst-root .yst-checkbox-group__label{margin-bottom:.5rem}.yst-root .yst-checkbox-group__options{display:flex;flex-direction:column;gap:.75rem}.yst-root .yst-checkbox-group__description{margin-bottom:1rem;margin-top:-.5rem}.yst-root .yst-feature-upsell{position:relative}.yst-root .yst-feature-upsell--default{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.yst-root .yst-feature-upsell--card{padding:1.5rem}.yst-root .yst-file-import>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-file-import__feedback{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(203 213 225/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);padding:1rem}.yst-root .yst-file-import__feedback-header{align-items:flex-start;display:flex}.yst-root .yst-file-import__feedback-header>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.yst-root .yst-file-import__feedback-figure{--tw-bg-opacity:1;align-items:center;background-color:rgb(243 229 237/var(--tw-bg-opacity));border-radius:9999px;display:flex;height:2rem;justify-content:center;width:2rem}.yst-root .yst-file-import__feedback-figure>svg{--tw-text-opacity:1;color:rgb(166 30 105/var(--tw-text-opacity));height:1.25rem;width:1.25rem}.yst-root .yst-file-import__feedback-title{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity));display:block;font-weight:500;margin-bottom:.125rem;overflow-wrap:break-word}.yst-root .yst-file-import__feedback-description{display:block;font-size:.75rem;font-weight:500}.yst-root .yst-file-import__abort-button{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(241 245 249/var(--tw-bg-opacity));border-radius:9999px;color:rgb(100 116 139/var(--tw-text-opacity));display:inline-flex;flex-shrink:0;height:1.25rem;justify-content:center;width:1.25rem}.yst-root .yst-file-import__abort-button:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity));color:rgb(71 85 105/var(--tw-text-opacity))}.yst-root .yst-file-import__abort-button:focus{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity));outline:2px solid #0000;outline-offset:2px}.yst-root .yst-file-import__abort-button>svg{height:.75rem;width:.75rem}.yst-root .yst-file-import__abort-button>svg>path{stroke-width:3}.yst-root .yst-modal{bottom:0;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10}@media (min-width:640px){.yst-root .yst-modal{padding:2rem}}@media (min-width:768px){.yst-root .yst-modal{padding:5rem}}.yst-root .yst-modal__layout{display:flex;min-height:100%}.yst-root .yst-modal--center .yst-modal__layout{align-items:center;justify-content:center}.yst-root .yst-modal--top-center .yst-modal__layout{align-items:flex-start;justify-content:center}.yst-root .yst-modal__overlay{--tw-bg-opacity:0.75;background-color:rgb(100 116 139/var(--tw-bg-opacity));bottom:0;left:0;position:fixed;right:0;top:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yst-root .yst-modal__panel{--tw-bg-opacity:1;--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);max-width:36rem;overflow:hidden;padding:1.5rem;position:relative;width:100%}.yst-root .yst-modal__close{display:block;position:absolute;right:1rem;top:1rem}.yst-root .yst-modal__close-button{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;color:rgb(148 163 184/var(--tw-text-opacity));position:relative;z-index:10}.yst-root .yst-modal__close-button:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.yst-root .yst-modal__close-button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.yst-root .yst-modal__container{display:flex;flex-direction:column;max-height:calc(100vh - 2rem)}@media (min-width:640px){.yst-root .yst-modal__container{max-height:calc(100vh - 4rem)}}@media (min-width:768px){.yst-root .yst-modal__container{max-height:calc(100vh - 10rem)}}.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 5rem)}@media (min-width:640px){.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 7rem)}}@media (min-width:768px){.yst-root .yst-modal__panel .yst-modal__container{max-height:calc(100vh - 13rem)}}.yst-root .yst-modal__container-footer,.yst-root .yst-modal__container-header{flex-shrink:0}.yst-root .yst-modal__container-content{overflow:auto}.yst-root .yst-modal__panel .yst-modal__container-content{margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}.yst-root .yst-notifications{display:flex;flex-direction:column;max-height:calc(100vh - 4rem);max-width:calc(100vw - 4rem);pointer-events:none;position:fixed;width:100%;z-index:20}.yst-root .yst-notifications>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.yst-root .yst-notifications--bottom-center{align-items:center;bottom:2rem}.yst-root .yst-notifications--bottom-left{bottom:2rem;left:2rem}.yst-root .yst-notifications--top-center{align-items:center;top:2rem}.yst-root .yst-notification{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity));--tw-ring-opacity:0.05;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);max-width:100%;overflow-y:auto;padding:1rem;pointer-events:auto;width:20rem;z-index:20}.yst-root .yst-notification--large{width:24rem}.yst-root .yst-notification__icon{height:1.25rem;width:1.25rem}.yst-root .yst-pagination{display:inline-flex;isolation:isolate}.yst-root .yst-pagination>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1px*var(--tw-space-x-reverse))}.yst-root .yst-pagination{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yst-root .yst-pagination-display__text{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(100 116 139/var(--tw-text-opacity));font-weight:400;padding:.5rem .75rem}.yst-root .yst-pagination-display__current-text{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity));font-weight:600}.yst-root .yst-pagination-display__truncated{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity));align-self:center;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(100 116 139/var(--tw-text-opacity));display:inline-flex;font-size:.8125rem;font-weight:600;padding:.5rem 1rem}.yst-root .yst-pagination__button{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity));align-items:center;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(148 163 184/var(--tw-text-opacity));display:inline-flex;padding:.5rem;position:relative}.yst-root .yst-pagination__button:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.yst-root .yst-pagination__button:focus{outline-color:#a61e69;outline-offset:0;z-index:20}.yst-root .yst-pagination__button--active{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);background-color:rgb(166 30 105/var(--tw-bg-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgb(255 255 255/var(--tw-text-opacity));font-size:.8125rem;font-weight:600;z-index:10}.yst-root .yst-pagination__button--active:hover{--tw-bg-opacity:1;background-color:rgb(166 30 105/var(--tw-bg-opacity))}.yst-root .yst-pagination__button--active:focus{z-index:20}.yst-root .yst-pagination__button--active:focus-visible{border-radius:.125rem;outline-color:#a61e69;outline-offset:2px;outline-style:solid;outline-width:2px}.yst-root .yst-pagination__button--disabled{cursor:not-allowed;opacity:.5}.yst-root .yst-pagination__button--disabled:hover{background-color:initial}.yst-root .yst-pagination__button--disabled:focus{outline:2px solid #0000;outline-offset:2px}.yst-root .yst-radio-group--inline-block .yst-radio-group__options{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.yst-root .yst-radio-group--disabled .yst-radio-group__description,.yst-root .yst-radio-group--disabled .yst-radio-group__label{opacity:.5}.yst-root .yst-radio-group--disabled .yst-radio-group__label{cursor:not-allowed}.yst-root .yst-radio-group__label{margin-bottom:.5rem}.yst-root .yst-radio-group__options{display:flex;flex-direction:column;gap:.5rem}.yst-root .yst-radio-group__description{margin-bottom:1rem;margin-top:-.5rem}.yst-root .yst-select-field--disabled .yst-select-field__description,.yst-root .yst-select-field--disabled .yst-select-field__label{cursor:not-allowed;opacity:.5}.yst-root .yst-select-field__options{display:flex;flex-direction:column;gap:.75rem}.yst-root .yst-select-field__description,.yst-root .yst-select-field__validation{margin-top:.5rem}.yst-root .yst-mobile-navigation__top{position:sticky;top:0;width:100%;z-index:50}.yst-root .yst-mobile-navigation__dialog{bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:50}.yst-root .yst-tag-field--disabled .yst-tag-field__description,.yst-root .yst-tag-field--disabled .yst-tag-field__label{cursor:not-allowed;opacity:.5}.yst-root .yst-tag-field__description,.yst-root .yst-tag-field__validation{margin-top:.5rem}.yst-root .yst-text-field--disabled .yst-text-field__description,.yst-root .yst-text-field--disabled .yst-text-field__label{opacity:.5}.yst-root .yst-text-field--disabled .yst-text-field__label{cursor:not-allowed}.yst-root .yst-text-field--read-only .yst-text-field__label{cursor:default}.yst-root .yst-text-field__description,.yst-root .yst-text-field__validation{margin-top:.5rem}.yst-root .yst-textarea-field--disabled .yst-textarea-field__description,.yst-root .yst-textarea-field--disabled .yst-textarea-field__label{opacity:.5}.yst-root .yst-textarea-field--disabled .yst-textarea-field__label{cursor:not-allowed}.yst-root .yst-text-field--read-only .yst-textarea-field__label{cursor:default}.yst-root .yst-textarea-field__description,.yst-root .yst-textarea-field__validation{margin-top:.5rem}.yst-root .yst-toggle-field{display:flex;flex-direction:column;gap:.25rem}.yst-root .yst-toggle-field--disabled .yst-toggle-field__description,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label-wrapper{opacity:.5}.yst-root .yst-toggle-field--disabled .yst-toggle-field__description,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label,.yst-root .yst-toggle-field--disabled .yst-toggle-field__label-wrapper{cursor:not-allowed}.yst-root .yst-toggle-field__header{align-items:center;display:flex;flex-direction:row;gap:1.5rem;justify-content:space-between}.yst-root .yst-toggle-field__label-wrapper{align-items:center;display:flex;gap:.25rem}.yst-root .yst-toggle-field__description{margin-right:4.25rem}.yst-sr-only{clip:rect(0,0,0,0)!important;border-width:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.yst-pointer-events-none{pointer-events:none!important}.yst-invisible{visibility:hidden!important}.yst-fixed{position:fixed!important}.yst-absolute{position:absolute!important}.yst-relative{position:relative!important}.yst-sticky{position:sticky!important}.yst-inset-0{bottom:0!important;top:0!important}.yst-inset-0,.yst-inset-x-0{left:0!important;right:0!important}.yst-inset-y-0{bottom:0!important;top:0!important}.yst--left-3{left:-.75rem!important}.yst-top-0{top:0!important}.yst-right-0{right:0!important}.yst-bottom-12{bottom:3rem!important}.yst-top-2{top:.5rem!important}.yst-right-2{right:.5rem!important}.yst-bottom-0{bottom:0!important}.yst-top-1\/2{top:50%!important}.yst--right-\[6\.5px\]{right:-6.5px!important}.yst--top-\[6\.5px\]{top:-6.5px!important}.yst-left-4{left:1rem!important}.yst--bottom-6{bottom:-1.5rem!important}.yst-top-8{top:2rem!important}.yst-top-3\.5{top:.875rem!important}.yst-top-3{top:.75rem!important}.yst-left-0{left:0!important}.yst-z-30{z-index:30!important}.yst-z-40{z-index:40!important}.yst-z-10{z-index:10!important}.yst-z-20{z-index:20!important}.yst-col-span-1{grid-column:span 1/span 1!important}.yst-m-0{margin:0!important}.yst--m-\[16px\]{margin:-16px!important}.yst--m-6{margin:-1.5rem!important}.yst-my-auto{margin-bottom:auto!important;margin-top:auto!important}.yst-mx-auto{margin-left:auto!important;margin-right:auto!important}.yst-my-4{margin-bottom:1rem!important;margin-top:1rem!important}.yst-my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.yst-my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.yst-my-12{margin-bottom:3rem!important;margin-top:3rem!important}.yst-my-3{margin-bottom:.75rem!important;margin-top:.75rem!important}.yst-my-8{margin-bottom:2rem!important;margin-top:2rem!important}.yst--mx-6{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.yst-mx-1\.5{margin-left:.375rem!important;margin-right:.375rem!important}.yst-mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.yst-mx-0{margin-left:0!important;margin-right:0!important}.yst-mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.yst-my-0{margin-bottom:0!important;margin-top:0!important}.yst-my-16{margin-bottom:4rem!important;margin-top:4rem!important}.yst--ml-1{margin-left:-.25rem!important}.yst-mt-6{margin-top:1.5rem!important}.yst-mt-1\.5{margin-top:.375rem!important}.yst-mt-1{margin-top:.25rem!important}.yst-ml-4{margin-left:1rem!important}.yst-ml-8{margin-left:2rem!important}.yst--mr-14{margin-right:-3.5rem!important}.yst-mb-2{margin-bottom:.5rem!important}.yst-mr-4{margin-right:1rem!important}.yst-mr-2{margin-right:.5rem!important}.yst-mb-px{margin-bottom:1px!important}.yst-mb-16{margin-bottom:4rem!important}.yst-mt-auto{margin-top:auto!important}.yst-ml-3{margin-left:.75rem!important}.yst-mr-1{margin-right:.25rem!important}.yst-mr-5{margin-right:1.25rem!important}.yst-mb-8{margin-bottom:2rem!important}.yst-mt-3{margin-top:.75rem!important}.yst-ml-1{margin-left:.25rem!important}.yst--mr-1{margin-right:-.25rem!important}.yst--mb-\[1em\]{margin-bottom:-1em!important}.yst--ml-0\.5{margin-left:-.125rem!important}.yst--ml-0{margin-left:0!important}.yst-ml-auto{margin-left:auto!important}.yst-mt-2{margin-top:.5rem!important}.yst-mt-4{margin-top:1rem!important}.yst-mb-5{margin-bottom:1.25rem!important}.yst-mb-6{margin-bottom:1.5rem!important}.yst-mt-8{margin-top:2rem!important}.yst-mt-12{margin-top:3rem!important}.yst-mb-3{margin-bottom:.75rem!important}.yst-ml-1\.5{margin-left:.375rem!important}.yst-mr-6{margin-right:1.5rem!important}.yst--ml-px{margin-left:-1px!important}.yst-ml-12{margin-left:3rem!important}.yst-mb-0{margin-bottom:0!important}.yst--mt-6{margin-top:-1.5rem!important}.yst-mb-4{margin-bottom:1rem!important}.yst-ml-2{margin-left:.5rem!important}.yst-mr-3{margin-right:.75rem!important}.yst-mt-7{margin-top:1.75rem!important}.yst-mt-10{margin-top:2.5rem!important}.yst-mt-\[-2\.6rem\]{margin-top:-2.6rem!important}.yst-mt-\[18px\]{margin-top:18px!important}.yst-mb-1{margin-bottom:.25rem!important}.yst-mr-8{margin-right:2rem!important}.yst--mt-4{margin-top:-1rem!important}.yst-mb-24{margin-bottom:6rem!important}.yst-mt-\[27\.5px\]{margin-top:27.5px!important}.yst-mt-5{margin-top:1.25rem!important}.yst-mt-0{margin-top:0!important}.yst-block{display:block!important}.yst-inline-block{display:inline-block!important}.yst-inline{display:inline!important}.yst-flex{display:flex!important}.yst-inline-flex{display:inline-flex!important}.yst-grid{display:grid!important}.yst-hidden{display:none!important}.yst-h-5{height:1.25rem!important}.yst-h-6{height:1.5rem!important}.yst-h-4{height:1rem!important}.yst-h-12{height:3rem!important}.yst-h-0{height:0!important}.yst-h-full{height:100%!important}.yst-h-16{height:4rem!important}.yst-h-7{height:1.75rem!important}.yst-h-3{height:.75rem!important}.yst-h-8{height:2rem!important}.yst-h-\[90vh\]{height:90vh!important}.yst-h-4\/5{height:80%!important}.yst-h-20{height:5rem!important}.yst-h-\[120px\]{height:120px!important}.yst-h-auto{height:auto!important}.yst-h-9{height:2.25rem!important}.yst-h-2\.5{height:.625rem!important}.yst-h-2{height:.5rem!important}.yst-h-24{height:6rem!important}.yst-h-48{height:12rem!important}.yst-h-96{height:24rem!important}.yst-h-\[45px\]{height:45px!important}.yst-h-14{height:3.5rem!important}.yst-h-28{height:7rem!important}.yst-max-h-\[calc\(90vh-10rem\)\]{max-height:calc(90vh - 10rem)!important}.yst-max-h-60{max-height:15rem!important}.yst-min-h-full{min-height:100%!important}.yst-w-5{width:1.25rem!important}.yst-w-6{width:1.5rem!important}.yst-w-0{width:0!important}.yst-w-full{width:100%!important}.yst-w-4{width:1rem!important}.yst-w-12{width:3rem!important}.yst-w-2{width:.5rem!important}.yst-w-3{width:.75rem!important}.yst-w-8{width:2rem!important}.yst-w-\[350px\]{width:350px!important}.yst-w-20{width:5rem!important}.yst-w-\[150px\]{width:150px!important}.yst-w-\[3px\]{width:3px!important}.yst-w-40{width:10rem!important}.yst-w-56{width:14rem!important}.yst-w-2\.5{width:.625rem!important}.yst-w-0\.5{width:.125rem!important}.yst-w-48{width:12rem!important}.yst-w-96{width:24rem!important}.yst-w-3\/5{width:60%!important}.yst-w-16{width:4rem!important}.yst-w-14{width:3.5rem!important}.yst-w-\[463px\]{width:463px!important}.yst-w-24{width:6rem!important}.yst-min-w-full{min-width:100%!important}.yst-min-w-0{min-width:0!important}.yst-max-w-xs{max-width:20rem!important}.yst-max-w-sm{max-width:24rem!important}.yst-max-w-screen-sm{max-width:640px!important}.yst-max-w-6xl{max-width:72rem!important}.yst-max-w-lg{max-width:32rem!important}.yst-max-w-\[715px\]{max-width:715px!important}.yst-max-w-none{max-width:none!important}.yst-max-w-full{max-width:100%!important}.yst-max-w-5xl{max-width:64rem!important}.yst-max-w-2xl{max-width:42rem!important}.yst-max-w-\[500px\]{max-width:500px!important}.yst-flex-1{flex:1 1 0%!important}.yst-flex-none{flex:none!important}.yst-flex-shrink-0,.yst-shrink-0{flex-shrink:0!important}.yst-flex-grow,.yst-grow{flex-grow:1!important}.yst-origin-top{transform-origin:top!important}.yst-translate-y-4{--tw-translate-y:1rem!important}.yst-translate-y-0,.yst-translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst-translate-y-0{--tw-translate-y:0px!important}.yst-translate-y-full{--tw-translate-y:100%!important}.yst--translate-y-full,.yst-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst--translate-y-full{--tw-translate-y:-100%!important}.yst-scale-95{--tw-scale-x:.95!important;--tw-scale-y:.95!important}.yst-scale-100,.yst-scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.yst-scale-100{--tw-scale-x:1!important;--tw-scale-y:1!important}.yst-scale-y-0{--tw-scale-y:0!important}.yst-scale-y-0,.yst-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@keyframes yst-spin{to{transform:rotate(1turn)}}.yst-animate-spin{animation:yst-spin 1s linear infinite!important}.yst-cursor-wait{cursor:wait!important}.yst-cursor-not-allowed{cursor:not-allowed!important}.yst-cursor-default{cursor:default!important}.yst-select-none{-webkit-user-select:none!important;user-select:none!important}.yst-scroll-pt-11{scroll-padding-top:2.75rem!important}.yst-scroll-pb-2{scroll-padding-bottom:.5rem!important}.yst-list-outside{list-style-position:outside!important}.yst-list-disc{list-style-type:disc!important}.yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.yst-flex-row{flex-direction:row!important}.yst-flex-col{flex-direction:column!important}.yst-flex-wrap{flex-wrap:wrap!important}.yst-content-between{align-content:space-between!important}.yst-items-start{align-items:flex-start!important}.yst-items-center{align-items:center!important}.yst-justify-center{justify-content:center!important}.yst-justify-between{justify-content:space-between!important}.yst-gap-2{gap:.5rem!important}.yst-gap-3{gap:.75rem!important}.yst-gap-8{gap:2rem!important}.yst-gap-6{gap:1.5rem!important}.yst-gap-1\.5{gap:.375rem!important}.yst-gap-1{gap:.25rem!important}.yst-gap-4{gap:1rem!important}.yst-gap-x-6{column-gap:1.5rem!important}.yst-gap-x-4{column-gap:1rem!important}.yst-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(2rem*var(--tw-space-x-reverse))!important}.yst-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(2rem*var(--tw-space-y-reverse))!important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.5rem*var(--tw-space-x-reverse))!important}.yst-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.75rem*var(--tw-space-y-reverse))!important;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1rem*var(--tw-space-y-reverse))!important;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))!important}.yst-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.75rem*var(--tw-space-x-reverse))!important}.yst-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))!important}.yst-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0!important;border-bottom-width:calc(1px*var(--tw-divide-y-reverse))!important;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))!important}.yst-divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1!important;border-color:rgb(229 231 235/var(--tw-divide-opacity))!important}.yst-divide-slate-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1!important;border-color:rgb(203 213 225/var(--tw-divide-opacity))!important}.yst-self-start{align-self:flex-start!important}.yst-self-end{align-self:flex-end!important}.yst-self-center{align-self:center!important}.yst-overflow-auto{overflow:auto!important}.yst-overflow-hidden{overflow:hidden!important}.yst-overflow-y-auto{overflow-y:auto!important}.yst-overflow-x-scroll{overflow-x:scroll!important}.yst-truncate{overflow:hidden!important;white-space:nowrap!important}.yst-overflow-ellipsis,.yst-text-ellipsis,.yst-truncate{text-overflow:ellipsis!important}.yst-whitespace-nowrap{white-space:nowrap!important}.yst-whitespace-pre-line{white-space:pre-line!important}.yst-rounded-md{border-radius:.375rem!important}.yst-rounded-full{border-radius:9999px!important}.yst-rounded-lg{border-radius:.5rem!important}.yst-rounded-3xl{border-radius:1.5rem!important}.yst-rounded-none{border-radius:0!important}.yst-rounded-xl{border-radius:.75rem!important}.yst-rounded-l-md{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}.yst-rounded-r-md{border-bottom-right-radius:.375rem!important;border-top-right-radius:.375rem!important}.yst-rounded-t-lg{border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important}.yst-rounded-b-lg{border-bottom-left-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.yst-rounded-br-none{border-bottom-right-radius:0!important}.yst-border{border-width:1px!important}.yst-border-2{border-width:2px!important}.yst-border-0{border-width:0!important}.yst-border-y{border-bottom-width:1px!important;border-top-width:1px!important}.yst-border-x-0{border-left-width:0!important;border-right-width:0!important}.yst-border-l{border-left-width:1px!important}.yst-border-b{border-bottom-width:1px!important}.yst-border-r{border-right-width:1px!important}.yst-border-t,.yst-border-t-\[1px\]{border-top-width:1px!important}.yst-border-solid{border-style:solid!important}.yst-border-dashed{border-style:dashed!important}.yst-border-none{border-style:none!important}.yst-border-slate-200{--tw-border-opacity:1!important;border-color:rgb(226 232 240/var(--tw-border-opacity))!important}.yst-border-transparent{border-color:#0000!important}.yst-border-white{--tw-border-opacity:1!important;border-color:rgb(255 255 255/var(--tw-border-opacity))!important}.yst-border-amber-300{--tw-border-opacity:1!important;border-color:rgb(252 211 77/var(--tw-border-opacity))!important}.yst-border-slate-300{--tw-border-opacity:1!important;border-color:rgb(203 213 225/var(--tw-border-opacity))!important}.yst-border-primary-500{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.yst-border-slate-100{--tw-border-opacity:1!important;border-color:rgb(241 245 249/var(--tw-border-opacity))!important}.yst-border-primary-300{--tw-border-opacity:1!important;border-color:rgb(205 130 171/var(--tw-border-opacity))!important}.yst-border-red-300{--tw-border-opacity:1!important;border-color:rgb(252 165 165/var(--tw-border-opacity))!important}.yst-border-red-500{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity))!important}.yst-border-emerald-600{--tw-border-opacity:1!important;border-color:rgb(5 150 105/var(--tw-border-opacity))!important}.yst-border-r-slate-200{--tw-border-opacity:1!important;border-right-color:rgb(226 232 240/var(--tw-border-opacity))!important}.yst-border-t-\[rgb\(0\,0\,0\,0\.2\)\]{border-top-color:#0003!important}.yst-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.yst-bg-slate-600{--tw-bg-opacity:1!important;background-color:rgb(71 85 105/var(--tw-bg-opacity))!important}.yst-bg-slate-100{--tw-bg-opacity:1!important;background-color:rgb(241 245 249/var(--tw-bg-opacity))!important}.yst-bg-slate-200{--tw-bg-opacity:1!important;background-color:rgb(226 232 240/var(--tw-bg-opacity))!important}.yst-bg-slate-50{--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.yst-bg-green-100{--tw-bg-opacity:1!important;background-color:rgb(220 252 231/var(--tw-bg-opacity))!important}.yst-bg-primary-500{--tw-bg-opacity:1!important;background-color:rgb(166 30 105/var(--tw-bg-opacity))!important}.yst-bg-black{--tw-bg-opacity:1!important;background-color:rgb(0 0 0/var(--tw-bg-opacity))!important}.yst-bg-transparent{background-color:initial!important}.yst-bg-slate-300{--tw-bg-opacity:1!important;background-color:rgb(203 213 225/var(--tw-bg-opacity))!important}.yst-bg-red-100{--tw-bg-opacity:1!important;background-color:rgb(254 226 226/var(--tw-bg-opacity))!important}.yst-bg-primary-600{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.yst-bg-blue-100{--tw-bg-opacity:1!important;background-color:rgb(219 234 254/var(--tw-bg-opacity))!important}.yst-bg-yellow-100{--tw-bg-opacity:1!important;background-color:rgb(254 249 195/var(--tw-bg-opacity))!important}.yst-bg-primary-200{--tw-bg-opacity:1!important;background-color:rgb(224 179 204/var(--tw-bg-opacity))!important}.yst-bg-opacity-75{--tw-bg-opacity:0.75!important}.yst-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))!important}.yst-from-\[\#EDD2E1\]{--tw-gradient-from:#edd2e1!important;--tw-gradient-to:#edd2e100!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important}.yst-stroke-3{stroke-width:3px!important}.yst-stroke-1{stroke-width:1!important}.yst-object-contain{object-fit:contain!important}.yst-object-cover{object-fit:cover!important}.yst-object-center{object-position:center!important}.yst-p-1{padding:.25rem!important}.yst-p-6{padding:1.5rem!important}.yst-p-4{padding:1rem!important}.yst-p-8{padding:2rem!important}.yst-p-0{padding:0!important}.yst-p-2\.5{padding:.625rem!important}.yst-p-2{padding:.5rem!important}.yst-p-10{padding:2.5rem!important}.yst-p-3{padding:.75rem!important}.yst-px-4{padding-left:1rem!important;padding-right:1rem!important}.yst-px-3{padding-left:.75rem!important;padding-right:.75rem!important}.yst-py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.yst-py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.yst-px-2{padding-left:.5rem!important;padding-right:.5rem!important}.yst-py-4{padding-bottom:1rem!important;padding-top:1rem!important}.yst-px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.yst-py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.yst-px-2\.5{padding-left:.625rem!important;padding-right:.625rem!important}.yst-py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.yst-px-0\.5{padding-left:.125rem!important;padding-right:.125rem!important}.yst-px-0{padding-left:0!important;padding-right:0!important}.yst-px-\[3px\]{padding-left:3px!important;padding-right:3px!important}.yst-py-\[3px\]{padding-bottom:3px!important;padding-top:3px!important}.yst-px-8{padding-left:2rem!important;padding-right:2rem!important}.yst-py-12{padding-bottom:3rem!important;padding-top:3rem!important}.yst-py-1\.5{padding-bottom:.375rem!important;padding-top:.375rem!important}.yst-px-11{padding-left:2.75rem!important;padding-right:2.75rem!important}.yst-pb-10{padding-bottom:2.5rem!important}.yst-pt-1{padding-top:.25rem!important}.yst-pb-1{padding-bottom:.25rem!important}.yst-pt-4{padding-top:1rem!important}.yst-pb-4{padding-bottom:1rem!important}.yst-pr-4{padding-right:1rem!important}.yst-pl-6{padding-left:1.5rem!important}.yst-pt-2{padding-top:.5rem!important}.yst-pl-\[1em\]{padding-left:1em!important}.yst-pb-6{padding-bottom:1.5rem!important}.yst-pb-8{padding-bottom:2rem!important}.yst-pt-6{padding-top:1.5rem!important}.yst-pl-2{padding-left:.5rem!important}.yst-pr-3{padding-right:.75rem!important}.yst-pb-2{padding-bottom:.5rem!important}.yst-pt-\[56\.25\%\]{padding-top:56.25%!important}.yst-pl-3{padding-left:.75rem!important}.yst-pr-2{padding-right:.5rem!important}.yst-pl-0{padding-left:0!important}.yst-pr-10{padding-right:2.5rem!important}.yst-pr-9{padding-right:2.25rem!important}.yst-text-left{text-align:left!important}.yst-text-center{text-align:center!important}.yst-align-middle{vertical-align:middle!important}.yst-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.yst-font-wp{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif!important}.yst-text-sm{font-size:.8125rem!important}.yst-text-4xl{font-size:2.25rem!important}.yst-text-2xl{font-size:1.5rem!important}.yst-text-base{font-size:1rem!important}.yst-text-tiny{font-size:.875rem!important}.yst-text-lg{font-size:1.125rem!important}.yst-text-xs{font-size:.75rem!important}.yst-text-xl{font-size:1.25rem!important}.yst-text-\[10px\]{font-size:10px!important}.yst-text-xxs{font-size:.675rem!important}.yst-font-medium{font-weight:500!important}.yst-font-semibold{font-weight:600!important}.yst-font-extrabold{font-weight:800!important}.yst-font-bold{font-weight:700!important}.yst-font-\[650\]{font-weight:650!important}.yst-font-light{font-weight:300!important}.yst-font-normal{font-weight:400!important}.yst-uppercase{text-transform:uppercase!important}.yst-italic{font-style:italic!important}.yst-leading-10{line-height:2.5rem!important}.yst-leading-6{line-height:1.5rem!important}.yst-leading-8{line-height:2rem!important}.yst-leading-5{line-height:1.25rem!important}.yst-leading-normal{line-height:1.5!important}.yst-leading-\[normal\]{line-height:normal!important}.yst-leading-tight{line-height:1.25!important}.yst-leading-4{line-height:1rem!important}.yst-tracking-tight{letter-spacing:-.025em!important}.yst-tracking-wide{letter-spacing:.025em!important}.yst-text-slate-800{--tw-text-opacity:1!important;color:rgb(30 41 59/var(--tw-text-opacity))!important}.yst-text-slate-400{--tw-text-opacity:1!important;color:rgb(148 163 184/var(--tw-text-opacity))!important}.yst-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.yst-text-slate-500{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.yst-text-slate-900{--tw-text-opacity:1!important;color:rgb(15 23 42/var(--tw-text-opacity))!important}.yst-text-slate-600{--tw-text-opacity:1!important;color:rgb(71 85 105/var(--tw-text-opacity))!important}.yst-text-primary-500{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.yst-text-gray-900{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.yst-text-gray-500{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity))!important}.yst-text-green-600{--tw-text-opacity:1!important;color:rgb(22 163 74/var(--tw-text-opacity))!important}.yst-text-gray-400{--tw-text-opacity:1!important;color:rgb(156 163 175/var(--tw-text-opacity))!important}.yst-text-indigo-600{--tw-text-opacity:1!important;color:rgb(79 70 229/var(--tw-text-opacity))!important}.yst-text-\[\#555\]{--tw-text-opacity:1!important;color:rgb(85 85 85/var(--tw-text-opacity))!important}.yst-text-amber-300{--tw-text-opacity:1!important;color:rgb(252 211 77/var(--tw-text-opacity))!important}.yst-text-slate-700{--tw-text-opacity:1!important;color:rgb(51 65 85/var(--tw-text-opacity))!important}.yst-text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.yst-text-green-400{--tw-text-opacity:1!important;color:rgb(74 222 128/var(--tw-text-opacity))!important}.yst-text-\[\#111827\]{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.yst-text-yellow-900{--tw-text-opacity:1!important;color:rgb(113 63 18/var(--tw-text-opacity))!important}.yst-text-amber-500{--tw-text-opacity:1!important;color:rgb(245 158 11/var(--tw-text-opacity))!important}.yst-text-red-600{--tw-text-opacity:1!important;color:rgb(220 38 38/var(--tw-text-opacity))!important}.yst-text-blue-500{--tw-text-opacity:1!important;color:rgb(59 130 246/var(--tw-text-opacity))!important}.yst-text-blue-800{--tw-text-opacity:1!important;color:rgb(30 64 175/var(--tw-text-opacity))!important}.yst-text-yellow-500{--tw-text-opacity:1!important;color:rgb(234 179 8/var(--tw-text-opacity))!important}.yst-text-yellow-800{--tw-text-opacity:1!important;color:rgb(133 77 14/var(--tw-text-opacity))!important}.yst-text-red-800{--tw-text-opacity:1!important;color:rgb(153 27 27/var(--tw-text-opacity))!important}.yst-text-emerald-600{--tw-text-opacity:1!important;color:rgb(5 150 105/var(--tw-text-opacity))!important}.yst-text-green-800{--tw-text-opacity:1!important;color:rgb(22 101 52/var(--tw-text-opacity))!important}.yst-text-red-900{--tw-text-opacity:1!important;color:rgb(127 29 29/var(--tw-text-opacity))!important}.yst-underline{-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.yst-line-through{-webkit-text-decoration-line:line-through!important;text-decoration-line:line-through!important}.yst-no-underline{-webkit-text-decoration-line:none!important;text-decoration-line:none!important}.yst-subpixel-antialiased{-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.yst-placeholder-slate-500::placeholder{--tw-placeholder-opacity:1!important;color:rgb(100 116 139/var(--tw-placeholder-opacity))!important}.yst-opacity-0{opacity:0!important}.yst-opacity-100{opacity:1!important}.yst-opacity-25{opacity:.25!important}.yst-opacity-75{opacity:.75!important}.yst-opacity-50{opacity:.5!important}.yst-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a!important;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)!important}.yst-shadow,.yst-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important}.yst-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a!important;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)!important}.yst-shadow-md,.yst-shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)!important}.yst-shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important}.yst-shadow-none,.yst-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.yst-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d!important;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)!important}.yst-shadow-amber-700\/30{--tw-shadow-color:#b453094d!important;--tw-shadow:var(--tw-shadow-colored)!important}.yst-outline-none{outline:2px solid #0000!important;outline-offset:2px!important}.yst-ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.yst-ring-gray-200{--tw-ring-opacity:1!important;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))!important}.yst-ring-black{--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))!important}.yst-ring-opacity-5{--tw-ring-opacity:0.05!important}.yst-ring-offset-2{--tw-ring-offset-width:2px!important}.yst-ring-offset-primary-500{--tw-ring-offset-color:#a61e69!important}.yst-drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)!important}.yst-drop-shadow-md,.yst-grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.yst-grayscale{--tw-grayscale:grayscale(100%)!important}.yst-filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.yst-transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-colors{transition-duration:.15s!important;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-transform{transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-transition-\[width\]{transition-duration:.15s!important;transition-property:width!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-delay-200{transition-delay:.2s!important}.yst-delay-\[900ms\]{transition-delay:.9s!important}.yst-delay-100{transition-delay:.1s!important}.yst-duration-1000{transition-duration:1s!important}.yst-duration-200{transition-duration:.2s!important}.yst-duration-300{transition-duration:.3s!important}.yst-duration-150{transition-duration:.15s!important}.yst-duration-100{transition-duration:.1s!important}.yst-duration-75{transition-duration:75ms!important}.yst-duration-500{transition-duration:.5s!important}.yst-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.yst-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)!important}.yst-ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)!important}.yst-ease-linear{transition-timing-function:linear!important}.odd\:yst-bg-white:nth-child(odd){--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.even\:yst-bg-slate-50:nth-child(2n){--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.focus-within\:yst-border-primary-500:focus-within{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.focus-within\:yst-outline-none:focus-within{outline:2px solid #0000!important;outline-offset:2px!important}.focus-within\:yst-ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus-within\:yst-ring-primary-500:focus-within{--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important}.hover\:yst-bg-slate-50:hover{--tw-bg-opacity:1!important;background-color:rgb(248 250 252/var(--tw-bg-opacity))!important}.hover\:yst-bg-gray-50:hover{--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}.hover\:yst-bg-\[\#f0f0f0\]:hover{--tw-bg-opacity:1!important;background-color:rgb(240 240 240/var(--tw-bg-opacity))!important}.hover\:yst-bg-white:hover{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.hover\:yst-bg-primary-600:hover{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.hover\:yst-text-slate-500:hover{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.hover\:yst-text-slate-900:hover{--tw-text-opacity:1!important;color:rgb(15 23 42/var(--tw-text-opacity))!important}.hover\:yst-text-slate-800:hover{--tw-text-opacity:1!important;color:rgb(30 41 59/var(--tw-text-opacity))!important}.hover\:yst-text-white:hover{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.hover\:yst-text-primary-500:hover{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.hover\:yst-underline:hover{-webkit-text-decoration-line:underline!important;text-decoration-line:underline!important}.focus\:yst-border-primary-500:focus{--tw-border-opacity:1!important;border-color:rgb(166 30 105/var(--tw-border-opacity))!important}.focus\:yst-border-red-500:focus{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity))!important}.focus\:yst-border-emerald-600:focus{--tw-border-opacity:1!important;border-color:rgb(5 150 105/var(--tw-border-opacity))!important}.focus\:yst-bg-primary-600:focus{--tw-bg-opacity:1!important;background-color:rgb(154 22 96/var(--tw-bg-opacity))!important}.focus\:yst-text-white:focus{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.focus\:yst-text-primary-500:focus{--tw-text-opacity:1!important;color:rgb(166 30 105/var(--tw-text-opacity))!important}.focus\:yst-shadow-\[0_0_3px_rgba\(8\2c 74\2c 103\2c 0\.8\)\]:focus{--tw-shadow:0 0 3px #084a67cc!important;--tw-shadow-colored:0 0 3px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.focus\:yst-outline-none:focus{outline:2px solid #0000!important;outline-offset:2px!important}.focus\:yst-outline:focus{outline-style:solid!important}.focus\:yst-outline-\[1px\]:focus{outline-width:1px!important}.focus\:-yst-outline-offset-1:focus{outline-offset:-1px!important}.focus\:yst-outline-\[color\:\#0066cd\]:focus{outline-color:#0066cd!important}.focus\:yst-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.focus\:yst-ring-1:focus,.focus\:yst-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus\:yst-ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.focus\:yst-ring-inset:focus{--tw-ring-inset:inset!important}.focus\:yst-ring-primary-500:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(166 30 105/var(--tw-ring-opacity))!important}.focus\:yst-ring-white:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))!important}.focus\:yst-ring-red-500:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))!important}.focus\:yst-ring-emerald-600:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(5 150 105/var(--tw-ring-opacity))!important}.focus\:yst-ring-offset-2:focus{--tw-ring-offset-width:2px!important}.focus\:yst-ring-offset-1:focus{--tw-ring-offset-width:1px!important}.focus\:yst-ring-offset-transparent:focus{--tw-ring-offset-color:#0000!important}.focus\:yst-ring-offset-primary-500:focus{--tw-ring-offset-color:#a61e69!important}.yst-group:hover .group-hover\:yst-bg-primary-500{--tw-bg-opacity:1!important;background-color:rgb(166 30 105/var(--tw-bg-opacity))!important}.yst-group:hover .group-hover\:yst-bg-primary-200{--tw-bg-opacity:1!important;background-color:rgb(224 179 204/var(--tw-bg-opacity))!important}.yst-group:hover .group-hover\:yst-text-slate-500{--tw-text-opacity:1!important;color:rgb(100 116 139/var(--tw-text-opacity))!important}.yst-group:hover .group-hover\:yst-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.yst-group:hover .group-hover\:yst-text-primary-800{--tw-text-opacity:1!important;color:rgb(131 8 78/var(--tw-text-opacity))!important}[dir=rtl] .rtl\:yst-rotate-180{--tw-rotate:180deg!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@media not all and (min-width:640px){.max-sm\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}}@media (min-width:640px){.sm\:yst-mx-0{margin-left:0!important;margin-right:0!important}.sm\:yst-mb-0{margin-bottom:0!important}.sm\:yst-ml-3{margin-left:.75rem!important}.sm\:yst-mt-0{margin-top:0!important}.sm\:yst-ml-4{margin-left:1rem!important}.sm\:yst-flex{display:flex!important}.sm\:yst-h-10{height:2.5rem!important}.sm\:yst-w-auto{width:auto!important}.sm\:yst-w-10{width:2.5rem!important}.sm\:yst-translate-y-0{--tw-translate-y:0px!important}.sm\:yst-scale-95,.sm\:yst-translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.sm\:yst-scale-95{--tw-scale-x:.95!important;--tw-scale-y:.95!important}.sm\:yst-scale-100{--tw-scale-x:1!important;--tw-scale-y:1!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.sm\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sm\:yst-flex-row-reverse{flex-direction:row-reverse!important}.sm\:yst-items-start{align-items:flex-start!important}.sm\:yst-text-left{text-align:left!important}.sm\:yst-text-sm{font-size:.8125rem!important}}@media (min-width:768px){.md\:yst-absolute{position:absolute!important}.md\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.md\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.md\:yst-flex-row{flex-direction:row!important}}@media (min-width:783px){.min-\[783px\]\:yst-block{display:block!important}.min-\[783px\]\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.min-\[783px\]\:yst-p-8{padding:2rem!important}}@media (min-width:1024px){.lg\:yst-col-span-2{grid-column:span 2/span 2!important}.lg\:yst-mt-0{margin-top:0!important}.lg\:yst-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lg\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.lg\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lg\:yst-gap-12{gap:3rem!important}}@media (min-width:1280px){.xl\:yst-fixed{position:fixed!important}.xl\:yst-right-8{right:2rem!important}.xl\:yst-col-span-2{grid-column:span 2/span 2!important}.xl\:yst-mb-0{margin-bottom:0!important}.xl\:yst-mt-0{margin-top:0!important}.xl\:yst-w-\[16rem\]{width:16rem!important}.xl\:yst-max-w-3xl{max-width:48rem!important}.xl\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.xl\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.xl\:yst-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.xl\:yst-gap-12{gap:3rem!important}.xl\:yst-pr-\[17\.5rem\]{padding-right:17.5rem!important}}@media (min-width:1536px){.\32xl\:yst-col-span-2{grid-column:span 2/span 2!important}.\32xl\:yst-mt-0{margin-top:0!important}.\32xl\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.\32xl\:yst-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.\32xl\:yst-gap-12{gap:3rem!important}}@media (min-width:1800px){.min-\[1800px\]\:yst-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}} \ No newline at end of file diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/tooltips-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/tooltips-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/tooltips-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/tooltips-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/tooltips-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/tooltips-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/tooltips-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/tooltips-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/workouts-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/workouts-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/workouts-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/workouts-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/workouts-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/workouts-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/workouts-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/workouts-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2210-rtl.css b/wp/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2230-rtl.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2210-rtl.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2230-rtl.css diff --git a/wp/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2210.css b/wp/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2230.css similarity index 100% rename from wp/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2210.css rename to wp/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2230.css diff --git a/wp/wp-content/plugins/wordpress-seo/inc/options/class-wpseo-option-social.php b/wp/wp-content/plugins/wordpress-seo/inc/options/class-wpseo-option-social.php index 90a7fc28..6eef17ab 100644 --- a/wp/wp-content/plugins/wordpress-seo/inc/options/class-wpseo-option-social.php +++ b/wp/wp-content/plugins/wordpress-seo/inc/options/class-wpseo-option-social.php @@ -285,7 +285,7 @@ class WPSEO_Option_Social extends WPSEO_Option { return $twitter_id; } - if ( preg_match( '`^http(?:s)?://(?:www\.)?twitter\.com/(?P[A-Za-z0-9_]{1,25})/?$`', $twitter_id, $matches ) ) { + if ( preg_match( '`^http(?:s)?://(?:www\.)?(?:twitter|x)\.com/(?P[A-Za-z0-9_]{1,25})/?$`', $twitter_id, $matches ) ) { return $matches['handle']; } diff --git a/wp/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-router.php b/wp/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-router.php index e91f902c..8b923146 100644 --- a/wp/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-router.php +++ b/wp/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-router.php @@ -44,9 +44,9 @@ class WPSEO_Sitemaps_Router { /** * Adds query variables for sitemaps. * - * @param array $query_vars List of query variables to filter. + * @param array $query_vars List of query variables to filter. * - * @return array Filtered query variables. + * @return array Filtered query variables. */ public function add_query_vars( $query_vars ) { $query_vars[] = 'sitemap'; @@ -108,7 +108,8 @@ class WPSEO_Sitemaps_Router { global $wp_query; $protocol = 'http://'; - if ( ! empty( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] === 'on' ) { + // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash,WordPress.Security.ValidatedSanitizedInput.InputNotSanitized + if ( ! empty( $_SERVER['HTTPS'] ) && strtolower( $_SERVER['HTTPS'] ) === 'on' ) { $protocol = 'https://'; } diff --git a/wp/wp-content/plugins/wordpress-seo/js/dist/elementor.js b/wp/wp-content/plugins/wordpress-seo/js/dist/elementor.js index 6303a1d8..0537d24c 100644 --- a/wp/wp-content/plugins/wordpress-seo/js/dist/elementor.js +++ b/wp/wp-content/plugins/wordpress-seo/js/dist/elementor.js @@ -1,6 +1,6 @@ -(()=>{var e={139:e=>{"use strict";function t(e){return function(){return e}}var s=function(){};s.thatReturns=t,s.thatReturnsFalse=t(!1),s.thatReturnsTrue=t(!0),s.thatReturnsNull=t(null),s.thatReturnsThis=function(){return this},s.thatReturnsArgument=function(e){return e},e.exports=s},3759:e=>{"use strict";e.exports=function(e,t,s,a,r,n,o,i){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[s,a,r,n,o,i],d=0;(l=new Error(t.replace(/%s/g,(function(){return c[d++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},3620:(e,t,s)=>{"use strict";var a=s(139);e.exports=a},6746:(e,t,s)=>{"use strict";var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=i(s(9196)),n=i(s(9156)),o=i(s(6743));function i(e){return e&&e.__esModule?e:{default:e}}var l=void 0;function c(e,t){var s,o,i,d,p,u,m,h,g=[],y={};for(u=0;u "+l);if("componentClose"===p.type)throw new Error("Missing opening component token: `"+p.value+"`");if("componentOpen"===p.type){s=t[p.value],i=u;break}g.push(t[p.value])}else g.push(p.value);return s&&(d=function(e,t){var s,a,r=t[e],n=0;for(a=e+1;a{"use strict";function t(e){return e.match(/^\{\{\//)?{type:"componentClose",value:e.replace(/\W/g,"")}:e.match(/\/\}\}$/)?{type:"componentSelfClosing",value:e.replace(/\W/g,"")}:e.match(/^\{\{/)?{type:"componentOpen",value:e.replace(/\W/g,"")}:{type:"string",value:e}}e.exports=function(e){return e.split(/(\{\{\/?\s*\w+\s*\/?\}\})/g).map(t)}},9156:(e,t,s)=>{"use strict";var a=s(9196),r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,n=s(139),o=s(3759),i=s(3620),l=".",c=":",d="function"==typeof Symbol&&Symbol.iterator,p="@@iterator";function u(e,t){return e&&"object"==typeof e&&null!=e.key?(s=e.key,a={"=":"=0",":":"=2"},"$"+(""+s).replace(/[=:]/g,(function(e){return a[e]}))):t.toString(36);var s,a}function m(e,t,s,a){var n,i=typeof e;if("undefined"!==i&&"boolean"!==i||(e=null),null===e||"string"===i||"number"===i||"object"===i&&e.$$typeof===r)return s(a,e,""===t?l+u(e,0):t),1;var h=0,g=""===t?l:t+c;if(Array.isArray(e))for(var y=0;y{var s;!function(){"use strict";var a={}.hasOwnProperty;function r(){for(var e=[],t=0;t{"use strict";e.exports=window.React}},t={};function s(a){var r=t[a];if(void 0!==r)return r.exports;var n=t[a]={exports:{}};return e[a](n,n.exports,s),n.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e={};s.r(e),s.d(e,{DISMISS_ALERT:()=>Me,SNIPPET_EDITOR_FIND_CUSTOM_FIELDS:()=>Oe,wistiaEmbedPermission:()=>Fe});var t={};s.r(t),s.d(t,{loadSnippetEditorData:()=>Be,updateData:()=>Ue});var a={};s.r(a),s.d(a,{getAnalysisData:()=>it});var r={};s.r(r),s.d(r,{authorFirstName:()=>ht,authorLastName:()=>gt,category:()=>bt,categoryTitle:()=>Et,currentDate:()=>yt,currentDay:()=>ft,currentMonth:()=>wt,currentYear:()=>vt,date:()=>_t,excerpt:()=>kt,focusKeyphrase:()=>xt,id:()=>Tt,modified:()=>St,name:()=>Rt,page:()=>Ct,pageNumber:()=>It,pageTotal:()=>Lt,permalink:()=>Pt,postContent:()=>At,postDay:()=>Mt,postMonth:()=>Ot,postTypeNamePlural:()=>Dt,postTypeNameSingular:()=>Nt,postYear:()=>Ft,primaryCategory:()=>qt,searchPhrase:()=>$t,separator:()=>Ut,siteDescription:()=>Bt,siteName:()=>Wt,tag:()=>zt,term404:()=>Kt,termDescription:()=>Ht,termHierarchy:()=>Yt,termTitle:()=>jt,title:()=>Vt,userDescription:()=>Gt});const n=window.wp.data,o=window.wp.hooks,i=window.wp.apiFetch;var l=s.n(i);async function c(e,t,s,a=200){try{const r=await e();return!!r&&(r.status===a?t(r):s(r))}catch(e){}}async function d(e){try{return await l()(e)}catch(e){return e.error&&e.status?e:e instanceof window.Response&&await e.json()}}const p=async()=>await c((async()=>await g()),(e=>e),(()=>!1)),u="wordproof/v1",m=async e=>{const{state:t,code:s}=e;return await d({path:`${u}/oauth/authenticate`,method:"POST",data:{state:t,code:s}})},h=async e=>{const{settings:t}=e;return await d({path:`${u}/settings`,method:"POST",data:{settings:t}})},g=async()=>await d({path:`${u}/oauth/destroy`,method:"POST"}),y=async e=>d({path:`${u}/posts/${e}/timestamp`,method:"POST"}),{get:f}=lodash,w=(e,t={})=>f(window,"wordproofSdk.data"+(e?`.${e}`:""),t),b=window.yoast.propTypes;var E=s.n(b);function v(e){const t=new window.CustomEvent(e);window.dispatchEvent(t)}const _=e=>{const{response:t,createSuccessNotice:s,createErrorNotice:a,postId:r}=e;if(null===t||200===t.status)return;const n={id:"wordproof-timestamp-notice"};t&&201===t.status?0===t.balance?(n.actions=[{label:w("translations.open_settings_button_text"),onClick:()=>{v("wordproof:open_settings")},variant:"link"}],a(w("translations.no_balance"),n)):(s(w("translations.timestamp_success"),{type:"snackbar",id:"wordproof-timestamp-notice"}),k(r,t.hash,a,n)):t.error&&("not_authenticated"===t.error?(n.type="snackbar",n.actions=[{label:w("translations.open_authentication_button_text"),onClick:()=>{v("wordproof:open_authentication")},variant:"link"}],a(w("translations.not_authenticated"),n)):a(w("translations.timestamp_failed"),n))},k=async(e,t,s,a)=>{setTimeout((async()=>{const r=await(async e=>d({path:`${u}/posts/${e}/timestamp/transaction/latest`,method:"GET"}))(e);r.hash!==t&&(a.type="snackbar",s(w("translations.webhook_failed"),a))}),1e4)};_.proptypes={timestampResponse:E().any.isRequired,createSuccessNotice:E().func.isRequired,createErrorNotice:E().func.isRequired,postId:E().number.isRequired};const{debounce:x}=lodash,{applyFilters:T}=wp.hooks,{dispatch:S}=wp.data;$e.modules.hookUI.Base;class R extends $e.modules.hookData.Base{constructor(e,t,s){super(),this.hook=e,this.id=t,this.callback=s}getCommand(){return this.hook}getId(){return this.id}apply(){return this.callback()}}function C(e,t){let s=null;t.actions&&(s=[],t.actions.forEach((e=>{s.push({name:"wordproof_notice_button",text:e.label,callback(){e.onClick()}})}))),window.elementor.notifications.showToast({message:e,buttons:s})}function I(e){!function(e,t,s){$e&&$e.hooks.registerDataAfter(new R("document/save/save","wordproof/timestamper",s))}(0,0,(()=>{window.setTimeout(e,1e3)}))}var L=s(9196),P=s.n(L);const A=window.wp.components,M=window.wp.element,O=window.wp.i18n,F=window.yoast.uiLibrary;E().string.isRequired;const D=L.forwardRef((function(e,t){return L.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),L.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"}))})),N=L.forwardRef((function(e,t){return L.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),L.createElement("path",{fillRule:"evenodd",d:"M12.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-2.293-2.293a1 1 0 010-1.414z",clipRule:"evenodd"}))})),q=({learnMoreLink:e,thumbnail:t,wistiaEmbedPermission:s,upsellLink:a,isProductCopy:r,title:n,upsellLabel:o,newToText:i,bundleNote:l})=>{const{onClose:c,initialFocus:d}=(0,F.useModalContext)(),p={a:(0,L.createElement)(W,{href:e,className:"yst-inline-flex yst-items-center yst-gap-1 yst-no-underline yst-font-medium",variant:"primary"}),ArrowNarrowRightIcon:(0,L.createElement)(N,{className:"yst-w-4 yst-h-4 rtl:yst-rotate-180"})};return(0,L.createElement)("div",{className:"yst-flex yst-flex-col yst-items-center yst-p-10"},(0,L.createElement)("div",{className:"yst-relative yst-w-full"},(0,L.createElement)(he,{videoId:"vmrahpfjxp",thumbnail:t,wistiaEmbedPermission:s}),(0,L.createElement)(F.Badge,{className:"yst-absolute yst-top-0 yst-right-2 yst-mt-2 yst-ml-2",variant:"info"},"Beta")),(0,L.createElement)("div",{className:"yst-mt-6 yst-text-xs yst-font-medium"},(0,L.createElement)("span",{className:"yst-introduction-modal-uppercase"},i)),(0,L.createElement)("div",{className:"yst-mt-4 yst-mx-1.5 yst-text-center"},(0,L.createElement)("h3",{className:"yst-text-slate-900 yst-text-lg yst-font-medium"},n),(0,L.createElement)("div",{className:"yst-mt-2 yst-text-slate-600 yst-text-sm"},r?(0,M.createInterpolateElement)((0,O.sprintf)(/* translators: %1$s and %2$s are anchor tag; %3$s is the arrow icon. */ -(0,O.__)("Let AI do some of the thinking for you and help you save time. Get high-quality suggestions for product titles and meta descriptions to make your pages rank high and make you look good on social media. %1$sLearn more%2$s%3$s","wordpress-seo"),"","",""),p):(0,M.createInterpolateElement)((0,O.sprintf)(/* translators: %1$s and %2$s are anchor tag; %3$s is the arrow icon. */ -(0,O.__)("Let AI do some of the thinking for you and help you save time. Get high-quality suggestions for titles and meta descriptions to make your pages rank high and make you look good on social media. %1$sLearn more%2$s%3$s","wordpress-seo"),"","",""),p))),(0,L.createElement)("div",{className:"yst-w-full yst-flex yst-mt-10"},(0,L.createElement)(F.Button,{as:"a",className:"yst-grow",size:"large",variant:"upsell",href:a,target:"_blank",ref:d},(0,L.createElement)(D,{className:"yst--ml-1 yst-mr-2 yst-h-5 yst-w-5"}),o,(0,L.createElement)("span",{className:"yst-sr-only"},/* translators: Hidden accessibility text. */ +(()=>{var e={139:e=>{"use strict";function t(e){return function(){return e}}var s=function(){};s.thatReturns=t,s.thatReturnsFalse=t(!1),s.thatReturnsTrue=t(!0),s.thatReturnsNull=t(null),s.thatReturnsThis=function(){return this},s.thatReturnsArgument=function(e){return e},e.exports=s},3759:e=>{"use strict";e.exports=function(e,t,s,a,r,n,o,i){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[s,a,r,n,o,i],d=0;(l=new Error(t.replace(/%s/g,(function(){return c[d++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},3620:(e,t,s)=>{"use strict";var a=s(139);e.exports=a},6746:(e,t,s)=>{"use strict";var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=i(s(9196)),n=i(s(9156)),o=i(s(6743));function i(e){return e&&e.__esModule?e:{default:e}}var l=void 0;function c(e,t){var s,o,i,d,p,u,m,h,g=[],y={};for(u=0;u "+l);if("componentClose"===p.type)throw new Error("Missing opening component token: `"+p.value+"`");if("componentOpen"===p.type){s=t[p.value],i=u;break}g.push(t[p.value])}else g.push(p.value);return s&&(d=function(e,t){var s,a,r=t[e],n=0;for(a=e+1;a{"use strict";function t(e){return e.match(/^\{\{\//)?{type:"componentClose",value:e.replace(/\W/g,"")}:e.match(/\/\}\}$/)?{type:"componentSelfClosing",value:e.replace(/\W/g,"")}:e.match(/^\{\{/)?{type:"componentOpen",value:e.replace(/\W/g,"")}:{type:"string",value:e}}e.exports=function(e){return e.split(/(\{\{\/?\s*\w+\s*\/?\}\})/g).map(t)}},9156:(e,t,s)=>{"use strict";var a=s(9196),r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,n=s(139),o=s(3759),i=s(3620),l=".",c=":",d="function"==typeof Symbol&&Symbol.iterator,p="@@iterator";function u(e,t){return e&&"object"==typeof e&&null!=e.key?(s=e.key,a={"=":"=0",":":"=2"},"$"+(""+s).replace(/[=:]/g,(function(e){return a[e]}))):t.toString(36);var s,a}function m(e,t,s,a){var n,i=typeof e;if("undefined"!==i&&"boolean"!==i||(e=null),null===e||"string"===i||"number"===i||"object"===i&&e.$$typeof===r)return s(a,e,""===t?l+u(e,0):t),1;var h=0,g=""===t?l:t+c;if(Array.isArray(e))for(var y=0;y{var s;!function(){"use strict";var a={}.hasOwnProperty;function r(){for(var e=[],t=0;t{"use strict";e.exports=window.React}},t={};function s(a){var r=t[a];if(void 0!==r)return r.exports;var n=t[a]={exports:{}};return e[a](n,n.exports,s),n.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e={};s.r(e),s.d(e,{DISMISS_ALERT:()=>Me,SNIPPET_EDITOR_FIND_CUSTOM_FIELDS:()=>Oe,wistiaEmbedPermission:()=>Fe});var t={};s.r(t),s.d(t,{loadSnippetEditorData:()=>Be,updateData:()=>Ue});var a={};s.r(a),s.d(a,{getAnalysisData:()=>it});var r={};s.r(r),s.d(r,{authorFirstName:()=>ht,authorLastName:()=>gt,category:()=>bt,categoryTitle:()=>Et,currentDate:()=>yt,currentDay:()=>ft,currentMonth:()=>wt,currentYear:()=>vt,date:()=>_t,excerpt:()=>kt,focusKeyphrase:()=>xt,id:()=>Tt,modified:()=>St,name:()=>Rt,page:()=>Ct,pageNumber:()=>It,pageTotal:()=>Lt,permalink:()=>Pt,postContent:()=>At,postDay:()=>Mt,postMonth:()=>Ot,postTypeNamePlural:()=>Dt,postTypeNameSingular:()=>Nt,postYear:()=>Ft,primaryCategory:()=>qt,searchPhrase:()=>$t,separator:()=>Ut,siteDescription:()=>Bt,siteName:()=>Wt,tag:()=>zt,term404:()=>Kt,termDescription:()=>Ht,termHierarchy:()=>Yt,termTitle:()=>jt,title:()=>Vt,userDescription:()=>Gt});const n=window.wp.data,o=window.wp.hooks,i=window.wp.apiFetch;var l=s.n(i);async function c(e,t,s,a=200){try{const r=await e();return!!r&&(r.status===a?t(r):s(r))}catch(e){}}async function d(e){try{return await l()(e)}catch(e){return e.error&&e.status?e:e instanceof window.Response&&await e.json()}}const p=async()=>await c((async()=>await g()),(e=>e),(()=>!1)),u="wordproof/v1",m=async e=>{const{state:t,code:s}=e;return await d({path:`${u}/oauth/authenticate`,method:"POST",data:{state:t,code:s}})},h=async e=>{const{settings:t}=e;return await d({path:`${u}/settings`,method:"POST",data:{settings:t}})},g=async()=>await d({path:`${u}/oauth/destroy`,method:"POST"}),y=async e=>d({path:`${u}/posts/${e}/timestamp`,method:"POST"}),{get:f}=lodash,w=(e,t={})=>f(window,"wordproofSdk.data"+(e?`.${e}`:""),t),b=window.yoast.propTypes;var E=s.n(b);function v(e){const t=new window.CustomEvent(e);window.dispatchEvent(t)}const _=e=>{const{response:t,createSuccessNotice:s,createErrorNotice:a,postId:r}=e;if(null===t||200===t.status)return;const n={id:"wordproof-timestamp-notice"};t&&201===t.status?0===t.balance?(n.actions=[{label:w("translations.open_settings_button_text"),onClick:()=>{v("wordproof:open_settings")},variant:"link"}],a(w("translations.no_balance"),n)):(s(w("translations.timestamp_success"),{type:"snackbar",id:"wordproof-timestamp-notice"}),k(r,t.hash,a,n)):t.error&&("not_authenticated"===t.error?(n.type="snackbar",n.actions=[{label:w("translations.open_authentication_button_text"),onClick:()=>{v("wordproof:open_authentication")},variant:"link"}],a(w("translations.not_authenticated"),n)):a(w("translations.timestamp_failed"),n))},k=async(e,t,s,a)=>{setTimeout((async()=>{const r=await(async e=>d({path:`${u}/posts/${e}/timestamp/transaction/latest`,method:"GET"}))(e);r.hash!==t&&(a.type="snackbar",s(w("translations.webhook_failed"),a))}),1e4)};_.proptypes={timestampResponse:E().any.isRequired,createSuccessNotice:E().func.isRequired,createErrorNotice:E().func.isRequired,postId:E().number.isRequired};const{debounce:x}=lodash,{applyFilters:T}=wp.hooks,{dispatch:S}=wp.data;$e.modules.hookUI.Base;class R extends $e.modules.hookData.Base{constructor(e,t,s){super(),this.hook=e,this.id=t,this.callback=s}getCommand(){return this.hook}getId(){return this.id}apply(){return this.callback()}}function C(e,t){let s=null;t.actions&&(s=[],t.actions.forEach((e=>{s.push({name:"wordproof_notice_button",text:e.label,callback(){e.onClick()}})}))),window.elementor.notifications.showToast({message:e,buttons:s})}function I(e){!function(e,t,s){$e&&$e.hooks.registerDataAfter(new R("document/save/save","wordproof/timestamper",s))}(0,0,(()=>{window.setTimeout(e,1e3)}))}var L=s(9196),P=s.n(L);const A=window.wp.components,M=window.wp.element,O=window.wp.i18n,F=window.yoast.uiLibrary;E().string.isRequired;const D=L.forwardRef((function(e,t){return L.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),L.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"}))})),N=L.forwardRef((function(e,t){return L.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),L.createElement("path",{fillRule:"evenodd",d:"M12.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-2.293-2.293a1 1 0 010-1.414z",clipRule:"evenodd"}))})),q=({learnMoreLink:e,thumbnail:t,wistiaEmbedPermission:s,upsellLink:a,isProductCopy:r,title:n,upsellLabel:o,newToText:i,bundleNote:l})=>{const{onClose:c,initialFocus:d}=(0,F.useModalContext)(),p={a:(0,L.createElement)(W,{href:e,className:"yst-inline-flex yst-items-center yst-gap-1 yst-no-underline yst-font-medium",variant:"primary"}),ArrowNarrowRightIcon:(0,L.createElement)(N,{className:"yst-w-4 yst-h-4 rtl:yst-rotate-180"})};return(0,L.createElement)("div",{className:"yst-flex yst-flex-col yst-items-center yst-p-10"},(0,L.createElement)("div",{className:"yst-relative yst-w-full"},(0,L.createElement)(he,{videoId:"vmrahpfjxp",thumbnail:t,wistiaEmbedPermission:s}),(0,L.createElement)(F.Badge,{className:"yst-absolute yst-top-0 yst-right-2 yst-mt-2 yst-ml-2",variant:"info"},"Beta")),(0,L.createElement)("div",{className:"yst-mt-6 yst-text-xs yst-font-medium"},(0,L.createElement)("span",{className:"yst-introduction-modal-uppercase"},i)),(0,L.createElement)("div",{className:"yst-mt-4 yst-mx-1.5 yst-text-center"},(0,L.createElement)("h3",{className:"yst-text-slate-900 yst-text-lg yst-font-medium"},n),(0,L.createElement)("div",{className:"yst-mt-2 yst-text-slate-600 yst-text-sm"},r?(0,M.createInterpolateElement)((0,O.sprintf)(/* translators: %1$s and %2$s are anchor tags; %3$s is the arrow icon. */ +(0,O.__)("Let AI do some of the thinking for you and help you save time. Get high-quality suggestions for product titles and meta descriptions to make your content rank high and look good on social media. %1$sLearn more%2$s%3$s","wordpress-seo"),"","",""),p):(0,M.createInterpolateElement)((0,O.sprintf)(/* translators: %1$s and %2$s are anchor tags; %3$s is the arrow icon. */ +(0,O.__)("Let AI do some of the thinking for you and help you save time. Get high-quality suggestions for titles and meta descriptions to make your content rank high and look good on social media. %1$sLearn more%2$s%3$s","wordpress-seo"),"","",""),p))),(0,L.createElement)("div",{className:"yst-w-full yst-flex yst-mt-10"},(0,L.createElement)(F.Button,{as:"a",className:"yst-grow",size:"extra-large",variant:"upsell",href:a,target:"_blank",ref:d},(0,L.createElement)(D,{className:"yst--ml-1 yst-mr-2 yst-h-5 yst-w-5"}),o,(0,L.createElement)("span",{className:"yst-sr-only"},/* translators: Hidden accessibility text. */ (0,O.__)("(Opens in a new browser tab)","wordpress-seo")))),l,(0,L.createElement)(F.Button,{as:"a",className:"yst-mt-4",variant:"tertiary",onClick:c},(0,O.__)("Close","wordpress-seo")))};q.propTypes={learnMoreLink:E().string.isRequired,upsellLink:E().string.isRequired,thumbnail:E().shape({src:E().string.isRequired,width:E().string,height:E().string}).isRequired,wistiaEmbedPermission:E().shape({value:E().bool.isRequired,status:E().string.isRequired,set:E().func.isRequired}).isRequired,title:E().string,upsellLabel:E().string,newToText:E().string,isProductCopy:E().bool,bundleNote:E().oneOfType([E().string,E().element])},q.defaultProps={title:(0,O.__)("Use AI to write your titles & meta descriptions!","wordpress-seo"),upsellLabel:(0,O.sprintf)(/* translators: %1$s expands to Yoast SEO Premium. */ (0,O.__)("Unlock with %1$s","wordpress-seo"),"Yoast SEO Premium"),newToText:(0,O.sprintf)(/* translators: %1$s expands to Yoast SEO Premium. */ (0,O.__)("New in %1$s","wordpress-seo"),"Yoast SEO Premium"),isProductCopy:!1,bundleNote:""};var $;function U(){return U=Object.assign?Object.assign.bind():function(e){for(var t=1;tL.createElement("svg",U({xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",viewBox:"0 0 1000 1000"},e),$||($=L.createElement("path",{fill:"#fff",d:"M500 0C223.9 0 0 223.9 0 500s223.9 500 500 500 500-223.9 500-500S776.1 0 500 0Zm87.2 412.4c0-21.9 4.3-40.2 13.1-54.4s24-27.1 45.9-38.2l10.1-4.9c17.8-9 22.4-16.7 22.4-26 0-11.1-9.5-19.1-25-19.1-18.3 0-32.2 9.5-41.8 28.9l-24.7-24.8c5.4-11.6 14.1-20.9 25.8-28.1a70.8 70.8 0 0 1 38.9-11.1c17.8 0 33.3 4.6 45.9 14.2s19.4 22.7 19.4 39.4c0 26.6-15 42.9-43.1 57.3l-15.7 8c-16.8 8.5-25.1 16-27.4 29.4h85.4v35.4H587.2Zm-82.1 373.3c-157.8 0-285.7-127.9-285.7-285.7s127.9-285.7 285.7-285.7a286.4 286.4 0 0 1 55.9 5.5l-55.9 116.9c-90 0-163.3 73.3-163.3 163.3s73.3 163.3 163.3 163.3a162.8 162.8 0 0 0 106.4-39.6l61.8 107.2a283.9 283.9 0 0 1-168.2 54.8ZM705 704.1l-70.7-122.5H492.9l70.7-122.4H705l70.7 122.4Z"}))),W=({href:e,children:t,...s})=>(0,L.createElement)(F.Link,{target:"_blank",rel:"noopener noreferrer",...s,href:e},t,(0,L.createElement)("span",{className:"yst-sr-only"},/* translators: Hidden accessibility text. */ diff --git a/wp/wp-content/plugins/wordpress-seo/js/dist/externals-redux.js b/wp/wp-content/plugins/wordpress-seo/js/dist/externals-redux.js index 64f62c5d..bed165a9 100644 --- a/wp/wp-content/plugins/wordpress-seo/js/dist/externals-redux.js +++ b/wp/wp-content/plugins/wordpress-seo/js/dist/externals-redux.js @@ -1 +1 @@ -(()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{ADD_CHECKLIST:()=>se,CHANGE_COUNTRY:()=>Ot,CLEAR_FACEBOOK_IMAGE:()=>Nr,CLEAR_TWITTER_IMAGE:()=>Ir,CLOSE_EDITOR_MODAL:()=>je,CUSTOM_FIELD_RESULTS:()=>Jt,DISMISS_ALERT:()=>at,DISMISS_ALERT_SUCCESS:()=>st,FIND_CUSTOM_FIELDS:()=>Zt,GET_SCHEMA_ARTICLE_DATA:()=>_t,GET_SCHEMA_PAGE_DATA:()=>mt,HIDE_REPLACEMENT_VARIABLES:()=>rr,LOAD_ADVANCED_SETTINGS:()=>Y,LOAD_CORNERSTONE_CONTENT:()=>Pe,LOAD_ESTIMATED_READING_TIME:()=>P,LOAD_FACEBOOK_PREVIEW:()=>Lr,LOAD_FOCUS_KEYWORD:()=>Xe,LOAD_SNIPPET_EDITOR_DATA:()=>sr,LOAD_TWITTER_PREVIEW:()=>Ar,MODAL_DISMISS:()=>It,MODAL_OPEN:()=>At,MODAL_OPEN_NO_KEYPHRASE:()=>Rt,NEW_REQUEST:()=>Ct,NO_DATA_FOUND:()=>Nt,OPEN_EDITOR_MODAL:()=>Ye,REFRESH:()=>ir,REMOVE_REPLACEMENT_VARIABLE:()=>nr,RUN_ANALYSIS:()=>te,SET_ACTIVE_MARKER:()=>U,SET_ADVANCED:()=>B,SET_ARTICLE_TYPE:()=>gt,SET_BREADCRUMBS_TITLE:()=>G,SET_CANONICAL_URL:()=>V,SET_CONTENT_IMAGE:()=>Bt,SET_CORNERSTONE_CONTENT:()=>be,SET_CURRENT_PROMOTIONS:()=>Me,SET_DISMISSED_ALERTS:()=>ot,SET_EDITOR_DATA_CONTENT:()=>We,SET_EDITOR_DATA_EXCERPT:()=>Fe,SET_EDITOR_DATA_IMAGE_URL:()=>Ke,SET_EDITOR_DATA_SLUG:()=>xe,SET_EDITOR_DATA_TITLE:()=>Ue,SET_ESTIMATED_READING_TIME:()=>O,SET_FACEBOOK_DESCRIPTION:()=>br,SET_FACEBOOK_IMAGE:()=>Cr,SET_FACEBOOK_TITLE:()=>vr,SET_FLESCH_READING_EASE:()=>v,SET_FOCUS_KEYWORD:()=>Ze,SET_IS_PREMIUM:()=>Tn,SET_LOGIN_STATUS:()=>Lt,SET_MARKER_PAUSE_STATUS:()=>nt,SET_MARKER_STATUS:()=>tt,SET_NO_FOLLOW:()=>H,SET_NO_INDEX:()=>x,SET_PAGE_TYPE:()=>Et,SET_POST_ID:()=>yn,SET_PRIMARY_TAXONOMY:()=>ut,SET_PROMINENT_WORDS:()=>b,SET_REQUEST_FAILED:()=>vt,SET_REQUEST_LIMIT_REACHED:()=>bt,SET_REQUEST_SUCCEEDED:()=>Pt,SET_SETTINGS:()=>Ht,SET_SHOPPING_DATA:()=>jt,SET_TEXT_LENGTH:()=>C,SET_TWITTER_DESCRIPTION:()=>yr,SET_TWITTER_IMAGE:()=>wr,SET_TWITTER_TITLE:()=>Sr,SET_WARNING_MESSAGE:()=>Kr,SET_WORDPROOF_TIMESTAMP:()=>q,SWITCH_MODE:()=>zt,TOGGLE_CORNERSTONE_CONTENT:()=>ve,UPDATE_DATA:()=>Xt,UPDATE_REPLACEMENT_VARIABLE:()=>er,UPDATE_REPLACEMENT_VARIABLES_BATCH:()=>tr,UPDATE_SETTINGS:()=>Gt,UPDATE_SHORTCODES_FOR_PARSING:()=>re,UPDATE_SNIPPET_DATA:()=>ee,UPDATE_WORDS_TO_HIGHLIGHT:()=>ar,WINCHER_MODAL_DISMISS:()=>Hr,WINCHER_MODAL_OPEN:()=>Br,WINCHER_MODAL_OPEN_NO_KEYPHRASE:()=>Gr,WINCHER_NEW_REQUEST:()=>zr,WINCHER_SET_AUTOMATICALLY_TRACK_ALL_REQUEST:()=>Jr,WINCHER_SET_KEYPHRASE_LIMIT_REACHED:()=>Qr,WINCHER_SET_LOGIN_STATUS:()=>Xr,WINCHER_SET_REQUEST_FAILED:()=>$r,WINCHER_SET_REQUEST_SUCCEEDED:()=>jr,WINCHER_SET_SEO_PERFORMANCE_TRACKED_KEYPHRASES:()=>dn,WINCHER_SET_SEO_PERFORMANCE_TRACKING_FOR_KEYPHRASE:()=>ln,WINCHER_SET_TRACK_ALL_REQUEST:()=>Zr,WINCHER_SET_WEBSITE_ID:()=>cn,WINCHER_UNSET_SEO_PERFORMANCE_TRACKING_FOR_KEYPHRASE:()=>un,addChecklist:()=>oe,clearFacebookPreviewImage:()=>Ur,clearTwitterPreviewImage:()=>Dr,closeEditorModal:()=>Qe,dismissAlert:()=>ct,findCustomFields:()=>lr,getSchemaArticleData:()=>wt,getSchemaPageData:()=>yt,hideReplacementVariables:()=>mr,loadAdvancedSettingsData:()=>J,loadCornerstoneContent:()=>Ce,loadEstimatedReadingTime:()=>L,loadFacebookPreviewData:()=>Fr,loadFocusKeyword:()=>Je,loadTwitterPreviewData:()=>Or,openEditorModal:()=>$e,refreshSnippetEditor:()=>gr,removeReplacementVariable:()=>Er,runAnalysis:()=>ie,setActiveMarker:()=>F,setAdvanced:()=>Q,setArticleType:()=>St,setBreadcrumbsTitle:()=>z,setCanonical:()=>X,setContentImage:()=>qt,setCornerstoneContent:()=>Ne,setCurrentPromotions:()=>ke,setDismissedAlerts:()=>lt,setEditorDataContent:()=>He,setEditorDataExcerpt:()=>Ge,setEditorDataImageUrl:()=>Ve,setEditorDataSlug:()=>qe,setEditorDataTitle:()=>Be,setEstimatedReadingTime:()=>N,setFacebookPreviewDescription:()=>kr,setFacebookPreviewImage:()=>Wr,setFacebookPreviewTitle:()=>Mr,setFleschReadingEase:()=>M,setFocusKeyword:()=>et,setInclusiveLanguageResults:()=>Re,setIsPremium:()=>Sn,setLinkParams:()=>In,setMarkerPauseStatus:()=>it,setMarkerStatus:()=>rt,setNoFollow:()=>$,setNoIndex:()=>j,setOverallInclusiveLanguageScore:()=>De,setOverallReadabilityScore:()=>he,setOverallSeoScore:()=>fe,setPageType:()=>Tt,setPluginUrl:()=>An,setPostId:()=>wn,setPrimaryTaxonomyId:()=>dt,setProminentWords:()=>k,setReadabilityResults:()=>Ae,setSEMrushChangeCountry:()=>Ft,setSEMrushDismissModal:()=>ht,setSEMrushLoginStatus:()=>xt,setSEMrushNewRequest:()=>Mt,setSEMrushNoKeyphraseMessage:()=>Dt,setSEMrushNoResultsFound:()=>Kt,setSEMrushOpenModal:()=>ft,setSEMrushRequestFailed:()=>Wt,setSEMrushRequestSucceeded:()=>kt,setSEMrushSetRequestLimitReached:()=>Ut,setSeoResultsForKeyword:()=>Ie,setSettings:()=>Vt,setShoppingData:()=>$t,setTextLength:()=>W,setTwitterPreviewDescription:()=>hr,setTwitterPreviewImage:()=>fr,setTwitterPreviewTitle:()=>Rr,setWarningMessage:()=>xr,setWincherAutomaticKeyphaseTracking:()=>on,setWincherDismissModal:()=>Vr,setWincherLoginStatus:()=>an,setWincherNewRequest:()=>en,setWincherNoKeyphrase:()=>Yr,setWincherOpenModal:()=>qr,setWincherRequestFailed:()=>rn,setWincherRequestSucceeded:()=>tn,setWincherSetKeyphraseLimitReached:()=>nn,setWincherTrackAllKeyphrases:()=>sn,setWincherTrackedKeyphrases:()=>mn,setWincherTrackingForKeyphrase:()=>En,setWincherWebsiteId:()=>pn,setWistiaEmbedPermission:()=>Rn,setWistiaEmbedPermissionValue:()=>hn,setWordProofTimestamp:()=>Z,switchMode:()=>or,toggleCornerstoneContent:()=>Le,unsetWincherTrackingForKeyphrase:()=>gn,updateAnalysisData:()=>ne,updateData:()=>cr,updateReplacementVariable:()=>ur,updateReplacementVariablesBatch:()=>dr,updateSettings:()=>Yt,updateShortcodesForParsing:()=>ae,updateWordsToHighlight:()=>pr});var r={};e.r(r),e.d(r,{getActiveMarker:()=>Fa,getAdvanced:()=>wi,getAnalysisData:()=>ga,getAnalysisTimestamp:()=>pa,getArticleType:()=>as,getBaseUrlFromSettings:()=>ji,getBreadcrumbsTitle:()=>Ii,getCanonical:()=>Ai,getChecklistItems:()=>_a,getContentImage:()=>ya,getContentLocale:()=>ki,getDateFromSettings:()=>$i,getDefaultArticleType:()=>is,getDefaultPageType:()=>rs,getDescription:()=>ua,getEditorContext:()=>Oi,getEditorDataContent:()=>Ui,getEditorDataExcerpt:()=>Ki,getEditorDataExcerptWithFallback:()=>xi,getEditorDataImageFallback:()=>Bi,getEditorDataImageUrl:()=>Hi,getEditorDataSlug:()=>Gi,getEditorDataTitle:()=>Fi,getEditorType:()=>Mi,getEstimatedReadingTime:()=>pi,getFacebookAltText:()=>Na,getFacebookDescription:()=>va,getFacebookDescriptionFallback:()=>Wa,getFacebookDescriptionOrFallback:()=>Ua,getFacebookImageSrc:()=>Ca,getFacebookImageUrl:()=>ba,getFacebookTitle:()=>Pa,getFacebookTitleFallback:()=>Ma,getFacebookTitleOrFallback:()=>ka,getFacebookWarnings:()=>La,getFleschReadingEaseDifficulty:()=>gi,getFleschReadingEaseScore:()=>Ei,getFocusKeyphrase:()=>Vi,getFocusKeyphraseErrors:()=>qi,getImageFallback:()=>wa,getInclusiveLanguageResults:()=>Za,getIsBlockEditor:()=>bi,getIsDraft:()=>Li,getIsElementorEditor:()=>Ci,getIsKeywordAnalysisActive:()=>qa,getIsLoading:()=>hi,getIsModalOpen:()=>Sa,getIsPremium:()=>Ys,getIsProduct:()=>vi,getIsTerm:()=>Ni,getIsWooSeoActive:()=>$s,getIsWooSeoUpsell:()=>js,getMarkButtonStatus:()=>ts,getMarkerPauseStatus:()=>Ka,getMarksButtonStatus:()=>Ha,getNoFollow:()=>yi,getNoIndex:()=>Si,getPageType:()=>ns,getPermalink:()=>da,getPostId:()=>Qs,getPostOrPageString:()=>Pi,getPreference:()=>Ga,getPreferences:()=>Va,getPrimaryTaxonomyId:()=>Ya,getReadabilityResults:()=>Xa,getRecommendedReplaceVars:()=>Qi,getReplaceVars:()=>Xi,getReplacedExcerpt:()=>Oa,getResultById:()=>es,getResultsForFocusKeyword:()=>Ja,getResultsForKeyword:()=>za,getSEMrushIsRequestPending:()=>cs,getSEMrushLoginStatus:()=>ms,getSEMrushModalOpen:()=>ss,getSEMrushNoKeyphraseMessage:()=>os,getSEMrushRequestHasData:()=>gs,getSEMrushRequestIsSuccess:()=>ls,getSEMrushRequestKeyphrase:()=>ps,getSEMrushRequestLimitReached:()=>ds,getSEMrushRequestResponse:()=>us,getSEMrushSelectedCountry:()=>Es,getSeoDescriptionTemplate:()=>fa,getSeoResults:()=>Qa,getSeoTitle:()=>la,getSeoTitleTemplate:()=>Aa,getSeoTitleTemplateNoFallback:()=>Ra,getShoppingData:()=>_s,getShortcodesForParsing:()=>Ea,getSiteIconUrlFromSettings:()=>zi,getSiteName:()=>Yi,getSiteUrl:()=>Ia,getSnippetEditorData:()=>aa,getSnippetEditorDescription:()=>ra,getSnippetEditorDescriptionWithTemplate:()=>na,getSnippetEditorIsLoading:()=>oa,getSnippetEditorMode:()=>Ji,getSnippetEditorPreviewImageUrl:()=>ca,getSnippetEditorSlug:()=>ia,getSnippetEditorTemplates:()=>Zi,getSnippetEditorTitle:()=>ea,getSnippetEditorTitleWithTemplate:()=>ta,getSnippetEditorWordsToHighlight:()=>sa,getSocialDescriptionTemplate:()=>Da,getSocialTitleTemplate:()=>ha,getTextLength:()=>_i,getTwitterAltText:()=>As,getTwitterDescription:()=>Ss,getTwitterDescriptionFallback:()=>Ds,getTwitterDescriptionOrFallback:()=>Os,getTwitterImageSrc:()=>Is,getTwitterImageType:()=>ws,getTwitterImageUrl:()=>ys,getTwitterTitle:()=>Ts,getTwitterTitleFallback:()=>hs,getTwitterTitleOrFallback:()=>fs,getTwitterWarnings:()=>Rs,getWarningMessage:()=>Ps,getWincherAllKeyphrasesMissRanking:()=>Vs,getWincherHistoryDaysLimit:()=>Us,getWincherKeyphraseLimitReached:()=>Ls,getWincherLimit:()=>Ws,getWincherLoginStatus:()=>Ms,getWincherModalOpen:()=>vs,getWincherPermalink:()=>qs,getWincherRequestIsSuccess:()=>Cs,getWincherRequestResponse:()=>Ns,getWincherTrackableKeyphrases:()=>Gs,getWincherTrackedKeyphrases:()=>Hs,getWincherWebsiteId:()=>xs,getWordProofTimestamp:()=>Ri,hasWincherNoKeyphrase:()=>bs,hasWincherTrackedKeyphrases:()=>Bs,isAlertDismissed:()=>Ba,isCornerstoneContent:()=>ma,isFleschReadingEaseAvailable:()=>mi,isFormalitySupported:()=>Ti,isMarkingAvailable:()=>xa,isPromotionActive:()=>Ta,isWincherNewlyAuthenticated:()=>ks,selectImageLink:()=>eo,selectLink:()=>Zs,selectLinkParam:()=>Xs,selectLinkParams:()=>zs,selectPluginUrl:()=>Js,selectWistiaEmbedPermission:()=>to,selectWistiaEmbedPermissionError:()=>io,selectWistiaEmbedPermissionStatus:()=>no,selectWistiaEmbedPermissionValue:()=>ro,shouldWincherAutomaticallyTrackAll:()=>Ks,shouldWincherTrackAll:()=>Fs});const n=window.yoast.reduxJsToolkit,i=window.wp.url,a=window.lodash,s="linkParams",o=(0,n.createSlice)({name:s,initialState:{},reducers:{setLinkParams:(e,{payload:t})=>t}}),c=(o.getInitialState,{selectLinkParam:(e,t,r={})=>(0,a.get)(e,`${s}.${t}`,r),selectLinkParams:e=>(0,a.get)(e,s,{})});c.selectLink=(0,n.createSelector)([c.selectLinkParams,(e,t)=>t,(e,t,r={})=>r],((e,t,r)=>(0,i.addQueryArgs)(t,{...e,...r})));const l=o.actions,u=o.reducer,d=(0,n.createSlice)({name:"notifications",initialState:{},reducers:{addNotification:{reducer:(e,{payload:t})=>{e[t.id]={id:t.id,variant:t.variant,size:t.size,title:t.title,description:t.description}},prepare:({id:e,variant:t="info",size:r="default",title:i,description:a})=>({payload:{id:e||(0,n.nanoid)(),variant:t,size:r,title:i||"",description:a}})},removeNotification:(e,{payload:t})=>(0,a.omit)(e,t)}}),p=(d.getInitialState,d.actions,d.reducer,"pluginUrl"),E=(0,n.createSlice)({name:p,initialState:"",reducers:{setPluginUrl:(e,{payload:t})=>t}}),g=(E.getInitialState,{selectPluginUrl:e=>(0,a.get)(e,p,"")});g.selectImageLink=(0,n.createSelector)([g.selectPluginUrl,(e,t,r="images")=>r,(e,t)=>t],((e,t,r)=>[(0,a.trimEnd)(e,"/"),(0,a.trim)(t,"/"),(0,a.trimStart)(r,"/")].join("/")));const m=E.actions,_=E.reducer;window.wp.apiFetch;const T="request",S="success",y="error",w="idle",I="wistiaEmbedPermission",A=(0,n.createSlice)({name:I,initialState:{value:!1,status:w,error:{}},reducers:{setWistiaEmbedPermissionValue:(e,{payload:t})=>{e.value=Boolean(t)}},extraReducers:e=>{e.addCase(`${I}/${T}`,(e=>{e.status="loading"})),e.addCase(`${I}/${S}`,((e,{payload:t})=>{e.status="success",e.value=Boolean(t&&t.value)})),e.addCase(`${I}/${y}`,((e,{payload:t})=>{e.status="error",e.value=Boolean(t&&t.value),e.error={code:(0,a.get)(t,"error.code",500),message:(0,a.get)(t,"error.message","Unknown")}}))}}),R=(A.getInitialState,{selectWistiaEmbedPermission:e=>(0,a.get)(e,I,{value:!1,status:w}),selectWistiaEmbedPermissionValue:e=>(0,a.get)(e,[I,"value"],!1),selectWistiaEmbedPermissionStatus:e=>(0,a.get)(e,[I,"status"],w),selectWistiaEmbedPermissionError:e=>(0,a.get)(e,[I,"error"],{})}),h={...A.actions,setWistiaEmbedPermission:function*(e){yield{type:`${I}/${T}`};try{return yield{type:I,payload:e},{type:`${I}/${S}`,payload:{value:e}}}catch(t){return{type:`${I}/${y}`,payload:{error:t,value:e}}}}},f=A.reducer;class D{static get estimatedReadingTimeElement(){return document.getElementById("yoast_wpseo_estimated-reading-time-minutes")}static get estimatedReadingTime(){return D.estimatedReadingTimeElement&&D.estimatedReadingTimeElement.value||""}static set estimatedReadingTime(e){D.estimatedReadingTimeElement&&(D.estimatedReadingTimeElement.value=e)}}const O="SET_ESTIMATED_READING_TIME",P="LOAD_ESTIMATED_READING_TIME",v="SET_FLESCH_READING_EASE",b="SET_PROMINENT_WORDS",C="SET_TEXT_LENGTH",N=e=>(D.estimatedReadingTime=e.toString(),{type:O,payload:e}),L=()=>({type:P,payload:(0,a.toSafeInteger)(D.estimatedReadingTime)}),M=({score:e,difficulty:t})=>({type:v,payload:{score:e,difficulty:t}}),k=e=>({type:b,payload:e}),W=e=>({type:C,payload:e}),U="WPSEO_SET_ACTIVE_MARKER";function F(e){return{type:U,activeMarker:e}}class K{static get noIndexElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_meta-robots-noindex":"hidden_wpseo_noindex")}static get noFollowElement(){return document.getElementById("yoast_wpseo_meta-robots-nofollow")}static get advancedElement(){return document.getElementById("yoast_wpseo_meta-robots-adv")}static get breadcrumbsTitleElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_bctitle":"hidden_wpseo_bctitle")}static get canonicalElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_canonical":"hidden_wpseo_canonical")}static get wordproofTimestampElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_wordproof_timestamp":"hidden_wpseo_wordproof_timestamp")}static get noIndex(){return K.noIndexElement&&K.noIndexElement.value||""}static set noIndex(e){K.noIndexElement.value=e}static get noFollow(){return K.noFollowElement&&K.noFollowElement.value||""}static set noFollow(e){K.noFollowElement.value=e}static get advanced(){return K.advancedElement&&K.advancedElement.value||""}static set advanced(e){K.advancedElement.value=e}static get breadcrumbsTitle(){return K.breadcrumbsTitleElement&&K.breadcrumbsTitleElement.value||""}static set breadcrumbsTitle(e){K.breadcrumbsTitleElement.value=e}static get canonical(){return K.canonicalElement&&K.canonicalElement.value||""}static set canonical(e){K.canonicalElement.value=e}static get wordproofTimestamp(){return K.wordproofTimestampElement&&"1"===K.wordproofTimestampElement.value||!1}static set wordproofTimestamp(e){K.wordproofTimestampElement.value=e?"1":"0"}}const x="SET_NO_INDEX",H="SET_NO_FOLLOW",B="SET_ADVANCED",G="SET_BREADCRUMBS_TITLE",V="SET_CANONICAL_URL",q="SET_WORDPROOF_TIMESTAMP",Y="LOAD_ADVANCED_SETTINGS",j=e=>(K.noIndex=e,{type:x,value:e}),$=e=>(K.noFollow=e,{type:H,value:e}),Q=e=>(K.advanced=e.join(","),{type:B,value:e}),z=e=>(K.breadcrumbsTitle=e,{type:G,value:e}),X=e=>(K.canonical=e,{type:V,value:e}),Z=e=>(K.wordproofTimestamp=e,{type:q,value:e}),J=()=>({type:Y,settings:{noIndex:K.noIndex,noFollow:K.noFollow,advanced:K.advanced.split(","),breadcrumbsTitle:K.breadcrumbsTitle,canonical:K.canonical,wordproofTimestamp:K.wordproofTimestamp,isLoading:!1}}),ee="SNIPPET_EDITOR_UPDATE_ANALYSIS_DATA",te="RUN_ANALYSIS",re="UPDATE_SHORTCODES_FOR_PARSING";function ne(e){return{type:ee,data:e}}function ie(){return{type:te,timestamp:Date.now()}}function ae(e){return{type:re,shortcodesForParsing:e}}const se="ADD_CHECKLIST";function oe(e,t){return{type:se,name:e,data:t}}class ce{static get keyphraseElement(){var e;return document.getElementById(null!==(e=window.wpseoScriptData)&&void 0!==e&&e.isPost?"yoast_wpseo_focuskw":"hidden_wpseo_focuskw")}static get isCornerstoneElement(){var e;return document.getElementById(null!==(e=window.wpseoScriptData)&&void 0!==e&&e.isPost?"yoast_wpseo_is_cornerstone":"hidden_wpseo_is_cornerstone")}static get seoScoreElement(){var e;return document.getElementById(null!==(e=window.wpseoScriptData)&&void 0!==e&&e.isPost?"yoast_wpseo_linkdex":"hidden_wpseo_linkdex")}static get readabilityScoreElement(){var e;return document.getElementById(null!==(e=window.wpseoScriptData)&&void 0!==e&&e.isPost?"yoast_wpseo_content_score":"hidden_wpseo_content_score")}static get inclusiveLanguageScoreElement(){var e;return document.getElementById(null!==(e=window.wpseoScriptData)&&void 0!==e&&e.isPost?"yoast_wpseo_inclusive_language_score":"hidden_wpseo_inclusive_language_score")}static set keyphrase(e){ce.keyphraseElement&&(ce.keyphraseElement.value=e)}static get keyphrase(){var e,t;return null!==(e=null===(t=ce.keyphraseElement)||void 0===t?void 0:t.value)&&void 0!==e?e:""}static set isCornerstone(e){ce.isCornerstoneElement&&(ce.isCornerstoneElement.value=e?"1":"0")}static get isCornerstone(){var e;return"1"===(null===(e=ce.isCornerstoneElement)||void 0===e?void 0:e.value)}static set seoScore(e){ce.seoScoreElement&&(ce.seoScoreElement.value=e)}static get seoScore(){var e,t;return null!==(e=null===(t=ce.seoScoreElement)||void 0===t?void 0:t.value)&&void 0!==e?e:""}static set readabilityScore(e){ce.readabilityScoreElement&&(ce.readabilityScoreElement.value=e)}static get readabilityScore(){var e,t;return null!==(e=null===(t=ce.readabilityScoreElement)||void 0===t?void 0:t.value)&&void 0!==e?e:""}static set inclusiveLanguageScore(e){ce.inclusiveLanguageScoreElement&&(ce.inclusiveLanguageScoreElement.value=e)}static get inclusiveLanguageScore(){var e,t;return null!==(e=null===(t=ce.inclusiveLanguageScoreElement)||void 0===t?void 0:t.value)&&void 0!==e?e:""}}const le="CONTENT_ANALYSIS_",ue=`${le}SET_SEO_RESULTS`,de=`${le}SET_SEO_RESULTS_FOR_KEYWORD`,pe=`${le}UPDATE_SEO_RESULT`,Ee=`${le}REMOVE_KEYWORD`,ge=`${le}SET_READABILITY_RESULTS`,me=`${le}UPDATE_READABILITY_RESULT`,_e=`${le}SET_INCLUSIVE_LANGUAGE_RESULTS`,Te=`${le}UPDATE_INCLUSIVE_LANGUAGE_RESULT`,Se=`${le}SET_OVERALL_READABILITY_SCORE`,ye=`${le}SET_OVERALL_SEO_SCORE`,we=`${le}SET_OVERALL_INCLUSIVE_LANGUAGE_SCORE`;function Ie(e,t){return{type:de,keyword:e,results:t}}function Ae(e){return{type:ge,results:e}}function Re(e){return{type:_e,results:e}}function he(e){return ce.readabilityScore=e,{type:Se,overallScore:e}}function fe(e,t){return ce.seoScore=e,{type:ye,keyword:t,overallScore:e}}function De(e){return ce.inclusiveLanguageScore=e,{type:we,overallScore:e}}const Oe="WPSEO_",Pe=`${Oe}LOAD_CORNERSTONE_CONTENT`,ve=`${Oe}TOGGLE_CORNERSTONE_CONTENT`,be=`${Oe}SET_CORNERSTONE_CONTENT`,Ce=()=>({type:be,isCornerstone:ce.isCornerstone}),Ne=e=>(ce.isCornerstone=e,{type:be,isCornerstone:e}),Le=()=>(ce.isCornerstone=!ce.isCornerstone,{type:ve}),Me="SET_CURRENT_PROMOTIONS";function ke(e){return{type:Me,payload:e}}const We="SET_EDITOR_DATA_CONTENT",Ue="SET_EDITOR_DATA_TITLE",Fe="SET_EDITOR_DATA_EXCERPT",Ke="SET_EDITOR_DATA_IMAGE_URL",xe="SET_EDITOR_DATA_SLUG";function He(e){return{type:We,content:e}}function Be(e){return{type:Ue,title:e}}function Ge(e){return{type:Fe,excerpt:e}}function Ve(e){return{type:Ke,imageUrl:e}}function qe(e){return{type:xe,slug:e}}const Ye="OPEN_MODAL",je="CLOSE_MODAL";function $e(e){return{type:Ye,modalKey:e}}function Qe(){return{type:je}}const ze="WPSEO_",Xe=`${ze}LOAD_FOCUS_KEYWORD`,Ze=`${ze}SET_FOCUS_KEYWORD`,Je=()=>({type:Xe,keyword:ce.keyphrase}),et=function(e){return ce.keyphrase=e,{type:Ze,keyword:e}},tt="WPSEO_SET_MARKER_STATUS",rt=function(e){return{type:tt,marksButtonStatus:e}},nt="WPSEO_SET_MARKER_PAUSE_STATUS";function it(e){return{type:nt,isMarkerPaused:e}}const at="DISMISS_ALERT",st="DISMISS_ALERT_SUCCESS",ot="SET_DISMISSED_ALERTS";function*ct(e){return yield{type:at,alertKey:e},{type:st,alertKey:e}}function lt(e){return{type:ot,payload:e}}const ut="WPSEO_SET_PRIMARY_TAXONOMY",dt=(e,t)=>({type:ut,taxonomy:e,termId:t});class pt{static get articleTypeInput(){return document.getElementById("yoast_wpseo_schema_article_type")}static get defaultArticleType(){return pt.articleTypeInput.getAttribute("data-default")}static get articleType(){return pt.articleTypeInput.value}static set articleType(e){pt.articleTypeInput.value=e}static get pageTypeInput(){return document.getElementById("yoast_wpseo_schema_page_type")}static get defaultPageType(){return pt.pageTypeInput.getAttribute("data-default")}static get pageType(){return pt.pageTypeInput.value}static set pageType(e){pt.pageTypeInput.value=e}}const Et="SET_PAGE_TYPE",gt="SET_ARTICLE_TYPE",mt="GET_SCHEMA_PAGE_DATA",_t="GET_SCHEMA_ARTICLE_DATA",Tt=e=>(pt.pageType=e,{type:Et,pageType:e}),St=e=>(pt.articleType=e,{type:gt,articleType:e}),yt=()=>({type:mt,pageType:pt.pageType,defaultPageType:pt.defaultPageType}),wt=()=>({type:_t,articleType:pt.articleType,defaultArticleType:pt.defaultArticleType}),It="MODAL_DISMISS",At="MODAL_OPEN",Rt="MODAL_OPEN_NO_KEYPHRASE";function ht(){return{type:It}}function ft(e){return{type:At,location:e}}function Dt(){return{type:Rt}}const Ot="CHANGE_COUNTRY",Pt="SET_REQUEST_SUCCEEDED",vt="SET_REQUEST_FAILED",bt="SET_LIMIT_REACHED",Ct="NEW_REQUEST",Nt="NO_DATA_FOUND",Lt="SET_LOGIN_STATUS";function Mt(e,t){return{type:Ct,countryCode:e,keyphrase:t}}function kt(e){return{type:Pt,response:e}}function Wt(e){return{type:vt,response:e}}function Ut(){return{type:bt}}function Ft(e){return{type:Ot,countryCode:e}}function Kt(){return{type:Nt}}function xt(e){return{type:Lt,loginStatus:e}}const Ht="SET_SETTINGS",Bt="SET_CONTENT_IMAGE",Gt="UPDATE_SNIPPET_EDITOR_SETTINGS",Vt=function(e){return{type:Ht,settings:e}},qt=function(e){return{type:Bt,src:e}},Yt=function(e){return{type:Gt,snippetEditor:e}},jt="SET_SHOPPING_DATA";function $t(e){return{type:jt,shoppingData:e}}const Qt=window.yoast.helpers,zt="SNIPPET_EDITOR_SWITCH_MODE",Xt="SNIPPET_EDITOR_UPDATE_DATA",Zt="SNIPPET_EDITOR_FIND_CUSTOM_FIELDS",Jt="SNIPPET_EDITOR_CUSTOM_FIELD_RESULTS",er="SNIPPET_EDITOR_UPDATE_REPLACEMENT_VARIABLE",tr="SNIPPET_EDITOR_UPDATE_REPLACEMENT_VARIABLES_BATCH",rr="SNIPPET_EDITOR_HIDE_REPLACEMENT_VARIABLES",nr="SNIPPET_EDITOR_REMOVE_REPLACEMENT_VARIABLE",ir="SNIPPET_EDITOR_REFRESH",ar="SNIPPET_EDITOR_UPDATE_WORDS_TO_HIGHLIGHT",sr="LOAD_SNIPPET_EDITOR_DATA";function or(e){return{type:zt,mode:e}}function cr(e){return{type:Xt,data:e}}function*lr(e,t){const r=yield{type:Zt,query:e,postId:t};return{type:Jt,results:r}}function ur(e,t,r="",n=!1){const i="string"==typeof t?(0,Qt.decodeHTML)(t):t;return{type:er,name:e,value:i,label:r,hidden:n}}function dr(e){return{type:tr,updatedVariables:e}}function pr(e){return{type:ar,wordsToHighlight:e}}function Er(e){return{type:nr,name:e}}function gr(){return{type:ir,time:(new Date).getMilliseconds()}}function mr(e){return{type:rr,data:e}}const _r=window.wp.data;class Tr{static get titleElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_twitter-title":"hidden_wpseo_twitter-title")}static get descriptionElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_twitter-description":"hidden_wpseo_twitter-description")}static get imageIdElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_twitter-image-id":"hidden_wpseo_twitter-image-id")}static get imageUrlElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_twitter-image":"hidden_wpseo_twitter-image")}static get title(){return Tr.titleElement.value}static set title(e){Tr.titleElement.value=e}static set description(e){Tr.descriptionElement.value=e}static get description(){return Tr.descriptionElement.value}static set imageId(e){Tr.imageIdElement.value=e}static get imageId(){return Tr.imageIdElement.value}static set imageUrl(e){Tr.imageUrlElement.value=e}static get imageUrl(){return Tr.imageUrlElement.value}}const Sr="SET_TWITTER_TITLE",yr="SET_TWITTER_DESCRIPTION",wr="SET_TWITTER_IMAGE",Ir="CLEAR_TWITTER_IMAGE",Ar="LOAD_TWITTER_PREVIEW",Rr=e=>(e.trim()===(0,_r.select)("yoast-seo/editor").getSocialTitleTemplate().trim()?Tr.title="":Tr.title=e,{type:Sr,title:e}),hr=e=>(e.trim()===(0,_r.select)("yoast-seo/editor").getSocialDescriptionTemplate().trim()?Tr.description="":Tr.description=e,{type:yr,description:e}),fr=e=>(Tr.imageId=e.id,Tr.imageUrl=e.url,{type:wr,image:e}),Dr=()=>(Tr.imageId="",Tr.imageUrl="",{type:Ir}),Or=()=>{const{getSocialDescriptionTemplate:e,getSocialTitleTemplate:t}=(0,_r.select)("yoast-seo/editor");return{type:Ar,imageId:Tr.imageId,imageUrl:Tr.imageUrl,description:Tr.description||e(),title:Tr.title||t()}};class Pr{static get titleElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_opengraph-title":"hidden_wpseo_opengraph-title")}static get descriptionElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_opengraph-description":"hidden_wpseo_opengraph-description")}static get imageIdElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_opengraph-image-id":"hidden_wpseo_opengraph-image-id")}static get imageUrlElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_opengraph-image":"hidden_wpseo_opengraph-image")}static get title(){return Pr.titleElement.value}static set title(e){Pr.titleElement.value=e}static set description(e){Pr.descriptionElement.value=e}static get description(){return Pr.descriptionElement.value}static set imageId(e){Pr.imageIdElement.value=e}static get imageId(){return Pr.imageIdElement.value}static set imageUrl(e){Pr.imageUrlElement.value=e}static get imageUrl(){return Pr.imageUrlElement.value}}const vr="SET_FACEBOOK_TITLE",br="SET_FACEBOOK_DESCRIPTION",Cr="SET_FACEBOOK_IMAGE",Nr="CLEAR_FACEBOOK_IMAGE",Lr="LOAD_FACEBOOK_PREVIEW",Mr=e=>(e.trim()===(0,_r.select)("yoast-seo/editor").getSocialTitleTemplate().trim()?Pr.title="":Pr.title=e,{type:vr,title:e}),kr=e=>(e.trim()===(0,_r.select)("yoast-seo/editor").getSocialDescriptionTemplate().trim()?Pr.description="":Pr.description=e,{type:br,description:e}),Wr=e=>(Pr.imageUrl=e.url,Pr.imageId=e.id,{type:Cr,image:e}),Ur=()=>(Pr.imageId="",Pr.imageUrl="",{type:Nr}),Fr=()=>{const{getSocialDescriptionTemplate:e,getSocialTitleTemplate:t}=(0,_r.select)("yoast-seo/editor");return{type:Lr,imageId:Pr.imageId,imageUrl:Pr.imageUrl,description:Pr.description||e(),title:Pr.title||t()}},Kr="SET_WARNING_MESSAGE";function xr(e){return{type:Kr,message:e}}const Hr="WINCHER_MODAL_DISMISS",Br="WINCHER_MODAL_OPEN",Gr="WINCHER_MODAL_OPEN_NO_KEYPHRASE";function Vr(){return{type:Hr}}function qr(e){return{type:Br,location:e}}function Yr(){return{type:Gr}}const jr="WINCHER_SET_REQUEST_SUCCEEDED",$r="WINCHER_SET_REQUEST_FAILED",Qr="WINCHER_SET_KEYPHRASE_LIMIT_REACHED",zr="WINCHER_NEW_REQUEST",Xr="WINCHER_SET_LOGIN_STATUS",Zr="WINCHER_FORCE_SEO_PERFORMANCE_TRACKED_KEYPHRASES",Jr="WINCHER_SET_AUTOMATICALLY_TRACK_ALL_REQUEST";function en(){return{type:zr}}function tn(e){return{type:jr,response:e}}function rn(e){return{type:$r,response:e}}function nn(e){return{type:Qr,limit:e}}function an(e,t){return{type:Xr,loginStatus:e,newlyAuthenticated:t}}function sn(e){return{type:Zr,trackAll:e}}function on(e){return{type:Jr,automaticallyTrack:e}}const cn="WINCHER_SET_WEBSITE_ID",ln="WINCHER_SET_SEO_PERFORMANCE_TRACKING_FOR_KEYPHRASE",un="WINCHER_UNSET_SEO_PERFORMANCE_TRACKING_FOR_KEYPHRASE",dn="WINCHER_SET_SEO_PERFORMANCE_TRACKED_KEYPHRASES";function pn(e){return{type:cn,websiteId:e}}function En(e){return{type:ln,keyphraseObject:e}}function gn(e){return{type:un,untrackedKeyphrase:e}}function mn(e){return{type:dn,trackedKeyphrases:e}}const Tn="SET_IS_PREMIUM",Sn=e=>({type:Tn,payload:e}),yn="SET_POST_ID",wn=e=>({type:yn,payload:e}),{setLinkParams:In}=l,{setPluginUrl:An}=m,{setWistiaEmbedPermission:Rn,setWistiaEmbedPermissionValue:hn}=h,fn={estimatedReadingTime:0,textLength:{}},Dn={results:[],overallScore:null},On={};function Pn(e,t,r){return Object.assign({},e,{[t]:{results:r}})}const vn={},bn=(0,_r.combineReducers)({seo:function(e=On,t){switch(t.type){case ue:return function(e){const t={};return e.resultsPerKeyword.forEach((function(e){t[e.keyword]={results:e.results}})),t}(t);case pe:return function(e,t){return e[t.keyword]?-1!==(0,a.findIndex)(e[t.keyword].results,{id:t.result.id})?function(e,t){const r=Array.from(e[t.keyword].results,(e=>e.id===t.result.id?t.result:e));return Object.assign({},e,{[t.keyword]:{results:r}})}(e,t):Object.assign({},e,{[t.keyword]:{results:[...e[t.keyword].results,t.result]}}):Pn(e,t.keyword,[t.result])}(e,t);case Ee:return(0,a.omit)(e,t.keyword);case de:return function(e,t){return e[t.keyword]?Object.assign({},e,{[t.keyword]:{results:t.results}}):Pn(e,t.keyword,t.results)}(e,t);case ye:return function(e,t){return Object.assign({},e,{[t.keyword]:{...e[t.keyword],overallScore:t.overallScore}})}(e,t);default:return e}},readability:function(e=vn,t){switch(t.type){case ge:return function(e,t){return Object.assign({},e,{results:t.results})}(e,t);case me:return function(e,t){if((0,a.isUndefined)(e.results))return Object.assign({},e,{results:[t.result]});const r=(0,a.findIndex)(e.results,{id:t.result.id});if(-1!==r){const n=e.results.filter((function(t){return t!==e.results[r]}));return Object.assign({},e,{results:n.concat(t.result)})}return Object.assign({},e,{results:[...e.results,t.result]})}(e,t);case Se:return function(e,t){return Object.assign({},e,{overallScore:t.overallScore})}(e,t);default:return e}},inclusiveLanguage:function(e=Dn,t){switch(t.type){case _e:return function(e,t){return Object.assign({},e,{results:t.results})}(e,t);case Te:return function(e,t){if((0,a.isUndefined)(e.results))return Object.assign({},e,{results:[t.result]});const r=(0,a.findIndex)(e.results,{id:t.result.id});if(-1!==r){const n=e.results.filter((function(t){return t!==e.results[r]}));return Object.assign({},e,{results:n.concat(t.result)})}return Object.assign({},e,{results:[...e.results,t.result]})}(e,t);case we:return function(e,t){return Object.assign({},e,{overallScore:t.overallScore})}(e,t);default:return e}}}),Cn={noIndex:"",noFollow:"",advanced:[],breadcrumbsTitle:"",canonical:"",wordproofTimestamp:!1,isLoading:!0},Nn={snippet:{},timestamp:0,shortcodesForParsing:[]},Ln={checklistItems:{}},Mn={content:"",excerpt:"",imageUrl:"",slug:"",title:""},kn={openedModal:""},Wn={title:"",description:"",warnings:[],image:{url:"",id:"",alt:""}};function Un(){return(0,a.get)(window,"wpseoScriptData.metabox",{intl:{},isRtl:!1})}function Fn(){const e=Un();return 1===(0,a.get)(e,"contentAnalysisActive",0)}function Kn(){const e=Un();return 1===(0,a.get)(e,"keywordAnalysisActive",0)}function xn(){const e=Un();return 1===(0,a.get)(e,"inclusiveLanguageAnalysisActive",0)}function Hn(){const e=Un();return 1===(0,a.get)(e,"cornerstoneActive",0)}const Bn=function(){const e=Un();return(0,a.get)(e,"wordFormRecognitionActive",!1)};function Gn(){const e=Un();return 1===(0,a.get)(e,"semrushIntegrationActive",0)}function Vn(){const e=Un();return 1===(0,a.get)(e,"zapierIntegrationActive",0)}function qn(){const e=Un();return 1===(0,a.get)(e,"zapierConnectedStatus",0)}function Yn(){const e=Un();return 1===(0,a.get)(e,"wincherIntegrationActive",0)}function jn(){const e=Un();return 1===(0,a.get)(e,"wordproofIntegrationActive",0)}const $n={},Qn={pageType:"",defaultPageType:"",articleType:"",defaultArticleType:""},zn={whichModalOpen:"none",displayNoKeyphraseMessage:!1},Xn={isRequestPending:!1,keyphrase:"",countryCode:"us",isSuccess:!1,response:null,limitReached:!1,hasData:!0,isLoggedIn:!1},Zn={},Jn=window.wp.i18n,ei=window.wp.sanitize;function ti(e){return e.charAt(0).toUpperCase()+e.slice(1)}window.React,window.wp.element;const{stripHTMLTags:ri}=Qt.strings;function ni(e){return e=function(e){if(!["ct_","cf_","pt_"].includes(e.substr(0,3)))return e.replace(/_/g," ");const t=e.slice(0,3);switch(-1!==(e=e.slice(3)).indexOf("desc_")&&(e=e.slice(5)+" description"),t){case"ct_":e+=" (custom taxonomy)";break;case"cf_":e+=" (custom field)";break;case"pt_":e="Post type ("+(e=e.replace("single","singular"))+")"}return e}(e),ti(e)}function ii(e,t="_"){return e.replace(/\s/g,t)}const ai={title:"",description:"",warnings:[],image:{url:"",id:"",alt:""}},si={message:[]},oi={whichModalOpen:"none",hasNoKeyphrase:!1},ci={isSuccess:!1,response:null,limitReached:!1,isLoggedIn:!1,isNewlyAuthenticated:!1,limit:10,trackAll:!1,automaticallyTrack:!1,historyDaysLimit:0},li={websiteId:"",trackedKeyphrases:null,trackAll:!1},ui={activeMarker:function(e=null,t){return t.type===U?t.activeMarker:e},advancedSettings:(e=Cn,t)=>{switch(t.type){case Y:return{...e,...t.settings};case x:return{...e,noIndex:t.value};case H:return{...e,noFollow:t.value};case B:return{...e,advanced:t.value};case V:return{...e,canonical:t.value};case q:return{...e,wordproofTimestamp:t.value};case G:return{...e,breadcrumbsTitle:t.value};default:return e}},analysis:bn,analysisData:function(e=Nn,t){switch(t.type){case ee:return{...e,snippet:t.data};case te:return{...e,timestamp:t.timestamp};case re:return{...e,shortcodesForParsing:t.shortcodesForParsing}}return e},checklist:function(e=Ln,t){if(t.type===se){const r=Object.assign({},e);return r.checklistItems[t.name]=t.data,r}return e},currentPromotions:function(e={},t){return t.type===Me?{promotions:t.payload}:e},dismissedAlerts:function(e={},t){return t.type===st&&t.alertKey?{...e,[t.alertKey]:!0}:t.type===ot?{...t.payload}:e},editorContext:function(e=function(){return{contentLocale:(0,a.get)(window,"wpseoScriptData.metabox.contentLocale",""),isBlockEditor:"1"===(0,a.get)(window,"wpseoScriptData.isBlockEditor","0"),isElementorEditor:"1"===(0,a.get)(window,"wpseoScriptData.isElementorEditor","0"),isPost:(0,a.get)(window,"wpseoScriptData",{}).hasOwnProperty("isPost"),isTerm:(0,a.get)(window,"wpseoScriptData",{}).hasOwnProperty("isTerm"),noIndex:"1"===(0,a.get)(window,"wpseoAdminL10n.noIndex","0"),postTypeNameSingular:(0,a.get)(window,"wpseoAdminL10n.postTypeNameSingular",""),postTypeNamePlural:(0,a.get)(window,"wpseoAdminL10n.postTypeNamePlural",""),postStatus:(0,a.get)(window,"wpseoScriptData.postStatus","")}}()){return e},editorData:(e=Mn,t)=>{switch(t.type){case We:return{...e,content:t.content};case Fe:return{...e,excerpt:t.excerpt};case Ke:return{...e,imageUrl:t.imageUrl};case xe:return{...e,slug:t.slug};case Ue:return{...e,title:t.title}}return e},editorModals:function(e=kn,t){switch(t.type){case Ye:return{...e,openedModal:t.modalKey};case je:return{...e,openedModal:""}}return e},facebookEditor:(e=Wn,t)=>{switch(t.type){case Lr:return{...e,title:t.title,description:t.description,image:{id:t.id,url:t.imageUrl}};case vr:return{...e,title:t.title};case br:return{...e,description:t.description};case Cr:return{...e,warnings:t.image.warnings,image:{id:t.image.id,url:t.image.url,alt:t.image.alt||""}};case Nr:return{...e,image:{url:"",id:"",alt:""},warnings:[]};default:return e}},focusKeyword:function(e="",t){switch(t.type){case Xe:case Ze:return t.keyword;default:return e}},insights:(e=fn,{type:t,payload:r})=>{switch(t){case P:case O:return{...e,estimatedReadingTime:r};case v:return{...e,fleschReadingEaseScore:r.score,fleschReadingEaseDifficulty:r.difficulty};case C:return{...e,textLength:r};default:return e}},isCornerstone:function(e=!1,t){switch(t.type){case ve:return!e;case be:return t.isCornerstone;default:return e}},isMarkerPaused:function(e=!1,t){return t.type===nt?function(e,t){return t.isMarkerPaused}(0,t):e},isPremium:(e=!1,t)=>t.type===Tn?t.payload:e,[s]:u,[p]:_,postId:(e=!1,t)=>t.type===yn?t.payload:e,marksButtonStatus:function(e="disabled",t){return t.type===tt?t.marksButtonStatus:e},preferences:function(e=function(){const e=!!window.wpseoAdminL10n.displayAdvancedTab;return{isContentAnalysisActive:Fn(),isKeywordAnalysisActive:Kn(),isInclusiveLanguageAnalysisActive:xn(),isWordFormRecognitionActive:(0,a.isUndefined)(window.wpseoPremiumMetaboxData)&&Bn(),isCornerstoneActive:Hn(),isBreadcrumbsDisabled:!!window.wpseoAdminL10n.isBreadcrumbsDisabled,isPrivateBlog:!!window.wpseoAdminL10n.isPrivateBlog,isSEMrushIntegrationActive:Gn(),shouldUpsell:(0,a.isUndefined)(window.wpseoPremiumMetaboxData),displayAdvancedTab:e,displaySchemaSettings:e&&!!window.wpseoScriptData.isPost,displaySchemaSettingsFooter:window.wpseoScriptData.metabox.schema.displayFooter,useOpenGraphData:window.wpseoScriptData.metabox.showSocial.facebook,useTwitterData:window.wpseoScriptData.metabox.showSocial.twitter,isZapierIntegrationActive:Vn(),isZapierConnected:qn(),isWincherIntegrationActive:Yn(),isWordProofIntegrationActive:jn(),isInsightsEnabled:(0,a.get)(window,"wpseoScriptData.metabox.isInsightsEnabled",!1),isNewsEnabled:!!window.wpseoAdminL10n.news_seo_is_active}}()){return e},primaryTaxonomies:function(e=$n,t){return t.type===ut?{...e,[t.taxonomy]:t.termId}:e},schemaTab:(e=Qn,t)=>{switch(t.type){case Et:return{...e,pageType:t.pageType};case gt:return{...e,articleType:t.articleType};case mt:return{...e,pageType:t.pageType,defaultPageType:t.defaultPageType};case _t:return{...e,articleType:t.articleType,defaultArticleType:t.defaultArticleType};default:return e}},SEMrushModal:function(e=zn,t){switch(t.type){case Rt:return{whichModalOpen:"none",displayNoKeyphraseMessage:!0};case At:return{whichModalOpen:t.location,displayNoKeyphraseMessage:!1};case It:return{whichModalOpen:"none",displayNoKeyphraseMessage:!1}}return e},SEMrushRequest:function(e=Xn,t){switch(t.type){case Ct:return{...e,isRequestPending:!0,keyphrase:t.keyphrase,countryCode:t.countryCode,isSuccess:!1,response:null};case Pt:return{...e,isRequestPending:!1,isSuccess:!0,response:t.response,hasData:!0};case vt:return{...e,isRequestPending:!1,isSuccess:!1,response:t.response,hasData:!1};case bt:return{...e,isRequestPending:!1,limitReached:!0,hasData:!1};case Ot:return{...e,countryCode:t.countryCode};case Nt:return{...e,isSuccess:!0,isRequestPending:!1,hasData:!1,response:null};case Lt:return{...e,isLoggedIn:t.loginStatus};default:return e}},settings:function(e={},t){switch(t.type){case Ht:return{...e,...t.settings};case Bt:{const r=Object.assign({},e.socialPreviews,{contentImage:t.src});return{...e,socialPreviews:{...r}}}case Gt:{const r=Object.assign({},e.snippetEditor,t.snippetEditor);return{...e,snippetEditor:{...r}}}default:return e}},shoppingData:function(e=Zn,t){if(t.type===jt){const r=(0,a.pick)(t.shoppingData,["rating","reviewCount","availability","price"]);return{...e,...r}}return e},snippetEditor:function(e=function(){return{mode:"mobile",data:{title:"",description:"",slug:""},wordsToHighlight:[],replacementVariables:[{name:"date",label:(0,Jn.__)("Date","wordpress-seo"),value:""},{name:"id",label:(0,Jn.__)("ID","wordpress-seo"),value:""},{name:"page",label:(0,Jn.__)("Page","wordpress-seo"),value:""},{name:"searchphrase",label:(0,Jn.__)("Search phrase","wordpress-seo"),value:""},{name:"sitedesc",label:(0,Jn.__)("Tagline","wordpress-seo"),value:""},{name:"sitename",label:(0,Jn.__)("Site title","wordpress-seo"),value:""},{name:"category",label:(0,Jn.__)("Category","wordpress-seo"),value:""},{name:"focuskw",label:(0,Jn.__)("Focus keyphrase","wordpress-seo"),value:""},{name:"title",label:(0,Jn.__)("Title","wordpress-seo"),value:""},{name:"parent_title",label:(0,Jn.__)("Parent title","wordpress-seo"),value:""},{name:"excerpt",label:(0,Jn.__)("Excerpt","wordpress-seo"),value:""},{name:"primary_category",label:(0,Jn.__)("Primary category","wordpress-seo"),value:""},{name:"sep",label:(0,Jn.__)("Separator","wordpress-seo"),value:""},{name:"excerpt_only",label:(0,Jn.__)("Excerpt only","wordpress-seo"),value:""},{name:"category_description",label:(0,Jn.__)("Category description","wordpress-seo"),value:""},{name:"tag_description",label:(0,Jn.__)("Tag description","wordpress-seo"),value:""},{name:"term_description",label:(0,Jn.__)("Term description","wordpress-seo"),value:""},{name:"currentyear",label:(0,Jn.__)("Current year","wordpress-seo"),value:""}],uniqueRefreshValue:"",templates:{title:"",description:""},isLoading:!0}}(),t){switch(t.type){case zt:return{...e,mode:t.mode};case Xt:return{...e,data:{...e.data,...t.data}};case er:return function(e,t){let r=!0,n=e.replacementVariables.map((e=>e.name===t.name?(r=!1,{name:t.name,label:t.label||e.label,value:t.value,hidden:e.hidden}):e));return r&&(n=function(e,t){return e.push({name:t.name,label:t.label||ni(t.name),value:t.value}),e}(n,t)),{...e,replacementVariables:n}}(e,t);case tr:return function(e,t){const r={},n=e.replacementVariables.map((e=>{const n=t.updatedVariables[e.name];return n?(r[e.name]=!0,{name:e.name,label:n.label||e.label,value:n.value,hidden:e.hidden}):e}));return Object.keys(t.updatedVariables).forEach((e=>{r[e]||n.push({name:e,label:t.updatedVariables[e].label||ni(e),value:t.updatedVariables[e].value,hidden:!1})})),{...e,replacementVariables:n}}(e,t);case Jt:return function(e,t){const r=t.results.filter((t=>!e.replacementVariables.some((e=>e.name==="cf_"+t.key))));if(0===r.length)return e;const n=[...r.map((e=>({name:"cf_"+ii(e.key),label:ti(e.key+" (custom field)"),value:e.value,hidden:!1}))),...e.replacementVariables];return{...e,replacementVariables:n}}(e,t);case rr:{const r=e.replacementVariables.map((e=>({name:e.name,label:e.label,value:e.value,hidden:t.data.includes(e.name)})));return{...e,replacementVariables:r}}case nr:return{...e,replacementVariables:e.replacementVariables.filter((e=>e.name!==t.name))};case ir:return{...e,uniqueRefreshValue:t.time};case ar:return{...e,wordsToHighlight:t.wordsToHighlight};case sr:return{...e,data:{...e.data,title:t.data.title,description:t.data.description,slug:t.data.slug},templates:{...e.templates,title:t.templates.title,description:t.templates.description},isLoading:!1}}return e},twitterEditor:(e=ai,t)=>{switch(t.type){case Ar:return{...e,title:t.title,description:t.description,image:{id:t.id,url:t.imageUrl}};case Sr:return{...e,title:t.title};case yr:return{...e,description:t.description};case wr:return{...e,image:{id:t.image.id,url:t.image.url,alt:t.image.alt||""},warnings:t.image.warnings};case Ir:return{...e,image:{url:"",id:"",alt:""},warnings:[]};default:return e}},warning:function(e=si,t){return t.type===Kr?{...e,message:t.message}:e},WincherModal:function(e=oi,t){switch(t.type){case Gr:return{whichModalOpen:"none",hasNoKeyphrase:!0};case Br:return{...e,hasNoKeyphrase:!1,whichModalOpen:t.location};case Hr:return{...e,whichModalOpen:"none",hasNoKeyphrase:!1}}return e},WincherRequest:function(e=ci,t){switch(t.type){case zr:return{...e,limitReached:!1,isSuccess:!1,response:null,isNewlyAuthenticated:!1};case jr:return{...e,isSuccess:!0,response:t.response};case $r:return{...e,isSuccess:!1,response:t.response};case Qr:return{...e,limitReached:!0,limit:t.limit};case Xr:return{...e,isLoggedIn:t.loginStatus,isNewlyAuthenticated:t.newlyAuthenticated};case Zr:return{...e,trackAll:t.trackAll};case Jr:return{...e,automaticallyTrack:t.automaticallyTrack};default:return e}},WincherSEOPerformance:function(e=li,t){switch(t.type){case cn:return{...e,websiteId:t.websiteId};case ln:return{...e,trackedKeyphrases:{...e.trackedKeyphrases,...t.keyphraseObject}};case un:return{...e,trackedKeyphrases:(0,a.pickBy)(e.trackedKeyphrases,((e,r)=>r!==t.untrackedKeyphrase))};case dn:return{...e,trackedKeyphrases:t.trackedKeyphrases}}return e},[I]:f};function di(){const e=Un();return(0,a.get)(e,"contentLocale","en_US")}const pi=e=>(0,a.get)(e,"insights.estimatedReadingTime",0),Ei=e=>(0,a.get)(e,"insights.fleschReadingEaseScore",null),gi=e=>(0,a.get)(e,"insights.fleschReadingEaseDifficulty",null),mi=e=>null!==Ei(e)&&null!==gi(e),_i=e=>(0,a.get)(e,"insights.textLength",{}),Ti=()=>{const e="en"===di().split("_")[0],t=Un().isPremium;return!!e&&(!t||window.wp.data.select("yoast-seo-premium/editor").hasOwnProperty("getTextFormalityLevel"))},Si=e=>(0,a.get)(e,"advancedSettings.noIndex",""),yi=e=>(0,a.get)(e,"advancedSettings.noFollow",""),wi=e=>(0,a.get)(e,"advancedSettings.advanced",""),Ii=e=>(0,a.get)(e,"advancedSettings.breadcrumbsTitle","summary"),Ai=e=>(0,a.get)(e,"advancedSettings.canonical",""),Ri=e=>(0,a.get)(e,"advancedSettings.wordproofTimestamp",!1),hi=e=>(0,a.get)(e,"advancedSettings.isLoading",!0),fi="yoast-measurement-element";function Di(e){let t=document.getElementById(fi);return t||(t=function(){const e=document.createElement("div");return e.id=fi,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 Oi(e){return e.editorContext}function Pi(e){return"Page"===(0,a.get)(e,"editorContext.postTypeNameSingular")?"page":"post"}function vi(e){return"Product"===(0,a.get)(e,"editorContext.postTypeNameSingular")}function bi(e){return(0,a.get)(e,"editorContext.isBlockEditor",!1)}function Ci(e){return(0,a.get)(e,"editorContext.isElementorEditor",!1)}function Ni(e){return(0,a.get)(e,"editorContext.isTerm",!1)}function Li(e){return["draft","auto-draft"].includes((0,a.get)(e,"editorContext.postStatus",""))}function Mi(e){return Ci(e)?"elementorEditor":bi(e)?"blockEditor":"classicEditor"}function ki(e){return(0,a.get)(e,"editorContext.contentLocale","en_US")}const Wi=window.wp.hooks,Ui=e=>(0,a.get)(e,"editorData.content",""),Fi=e=>(0,a.get)(e,"editorData.title",""),Ki=e=>(0,a.get)(e,"editorData.excerpt"),xi=e=>{let t=(0,a.get)(e,"editorData.excerpt","");if(""===t){const r="ja"===di()?80:156;t=function(e,t=156){return(e=(e=(0,ei.stripTags)(e)).trim()).length<=t||(e=e.substring(0,t),/\s/.test(e)&&(e=e.substring(0,e.lastIndexOf(" ")))),e}((0,a.get)(e,"editorData.content",""),r)}return t},Hi=e=>(0,a.get)(e,"editorData.imageUrl",""),Bi=e=>{const t=[{featuredOrFirstImage:(0,a.get)(e,"editorData.imageUrl","")},{socialImage:(0,a.get)(window,"wpseoScriptData.metabox.social_image_template","")},{siteWideImage:(0,a.get)(window.wpseoScriptData,"metabox.showSocial.facebook")&&(0,a.get)(e,"settings.socialPreviews.sitewideImage","")}];(0,Wi.applyFilters)("yoast.socials.imageFallback",t);for(const e of t)if(Object.values(e)[0])return Object.values(e)[0];return""},Gi=e=>(0,a.get)(e,"editorData.slug","");function Vi(e){return(0,a.get)(e,"focusKeyword","")}const qi=e=>{const t=(0,Wi.applyFilters)("yoast.focusKeyphrase.errors",[],Vi(e));return(0,a.isArray)(t)?t.filter(a.isString):[]},Yi=e=>(0,a.get)(e,"settings.socialPreviews.siteName",""),ji=e=>(0,a.get)(e,"settings.snippetEditor.baseUrl",""),$i=e=>(0,a.get)(e,"settings.snippetEditor.date",""),Qi=e=>(0,a.get)(e,"settings.snippetEditor.recommendedReplacementVariables",[]),zi=e=>(0,a.get)(e,"settings.snippetEditor.siteIconUrl",""),Xi=e=>(0,a.get)(e,"snippetEditor.replacementVariables",[]),Zi=e=>(0,a.get)(e,"snippetEditor.templates",{title:"",description:""}),Ji=e=>(0,a.get)(e,"snippetEditor.mode","mobile"),ea=e=>(0,a.get)(e,"snippetEditor.data.title",""),ta=e=>(0,a.get)(e,"snippetEditor.data.title","")||Zi(e).title,ra=e=>(0,a.get)(e,"snippetEditor.data.description",""),na=e=>ra(e)||Zi(e).description,ia=e=>(0,a.get)(e,"snippetEditor.data.slug",""),aa=e=>(0,a.get)(e,"snippetEditor.data",{title:ea(e),description:ra(e),slug:ia(e)}),sa=e=>(0,a.get)(e,"snippetEditor.wordsToHighlight",[]),oa=e=>(0,a.get)(e,"snippetEditor.isLoading",!0),ca=e=>(0,a.get)(e,"snippetEditor.data.snippetPreviewImageURL",""),la=e=>(0,a.get)(e,"analysisData.snippet.title",""),ua=e=>(0,a.get)(e,"analysisData.snippet.description",""),da=e=>(0,a.get)(e,"analysisData.snippet.url",""),pa=e=>parseInt((0,a.get)(e,"analysisData.timestamp",0),10),Ea=e=>(0,a.get)(e,"analysisData.shortcodesForParsing",[]),ga=e=>{const t=la(e)||ea(e),r=ia(e);return{text:Ui(e),title:t,keyword:Vi(e),description:ua(e)||ra(e),locale:ki(e),titleWidth:Di(t),slug:r,permalink:ji(e)+r}};function ma(e){return e.isCornerstone}function _a(e){return e.checklist.checklistItems}function Ta(e,t){return e.currentPromotions.promotions.includes(t)}const Sa=(e,t)=>(0,a.get)(e,"editorModals.openedModal","")===t,ya=e=>(0,a.get)(e,"socialPreviews.contentImage",""),wa=e=>{const t=[{featuredImage:(0,a.get)(e,"snippetEditor.data.snippetPreviewImageURL","")},{contentImage:(0,a.get)(e,"settings.socialPreviews.contentImage","")},{socialImage:(0,a.get)(window,"wpseoScriptData.metabox.social_image_template","")},{siteWideImage:(0,a.get)(window,"wpseoScriptData.metabox.showSocial.facebook")&&(0,a.get)(e,"settings.socialPreviews.sitewideImage","")}];(0,Wi.applyFilters)("yoast.socials.imageFallback",t);for(const e of t)if(Object.values(e)[0])return Object.values(e)[0];return""},Ia=()=>{let e=(0,a.get)(window,"wpseoScriptData.metabox.base_url","");return""===e?"":(e=new URL(e),e.host)},Aa=()=>(0,a.get)(window,"wpseoScriptData.metabox.title_template",""),Ra=()=>(0,a.get)(window,"wpseoScriptData.metabox.title_template_no_fallback",""),ha=()=>(0,a.get)(window,"wpseoScriptData.metabox.social_title_template",""),fa=()=>(0,a.get)(window,"wpseoScriptData.metabox.metadesc_template",""),Da=()=>(0,a.get)(window,"wpseoScriptData.metabox.social_description_template",""),Oa=e=>{let t="";return(0,a.get)(e,"snippetEditor.replacementVariables",[]).forEach((e=>{"excerpt"===e.name&&(t=e.value)})),t},Pa=e=>(0,a.get)(e,"facebookEditor.title",""),va=e=>(0,a.get)(e,"facebookEditor.description",""),ba=e=>(0,a.get)(e,"facebookEditor.image.url"),Ca=e=>(0,a.get)(e,"facebookEditor.image.src",""),Na=e=>(0,a.get)(e,"facebookEditor.image.alt",""),La=e=>(0,a.get)(e,"facebookEditor.warnings",[]),Ma=(0,n.createSelector)([ha,la,Ra,Aa],((...e)=>e.find(Boolean)||"")),ka=(0,n.createSelector)([Pa,Ma],((e,t)=>e||t)),Wa=(0,n.createSelector)([Da,ua,fa,Oa,xi],((...e)=>{var t;return null!==(t=e.find(Boolean))&&void 0!==t?t:""})),Ua=(0,n.createSelector)([va,Wa],((e,t)=>e||t));function Fa(e){return e.activeMarker}function Ka(e){return e.isMarkerPaused}function xa(e){return"enabled"===e.marksButtonStatus}function Ha(e){return e.marksButtonStatus}function Ba(e,t){return!0===e.dismissedAlerts[t]}const Ga=(e,t,r=null)=>(0,a.get)(e,`preferences.${t}`,r),Va=e=>e.preferences,qa=e=>(0,a.get)(e,"preferences.isKeywordAnalysisActive",!1);function Ya(e,t){return e.primaryTaxonomies[t]}const ja=[],$a={};function Qa(e){const t=(0,a.get)(e,"analysis.seo",$a);return(0,a.isEmpty)(t)?{results:ja,overallScore:null}:t}function za(e,t){const r=Qa(e);return(0,a.get)(r,t,$a)}function Xa(e){const t=(0,a.get)(e,"analysis.readability",{});return(0,a.isEmpty)(t)?{results:ja,overallScore:null}:t}function Za(e){return(0,a.get)(e,"analysis.inclusiveLanguage",{results:ja,overallScore:null})}function Ja(e){return za(e,e.focusKeyword)}function es(e,t){return[...Ja(e).results||ja,...Xa(e).results||ja,...Za(e).results||ja].find((e=>e._identifier===t))}function ts(e){return e.marksButtonStatus}const rs=e=>(0,a.get)(e,"schemaTab.defaultPageType",""),ns=e=>(0,a.get)(e,"schemaTab.pageType",""),is=e=>(0,a.get)(e,"schemaTab.defaultArticleType",""),as=e=>(0,a.get)(e,"schemaTab.articleType","");function ss(e){return e.SEMrushModal.whichModalOpen}function os(e){return e.SEMrushModal.displayNoKeyphraseMessage}function cs(e){return e.SEMrushRequest.isRequestPending}function ls(e){return e.SEMrushRequest.isSuccess}function us(e){return e.SEMrushRequest.response}function ds(e){return e.SEMrushRequest.limitReached}function ps(e){return e.SEMrushRequest.keyphrase}function Es(e){return e.SEMrushRequest.countryCode}function gs(e){return e.SEMrushRequest.hasData}function ms(e){return e.SEMrushRequest.isLoggedIn}const _s=e=>(0,a.get)(e,"shoppingData",{}),Ts=e=>(0,a.get)(e,"twitterEditor.title",""),Ss=e=>(0,a.get)(e,"twitterEditor.description",""),ys=e=>(0,a.get)(e,"twitterEditor.image.url",""),ws=e=>(0,a.get)(e,"settings.socialPreviews.twitterCardType","summary"),Is=e=>(0,a.get)(e,"twitterEditor.image.src",""),As=e=>(0,a.get)(e,"twitterEditor.image.alt",""),Rs=e=>(0,a.get)(e,"twitterEditor.warnings",[]),hs=(0,n.createSelector)([ha,Pa,la,Ra,Aa],((...e)=>e.find(Boolean)||"")),fs=(0,n.createSelector)([Ts,hs],((e,t)=>e||t)),Ds=(0,n.createSelector)([Da,va,ua,fa,Oa,xi],((...e)=>{var t;return null!==(t=e.find(Boolean))&&void 0!==t?t:""})),Os=(0,n.createSelector)([Ss,Ds],((e,t)=>e||t));function Ps(e){return(0,a.get)(e,"warning.message",[])}function vs(e){return e.WincherModal.whichModalOpen}function bs(e){return e.WincherModal.hasNoKeyphrase}function Cs(e){return e.WincherRequest.isSuccess}function Ns(e){return e.WincherRequest.response}function Ls(e){return e.WincherRequest.limitReached}function Ms(e){return e.WincherRequest.isLoggedIn}function ks(e){return e.WincherRequest.isNewlyAuthenticated}function Ws(e){return e.WincherRequest.limit}function Us(e){return e.WincherRequest.historyDays}function Fs(e){return!0===e.WincherRequest.trackAll}function Ks(e){return e.WincherRequest.automaticallyTrack&&Li(e)}function xs(e){return e.WincherSEOPerformance.websiteId}function Hs(e){return e.WincherSEOPerformance.trackedKeyphrases}function Bs(e){return!(0,a.isEmpty)(e.WincherSEOPerformance.trackedKeyphrases)}function Gs(e){const t=Un().isPremium,r=window.wp.data.select("yoast-seo-premium/editor"),n=[e.focusKeyword.trim()];return t&&r&&n.push(...r.getKeywords().filter((e=>void 0!==e.keyword)).map((e=>e.keyword.trim()))),(0,a.uniq)(n.filter((e=>!!e)).map((e=>e.replace(/["+:\s]+/g," ").trim().toLocaleLowerCase()))).sort()}function Vs(e){const{trackedKeyphrases:t}=e.WincherSEOPerformance;return!(0,a.isEmpty)(t)&&(0,a.filter)(t,(e=>(0,a.isEmpty)(e.updated_at))).length===Object.keys(t).length}function qs(e){const t=ga(e);return t.slug?t.permalink:""}const Ys=e=>(0,a.get)(e,"isPremium",!1),js=()=>(0,a.get)(window,"wpseoScriptData.woocommerceUpsell",!1),$s=()=>Boolean((0,a.get)(window,"wpseoScriptData.isWooCommerceSeoActive",!1)),Qs=e=>(0,a.get)(e,"postId",null),{selectLinkParams:zs,selectLinkParam:Xs,selectLink:Zs}=c,{selectPluginUrl:Js,selectImageLink:eo}=g,{selectWistiaEmbedPermission:to,selectWistiaEmbedPermissionValue:ro,selectWistiaEmbedPermissionStatus:no,selectWistiaEmbedPermissionError:io}=R;window.yoast=window.yoast||{},window.yoast.externals=window.yoast.externals||{},window.yoast.externals.redux={selectors:r,reducers:ui,actions:t}})(); \ No newline at end of file +(()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{ADD_CHECKLIST:()=>se,CHANGE_COUNTRY:()=>Ot,CLEAR_FACEBOOK_IMAGE:()=>Nr,CLEAR_TWITTER_IMAGE:()=>Ir,CLOSE_EDITOR_MODAL:()=>je,CUSTOM_FIELD_RESULTS:()=>Jt,DISMISS_ALERT:()=>at,DISMISS_ALERT_SUCCESS:()=>st,FIND_CUSTOM_FIELDS:()=>Zt,GET_SCHEMA_ARTICLE_DATA:()=>_t,GET_SCHEMA_PAGE_DATA:()=>mt,HIDE_REPLACEMENT_VARIABLES:()=>rr,LOAD_ADVANCED_SETTINGS:()=>Y,LOAD_CORNERSTONE_CONTENT:()=>Pe,LOAD_ESTIMATED_READING_TIME:()=>P,LOAD_FACEBOOK_PREVIEW:()=>Lr,LOAD_FOCUS_KEYWORD:()=>Xe,LOAD_SNIPPET_EDITOR_DATA:()=>sr,LOAD_TWITTER_PREVIEW:()=>Ar,MODAL_DISMISS:()=>It,MODAL_OPEN:()=>At,MODAL_OPEN_NO_KEYPHRASE:()=>Rt,NEW_REQUEST:()=>Ct,NO_DATA_FOUND:()=>Nt,OPEN_EDITOR_MODAL:()=>Ye,REFRESH:()=>ir,REMOVE_REPLACEMENT_VARIABLE:()=>nr,RUN_ANALYSIS:()=>te,SET_ACTIVE_MARKER:()=>U,SET_ADVANCED:()=>B,SET_ARTICLE_TYPE:()=>gt,SET_BREADCRUMBS_TITLE:()=>G,SET_CANONICAL_URL:()=>V,SET_CONTENT_IMAGE:()=>Bt,SET_CORNERSTONE_CONTENT:()=>be,SET_CURRENT_PROMOTIONS:()=>Me,SET_DISMISSED_ALERTS:()=>ot,SET_EDITOR_DATA_CONTENT:()=>We,SET_EDITOR_DATA_EXCERPT:()=>Fe,SET_EDITOR_DATA_IMAGE_URL:()=>Ke,SET_EDITOR_DATA_SLUG:()=>xe,SET_EDITOR_DATA_TITLE:()=>Ue,SET_ESTIMATED_READING_TIME:()=>O,SET_FACEBOOK_DESCRIPTION:()=>br,SET_FACEBOOK_IMAGE:()=>Cr,SET_FACEBOOK_TITLE:()=>vr,SET_FLESCH_READING_EASE:()=>v,SET_FOCUS_KEYWORD:()=>Ze,SET_IS_PREMIUM:()=>Tn,SET_LOGIN_STATUS:()=>Lt,SET_MARKER_PAUSE_STATUS:()=>nt,SET_MARKER_STATUS:()=>tt,SET_NO_FOLLOW:()=>H,SET_NO_INDEX:()=>x,SET_PAGE_TYPE:()=>Et,SET_POST_ID:()=>yn,SET_PRIMARY_TAXONOMY:()=>ut,SET_PROMINENT_WORDS:()=>b,SET_REQUEST_FAILED:()=>vt,SET_REQUEST_LIMIT_REACHED:()=>bt,SET_REQUEST_SUCCEEDED:()=>Pt,SET_SETTINGS:()=>Ht,SET_SHOPPING_DATA:()=>jt,SET_TEXT_LENGTH:()=>C,SET_TWITTER_DESCRIPTION:()=>yr,SET_TWITTER_IMAGE:()=>wr,SET_TWITTER_TITLE:()=>Sr,SET_WARNING_MESSAGE:()=>Kr,SET_WORDPROOF_TIMESTAMP:()=>q,SWITCH_MODE:()=>zt,TOGGLE_CORNERSTONE_CONTENT:()=>ve,UPDATE_DATA:()=>Xt,UPDATE_REPLACEMENT_VARIABLE:()=>er,UPDATE_REPLACEMENT_VARIABLES_BATCH:()=>tr,UPDATE_SETTINGS:()=>Gt,UPDATE_SHORTCODES_FOR_PARSING:()=>re,UPDATE_SNIPPET_DATA:()=>ee,UPDATE_WORDS_TO_HIGHLIGHT:()=>ar,WINCHER_MODAL_DISMISS:()=>Hr,WINCHER_MODAL_OPEN:()=>Br,WINCHER_MODAL_OPEN_NO_KEYPHRASE:()=>Gr,WINCHER_NEW_REQUEST:()=>zr,WINCHER_SET_AUTOMATICALLY_TRACK_ALL_REQUEST:()=>Jr,WINCHER_SET_KEYPHRASE_LIMIT_REACHED:()=>Qr,WINCHER_SET_LOGIN_STATUS:()=>Xr,WINCHER_SET_REQUEST_FAILED:()=>$r,WINCHER_SET_REQUEST_SUCCEEDED:()=>jr,WINCHER_SET_SEO_PERFORMANCE_TRACKED_KEYPHRASES:()=>dn,WINCHER_SET_SEO_PERFORMANCE_TRACKING_FOR_KEYPHRASE:()=>ln,WINCHER_SET_TRACK_ALL_REQUEST:()=>Zr,WINCHER_SET_WEBSITE_ID:()=>cn,WINCHER_UNSET_SEO_PERFORMANCE_TRACKING_FOR_KEYPHRASE:()=>un,addChecklist:()=>oe,clearFacebookPreviewImage:()=>Ur,clearTwitterPreviewImage:()=>Dr,closeEditorModal:()=>Qe,dismissAlert:()=>ct,findCustomFields:()=>lr,getSchemaArticleData:()=>wt,getSchemaPageData:()=>yt,hideReplacementVariables:()=>mr,loadAdvancedSettingsData:()=>J,loadCornerstoneContent:()=>Ce,loadEstimatedReadingTime:()=>L,loadFacebookPreviewData:()=>Fr,loadFocusKeyword:()=>Je,loadTwitterPreviewData:()=>Or,openEditorModal:()=>$e,refreshSnippetEditor:()=>gr,removeReplacementVariable:()=>Er,runAnalysis:()=>ie,setActiveMarker:()=>F,setAdvanced:()=>Q,setArticleType:()=>St,setBreadcrumbsTitle:()=>z,setCanonical:()=>X,setContentImage:()=>qt,setCornerstoneContent:()=>Ne,setCurrentPromotions:()=>ke,setDismissedAlerts:()=>lt,setEditorDataContent:()=>He,setEditorDataExcerpt:()=>Ge,setEditorDataImageUrl:()=>Ve,setEditorDataSlug:()=>qe,setEditorDataTitle:()=>Be,setEstimatedReadingTime:()=>N,setFacebookPreviewDescription:()=>kr,setFacebookPreviewImage:()=>Wr,setFacebookPreviewTitle:()=>Mr,setFleschReadingEase:()=>M,setFocusKeyword:()=>et,setInclusiveLanguageResults:()=>Re,setIsPremium:()=>Sn,setLinkParams:()=>In,setMarkerPauseStatus:()=>it,setMarkerStatus:()=>rt,setNoFollow:()=>$,setNoIndex:()=>j,setOverallInclusiveLanguageScore:()=>De,setOverallReadabilityScore:()=>he,setOverallSeoScore:()=>fe,setPageType:()=>Tt,setPluginUrl:()=>An,setPostId:()=>wn,setPrimaryTaxonomyId:()=>dt,setProminentWords:()=>k,setReadabilityResults:()=>Ae,setSEMrushChangeCountry:()=>Ft,setSEMrushDismissModal:()=>ht,setSEMrushLoginStatus:()=>xt,setSEMrushNewRequest:()=>Mt,setSEMrushNoKeyphraseMessage:()=>Dt,setSEMrushNoResultsFound:()=>Kt,setSEMrushOpenModal:()=>ft,setSEMrushRequestFailed:()=>Wt,setSEMrushRequestSucceeded:()=>kt,setSEMrushSetRequestLimitReached:()=>Ut,setSeoResultsForKeyword:()=>Ie,setSettings:()=>Vt,setShoppingData:()=>$t,setTextLength:()=>W,setTwitterPreviewDescription:()=>hr,setTwitterPreviewImage:()=>fr,setTwitterPreviewTitle:()=>Rr,setWarningMessage:()=>xr,setWincherAutomaticKeyphaseTracking:()=>on,setWincherDismissModal:()=>Vr,setWincherLoginStatus:()=>an,setWincherNewRequest:()=>en,setWincherNoKeyphrase:()=>Yr,setWincherOpenModal:()=>qr,setWincherRequestFailed:()=>rn,setWincherRequestSucceeded:()=>tn,setWincherSetKeyphraseLimitReached:()=>nn,setWincherTrackAllKeyphrases:()=>sn,setWincherTrackedKeyphrases:()=>mn,setWincherTrackingForKeyphrase:()=>En,setWincherWebsiteId:()=>pn,setWistiaEmbedPermission:()=>Rn,setWistiaEmbedPermissionValue:()=>hn,setWordProofTimestamp:()=>Z,switchMode:()=>or,toggleCornerstoneContent:()=>Le,unsetWincherTrackingForKeyphrase:()=>gn,updateAnalysisData:()=>ne,updateData:()=>cr,updateReplacementVariable:()=>ur,updateReplacementVariablesBatch:()=>dr,updateSettings:()=>Yt,updateShortcodesForParsing:()=>ae,updateWordsToHighlight:()=>pr});var r={};e.r(r),e.d(r,{getActiveMarker:()=>Fa,getAdvanced:()=>wi,getAnalysisData:()=>ga,getAnalysisTimestamp:()=>pa,getArticleType:()=>as,getBaseUrlFromSettings:()=>ji,getBreadcrumbsTitle:()=>Ii,getCanonical:()=>Ai,getChecklistItems:()=>_a,getContentImage:()=>ya,getContentLocale:()=>ki,getDateFromSettings:()=>$i,getDefaultArticleType:()=>is,getDefaultPageType:()=>rs,getDescription:()=>ua,getEditorContext:()=>Oi,getEditorDataContent:()=>Ui,getEditorDataExcerpt:()=>Ki,getEditorDataExcerptWithFallback:()=>xi,getEditorDataImageFallback:()=>Bi,getEditorDataImageUrl:()=>Hi,getEditorDataSlug:()=>Gi,getEditorDataTitle:()=>Fi,getEditorType:()=>Mi,getEstimatedReadingTime:()=>pi,getFacebookAltText:()=>Na,getFacebookDescription:()=>va,getFacebookDescriptionFallback:()=>Wa,getFacebookDescriptionOrFallback:()=>Ua,getFacebookImageSrc:()=>Ca,getFacebookImageUrl:()=>ba,getFacebookTitle:()=>Pa,getFacebookTitleFallback:()=>Ma,getFacebookTitleOrFallback:()=>ka,getFacebookWarnings:()=>La,getFleschReadingEaseDifficulty:()=>gi,getFleschReadingEaseScore:()=>Ei,getFocusKeyphrase:()=>Vi,getFocusKeyphraseErrors:()=>qi,getImageFallback:()=>wa,getInclusiveLanguageResults:()=>Za,getIsBlockEditor:()=>bi,getIsDraft:()=>Li,getIsElementorEditor:()=>Ci,getIsKeywordAnalysisActive:()=>qa,getIsLoading:()=>hi,getIsModalOpen:()=>Sa,getIsPremium:()=>Ys,getIsProduct:()=>vi,getIsTerm:()=>Ni,getIsWooCommerceActive:()=>Qs,getIsWooSeoActive:()=>$s,getIsWooSeoUpsell:()=>js,getMarkButtonStatus:()=>ts,getMarkerPauseStatus:()=>Ka,getMarksButtonStatus:()=>Ha,getNoFollow:()=>yi,getNoIndex:()=>Si,getPageType:()=>ns,getPermalink:()=>da,getPostId:()=>zs,getPostOrPageString:()=>Pi,getPreference:()=>Ga,getPreferences:()=>Va,getPrimaryTaxonomyId:()=>Ya,getReadabilityResults:()=>Xa,getRecommendedReplaceVars:()=>Qi,getReplaceVars:()=>Xi,getReplacedExcerpt:()=>Oa,getResultById:()=>es,getResultsForFocusKeyword:()=>Ja,getResultsForKeyword:()=>za,getSEMrushIsRequestPending:()=>cs,getSEMrushLoginStatus:()=>ms,getSEMrushModalOpen:()=>ss,getSEMrushNoKeyphraseMessage:()=>os,getSEMrushRequestHasData:()=>gs,getSEMrushRequestIsSuccess:()=>ls,getSEMrushRequestKeyphrase:()=>ps,getSEMrushRequestLimitReached:()=>ds,getSEMrushRequestResponse:()=>us,getSEMrushSelectedCountry:()=>Es,getSeoDescriptionTemplate:()=>fa,getSeoResults:()=>Qa,getSeoTitle:()=>la,getSeoTitleTemplate:()=>Aa,getSeoTitleTemplateNoFallback:()=>Ra,getShoppingData:()=>_s,getShortcodesForParsing:()=>Ea,getSiteIconUrlFromSettings:()=>zi,getSiteName:()=>Yi,getSiteUrl:()=>Ia,getSnippetEditorData:()=>aa,getSnippetEditorDescription:()=>ra,getSnippetEditorDescriptionWithTemplate:()=>na,getSnippetEditorIsLoading:()=>oa,getSnippetEditorMode:()=>Ji,getSnippetEditorPreviewImageUrl:()=>ca,getSnippetEditorSlug:()=>ia,getSnippetEditorTemplates:()=>Zi,getSnippetEditorTitle:()=>ea,getSnippetEditorTitleWithTemplate:()=>ta,getSnippetEditorWordsToHighlight:()=>sa,getSocialDescriptionTemplate:()=>Da,getSocialTitleTemplate:()=>ha,getTextLength:()=>_i,getTwitterAltText:()=>As,getTwitterDescription:()=>Ss,getTwitterDescriptionFallback:()=>Ds,getTwitterDescriptionOrFallback:()=>Os,getTwitterImageSrc:()=>Is,getTwitterImageType:()=>ws,getTwitterImageUrl:()=>ys,getTwitterTitle:()=>Ts,getTwitterTitleFallback:()=>hs,getTwitterTitleOrFallback:()=>fs,getTwitterWarnings:()=>Rs,getWarningMessage:()=>Ps,getWincherAllKeyphrasesMissRanking:()=>Vs,getWincherHistoryDaysLimit:()=>Us,getWincherKeyphraseLimitReached:()=>Ls,getWincherLimit:()=>Ws,getWincherLoginStatus:()=>Ms,getWincherModalOpen:()=>vs,getWincherPermalink:()=>qs,getWincherRequestIsSuccess:()=>Cs,getWincherRequestResponse:()=>Ns,getWincherTrackableKeyphrases:()=>Gs,getWincherTrackedKeyphrases:()=>Hs,getWincherWebsiteId:()=>xs,getWordProofTimestamp:()=>Ri,hasWincherNoKeyphrase:()=>bs,hasWincherTrackedKeyphrases:()=>Bs,isAlertDismissed:()=>Ba,isCornerstoneContent:()=>ma,isFleschReadingEaseAvailable:()=>mi,isFormalitySupported:()=>Ti,isMarkingAvailable:()=>xa,isPromotionActive:()=>Ta,isWincherNewlyAuthenticated:()=>ks,selectImageLink:()=>to,selectLink:()=>Js,selectLinkParam:()=>Zs,selectLinkParams:()=>Xs,selectPluginUrl:()=>eo,selectWistiaEmbedPermission:()=>ro,selectWistiaEmbedPermissionError:()=>ao,selectWistiaEmbedPermissionStatus:()=>io,selectWistiaEmbedPermissionValue:()=>no,shouldWincherAutomaticallyTrackAll:()=>Ks,shouldWincherTrackAll:()=>Fs});const n=window.yoast.reduxJsToolkit,i=window.wp.url,a=window.lodash,s="linkParams",o=(0,n.createSlice)({name:s,initialState:{},reducers:{setLinkParams:(e,{payload:t})=>t}}),c=(o.getInitialState,{selectLinkParam:(e,t,r={})=>(0,a.get)(e,`${s}.${t}`,r),selectLinkParams:e=>(0,a.get)(e,s,{})});c.selectLink=(0,n.createSelector)([c.selectLinkParams,(e,t)=>t,(e,t,r={})=>r],((e,t,r)=>(0,i.addQueryArgs)(t,{...e,...r})));const l=o.actions,u=o.reducer,d=(0,n.createSlice)({name:"notifications",initialState:{},reducers:{addNotification:{reducer:(e,{payload:t})=>{e[t.id]={id:t.id,variant:t.variant,size:t.size,title:t.title,description:t.description}},prepare:({id:e,variant:t="info",size:r="default",title:i,description:a})=>({payload:{id:e||(0,n.nanoid)(),variant:t,size:r,title:i||"",description:a}})},removeNotification:(e,{payload:t})=>(0,a.omit)(e,t)}}),p=(d.getInitialState,d.actions,d.reducer,"pluginUrl"),E=(0,n.createSlice)({name:p,initialState:"",reducers:{setPluginUrl:(e,{payload:t})=>t}}),g=(E.getInitialState,{selectPluginUrl:e=>(0,a.get)(e,p,"")});g.selectImageLink=(0,n.createSelector)([g.selectPluginUrl,(e,t,r="images")=>r,(e,t)=>t],((e,t,r)=>[(0,a.trimEnd)(e,"/"),(0,a.trim)(t,"/"),(0,a.trimStart)(r,"/")].join("/")));const m=E.actions,_=E.reducer;window.wp.apiFetch;const T="request",S="success",y="error",w="idle",I="wistiaEmbedPermission",A=(0,n.createSlice)({name:I,initialState:{value:!1,status:w,error:{}},reducers:{setWistiaEmbedPermissionValue:(e,{payload:t})=>{e.value=Boolean(t)}},extraReducers:e=>{e.addCase(`${I}/${T}`,(e=>{e.status="loading"})),e.addCase(`${I}/${S}`,((e,{payload:t})=>{e.status="success",e.value=Boolean(t&&t.value)})),e.addCase(`${I}/${y}`,((e,{payload:t})=>{e.status="error",e.value=Boolean(t&&t.value),e.error={code:(0,a.get)(t,"error.code",500),message:(0,a.get)(t,"error.message","Unknown")}}))}}),R=(A.getInitialState,{selectWistiaEmbedPermission:e=>(0,a.get)(e,I,{value:!1,status:w}),selectWistiaEmbedPermissionValue:e=>(0,a.get)(e,[I,"value"],!1),selectWistiaEmbedPermissionStatus:e=>(0,a.get)(e,[I,"status"],w),selectWistiaEmbedPermissionError:e=>(0,a.get)(e,[I,"error"],{})}),h={...A.actions,setWistiaEmbedPermission:function*(e){yield{type:`${I}/${T}`};try{return yield{type:I,payload:e},{type:`${I}/${S}`,payload:{value:e}}}catch(t){return{type:`${I}/${y}`,payload:{error:t,value:e}}}}},f=A.reducer;class D{static get estimatedReadingTimeElement(){return document.getElementById("yoast_wpseo_estimated-reading-time-minutes")}static get estimatedReadingTime(){return D.estimatedReadingTimeElement&&D.estimatedReadingTimeElement.value||""}static set estimatedReadingTime(e){D.estimatedReadingTimeElement&&(D.estimatedReadingTimeElement.value=e)}}const O="SET_ESTIMATED_READING_TIME",P="LOAD_ESTIMATED_READING_TIME",v="SET_FLESCH_READING_EASE",b="SET_PROMINENT_WORDS",C="SET_TEXT_LENGTH",N=e=>(D.estimatedReadingTime=e.toString(),{type:O,payload:e}),L=()=>({type:P,payload:(0,a.toSafeInteger)(D.estimatedReadingTime)}),M=({score:e,difficulty:t})=>({type:v,payload:{score:e,difficulty:t}}),k=e=>({type:b,payload:e}),W=e=>({type:C,payload:e}),U="WPSEO_SET_ACTIVE_MARKER";function F(e){return{type:U,activeMarker:e}}class K{static get noIndexElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_meta-robots-noindex":"hidden_wpseo_noindex")}static get noFollowElement(){return document.getElementById("yoast_wpseo_meta-robots-nofollow")}static get advancedElement(){return document.getElementById("yoast_wpseo_meta-robots-adv")}static get breadcrumbsTitleElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_bctitle":"hidden_wpseo_bctitle")}static get canonicalElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_canonical":"hidden_wpseo_canonical")}static get wordproofTimestampElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_wordproof_timestamp":"hidden_wpseo_wordproof_timestamp")}static get noIndex(){return K.noIndexElement&&K.noIndexElement.value||""}static set noIndex(e){K.noIndexElement.value=e}static get noFollow(){return K.noFollowElement&&K.noFollowElement.value||""}static set noFollow(e){K.noFollowElement.value=e}static get advanced(){return K.advancedElement&&K.advancedElement.value||""}static set advanced(e){K.advancedElement.value=e}static get breadcrumbsTitle(){return K.breadcrumbsTitleElement&&K.breadcrumbsTitleElement.value||""}static set breadcrumbsTitle(e){K.breadcrumbsTitleElement.value=e}static get canonical(){return K.canonicalElement&&K.canonicalElement.value||""}static set canonical(e){K.canonicalElement.value=e}static get wordproofTimestamp(){return K.wordproofTimestampElement&&"1"===K.wordproofTimestampElement.value||!1}static set wordproofTimestamp(e){K.wordproofTimestampElement.value=e?"1":"0"}}const x="SET_NO_INDEX",H="SET_NO_FOLLOW",B="SET_ADVANCED",G="SET_BREADCRUMBS_TITLE",V="SET_CANONICAL_URL",q="SET_WORDPROOF_TIMESTAMP",Y="LOAD_ADVANCED_SETTINGS",j=e=>(K.noIndex=e,{type:x,value:e}),$=e=>(K.noFollow=e,{type:H,value:e}),Q=e=>(K.advanced=e.join(","),{type:B,value:e}),z=e=>(K.breadcrumbsTitle=e,{type:G,value:e}),X=e=>(K.canonical=e,{type:V,value:e}),Z=e=>(K.wordproofTimestamp=e,{type:q,value:e}),J=()=>({type:Y,settings:{noIndex:K.noIndex,noFollow:K.noFollow,advanced:K.advanced.split(","),breadcrumbsTitle:K.breadcrumbsTitle,canonical:K.canonical,wordproofTimestamp:K.wordproofTimestamp,isLoading:!1}}),ee="SNIPPET_EDITOR_UPDATE_ANALYSIS_DATA",te="RUN_ANALYSIS",re="UPDATE_SHORTCODES_FOR_PARSING";function ne(e){return{type:ee,data:e}}function ie(){return{type:te,timestamp:Date.now()}}function ae(e){return{type:re,shortcodesForParsing:e}}const se="ADD_CHECKLIST";function oe(e,t){return{type:se,name:e,data:t}}class ce{static get keyphraseElement(){var e;return document.getElementById(null!==(e=window.wpseoScriptData)&&void 0!==e&&e.isPost?"yoast_wpseo_focuskw":"hidden_wpseo_focuskw")}static get isCornerstoneElement(){var e;return document.getElementById(null!==(e=window.wpseoScriptData)&&void 0!==e&&e.isPost?"yoast_wpseo_is_cornerstone":"hidden_wpseo_is_cornerstone")}static get seoScoreElement(){var e;return document.getElementById(null!==(e=window.wpseoScriptData)&&void 0!==e&&e.isPost?"yoast_wpseo_linkdex":"hidden_wpseo_linkdex")}static get readabilityScoreElement(){var e;return document.getElementById(null!==(e=window.wpseoScriptData)&&void 0!==e&&e.isPost?"yoast_wpseo_content_score":"hidden_wpseo_content_score")}static get inclusiveLanguageScoreElement(){var e;return document.getElementById(null!==(e=window.wpseoScriptData)&&void 0!==e&&e.isPost?"yoast_wpseo_inclusive_language_score":"hidden_wpseo_inclusive_language_score")}static set keyphrase(e){ce.keyphraseElement&&(ce.keyphraseElement.value=e)}static get keyphrase(){var e,t;return null!==(e=null===(t=ce.keyphraseElement)||void 0===t?void 0:t.value)&&void 0!==e?e:""}static set isCornerstone(e){ce.isCornerstoneElement&&(ce.isCornerstoneElement.value=e?"1":"0")}static get isCornerstone(){var e;return"1"===(null===(e=ce.isCornerstoneElement)||void 0===e?void 0:e.value)}static set seoScore(e){ce.seoScoreElement&&(ce.seoScoreElement.value=e)}static get seoScore(){var e,t;return null!==(e=null===(t=ce.seoScoreElement)||void 0===t?void 0:t.value)&&void 0!==e?e:""}static set readabilityScore(e){ce.readabilityScoreElement&&(ce.readabilityScoreElement.value=e)}static get readabilityScore(){var e,t;return null!==(e=null===(t=ce.readabilityScoreElement)||void 0===t?void 0:t.value)&&void 0!==e?e:""}static set inclusiveLanguageScore(e){ce.inclusiveLanguageScoreElement&&(ce.inclusiveLanguageScoreElement.value=e)}static get inclusiveLanguageScore(){var e,t;return null!==(e=null===(t=ce.inclusiveLanguageScoreElement)||void 0===t?void 0:t.value)&&void 0!==e?e:""}}const le="CONTENT_ANALYSIS_",ue=`${le}SET_SEO_RESULTS`,de=`${le}SET_SEO_RESULTS_FOR_KEYWORD`,pe=`${le}UPDATE_SEO_RESULT`,Ee=`${le}REMOVE_KEYWORD`,ge=`${le}SET_READABILITY_RESULTS`,me=`${le}UPDATE_READABILITY_RESULT`,_e=`${le}SET_INCLUSIVE_LANGUAGE_RESULTS`,Te=`${le}UPDATE_INCLUSIVE_LANGUAGE_RESULT`,Se=`${le}SET_OVERALL_READABILITY_SCORE`,ye=`${le}SET_OVERALL_SEO_SCORE`,we=`${le}SET_OVERALL_INCLUSIVE_LANGUAGE_SCORE`;function Ie(e,t){return{type:de,keyword:e,results:t}}function Ae(e){return{type:ge,results:e}}function Re(e){return{type:_e,results:e}}function he(e){return ce.readabilityScore=e,{type:Se,overallScore:e}}function fe(e,t){return ce.seoScore=e,{type:ye,keyword:t,overallScore:e}}function De(e){return ce.inclusiveLanguageScore=e,{type:we,overallScore:e}}const Oe="WPSEO_",Pe=`${Oe}LOAD_CORNERSTONE_CONTENT`,ve=`${Oe}TOGGLE_CORNERSTONE_CONTENT`,be=`${Oe}SET_CORNERSTONE_CONTENT`,Ce=()=>({type:be,isCornerstone:ce.isCornerstone}),Ne=e=>(ce.isCornerstone=e,{type:be,isCornerstone:e}),Le=()=>(ce.isCornerstone=!ce.isCornerstone,{type:ve}),Me="SET_CURRENT_PROMOTIONS";function ke(e){return{type:Me,payload:e}}const We="SET_EDITOR_DATA_CONTENT",Ue="SET_EDITOR_DATA_TITLE",Fe="SET_EDITOR_DATA_EXCERPT",Ke="SET_EDITOR_DATA_IMAGE_URL",xe="SET_EDITOR_DATA_SLUG";function He(e){return{type:We,content:e}}function Be(e){return{type:Ue,title:e}}function Ge(e){return{type:Fe,excerpt:e}}function Ve(e){return{type:Ke,imageUrl:e}}function qe(e){return{type:xe,slug:e}}const Ye="OPEN_MODAL",je="CLOSE_MODAL";function $e(e){return{type:Ye,modalKey:e}}function Qe(){return{type:je}}const ze="WPSEO_",Xe=`${ze}LOAD_FOCUS_KEYWORD`,Ze=`${ze}SET_FOCUS_KEYWORD`,Je=()=>({type:Xe,keyword:ce.keyphrase}),et=function(e){return ce.keyphrase=e,{type:Ze,keyword:e}},tt="WPSEO_SET_MARKER_STATUS",rt=function(e){return{type:tt,marksButtonStatus:e}},nt="WPSEO_SET_MARKER_PAUSE_STATUS";function it(e){return{type:nt,isMarkerPaused:e}}const at="DISMISS_ALERT",st="DISMISS_ALERT_SUCCESS",ot="SET_DISMISSED_ALERTS";function*ct(e){return yield{type:at,alertKey:e},{type:st,alertKey:e}}function lt(e){return{type:ot,payload:e}}const ut="WPSEO_SET_PRIMARY_TAXONOMY",dt=(e,t)=>({type:ut,taxonomy:e,termId:t});class pt{static get articleTypeInput(){return document.getElementById("yoast_wpseo_schema_article_type")}static get defaultArticleType(){return pt.articleTypeInput.getAttribute("data-default")}static get articleType(){return pt.articleTypeInput.value}static set articleType(e){pt.articleTypeInput.value=e}static get pageTypeInput(){return document.getElementById("yoast_wpseo_schema_page_type")}static get defaultPageType(){return pt.pageTypeInput.getAttribute("data-default")}static get pageType(){return pt.pageTypeInput.value}static set pageType(e){pt.pageTypeInput.value=e}}const Et="SET_PAGE_TYPE",gt="SET_ARTICLE_TYPE",mt="GET_SCHEMA_PAGE_DATA",_t="GET_SCHEMA_ARTICLE_DATA",Tt=e=>(pt.pageType=e,{type:Et,pageType:e}),St=e=>(pt.articleType=e,{type:gt,articleType:e}),yt=()=>({type:mt,pageType:pt.pageType,defaultPageType:pt.defaultPageType}),wt=()=>({type:_t,articleType:pt.articleType,defaultArticleType:pt.defaultArticleType}),It="MODAL_DISMISS",At="MODAL_OPEN",Rt="MODAL_OPEN_NO_KEYPHRASE";function ht(){return{type:It}}function ft(e){return{type:At,location:e}}function Dt(){return{type:Rt}}const Ot="CHANGE_COUNTRY",Pt="SET_REQUEST_SUCCEEDED",vt="SET_REQUEST_FAILED",bt="SET_LIMIT_REACHED",Ct="NEW_REQUEST",Nt="NO_DATA_FOUND",Lt="SET_LOGIN_STATUS";function Mt(e,t){return{type:Ct,countryCode:e,keyphrase:t}}function kt(e){return{type:Pt,response:e}}function Wt(e){return{type:vt,response:e}}function Ut(){return{type:bt}}function Ft(e){return{type:Ot,countryCode:e}}function Kt(){return{type:Nt}}function xt(e){return{type:Lt,loginStatus:e}}const Ht="SET_SETTINGS",Bt="SET_CONTENT_IMAGE",Gt="UPDATE_SNIPPET_EDITOR_SETTINGS",Vt=function(e){return{type:Ht,settings:e}},qt=function(e){return{type:Bt,src:e}},Yt=function(e){return{type:Gt,snippetEditor:e}},jt="SET_SHOPPING_DATA";function $t(e){return{type:jt,shoppingData:e}}const Qt=window.yoast.helpers,zt="SNIPPET_EDITOR_SWITCH_MODE",Xt="SNIPPET_EDITOR_UPDATE_DATA",Zt="SNIPPET_EDITOR_FIND_CUSTOM_FIELDS",Jt="SNIPPET_EDITOR_CUSTOM_FIELD_RESULTS",er="SNIPPET_EDITOR_UPDATE_REPLACEMENT_VARIABLE",tr="SNIPPET_EDITOR_UPDATE_REPLACEMENT_VARIABLES_BATCH",rr="SNIPPET_EDITOR_HIDE_REPLACEMENT_VARIABLES",nr="SNIPPET_EDITOR_REMOVE_REPLACEMENT_VARIABLE",ir="SNIPPET_EDITOR_REFRESH",ar="SNIPPET_EDITOR_UPDATE_WORDS_TO_HIGHLIGHT",sr="LOAD_SNIPPET_EDITOR_DATA";function or(e){return{type:zt,mode:e}}function cr(e){return{type:Xt,data:e}}function*lr(e,t){const r=yield{type:Zt,query:e,postId:t};return{type:Jt,results:r}}function ur(e,t,r="",n=!1){const i="string"==typeof t?(0,Qt.decodeHTML)(t):t;return{type:er,name:e,value:i,label:r,hidden:n}}function dr(e){return{type:tr,updatedVariables:e}}function pr(e){return{type:ar,wordsToHighlight:e}}function Er(e){return{type:nr,name:e}}function gr(){return{type:ir,time:(new Date).getMilliseconds()}}function mr(e){return{type:rr,data:e}}const _r=window.wp.data;class Tr{static get titleElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_twitter-title":"hidden_wpseo_twitter-title")}static get descriptionElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_twitter-description":"hidden_wpseo_twitter-description")}static get imageIdElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_twitter-image-id":"hidden_wpseo_twitter-image-id")}static get imageUrlElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_twitter-image":"hidden_wpseo_twitter-image")}static get title(){return Tr.titleElement.value}static set title(e){Tr.titleElement.value=e}static set description(e){Tr.descriptionElement.value=e}static get description(){return Tr.descriptionElement.value}static set imageId(e){Tr.imageIdElement.value=e}static get imageId(){return Tr.imageIdElement.value}static set imageUrl(e){Tr.imageUrlElement.value=e}static get imageUrl(){return Tr.imageUrlElement.value}}const Sr="SET_TWITTER_TITLE",yr="SET_TWITTER_DESCRIPTION",wr="SET_TWITTER_IMAGE",Ir="CLEAR_TWITTER_IMAGE",Ar="LOAD_TWITTER_PREVIEW",Rr=e=>(e.trim()===(0,_r.select)("yoast-seo/editor").getSocialTitleTemplate().trim()?Tr.title="":Tr.title=e,{type:Sr,title:e}),hr=e=>(e.trim()===(0,_r.select)("yoast-seo/editor").getSocialDescriptionTemplate().trim()?Tr.description="":Tr.description=e,{type:yr,description:e}),fr=e=>(Tr.imageId=e.id,Tr.imageUrl=e.url,{type:wr,image:e}),Dr=()=>(Tr.imageId="",Tr.imageUrl="",{type:Ir}),Or=()=>{const{getSocialDescriptionTemplate:e,getSocialTitleTemplate:t}=(0,_r.select)("yoast-seo/editor");return{type:Ar,imageId:Tr.imageId,imageUrl:Tr.imageUrl,description:Tr.description||e(),title:Tr.title||t()}};class Pr{static get titleElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_opengraph-title":"hidden_wpseo_opengraph-title")}static get descriptionElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_opengraph-description":"hidden_wpseo_opengraph-description")}static get imageIdElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_opengraph-image-id":"hidden_wpseo_opengraph-image-id")}static get imageUrlElement(){return document.getElementById(window.wpseoScriptData.isPost?"yoast_wpseo_opengraph-image":"hidden_wpseo_opengraph-image")}static get title(){return Pr.titleElement.value}static set title(e){Pr.titleElement.value=e}static set description(e){Pr.descriptionElement.value=e}static get description(){return Pr.descriptionElement.value}static set imageId(e){Pr.imageIdElement.value=e}static get imageId(){return Pr.imageIdElement.value}static set imageUrl(e){Pr.imageUrlElement.value=e}static get imageUrl(){return Pr.imageUrlElement.value}}const vr="SET_FACEBOOK_TITLE",br="SET_FACEBOOK_DESCRIPTION",Cr="SET_FACEBOOK_IMAGE",Nr="CLEAR_FACEBOOK_IMAGE",Lr="LOAD_FACEBOOK_PREVIEW",Mr=e=>(e.trim()===(0,_r.select)("yoast-seo/editor").getSocialTitleTemplate().trim()?Pr.title="":Pr.title=e,{type:vr,title:e}),kr=e=>(e.trim()===(0,_r.select)("yoast-seo/editor").getSocialDescriptionTemplate().trim()?Pr.description="":Pr.description=e,{type:br,description:e}),Wr=e=>(Pr.imageUrl=e.url,Pr.imageId=e.id,{type:Cr,image:e}),Ur=()=>(Pr.imageId="",Pr.imageUrl="",{type:Nr}),Fr=()=>{const{getSocialDescriptionTemplate:e,getSocialTitleTemplate:t}=(0,_r.select)("yoast-seo/editor");return{type:Lr,imageId:Pr.imageId,imageUrl:Pr.imageUrl,description:Pr.description||e(),title:Pr.title||t()}},Kr="SET_WARNING_MESSAGE";function xr(e){return{type:Kr,message:e}}const Hr="WINCHER_MODAL_DISMISS",Br="WINCHER_MODAL_OPEN",Gr="WINCHER_MODAL_OPEN_NO_KEYPHRASE";function Vr(){return{type:Hr}}function qr(e){return{type:Br,location:e}}function Yr(){return{type:Gr}}const jr="WINCHER_SET_REQUEST_SUCCEEDED",$r="WINCHER_SET_REQUEST_FAILED",Qr="WINCHER_SET_KEYPHRASE_LIMIT_REACHED",zr="WINCHER_NEW_REQUEST",Xr="WINCHER_SET_LOGIN_STATUS",Zr="WINCHER_FORCE_SEO_PERFORMANCE_TRACKED_KEYPHRASES",Jr="WINCHER_SET_AUTOMATICALLY_TRACK_ALL_REQUEST";function en(){return{type:zr}}function tn(e){return{type:jr,response:e}}function rn(e){return{type:$r,response:e}}function nn(e){return{type:Qr,limit:e}}function an(e,t){return{type:Xr,loginStatus:e,newlyAuthenticated:t}}function sn(e){return{type:Zr,trackAll:e}}function on(e){return{type:Jr,automaticallyTrack:e}}const cn="WINCHER_SET_WEBSITE_ID",ln="WINCHER_SET_SEO_PERFORMANCE_TRACKING_FOR_KEYPHRASE",un="WINCHER_UNSET_SEO_PERFORMANCE_TRACKING_FOR_KEYPHRASE",dn="WINCHER_SET_SEO_PERFORMANCE_TRACKED_KEYPHRASES";function pn(e){return{type:cn,websiteId:e}}function En(e){return{type:ln,keyphraseObject:e}}function gn(e){return{type:un,untrackedKeyphrase:e}}function mn(e){return{type:dn,trackedKeyphrases:e}}const Tn="SET_IS_PREMIUM",Sn=e=>({type:Tn,payload:e}),yn="SET_POST_ID",wn=e=>({type:yn,payload:e}),{setLinkParams:In}=l,{setPluginUrl:An}=m,{setWistiaEmbedPermission:Rn,setWistiaEmbedPermissionValue:hn}=h,fn={estimatedReadingTime:0,textLength:{}},Dn={results:[],overallScore:null},On={};function Pn(e,t,r){return Object.assign({},e,{[t]:{results:r}})}const vn={},bn=(0,_r.combineReducers)({seo:function(e=On,t){switch(t.type){case ue:return function(e){const t={};return e.resultsPerKeyword.forEach((function(e){t[e.keyword]={results:e.results}})),t}(t);case pe:return function(e,t){return e[t.keyword]?-1!==(0,a.findIndex)(e[t.keyword].results,{id:t.result.id})?function(e,t){const r=Array.from(e[t.keyword].results,(e=>e.id===t.result.id?t.result:e));return Object.assign({},e,{[t.keyword]:{results:r}})}(e,t):Object.assign({},e,{[t.keyword]:{results:[...e[t.keyword].results,t.result]}}):Pn(e,t.keyword,[t.result])}(e,t);case Ee:return(0,a.omit)(e,t.keyword);case de:return function(e,t){return e[t.keyword]?Object.assign({},e,{[t.keyword]:{results:t.results}}):Pn(e,t.keyword,t.results)}(e,t);case ye:return function(e,t){return Object.assign({},e,{[t.keyword]:{...e[t.keyword],overallScore:t.overallScore}})}(e,t);default:return e}},readability:function(e=vn,t){switch(t.type){case ge:return function(e,t){return Object.assign({},e,{results:t.results})}(e,t);case me:return function(e,t){if((0,a.isUndefined)(e.results))return Object.assign({},e,{results:[t.result]});const r=(0,a.findIndex)(e.results,{id:t.result.id});if(-1!==r){const n=e.results.filter((function(t){return t!==e.results[r]}));return Object.assign({},e,{results:n.concat(t.result)})}return Object.assign({},e,{results:[...e.results,t.result]})}(e,t);case Se:return function(e,t){return Object.assign({},e,{overallScore:t.overallScore})}(e,t);default:return e}},inclusiveLanguage:function(e=Dn,t){switch(t.type){case _e:return function(e,t){return Object.assign({},e,{results:t.results})}(e,t);case Te:return function(e,t){if((0,a.isUndefined)(e.results))return Object.assign({},e,{results:[t.result]});const r=(0,a.findIndex)(e.results,{id:t.result.id});if(-1!==r){const n=e.results.filter((function(t){return t!==e.results[r]}));return Object.assign({},e,{results:n.concat(t.result)})}return Object.assign({},e,{results:[...e.results,t.result]})}(e,t);case we:return function(e,t){return Object.assign({},e,{overallScore:t.overallScore})}(e,t);default:return e}}}),Cn={noIndex:"",noFollow:"",advanced:[],breadcrumbsTitle:"",canonical:"",wordproofTimestamp:!1,isLoading:!0},Nn={snippet:{},timestamp:0,shortcodesForParsing:[]},Ln={checklistItems:{}},Mn={content:"",excerpt:"",imageUrl:"",slug:"",title:""},kn={openedModal:""},Wn={title:"",description:"",warnings:[],image:{url:"",id:"",alt:""}};function Un(){return(0,a.get)(window,"wpseoScriptData.metabox",{intl:{},isRtl:!1})}function Fn(){const e=Un();return 1===(0,a.get)(e,"contentAnalysisActive",0)}function Kn(){const e=Un();return 1===(0,a.get)(e,"keywordAnalysisActive",0)}function xn(){const e=Un();return 1===(0,a.get)(e,"inclusiveLanguageAnalysisActive",0)}function Hn(){const e=Un();return 1===(0,a.get)(e,"cornerstoneActive",0)}const Bn=function(){const e=Un();return(0,a.get)(e,"wordFormRecognitionActive",!1)};function Gn(){const e=Un();return 1===(0,a.get)(e,"semrushIntegrationActive",0)}function Vn(){const e=Un();return 1===(0,a.get)(e,"zapierIntegrationActive",0)}function qn(){const e=Un();return 1===(0,a.get)(e,"zapierConnectedStatus",0)}function Yn(){const e=Un();return 1===(0,a.get)(e,"wincherIntegrationActive",0)}function jn(){const e=Un();return 1===(0,a.get)(e,"wordproofIntegrationActive",0)}const $n={},Qn={pageType:"",defaultPageType:"",articleType:"",defaultArticleType:""},zn={whichModalOpen:"none",displayNoKeyphraseMessage:!1},Xn={isRequestPending:!1,keyphrase:"",countryCode:"us",isSuccess:!1,response:null,limitReached:!1,hasData:!0,isLoggedIn:!1},Zn={},Jn=window.wp.i18n,ei=window.wp.sanitize;function ti(e){return e.charAt(0).toUpperCase()+e.slice(1)}window.React,window.wp.element;const{stripHTMLTags:ri}=Qt.strings;function ni(e){return e=function(e){if(!["ct_","cf_","pt_"].includes(e.substr(0,3)))return e.replace(/_/g," ");const t=e.slice(0,3);switch(-1!==(e=e.slice(3)).indexOf("desc_")&&(e=e.slice(5)+" description"),t){case"ct_":e+=" (custom taxonomy)";break;case"cf_":e+=" (custom field)";break;case"pt_":e="Post type ("+(e=e.replace("single","singular"))+")"}return e}(e),ti(e)}function ii(e,t="_"){return e.replace(/\s/g,t)}const ai={title:"",description:"",warnings:[],image:{url:"",id:"",alt:""}},si={message:[]},oi={whichModalOpen:"none",hasNoKeyphrase:!1},ci={isSuccess:!1,response:null,limitReached:!1,isLoggedIn:!1,isNewlyAuthenticated:!1,limit:10,trackAll:!1,automaticallyTrack:!1,historyDaysLimit:0},li={websiteId:"",trackedKeyphrases:null,trackAll:!1},ui={activeMarker:function(e=null,t){return t.type===U?t.activeMarker:e},advancedSettings:(e=Cn,t)=>{switch(t.type){case Y:return{...e,...t.settings};case x:return{...e,noIndex:t.value};case H:return{...e,noFollow:t.value};case B:return{...e,advanced:t.value};case V:return{...e,canonical:t.value};case q:return{...e,wordproofTimestamp:t.value};case G:return{...e,breadcrumbsTitle:t.value};default:return e}},analysis:bn,analysisData:function(e=Nn,t){switch(t.type){case ee:return{...e,snippet:t.data};case te:return{...e,timestamp:t.timestamp};case re:return{...e,shortcodesForParsing:t.shortcodesForParsing}}return e},checklist:function(e=Ln,t){if(t.type===se){const r=Object.assign({},e);return r.checklistItems[t.name]=t.data,r}return e},currentPromotions:function(e={},t){return t.type===Me?{promotions:t.payload}:e},dismissedAlerts:function(e={},t){return t.type===st&&t.alertKey?{...e,[t.alertKey]:!0}:t.type===ot?{...t.payload}:e},editorContext:function(e=function(){return{contentLocale:(0,a.get)(window,"wpseoScriptData.metabox.contentLocale",""),isBlockEditor:"1"===(0,a.get)(window,"wpseoScriptData.isBlockEditor","0"),isElementorEditor:"1"===(0,a.get)(window,"wpseoScriptData.isElementorEditor","0"),isPost:(0,a.get)(window,"wpseoScriptData",{}).hasOwnProperty("isPost"),isTerm:(0,a.get)(window,"wpseoScriptData",{}).hasOwnProperty("isTerm"),noIndex:"1"===(0,a.get)(window,"wpseoAdminL10n.noIndex","0"),postTypeNameSingular:(0,a.get)(window,"wpseoAdminL10n.postTypeNameSingular",""),postTypeNamePlural:(0,a.get)(window,"wpseoAdminL10n.postTypeNamePlural",""),postStatus:(0,a.get)(window,"wpseoScriptData.postStatus","")}}()){return e},editorData:(e=Mn,t)=>{switch(t.type){case We:return{...e,content:t.content};case Fe:return{...e,excerpt:t.excerpt};case Ke:return{...e,imageUrl:t.imageUrl};case xe:return{...e,slug:t.slug};case Ue:return{...e,title:t.title}}return e},editorModals:function(e=kn,t){switch(t.type){case Ye:return{...e,openedModal:t.modalKey};case je:return{...e,openedModal:""}}return e},facebookEditor:(e=Wn,t)=>{switch(t.type){case Lr:return{...e,title:t.title,description:t.description,image:{id:t.id,url:t.imageUrl}};case vr:return{...e,title:t.title};case br:return{...e,description:t.description};case Cr:return{...e,warnings:t.image.warnings,image:{id:t.image.id,url:t.image.url,alt:t.image.alt||""}};case Nr:return{...e,image:{url:"",id:"",alt:""},warnings:[]};default:return e}},focusKeyword:function(e="",t){switch(t.type){case Xe:case Ze:return t.keyword;default:return e}},insights:(e=fn,{type:t,payload:r})=>{switch(t){case P:case O:return{...e,estimatedReadingTime:r};case v:return{...e,fleschReadingEaseScore:r.score,fleschReadingEaseDifficulty:r.difficulty};case C:return{...e,textLength:r};default:return e}},isCornerstone:function(e=!1,t){switch(t.type){case ve:return!e;case be:return t.isCornerstone;default:return e}},isMarkerPaused:function(e=!1,t){return t.type===nt?function(e,t){return t.isMarkerPaused}(0,t):e},isPremium:(e=!1,t)=>t.type===Tn?t.payload:e,[s]:u,[p]:_,postId:(e=!1,t)=>t.type===yn?t.payload:e,marksButtonStatus:function(e="disabled",t){return t.type===tt?t.marksButtonStatus:e},preferences:function(e=function(){const e=!!window.wpseoAdminL10n.displayAdvancedTab;return{isContentAnalysisActive:Fn(),isKeywordAnalysisActive:Kn(),isInclusiveLanguageAnalysisActive:xn(),isWordFormRecognitionActive:(0,a.isUndefined)(window.wpseoPremiumMetaboxData)&&Bn(),isCornerstoneActive:Hn(),isBreadcrumbsDisabled:!!window.wpseoAdminL10n.isBreadcrumbsDisabled,isPrivateBlog:!!window.wpseoAdminL10n.isPrivateBlog,isSEMrushIntegrationActive:Gn(),shouldUpsell:(0,a.isUndefined)(window.wpseoPremiumMetaboxData),displayAdvancedTab:e,displaySchemaSettings:e&&!!window.wpseoScriptData.isPost,displaySchemaSettingsFooter:window.wpseoScriptData.metabox.schema.displayFooter,useOpenGraphData:window.wpseoScriptData.metabox.showSocial.facebook,useTwitterData:window.wpseoScriptData.metabox.showSocial.twitter,isZapierIntegrationActive:Vn(),isZapierConnected:qn(),isWincherIntegrationActive:Yn(),isWordProofIntegrationActive:jn(),isInsightsEnabled:(0,a.get)(window,"wpseoScriptData.metabox.isInsightsEnabled",!1),isNewsEnabled:!!window.wpseoAdminL10n.news_seo_is_active}}()){return e},primaryTaxonomies:function(e=$n,t){return t.type===ut?{...e,[t.taxonomy]:t.termId}:e},schemaTab:(e=Qn,t)=>{switch(t.type){case Et:return{...e,pageType:t.pageType};case gt:return{...e,articleType:t.articleType};case mt:return{...e,pageType:t.pageType,defaultPageType:t.defaultPageType};case _t:return{...e,articleType:t.articleType,defaultArticleType:t.defaultArticleType};default:return e}},SEMrushModal:function(e=zn,t){switch(t.type){case Rt:return{whichModalOpen:"none",displayNoKeyphraseMessage:!0};case At:return{whichModalOpen:t.location,displayNoKeyphraseMessage:!1};case It:return{whichModalOpen:"none",displayNoKeyphraseMessage:!1}}return e},SEMrushRequest:function(e=Xn,t){switch(t.type){case Ct:return{...e,isRequestPending:!0,keyphrase:t.keyphrase,countryCode:t.countryCode,isSuccess:!1,response:null};case Pt:return{...e,isRequestPending:!1,isSuccess:!0,response:t.response,hasData:!0};case vt:return{...e,isRequestPending:!1,isSuccess:!1,response:t.response,hasData:!1};case bt:return{...e,isRequestPending:!1,limitReached:!0,hasData:!1};case Ot:return{...e,countryCode:t.countryCode};case Nt:return{...e,isSuccess:!0,isRequestPending:!1,hasData:!1,response:null};case Lt:return{...e,isLoggedIn:t.loginStatus};default:return e}},settings:function(e={},t){switch(t.type){case Ht:return{...e,...t.settings};case Bt:{const r=Object.assign({},e.socialPreviews,{contentImage:t.src});return{...e,socialPreviews:{...r}}}case Gt:{const r=Object.assign({},e.snippetEditor,t.snippetEditor);return{...e,snippetEditor:{...r}}}default:return e}},shoppingData:function(e=Zn,t){if(t.type===jt){const r=(0,a.pick)(t.shoppingData,["rating","reviewCount","availability","price"]);return{...e,...r}}return e},snippetEditor:function(e=function(){return{mode:"mobile",data:{title:"",description:"",slug:""},wordsToHighlight:[],replacementVariables:[{name:"date",label:(0,Jn.__)("Date","wordpress-seo"),value:""},{name:"id",label:(0,Jn.__)("ID","wordpress-seo"),value:""},{name:"page",label:(0,Jn.__)("Page","wordpress-seo"),value:""},{name:"searchphrase",label:(0,Jn.__)("Search phrase","wordpress-seo"),value:""},{name:"sitedesc",label:(0,Jn.__)("Tagline","wordpress-seo"),value:""},{name:"sitename",label:(0,Jn.__)("Site title","wordpress-seo"),value:""},{name:"category",label:(0,Jn.__)("Category","wordpress-seo"),value:""},{name:"focuskw",label:(0,Jn.__)("Focus keyphrase","wordpress-seo"),value:""},{name:"title",label:(0,Jn.__)("Title","wordpress-seo"),value:""},{name:"parent_title",label:(0,Jn.__)("Parent title","wordpress-seo"),value:""},{name:"excerpt",label:(0,Jn.__)("Excerpt","wordpress-seo"),value:""},{name:"primary_category",label:(0,Jn.__)("Primary category","wordpress-seo"),value:""},{name:"sep",label:(0,Jn.__)("Separator","wordpress-seo"),value:""},{name:"excerpt_only",label:(0,Jn.__)("Excerpt only","wordpress-seo"),value:""},{name:"category_description",label:(0,Jn.__)("Category description","wordpress-seo"),value:""},{name:"tag_description",label:(0,Jn.__)("Tag description","wordpress-seo"),value:""},{name:"term_description",label:(0,Jn.__)("Term description","wordpress-seo"),value:""},{name:"currentyear",label:(0,Jn.__)("Current year","wordpress-seo"),value:""}],uniqueRefreshValue:"",templates:{title:"",description:""},isLoading:!0}}(),t){switch(t.type){case zt:return{...e,mode:t.mode};case Xt:return{...e,data:{...e.data,...t.data}};case er:return function(e,t){let r=!0,n=e.replacementVariables.map((e=>e.name===t.name?(r=!1,{name:t.name,label:t.label||e.label,value:t.value,hidden:e.hidden}):e));return r&&(n=function(e,t){return e.push({name:t.name,label:t.label||ni(t.name),value:t.value}),e}(n,t)),{...e,replacementVariables:n}}(e,t);case tr:return function(e,t){const r={},n=e.replacementVariables.map((e=>{const n=t.updatedVariables[e.name];return n?(r[e.name]=!0,{name:e.name,label:n.label||e.label,value:n.value,hidden:e.hidden}):e}));return Object.keys(t.updatedVariables).forEach((e=>{r[e]||n.push({name:e,label:t.updatedVariables[e].label||ni(e),value:t.updatedVariables[e].value,hidden:!1})})),{...e,replacementVariables:n}}(e,t);case Jt:return function(e,t){const r=t.results.filter((t=>!e.replacementVariables.some((e=>e.name==="cf_"+t.key))));if(0===r.length)return e;const n=[...r.map((e=>({name:"cf_"+ii(e.key),label:ti(e.key+" (custom field)"),value:e.value,hidden:!1}))),...e.replacementVariables];return{...e,replacementVariables:n}}(e,t);case rr:{const r=e.replacementVariables.map((e=>({name:e.name,label:e.label,value:e.value,hidden:t.data.includes(e.name)})));return{...e,replacementVariables:r}}case nr:return{...e,replacementVariables:e.replacementVariables.filter((e=>e.name!==t.name))};case ir:return{...e,uniqueRefreshValue:t.time};case ar:return{...e,wordsToHighlight:t.wordsToHighlight};case sr:return{...e,data:{...e.data,title:t.data.title,description:t.data.description,slug:t.data.slug},templates:{...e.templates,title:t.templates.title,description:t.templates.description},isLoading:!1}}return e},twitterEditor:(e=ai,t)=>{switch(t.type){case Ar:return{...e,title:t.title,description:t.description,image:{id:t.id,url:t.imageUrl}};case Sr:return{...e,title:t.title};case yr:return{...e,description:t.description};case wr:return{...e,image:{id:t.image.id,url:t.image.url,alt:t.image.alt||""},warnings:t.image.warnings};case Ir:return{...e,image:{url:"",id:"",alt:""},warnings:[]};default:return e}},warning:function(e=si,t){return t.type===Kr?{...e,message:t.message}:e},WincherModal:function(e=oi,t){switch(t.type){case Gr:return{whichModalOpen:"none",hasNoKeyphrase:!0};case Br:return{...e,hasNoKeyphrase:!1,whichModalOpen:t.location};case Hr:return{...e,whichModalOpen:"none",hasNoKeyphrase:!1}}return e},WincherRequest:function(e=ci,t){switch(t.type){case zr:return{...e,limitReached:!1,isSuccess:!1,response:null,isNewlyAuthenticated:!1};case jr:return{...e,isSuccess:!0,response:t.response};case $r:return{...e,isSuccess:!1,response:t.response};case Qr:return{...e,limitReached:!0,limit:t.limit};case Xr:return{...e,isLoggedIn:t.loginStatus,isNewlyAuthenticated:t.newlyAuthenticated};case Zr:return{...e,trackAll:t.trackAll};case Jr:return{...e,automaticallyTrack:t.automaticallyTrack};default:return e}},WincherSEOPerformance:function(e=li,t){switch(t.type){case cn:return{...e,websiteId:t.websiteId};case ln:return{...e,trackedKeyphrases:{...e.trackedKeyphrases,...t.keyphraseObject}};case un:return{...e,trackedKeyphrases:(0,a.pickBy)(e.trackedKeyphrases,((e,r)=>r!==t.untrackedKeyphrase))};case dn:return{...e,trackedKeyphrases:t.trackedKeyphrases}}return e},[I]:f};function di(){const e=Un();return(0,a.get)(e,"contentLocale","en_US")}const pi=e=>(0,a.get)(e,"insights.estimatedReadingTime",0),Ei=e=>(0,a.get)(e,"insights.fleschReadingEaseScore",null),gi=e=>(0,a.get)(e,"insights.fleschReadingEaseDifficulty",null),mi=e=>null!==Ei(e)&&null!==gi(e),_i=e=>(0,a.get)(e,"insights.textLength",{}),Ti=()=>{const e="en"===di().split("_")[0],t=Un().isPremium;return!!e&&(!t||window.wp.data.select("yoast-seo-premium/editor").hasOwnProperty("getTextFormalityLevel"))},Si=e=>(0,a.get)(e,"advancedSettings.noIndex",""),yi=e=>(0,a.get)(e,"advancedSettings.noFollow",""),wi=e=>(0,a.get)(e,"advancedSettings.advanced",""),Ii=e=>(0,a.get)(e,"advancedSettings.breadcrumbsTitle","summary"),Ai=e=>(0,a.get)(e,"advancedSettings.canonical",""),Ri=e=>(0,a.get)(e,"advancedSettings.wordproofTimestamp",!1),hi=e=>(0,a.get)(e,"advancedSettings.isLoading",!0),fi="yoast-measurement-element";function Di(e){let t=document.getElementById(fi);return t||(t=function(){const e=document.createElement("div");return e.id=fi,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 Oi(e){return e.editorContext}function Pi(e){return"Page"===(0,a.get)(e,"editorContext.postTypeNameSingular")?"page":"post"}function vi(e){return"Product"===(0,a.get)(e,"editorContext.postTypeNameSingular")}function bi(e){return(0,a.get)(e,"editorContext.isBlockEditor",!1)}function Ci(e){return(0,a.get)(e,"editorContext.isElementorEditor",!1)}function Ni(e){return(0,a.get)(e,"editorContext.isTerm",!1)}function Li(e){return["draft","auto-draft"].includes((0,a.get)(e,"editorContext.postStatus",""))}function Mi(e){return Ci(e)?"elementorEditor":bi(e)?"blockEditor":"classicEditor"}function ki(e){return(0,a.get)(e,"editorContext.contentLocale","en_US")}const Wi=window.wp.hooks,Ui=e=>(0,a.get)(e,"editorData.content",""),Fi=e=>(0,a.get)(e,"editorData.title",""),Ki=e=>(0,a.get)(e,"editorData.excerpt"),xi=e=>{let t=(0,a.get)(e,"editorData.excerpt","");if(""===t){const r="ja"===di()?80:156;t=function(e,t=156){return(e=(e=(0,ei.stripTags)(e)).trim()).length<=t||(e=e.substring(0,t),/\s/.test(e)&&(e=e.substring(0,e.lastIndexOf(" ")))),e}((0,a.get)(e,"editorData.content",""),r)}return t},Hi=e=>(0,a.get)(e,"editorData.imageUrl",""),Bi=e=>{const t=[{featuredOrFirstImage:(0,a.get)(e,"editorData.imageUrl","")},{socialImage:(0,a.get)(window,"wpseoScriptData.metabox.social_image_template","")},{siteWideImage:(0,a.get)(window.wpseoScriptData,"metabox.showSocial.facebook")&&(0,a.get)(e,"settings.socialPreviews.sitewideImage","")}];(0,Wi.applyFilters)("yoast.socials.imageFallback",t);for(const e of t)if(Object.values(e)[0])return Object.values(e)[0];return""},Gi=e=>(0,a.get)(e,"editorData.slug","");function Vi(e){return(0,a.get)(e,"focusKeyword","")}const qi=e=>{const t=(0,Wi.applyFilters)("yoast.focusKeyphrase.errors",[],Vi(e));return(0,a.isArray)(t)?t.filter(a.isString):[]},Yi=e=>(0,a.get)(e,"settings.socialPreviews.siteName",""),ji=e=>(0,a.get)(e,"settings.snippetEditor.baseUrl",""),$i=e=>(0,a.get)(e,"settings.snippetEditor.date",""),Qi=e=>(0,a.get)(e,"settings.snippetEditor.recommendedReplacementVariables",[]),zi=e=>(0,a.get)(e,"settings.snippetEditor.siteIconUrl",""),Xi=e=>(0,a.get)(e,"snippetEditor.replacementVariables",[]),Zi=e=>(0,a.get)(e,"snippetEditor.templates",{title:"",description:""}),Ji=e=>(0,a.get)(e,"snippetEditor.mode","mobile"),ea=e=>(0,a.get)(e,"snippetEditor.data.title",""),ta=e=>(0,a.get)(e,"snippetEditor.data.title","")||Zi(e).title,ra=e=>(0,a.get)(e,"snippetEditor.data.description",""),na=e=>ra(e)||Zi(e).description,ia=e=>(0,a.get)(e,"snippetEditor.data.slug",""),aa=e=>(0,a.get)(e,"snippetEditor.data",{title:ea(e),description:ra(e),slug:ia(e)}),sa=e=>(0,a.get)(e,"snippetEditor.wordsToHighlight",[]),oa=e=>(0,a.get)(e,"snippetEditor.isLoading",!0),ca=e=>(0,a.get)(e,"snippetEditor.data.snippetPreviewImageURL",""),la=e=>(0,a.get)(e,"analysisData.snippet.title",""),ua=e=>(0,a.get)(e,"analysisData.snippet.description",""),da=e=>(0,a.get)(e,"analysisData.snippet.url",""),pa=e=>parseInt((0,a.get)(e,"analysisData.timestamp",0),10),Ea=e=>(0,a.get)(e,"analysisData.shortcodesForParsing",[]),ga=e=>{const t=la(e)||ea(e),r=ia(e);return{text:Ui(e),title:t,keyword:Vi(e),description:ua(e)||ra(e),locale:ki(e),titleWidth:Di(t),slug:r,permalink:ji(e)+r}};function ma(e){return e.isCornerstone}function _a(e){return e.checklist.checklistItems}function Ta(e,t){return e.currentPromotions.promotions.includes(t)}const Sa=(e,t)=>(0,a.get)(e,"editorModals.openedModal","")===t,ya=e=>(0,a.get)(e,"socialPreviews.contentImage",""),wa=e=>{const t=[{featuredImage:(0,a.get)(e,"snippetEditor.data.snippetPreviewImageURL","")},{contentImage:(0,a.get)(e,"settings.socialPreviews.contentImage","")},{socialImage:(0,a.get)(window,"wpseoScriptData.metabox.social_image_template","")},{siteWideImage:(0,a.get)(window,"wpseoScriptData.metabox.showSocial.facebook")&&(0,a.get)(e,"settings.socialPreviews.sitewideImage","")}];(0,Wi.applyFilters)("yoast.socials.imageFallback",t);for(const e of t)if(Object.values(e)[0])return Object.values(e)[0];return""},Ia=()=>{let e=(0,a.get)(window,"wpseoScriptData.metabox.base_url","");return""===e?"":(e=new URL(e),e.host)},Aa=()=>(0,a.get)(window,"wpseoScriptData.metabox.title_template",""),Ra=()=>(0,a.get)(window,"wpseoScriptData.metabox.title_template_no_fallback",""),ha=()=>(0,a.get)(window,"wpseoScriptData.metabox.social_title_template",""),fa=()=>(0,a.get)(window,"wpseoScriptData.metabox.metadesc_template",""),Da=()=>(0,a.get)(window,"wpseoScriptData.metabox.social_description_template",""),Oa=e=>{let t="";return(0,a.get)(e,"snippetEditor.replacementVariables",[]).forEach((e=>{"excerpt"===e.name&&(t=e.value)})),t},Pa=e=>(0,a.get)(e,"facebookEditor.title",""),va=e=>(0,a.get)(e,"facebookEditor.description",""),ba=e=>(0,a.get)(e,"facebookEditor.image.url"),Ca=e=>(0,a.get)(e,"facebookEditor.image.src",""),Na=e=>(0,a.get)(e,"facebookEditor.image.alt",""),La=e=>(0,a.get)(e,"facebookEditor.warnings",[]),Ma=(0,n.createSelector)([ha,la,Ra,Aa],((...e)=>e.find(Boolean)||"")),ka=(0,n.createSelector)([Pa,Ma],((e,t)=>e||t)),Wa=(0,n.createSelector)([Da,ua,fa,Oa,xi],((...e)=>{var t;return null!==(t=e.find(Boolean))&&void 0!==t?t:""})),Ua=(0,n.createSelector)([va,Wa],((e,t)=>e||t));function Fa(e){return e.activeMarker}function Ka(e){return e.isMarkerPaused}function xa(e){return"enabled"===e.marksButtonStatus}function Ha(e){return e.marksButtonStatus}function Ba(e,t){return!0===e.dismissedAlerts[t]}const Ga=(e,t,r=null)=>(0,a.get)(e,`preferences.${t}`,r),Va=e=>e.preferences,qa=e=>(0,a.get)(e,"preferences.isKeywordAnalysisActive",!1);function Ya(e,t){return e.primaryTaxonomies[t]}const ja=[],$a={};function Qa(e){const t=(0,a.get)(e,"analysis.seo",$a);return(0,a.isEmpty)(t)?{results:ja,overallScore:null}:t}function za(e,t){const r=Qa(e);return(0,a.get)(r,t,$a)}function Xa(e){const t=(0,a.get)(e,"analysis.readability",{});return(0,a.isEmpty)(t)?{results:ja,overallScore:null}:t}function Za(e){return(0,a.get)(e,"analysis.inclusiveLanguage",{results:ja,overallScore:null})}function Ja(e){return za(e,e.focusKeyword)}function es(e,t){return[...Ja(e).results||ja,...Xa(e).results||ja,...Za(e).results||ja].find((e=>e._identifier===t))}function ts(e){return e.marksButtonStatus}const rs=e=>(0,a.get)(e,"schemaTab.defaultPageType",""),ns=e=>(0,a.get)(e,"schemaTab.pageType",""),is=e=>(0,a.get)(e,"schemaTab.defaultArticleType",""),as=e=>(0,a.get)(e,"schemaTab.articleType","");function ss(e){return e.SEMrushModal.whichModalOpen}function os(e){return e.SEMrushModal.displayNoKeyphraseMessage}function cs(e){return e.SEMrushRequest.isRequestPending}function ls(e){return e.SEMrushRequest.isSuccess}function us(e){return e.SEMrushRequest.response}function ds(e){return e.SEMrushRequest.limitReached}function ps(e){return e.SEMrushRequest.keyphrase}function Es(e){return e.SEMrushRequest.countryCode}function gs(e){return e.SEMrushRequest.hasData}function ms(e){return e.SEMrushRequest.isLoggedIn}const _s=e=>(0,a.get)(e,"shoppingData",{}),Ts=e=>(0,a.get)(e,"twitterEditor.title",""),Ss=e=>(0,a.get)(e,"twitterEditor.description",""),ys=e=>(0,a.get)(e,"twitterEditor.image.url",""),ws=e=>(0,a.get)(e,"settings.socialPreviews.twitterCardType","summary"),Is=e=>(0,a.get)(e,"twitterEditor.image.src",""),As=e=>(0,a.get)(e,"twitterEditor.image.alt",""),Rs=e=>(0,a.get)(e,"twitterEditor.warnings",[]),hs=(0,n.createSelector)([ha,Pa,la,Ra,Aa],((...e)=>e.find(Boolean)||"")),fs=(0,n.createSelector)([Ts,hs],((e,t)=>e||t)),Ds=(0,n.createSelector)([Da,va,ua,fa,Oa,xi],((...e)=>{var t;return null!==(t=e.find(Boolean))&&void 0!==t?t:""})),Os=(0,n.createSelector)([Ss,Ds],((e,t)=>e||t));function Ps(e){return(0,a.get)(e,"warning.message",[])}function vs(e){return e.WincherModal.whichModalOpen}function bs(e){return e.WincherModal.hasNoKeyphrase}function Cs(e){return e.WincherRequest.isSuccess}function Ns(e){return e.WincherRequest.response}function Ls(e){return e.WincherRequest.limitReached}function Ms(e){return e.WincherRequest.isLoggedIn}function ks(e){return e.WincherRequest.isNewlyAuthenticated}function Ws(e){return e.WincherRequest.limit}function Us(e){return e.WincherRequest.historyDays}function Fs(e){return!0===e.WincherRequest.trackAll}function Ks(e){return e.WincherRequest.automaticallyTrack&&Li(e)}function xs(e){return e.WincherSEOPerformance.websiteId}function Hs(e){return e.WincherSEOPerformance.trackedKeyphrases}function Bs(e){return!(0,a.isEmpty)(e.WincherSEOPerformance.trackedKeyphrases)}function Gs(e){const t=Un().isPremium,r=window.wp.data.select("yoast-seo-premium/editor"),n=[e.focusKeyword.trim()];return t&&r&&n.push(...r.getKeywords().filter((e=>void 0!==e.keyword)).map((e=>e.keyword.trim()))),(0,a.uniq)(n.filter((e=>!!e)).map((e=>e.replace(/["+:\s]+/g," ").trim().toLocaleLowerCase()))).sort()}function Vs(e){const{trackedKeyphrases:t}=e.WincherSEOPerformance;return!(0,a.isEmpty)(t)&&(0,a.filter)(t,(e=>(0,a.isEmpty)(e.updated_at))).length===Object.keys(t).length}function qs(e){const t=ga(e);return t.slug?t.permalink:""}const Ys=e=>(0,a.get)(e,"isPremium",!1),js=()=>(0,a.get)(window,"wpseoScriptData.woocommerceUpsell",!1),$s=()=>Boolean((0,a.get)(window,"wpseoScriptData.isWooCommerceSeoActive",!1)),Qs=()=>Boolean((0,a.get)(window,"wpseoScriptData.isWooCommerceActive",!1)),zs=e=>(0,a.get)(e,"postId",null),{selectLinkParams:Xs,selectLinkParam:Zs,selectLink:Js}=c,{selectPluginUrl:eo,selectImageLink:to}=g,{selectWistiaEmbedPermission:ro,selectWistiaEmbedPermissionValue:no,selectWistiaEmbedPermissionStatus:io,selectWistiaEmbedPermissionError:ao}=R;window.yoast=window.yoast||{},window.yoast.externals=window.yoast.externals||{},window.yoast.externals.redux={selectors:r,reducers:ui,actions:t}})(); \ No newline at end of file diff --git a/wp/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js b/wp/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js index 7b2def15..111846e3 100644 --- a/wp/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js +++ b/wp/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js @@ -1,7 +1,7 @@ -(()=>{var e={2265:(e,t,r)=>{"use strict";const{DOCUMENT_MODE:n}=r(7101),s="html",i=["+//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//"],a=i.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]),o=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"],l=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],c=l.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function u(e){const t=-1!==e.indexOf('"')?"'":'"';return t+e+t}function h(e,t){for(let r=0;r-1)return n.QUIRKS;let e=null===t?a:i;if(h(r,e))return n.QUIRKS;if(e=null===t?l:c,h(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 "+u(t):r&&(n+=" SYSTEM"),null!==r&&(n+=" "+u(r)),n}},8493:e=>{"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"}},9791:(e,t,r)=>{"use strict";const n=r(3606),s=r(7101),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{"use strict";const r=t.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",MATHML:"http://www.w3.org/1998/Math/MathML",SVG:"http://www.w3.org/2000/svg",XLINK:"http://www.w3.org/1999/xlink",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"};t.ATTRS={TYPE:"type",ACTION:"action",ENCODING:"encoding",PROMPT:"prompt",NAME:"name",COLOR:"color",FACE:"face",SIZE:"size"},t.DOCUMENT_MODE={NO_QUIRKS:"no-quirks",QUIRKS:"quirks",LIMITED_QUIRKS:"limited-quirks"};const n=t.TAG_NAMES={A:"a",ADDRESS:"address",ANNOTATION_XML:"annotation-xml",APPLET:"applet",AREA:"area",ARTICLE:"article",ASIDE:"aside",B:"b",BASE:"base",BASEFONT:"basefont",BGSOUND:"bgsound",BIG:"big",BLOCKQUOTE:"blockquote",BODY:"body",BR:"br",BUTTON:"button",CAPTION:"caption",CENTER:"center",CODE:"code",COL:"col",COLGROUP:"colgroup",DD:"dd",DESC:"desc",DETAILS:"details",DIALOG:"dialog",DIR:"dir",DIV:"div",DL:"dl",DT:"dt",EM:"em",EMBED:"embed",FIELDSET:"fieldset",FIGCAPTION:"figcaption",FIGURE:"figure",FONT:"font",FOOTER:"footer",FOREIGN_OBJECT:"foreignObject",FORM:"form",FRAME:"frame",FRAMESET:"frameset",H1:"h1",H2:"h2",H3:"h3",H4:"h4",H5:"h5",H6:"h6",HEAD:"head",HEADER:"header",HGROUP:"hgroup",HR:"hr",HTML:"html",I:"i",IMG:"img",IMAGE:"image",INPUT:"input",IFRAME:"iframe",KEYGEN:"keygen",LABEL:"label",LI:"li",LINK:"link",LISTING:"listing",MAIN:"main",MALIGNMARK:"malignmark",MARQUEE:"marquee",MATH:"math",MENU:"menu",META:"meta",MGLYPH:"mglyph",MI:"mi",MO:"mo",MN:"mn",MS:"ms",MTEXT:"mtext",NAV:"nav",NOBR:"nobr",NOFRAMES:"noframes",NOEMBED:"noembed",NOSCRIPT:"noscript",OBJECT:"object",OL:"ol",OPTGROUP:"optgroup",OPTION:"option",P:"p",PARAM:"param",PLAINTEXT:"plaintext",PRE:"pre",RB:"rb",RP:"rp",RT:"rt",RTC:"rtc",RUBY:"ruby",S:"s",SCRIPT:"script",SECTION:"section",SELECT:"select",SOURCE:"source",SMALL:"small",SPAN:"span",STRIKE:"strike",STRONG:"strong",STYLE:"style",SUB:"sub",SUMMARY:"summary",SUP:"sup",TABLE:"table",TBODY:"tbody",TEMPLATE:"template",TEXTAREA:"textarea",TFOOT:"tfoot",TD:"td",TH:"th",THEAD:"thead",TITLE:"title",TR:"tr",TRACK:"track",TT:"tt",U:"u",UL:"ul",SVG:"svg",VAR:"var",WBR:"wbr",XMP:"xmp"};t.SPECIAL_ELEMENTS={[r.HTML]:{[n.ADDRESS]:!0,[n.APPLET]:!0,[n.AREA]:!0,[n.ARTICLE]:!0,[n.ASIDE]:!0,[n.BASE]:!0,[n.BASEFONT]:!0,[n.BGSOUND]:!0,[n.BLOCKQUOTE]:!0,[n.BODY]:!0,[n.BR]:!0,[n.BUTTON]:!0,[n.CAPTION]:!0,[n.CENTER]:!0,[n.COL]:!0,[n.COLGROUP]:!0,[n.DD]:!0,[n.DETAILS]:!0,[n.DIR]:!0,[n.DIV]:!0,[n.DL]:!0,[n.DT]:!0,[n.EMBED]:!0,[n.FIELDSET]:!0,[n.FIGCAPTION]:!0,[n.FIGURE]:!0,[n.FOOTER]:!0,[n.FORM]:!0,[n.FRAME]:!0,[n.FRAMESET]:!0,[n.H1]:!0,[n.H2]:!0,[n.H3]:!0,[n.H4]:!0,[n.H5]:!0,[n.H6]:!0,[n.HEAD]:!0,[n.HEADER]:!0,[n.HGROUP]:!0,[n.HR]:!0,[n.HTML]:!0,[n.IFRAME]:!0,[n.IMG]:!0,[n.INPUT]:!0,[n.LI]:!0,[n.LINK]:!0,[n.LISTING]:!0,[n.MAIN]:!0,[n.MARQUEE]:!0,[n.MENU]:!0,[n.META]:!0,[n.NAV]:!0,[n.NOEMBED]:!0,[n.NOFRAMES]:!0,[n.NOSCRIPT]:!0,[n.OBJECT]:!0,[n.OL]:!0,[n.P]:!0,[n.PARAM]:!0,[n.PLAINTEXT]:!0,[n.PRE]:!0,[n.SCRIPT]:!0,[n.SECTION]:!0,[n.SELECT]:!0,[n.SOURCE]:!0,[n.STYLE]:!0,[n.SUMMARY]:!0,[n.TABLE]:!0,[n.TBODY]:!0,[n.TD]:!0,[n.TEMPLATE]:!0,[n.TEXTAREA]:!0,[n.TFOOT]:!0,[n.TH]:!0,[n.THEAD]:!0,[n.TITLE]:!0,[n.TR]:!0,[n.TRACK]:!0,[n.UL]:!0,[n.WBR]:!0,[n.XMP]:!0},[r.MATHML]:{[n.MI]:!0,[n.MO]:!0,[n.MN]:!0,[n.MS]:!0,[n.MTEXT]:!0,[n.ANNOTATION_XML]:!0},[r.SVG]:{[n.TITLE]:!0,[n.FOREIGN_OBJECT]:!0,[n.DESC]:!0}}},7936:(e,t)=>{"use strict";const r=[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||r.indexOf(e)>-1}},3273:(e,t,r)=>{"use strict";const n=r(1743);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)}}}}},2247:(e,t,r)=>{"use strict";const n=r(3273),s=r(8139),i=r(8600),a=r(1743);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)}}}}},9348:(e,t,r)=>{"use strict";const n=r(3273),s=r(87),i=r(1743);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))}}},8139:(e,t,r)=>{"use strict";const n=r(3273),s=r(9348),i=r(1743);e.exports=class extends n{constructor(e,t){super(e,t);const r=i.install(e.preprocessor,s,t);this.posTracker=r.posTracker}}},6608:(e,t,r)=>{"use strict";const n=r(1743);e.exports=class extends n{constructor(e,t){super(e),this.onItemPop=t.onItemPop}_getOverriddenMethods(e,t){return{pop(){e.onItemPop(this.current),t.pop.call(this)},popAllUpToHtmlElement(){for(let t=this.stackTop;t>0;t--)e.onItemPop(this.items[t]);t.popAllUpToHtmlElement.call(this)},remove(r){e.onItemPop(this.current),t.remove.call(this,r)}}}}},8127:(e,t,r)=>{"use strict";const n=r(1743),s=r(3606),i=r(8600),a=r(6608),o=r(7101).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;t{"use strict";const n=r(1743),s=r(3606),i=r(87);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}}},87:(e,t,r)=>{"use strict";const n=r(1743);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}}}}},5553:(e,t,r)=>{"use strict";const n=r(4143);r(3493);t.Bm=function(e,t,r){return"string"==typeof e&&(r=t,t=e,e=null),new n(r).parseFragment(t,e)}},8464:e=>{"use strict";class t{constructor(e){this.length=0,this.entries=[],this.treeAdapter=e,this.bookmark=null}_getNoahArkConditionCandidates(e){const r=[];if(this.length>=3){const n=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===t.MARKER_ENTRY)break;const o=a.element,l=this.treeAdapter.getAttrList(o);this.treeAdapter.getTagName(o)===s&&this.treeAdapter.getNamespaceURI(o)===i&&l.length===n&&r.push({idx:e,attrs:l})}}return r.length<3?[]:r}_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:t.MARKER_ENTRY}),this.length++}pushElement(e,r){this._ensureNoahArkCondition(e),this.entries.push({type:t.ELEMENT_ENTRY,element:e,token:r}),this.length++}insertElementAfterBookmark(e,r){let n=this.length-1;for(;n>=0&&this.entries[n]!==this.bookmark;n--);this.entries.splice(n+1,0,{type:t.ELEMENT_ENTRY,element:e,token:r}),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===t.MARKER_ENTRY)break}}getElementEntryInScopeWithTagName(e){for(let r=this.length-1;r>=0;r--){const n=this.entries[r];if(n.type===t.MARKER_ENTRY)return null;if(this.treeAdapter.getTagName(n.element)===e)return n}return null}getElementEntry(e){for(let r=this.length-1;r>=0;r--){const n=this.entries[r];if(n.type===t.ELEMENT_ENTRY&&n.element===e)return n}return null}}t.MARKER_ENTRY="MARKER_ENTRY",t.ELEMENT_ENTRY="ELEMENT_ENTRY",e.exports=t},4143:(e,t,r)=>{"use strict";const n=r(3606),s=r(5860),i=r(8464),a=r(8127),o=r(2247),l=r(1743),c=r(2316),u=r(841),h=r(2265),p=r(9791),d=r(8493),g=r(7936),f=r(7101),m=f.TAG_NAMES,_=f.NAMESPACES,v=f.ATTRS,T={scriptingEnabled:!0,sourceCodeLocationInfo:!1,onParseError:null,treeAdapter:c},y="hidden",E=8,b=3,A="INITIAL_MODE",w="BEFORE_HTML_MODE",C="BEFORE_HEAD_MODE",k="IN_HEAD_MODE",S="IN_HEAD_NO_SCRIPT_MODE",O="AFTER_HEAD_MODE",N="IN_BODY_MODE",x="TEXT_MODE",R="IN_TABLE_MODE",I="IN_TABLE_TEXT_MODE",L="IN_CAPTION_MODE",M="IN_COLUMN_GROUP_MODE",D="IN_TABLE_BODY_MODE",P="IN_ROW_MODE",F="IN_CELL_MODE",B="IN_SELECT_MODE",H="IN_SELECT_IN_TABLE_MODE",U="IN_TEMPLATE_MODE",$="AFTER_BODY_MODE",K="IN_FRAMESET_MODE",q="AFTER_FRAMESET_MODE",j="AFTER_AFTER_BODY_MODE",G="AFTER_AFTER_FRAMESET_MODE",z={[m.TR]:P,[m.TBODY]:D,[m.THEAD]:D,[m.TFOOT]:D,[m.CAPTION]:L,[m.COLGROUP]:M,[m.TABLE]:R,[m.BODY]:N,[m.FRAMESET]:K},W={[m.CAPTION]:R,[m.COLGROUP]:R,[m.TBODY]:R,[m.TFOOT]:R,[m.THEAD]:R,[m.COL]:M,[m.TR]:D,[m.TD]:P,[m.TH]:P},Y={[A]:{[n.CHARACTER_TOKEN]:le,[n.NULL_CHARACTER_TOKEN]:le,[n.WHITESPACE_CHARACTER_TOKEN]:re,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:function(e,t){e._setDocumentType(t);const r=t.forceQuirks?f.DOCUMENT_MODE.QUIRKS:h.getDocumentMode(t);h.isConforming(t)||e._err(d.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,r),e.insertionMode=w},[n.START_TAG_TOKEN]:le,[n.END_TAG_TOKEN]:le,[n.EOF_TOKEN]:le},[w]:{[n.CHARACTER_TOKEN]:ce,[n.NULL_CHARACTER_TOKEN]:ce,[n.WHITESPACE_CHARACTER_TOKEN]:re,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){t.tagName===m.HTML?(e._insertElement(t,_.HTML),e.insertionMode=C):ce(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r!==m.HTML&&r!==m.HEAD&&r!==m.BODY&&r!==m.BR||ce(e,t)},[n.EOF_TOKEN]:ce},[C]:{[n.CHARACTER_TOKEN]:ue,[n.NULL_CHARACTER_TOKEN]:ue,[n.WHITESPACE_CHARACTER_TOKEN]:re,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:ne,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.HEAD?(e._insertElement(t,_.HTML),e.headElement=e.openElements.current,e.insertionMode=k):ue(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HEAD||r===m.BODY||r===m.HTML||r===m.BR?ue(e,t):e._err(d.endTagWithoutMatchingOpenElement)},[n.EOF_TOKEN]:ue},[k]:{[n.CHARACTER_TOKEN]:de,[n.NULL_CHARACTER_TOKEN]:de,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:ne,[n.START_TAG_TOKEN]:he,[n.END_TAG_TOKEN]:pe,[n.EOF_TOKEN]:de},[S]:{[n.CHARACTER_TOKEN]:ge,[n.NULL_CHARACTER_TOKEN]:ge,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:ne,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.BASEFONT||r===m.BGSOUND||r===m.HEAD||r===m.LINK||r===m.META||r===m.NOFRAMES||r===m.STYLE?he(e,t):r===m.NOSCRIPT?e._err(d.nestedNoscriptInHead):ge(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.NOSCRIPT?(e.openElements.pop(),e.insertionMode=k):r===m.BR?ge(e,t):e._err(d.endTagWithoutMatchingOpenElement)},[n.EOF_TOKEN]:ge},[O]:{[n.CHARACTER_TOKEN]:fe,[n.NULL_CHARACTER_TOKEN]:fe,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:ne,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.BODY?(e._insertElement(t,_.HTML),e.framesetOk=!1,e.insertionMode=N):r===m.FRAMESET?(e._insertElement(t,_.HTML),e.insertionMode=K):r===m.BASE||r===m.BASEFONT||r===m.BGSOUND||r===m.LINK||r===m.META||r===m.NOFRAMES||r===m.SCRIPT||r===m.STYLE||r===m.TEMPLATE||r===m.TITLE?(e._err(d.abandonedHeadElementChild),e.openElements.push(e.headElement),he(e,t),e.openElements.remove(e.headElement)):r===m.HEAD?e._err(d.misplacedStartTagForHeadElement):fe(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.BODY||r===m.HTML||r===m.BR?fe(e,t):r===m.TEMPLATE?pe(e,t):e._err(d.endTagWithoutMatchingOpenElement)},[n.EOF_TOKEN]:fe},[N]:{[n.CHARACTER_TOKEN]:_e,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:Oe,[n.END_TAG_TOKEN]:Ie,[n.EOF_TOKEN]:Le},[x]:{[n.CHARACTER_TOKEN]:ae,[n.NULL_CHARACTER_TOKEN]:ae,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:re,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:re,[n.END_TAG_TOKEN]:function(e,t){t.tagName===m.SCRIPT&&(e.pendingScript=e.openElements.current),e.openElements.pop(),e.insertionMode=e.originalInsertionMode},[n.EOF_TOKEN]:function(e,t){e._err(d.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e._processToken(t)}},[R]:{[n.CHARACTER_TOKEN]:Me,[n.NULL_CHARACTER_TOKEN]:Me,[n.WHITESPACE_CHARACTER_TOKEN]:Me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:De,[n.END_TAG_TOKEN]:Pe,[n.EOF_TOKEN]:Le},[I]:{[n.CHARACTER_TOKEN]:function(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0},[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:function(e,t){e.pendingCharacterTokens.push(t)},[n.COMMENT_TOKEN]:Be,[n.DOCTYPE_TOKEN]:Be,[n.START_TAG_TOKEN]:Be,[n.END_TAG_TOKEN]:Be,[n.EOF_TOKEN]:Be},[L]:{[n.CHARACTER_TOKEN]:_e,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.CAPTION||r===m.COL||r===m.COLGROUP||r===m.TBODY||r===m.TD||r===m.TFOOT||r===m.TH||r===m.THEAD||r===m.TR?e.openElements.hasInTableScope(m.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(m.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=R,e._processToken(t)):Oe(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.CAPTION||r===m.TABLE?e.openElements.hasInTableScope(m.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(m.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=R,r===m.TABLE&&e._processToken(t)):r!==m.BODY&&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&&Ie(e,t)},[n.EOF_TOKEN]:Le},[M]:{[n.CHARACTER_TOKEN]:He,[n.NULL_CHARACTER_TOKEN]:He,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.COL?(e._appendElement(t,_.HTML),t.ackSelfClosing=!0):r===m.TEMPLATE?he(e,t):He(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.COLGROUP?e.openElements.currentTagName===m.COLGROUP&&(e.openElements.pop(),e.insertionMode=R):r===m.TEMPLATE?pe(e,t):r!==m.COL&&He(e,t)},[n.EOF_TOKEN]:Le},[D]:{[n.CHARACTER_TOKEN]:Me,[n.NULL_CHARACTER_TOKEN]:Me,[n.WHITESPACE_CHARACTER_TOKEN]:Me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.TR?(e.openElements.clearBackToTableBodyContext(),e._insertElement(t,_.HTML),e.insertionMode=P):r===m.TH||r===m.TD?(e.openElements.clearBackToTableBodyContext(),e._insertFakeElement(m.TR),e.insertionMode=P,e._processToken(t)):r===m.CAPTION||r===m.COL||r===m.COLGROUP||r===m.TBODY||r===m.TFOOT||r===m.THEAD?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=R,e._processToken(t)):De(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.TBODY||r===m.TFOOT||r===m.THEAD?e.openElements.hasInTableScope(r)&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=R):r===m.TABLE?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=R,e._processToken(t)):(r!==m.BODY&&r!==m.CAPTION&&r!==m.COL&&r!==m.COLGROUP||r!==m.HTML&&r!==m.TD&&r!==m.TH&&r!==m.TR)&&Pe(e,t)},[n.EOF_TOKEN]:Le},[P]:{[n.CHARACTER_TOKEN]:Me,[n.NULL_CHARACTER_TOKEN]:Me,[n.WHITESPACE_CHARACTER_TOKEN]:Me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.TH||r===m.TD?(e.openElements.clearBackToTableRowContext(),e._insertElement(t,_.HTML),e.insertionMode=F,e.activeFormattingElements.insertMarker()):r===m.CAPTION||r===m.COL||r===m.COLGROUP||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR?e.openElements.hasInTableScope(m.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=D,e._processToken(t)):De(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.TR?e.openElements.hasInTableScope(m.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=D):r===m.TABLE?e.openElements.hasInTableScope(m.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=D,e._processToken(t)):r===m.TBODY||r===m.TFOOT||r===m.THEAD?(e.openElements.hasInTableScope(r)||e.openElements.hasInTableScope(m.TR))&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=D,e._processToken(t)):(r!==m.BODY&&r!==m.CAPTION&&r!==m.COL&&r!==m.COLGROUP||r!==m.HTML&&r!==m.TD&&r!==m.TH)&&Pe(e,t)},[n.EOF_TOKEN]:Le},[F]:{[n.CHARACTER_TOKEN]:_e,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.CAPTION||r===m.COL||r===m.COLGROUP||r===m.TBODY||r===m.TD||r===m.TFOOT||r===m.TH||r===m.THEAD||r===m.TR?(e.openElements.hasInTableScope(m.TD)||e.openElements.hasInTableScope(m.TH))&&(e._closeTableCell(),e._processToken(t)):Oe(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.TD||r===m.TH?e.openElements.hasInTableScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=P):r===m.TABLE||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR?e.openElements.hasInTableScope(r)&&(e._closeTableCell(),e._processToken(t)):r!==m.BODY&&r!==m.CAPTION&&r!==m.COL&&r!==m.COLGROUP&&r!==m.HTML&&Ie(e,t)},[n.EOF_TOKEN]:Le},[B]:{[n.CHARACTER_TOKEN]:ae,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:Ue,[n.END_TAG_TOKEN]:$e,[n.EOF_TOKEN]:Le},[H]:{[n.CHARACTER_TOKEN]:ae,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.CAPTION||r===m.TABLE||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR||r===m.TD||r===m.TH?(e.openElements.popUntilTagNamePopped(m.SELECT),e._resetInsertionMode(),e._processToken(t)):Ue(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.CAPTION||r===m.TABLE||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR||r===m.TD||r===m.TH?e.openElements.hasInTableScope(r)&&(e.openElements.popUntilTagNamePopped(m.SELECT),e._resetInsertionMode(),e._processToken(t)):$e(e,t)},[n.EOF_TOKEN]:Le},[U]:{[n.CHARACTER_TOKEN]:_e,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;if(r===m.BASE||r===m.BASEFONT||r===m.BGSOUND||r===m.LINK||r===m.META||r===m.NOFRAMES||r===m.SCRIPT||r===m.STYLE||r===m.TEMPLATE||r===m.TITLE)he(e,t);else{const n=W[r]||N;e._popTmplInsertionMode(),e._pushTmplInsertionMode(n),e.insertionMode=n,e._processToken(t)}},[n.END_TAG_TOKEN]:function(e,t){t.tagName===m.TEMPLATE&&pe(e,t)},[n.EOF_TOKEN]:Ke},[$]:{[n.CHARACTER_TOKEN]:qe,[n.NULL_CHARACTER_TOKEN]:qe,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:function(e,t){e._appendCommentNode(t,e.openElements.items[0])},[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){t.tagName===m.HTML?Oe(e,t):qe(e,t)},[n.END_TAG_TOKEN]:function(e,t){t.tagName===m.HTML?e.fragmentContext||(e.insertionMode=j):qe(e,t)},[n.EOF_TOKEN]:oe},[K]:{[n.CHARACTER_TOKEN]:re,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.FRAMESET?e._insertElement(t,_.HTML):r===m.FRAME?(e._appendElement(t,_.HTML),t.ackSelfClosing=!0):r===m.NOFRAMES&&he(e,t)},[n.END_TAG_TOKEN]:function(e,t){t.tagName!==m.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(),e.fragmentContext||e.openElements.currentTagName===m.FRAMESET||(e.insertionMode=q))},[n.EOF_TOKEN]:oe},[q]:{[n.CHARACTER_TOKEN]:re,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.NOFRAMES&&he(e,t)},[n.END_TAG_TOKEN]:function(e,t){t.tagName===m.HTML&&(e.insertionMode=G)},[n.EOF_TOKEN]:oe},[j]:{[n.CHARACTER_TOKEN]:je,[n.NULL_CHARACTER_TOKEN]:je,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:ie,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){t.tagName===m.HTML?Oe(e,t):je(e,t)},[n.END_TAG_TOKEN]:je,[n.EOF_TOKEN]:oe},[G]:{[n.CHARACTER_TOKEN]:re,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:ie,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.NOFRAMES&&he(e,t)},[n.END_TAG_TOKEN]:re,[n.EOF_TOKEN]:oe}};function V(e,t){let r=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return r?e.openElements.contains(r.element)?e.openElements.hasInScope(t.tagName)||(r=null):(e.activeFormattingElements.removeEntry(r),r=null):Re(e,t),r}function Q(e,t){let r=null;for(let n=e.openElements.stackTop;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 X(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>=b;!r||o?(o&&e.activeFormattingElements.removeEntry(r),e.openElements.remove(a)):(a=J(e,r),n===t&&(e.activeFormattingElements.bookmark=r),e.treeAdapter.detachNode(n),e.treeAdapter.appendChild(a,n),n=a)}return n}function J(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 Z(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 ee(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 te(e,t){let r;for(let n=0;n0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==m.TEMPLATE&&e._err(d.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(d.endTagWithoutMatchingOpenElement)}function de(e,t){e.openElements.pop(),e.insertionMode=O,e._processToken(t)}function ge(e,t){const r=t.type===n.EOF_TOKEN?d.openElementsLeftAfterEof:d.disallowedContentInNoscriptInHead;e._err(r),e.openElements.pop(),e.insertionMode=k,e._processToken(t)}function fe(e,t){e._insertFakeElement(m.BODY),e.insertionMode=N,e._processToken(t)}function me(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function _e(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function ve(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}function Te(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function ye(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Ee(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function be(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Ae(e,t){e._appendElement(t,_.HTML),t.ackSelfClosing=!0}function we(e,t){e._switchToTextParsing(t,n.MODE.RAWTEXT)}function Ce(e,t){e.openElements.currentTagName===m.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function ke(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,_.HTML)}function Se(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function Oe(e,t){const r=t.tagName;switch(r.length){case 1:r===m.I||r===m.S||r===m.B||r===m.U?ye(e,t):r===m.P?ve(e,t):r===m.A?function(e,t){const r=e.activeFormattingElements.getElementEntryInScopeWithTagName(m.A);r&&(te(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):Se(e,t);break;case 2:r===m.DL||r===m.OL||r===m.UL?ve(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?ye(e,t):r===m.BR?be(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?ke(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&&Se(e,t);break;case 3:r===m.DIV||r===m.DIR||r===m.NAV?ve(e,t):r===m.PRE?Te(e,t):r===m.BIG?ye(e,t):r===m.IMG||r===m.WBR?be(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(),p.adjustTokenSVGAttrs(t),p.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,_.SVG):e._insertElement(t,_.SVG),t.ackSelfClosing=!0}(e,t):r===m.RTC?ke(e,t):r!==m.COL&&Se(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?he(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?ve(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?ye(e,t):r===m.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(m.NOBR)&&(te(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):r===m.AREA?be(e,t):r===m.MATH?function(e,t){e._reconstructActiveFormattingElements(),p.adjustTokenMathMLAttrs(t),p.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&&Se(e,t);break;case 5:r===m.STYLE||r===m.TITLE?he(e,t):r===m.ASIDE?ve(e,t):r===m.SMALL?ye(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=R}(e,t):r===m.EMBED?be(e,t):r===m.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML);const r=n.getTokenAttr(t,v.TYPE);r&&r.toLowerCase()===y||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):r===m.PARAM||r===m.TRACK?Ae(e,t):r===m.IMAGE?function(e,t){t.tagName=m.IMG,be(e,t)}(e,t):r!==m.FRAME&&r!==m.TBODY&&r!==m.TFOOT&&r!==m.THEAD&&Se(e,t);break;case 6:r===m.SCRIPT?he(e,t):r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?ve(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?ye(e,t):r===m.APPLET||r===m.OBJECT?Ee(e,t):r===m.KEYGEN?be(e,t):r===m.SOURCE?Ae(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===R||e.insertionMode===L||e.insertionMode===D||e.insertionMode===P||e.insertionMode===F?e.insertionMode=H:e.insertionMode=B}(e,t):r===m.OPTION?Ce(e,t):Se(e,t);break;case 7:r===m.BGSOUND?he(e,t):r===m.DETAILS||r===m.ADDRESS||r===m.ARTICLE||r===m.SECTION||r===m.SUMMARY?ve(e,t):r===m.LISTING?Te(e,t):r===m.MARQUEE?Ee(e,t):r===m.NOEMBED?we(e,t):r!==m.CAPTION&&Se(e,t);break;case 8:r===m.BASEFONT?he(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=K)}(e,t):r===m.FIELDSET?ve(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=x}(e,t):r===m.TEMPLATE?he(e,t):r===m.NOSCRIPT?e.options.scriptingEnabled?we(e,t):Se(e,t):r===m.OPTGROUP?Ce(e,t):r!==m.COLGROUP&&Se(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):Se(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?ve(e,t):Se(e,t);break;default:Se(e,t)}}function Ne(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r))}function xe(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r),e.activeFormattingElements.clearToLastMarker())}function Re(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 Ie(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?te(e,t):r===m.P?function(e){e.openElements.hasInButtonScope(m.P)||e._insertFakeElement(m.P),e._closePElement()}(e):Re(e,t);break;case 2:r===m.DL||r===m.UL||r===m.OL?Ne(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?te(e,t):Re(e,t);break;case 3:r===m.BIG?te(e,t):r===m.DIR||r===m.DIV||r===m.NAV||r===m.PRE?Ne(e,t):Re(e,t);break;case 4:r===m.BODY?function(e){e.openElements.hasInScope(m.BODY)&&(e.insertionMode=$)}(e):r===m.HTML?function(e,t){e.openElements.hasInScope(m.BODY)&&(e.insertionMode=$,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?te(e,t):r===m.MAIN||r===m.MENU?Ne(e,t):Re(e,t);break;case 5:r===m.ASIDE?Ne(e,t):r===m.SMALL?te(e,t):Re(e,t);break;case 6:r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?Ne(e,t):r===m.APPLET||r===m.OBJECT?xe(e,t):r===m.STRIKE||r===m.STRONG?te(e,t):Re(e,t);break;case 7:r===m.ADDRESS||r===m.ARTICLE||r===m.DETAILS||r===m.SECTION||r===m.SUMMARY||r===m.LISTING?Ne(e,t):r===m.MARQUEE?xe(e,t):Re(e,t);break;case 8:r===m.FIELDSET?Ne(e,t):r===m.TEMPLATE?pe(e,t):Re(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?Ne(e,t):Re(e,t);break;default:Re(e,t)}}function Le(e,t){e.tmplInsertionModeStackTop>-1?Ke(e,t):e.stopped=!0}function Me(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=I,e._processToken(t)):Fe(e,t)}function De(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=D,e._processToken(t)}(e,t):Fe(e,t);break;case 3:r===m.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(m.COLGROUP),e.insertionMode=M,e._processToken(t)}(e,t):Fe(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):Fe(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?he(e,t):r===m.TBODY||r===m.TFOOT||r===m.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode=D}(e,t):r===m.INPUT?function(e,t){const r=n.getTokenAttr(t,v.TYPE);r&&r.toLowerCase()===y?e._appendElement(t,_.HTML):Fe(e,t),t.ackSelfClosing=!0}(e,t):Fe(e,t);break;case 6:r===m.SCRIPT?he(e,t):Fe(e,t);break;case 7:r===m.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,_.HTML),e.insertionMode=L}(e,t):Fe(e,t);break;case 8:r===m.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode=M}(e,t):r===m.TEMPLATE?he(e,t):Fe(e,t);break;default:Fe(e,t)}}function Pe(e,t){const r=t.tagName;r===m.TABLE?e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode()):r===m.TEMPLATE?pe(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&&Fe(e,t)}function Fe(e,t){const r=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=r}function Be(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 qe(e,t){e.insertionMode=N,e._processToken(t)}function je(e,t){e.insertionMode=N,e._processToken(t)}e.exports=class{constructor(e){this.options=u(T,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(U),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=A,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=x}switchToPlaintextParsing(){this.insertionMode=x,this.originalInsertionMode=N,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){Y[this.insertionMode][e.type](this,e)}_processTokenInBodyMode(e){Y[N][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?ae(this,e):e.type===n.COMMENT_TOKEN?se(this,e):e.type===n.START_TAG_TOKEN?function(e,t){if(p.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?p.adjustTokenMathMLAttrs(t):n===_.SVG&&(p.adjustTokenSVGTagName(t),p.adjustTokenSVGAttrs(t)),p.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(d.nonVoidHtmlElementStartTagWithTrailingSolidus)}_isIntegrationPoint(e,t){const r=this.treeAdapter.getTagName(e),n=this.treeAdapter.getNamespaceURI(e),s=this.treeAdapter.getAttrList(e);return p.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=z[n];if(s){this.insertionMode=s;break}if(!(t||n!==m.TD&&n!==m.TH)){this.insertionMode=F;break}if(!t&&n===m.HEAD){this.insertionMode=k;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?O:C;break}if(t){this.insertionMode=N;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=H)}this.insertionMode=B}_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]}}},5860:(e,t,r)=>{"use strict";const n=r(7101),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()}}},3493:(e,t,r)=>{"use strict";const n=r(2316),s=r(841),i=r(2265),a=r(7101),o=a.TAG_NAMES,l=a.NAMESPACES,c={treeAdapter:n},u=/&/g,h=/\u00a0/g,p=/"/g,d=//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(p,"""):e.replace(d,"<").replace(g,">")},e.exports=f},3606:(e,t,r)=>{"use strict";const n=r(2267),s=r(7936),i=r(8015),a=r(8493),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",h="RCDATA_STATE",p="RAWTEXT_STATE",d="SCRIPT_DATA_STATE",g="PLAINTEXT_STATE",f="TAG_OPEN_STATE",m="END_TAG_OPEN_STATE",_="TAG_NAME_STATE",v="RCDATA_LESS_THAN_SIGN_STATE",T="RCDATA_END_TAG_OPEN_STATE",y="RCDATA_END_TAG_NAME_STATE",E="RAWTEXT_LESS_THAN_SIGN_STATE",b="RAWTEXT_END_TAG_OPEN_STATE",A="RAWTEXT_END_TAG_NAME_STATE",w="SCRIPT_DATA_LESS_THAN_SIGN_STATE",C="SCRIPT_DATA_END_TAG_OPEN_STATE",k="SCRIPT_DATA_END_TAG_NAME_STATE",S="SCRIPT_DATA_ESCAPE_START_STATE",O="SCRIPT_DATA_ESCAPE_START_DASH_STATE",N="SCRIPT_DATA_ESCAPED_STATE",x="SCRIPT_DATA_ESCAPED_DASH_STATE",R="SCRIPT_DATA_ESCAPED_DASH_DASH_STATE",I="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE",L="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE",M="SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE",D="SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE",P="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",F="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE",B="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE",H="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",U="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",$="BEFORE_ATTRIBUTE_NAME_STATE",K="ATTRIBUTE_NAME_STATE",q="AFTER_ATTRIBUTE_NAME_STATE",j="BEFORE_ATTRIBUTE_VALUE_STATE",G="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",z="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",W="ATTRIBUTE_VALUE_UNQUOTED_STATE",Y="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE",V="SELF_CLOSING_START_TAG_STATE",Q="BOGUS_COMMENT_STATE",X="MARKUP_DECLARATION_OPEN_STATE",J="COMMENT_START_STATE",Z="COMMENT_START_DASH_STATE",ee="COMMENT_STATE",te="COMMENT_LESS_THAN_SIGN_STATE",re="COMMENT_LESS_THAN_SIGN_BANG_STATE",ne="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE",se="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE",ie="COMMENT_END_DASH_STATE",ae="COMMENT_END_STATE",oe="COMMENT_END_BANG_STATE",le="DOCTYPE_STATE",ce="BEFORE_DOCTYPE_NAME_STATE",ue="DOCTYPE_NAME_STATE",he="AFTER_DOCTYPE_NAME_STATE",pe="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE",de="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE",ge="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE",fe="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE",me="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE",_e="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE",ve="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE",Te="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE",ye="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE",Ee="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE",be="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE",Ae="BOGUS_DOCTYPE_STATE",we="CDATA_SECTION_STATE",Ce="CDATA_SECTION_BRACKET_STATE",ke="CDATA_SECTION_END_STATE",Se="CHARACTER_REFERENCE_STATE",Oe="NAMED_CHARACTER_REFERENCE_STATE",Ne="AMBIGUOS_AMPERSAND_STATE",xe="NUMERIC_CHARACTER_REFERENCE_STATE",Re="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE",Ie="DECIMAL_CHARACTER_REFERENCE_START_STATE",Le="HEXADEMICAL_CHARACTER_REFERENCE_STATE",Me="DECIMAL_CHARACTER_REFERENCE_STATE",De="NUMERIC_CHARACTER_REFERENCE_END_STATE";function Pe(e){return e===o.SPACE||e===o.LINE_FEED||e===o.TABULATION||e===o.FORM_FEED}function Fe(e){return e>=o.DIGIT_0&&e<=o.DIGIT_9}function Be(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_Z}function He(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_Z}function Ue(e){return He(e)||Be(e)}function $e(e){return Ue(e)||Fe(e)}function Ke(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_F}function qe(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_F}function je(e){return e+32}function Ge(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function ze(e){return String.fromCharCode(je(e))}function We(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 Ye{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:Ye.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,l=0,c=t;for(;l0&&(c=this._consume(),n++),c===o.EOF){s=!1;break}if(a=e[l],c!==a&&(r||c!==je(a))){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=Ye.CHARACTER_TOKEN;Pe(e)?t=Ye.WHITESPACE_CHARACTER_TOKEN:e===o.NULL&&(t=Ye.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(t,Ge(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?We(n,a):-1:a===e?++n:-1}for(;r--;)this.tempBuff.pop(),this._unconsume();return t}_isCharacterReferenceInAttribute(){return this.returnState===G||this.returnState===z||this.returnState===W}_isCharacterReferenceAttributeQuirk(e){if(!e&&this._isCharacterReferenceInAttribute()){const e=this._consume();return this._unconsume(),e===o.EQUALS_SIGN||$e(e)}return!1}_flushCodePointsConsumedAsCharacterReference(){if(this._isCharacterReferenceInAttribute())for(let e=0;e")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state=N,this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=N,this._emitCodePoint(e))}[I](e){e===o.SOLIDUS?(this.tempBuff=[],this.state=L):Ue(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState(D)):(this._emitChars("<"),this._reconsumeInState(N))}[L](e){Ue(e)?(this._createEndTagToken(),this._reconsumeInState(M)):(this._emitChars("")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state=P,this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=P,this._emitCodePoint(e))}[H](e){e===o.SOLIDUS?(this.tempBuff=[],this.state=U,this._emitChars("/")):this._reconsumeInState(P)}[U](e){Pe(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?N:P,this._emitCodePoint(e)):Be(e)?(this.tempBuff.push(je(e)),this._emitCodePoint(e)):He(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState(P)}[$](e){Pe(e)||(e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?this._reconsumeInState(q):e===o.EQUALS_SIGN?(this._err(a.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=K):(this._createAttr(""),this._reconsumeInState(K)))}[K](e){Pe(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?(this._leaveAttrName(q),this._unconsume()):e===o.EQUALS_SIGN?this._leaveAttrName(j):Be(e)?this.currentAttr.name+=ze(e):e===o.QUOTATION_MARK||e===o.APOSTROPHE||e===o.LESS_THAN_SIGN?(this._err(a.unexpectedCharacterInAttributeName),this.currentAttr.name+=Ge(e)):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.name+=s.REPLACEMENT_CHARACTER):this.currentAttr.name+=Ge(e)}[q](e){Pe(e)||(e===o.SOLIDUS?this.state=V:e===o.EQUALS_SIGN?this.state=j:e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState(K)))}[j](e){Pe(e)||(e===o.QUOTATION_MARK?this.state=G:e===o.APOSTROPHE?this.state=z:e===o.GREATER_THAN_SIGN?(this._err(a.missingAttributeValue),this.state=u,this._emitCurrentToken()):this._reconsumeInState(W))}[G](e){e===o.QUOTATION_MARK?this.state=Y:e===o.AMPERSAND?(this.returnState=G,this.state=Se):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+=Ge(e)}[z](e){e===o.APOSTROPHE?this.state=Y:e===o.AMPERSAND?(this.returnState=z,this.state=Se):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+=Ge(e)}[W](e){Pe(e)?this._leaveAttrValue($):e===o.AMPERSAND?(this.returnState=W,this.state=Se):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+=Ge(e)):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Ge(e)}[Y](e){Pe(e)?this._leaveAttrValue($):e===o.SOLIDUS?this._leaveAttrValue(V):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($))}[V](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($))}[Q](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+=Ge(e)}[X](e){this._consumeSequenceIfMatch(l.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state=J):this._consumeSequenceIfMatch(l.DOCTYPE_STRING,e,!1)?this.state=le:this._consumeSequenceIfMatch(l.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state=we:(this._err(a.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state=Q):this._ensureHibernation()||(this._err(a.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState(Q))}[J](e){e===o.HYPHEN_MINUS?this.state=Z:e===o.GREATER_THAN_SIGN?(this._err(a.abruptClosingOfEmptyComment),this.state=u,this._emitCurrentToken()):this._reconsumeInState(ee)}[Z](e){e===o.HYPHEN_MINUS?this.state=ae: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(ee))}[ee](e){e===o.HYPHEN_MINUS?this.state=ie:e===o.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state=te):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+=Ge(e)}[te](e){e===o.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state=re):e===o.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState(ee)}[re](e){e===o.HYPHEN_MINUS?this.state=ne:this._reconsumeInState(ee)}[ne](e){e===o.HYPHEN_MINUS?this.state=se:this._reconsumeInState(ie)}[se](e){e!==o.GREATER_THAN_SIGN&&e!==o.EOF&&this._err(a.nestedComment),this._reconsumeInState(ae)}[ie](e){e===o.HYPHEN_MINUS?this.state=ae:e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ee))}[ae](e){e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EXCLAMATION_MARK?this.state=oe:e===o.HYPHEN_MINUS?this.currentToken.data+="-":e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState(ee))}[oe](e){e===o.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state=ie):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(ee))}[le](e){Pe(e)?this.state=ce:e===o.GREATER_THAN_SIGN?this._reconsumeInState(ce):e===o.EOF?(this._err(a.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingWhitespaceBeforeDoctypeName),this._reconsumeInState(ce))}[ce](e){Pe(e)||(Be(e)?(this._createDoctypeToken(ze(e)),this.state=ue):e===o.NULL?(this._err(a.unexpectedNullCharacter),this._createDoctypeToken(s.REPLACEMENT_CHARACTER),this.state=ue):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(Ge(e)),this.state=ue))}[ue](e){Pe(e)?this.state=he:e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):Be(e)?this.currentToken.name+=ze(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+=Ge(e)}[he](e){Pe(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=pe:this._consumeSequenceIfMatch(l.SYSTEM_STRING,e,!1)?this.state=ve:this._ensureHibernation()||(this._err(a.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState(Ae)))}[pe](e){Pe(e)?this.state=de:e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=ge):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=fe):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(Ae))}[de](e){Pe(e)||(e===o.QUOTATION_MARK?(this.currentToken.publicId="",this.state=ge):e===o.APOSTROPHE?(this.currentToken.publicId="",this.state=fe):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(Ae)))}[ge](e){e===o.QUOTATION_MARK?this.state=me: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+=Ge(e)}[fe](e){e===o.APOSTROPHE?this.state=me: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+=Ge(e)}[me](e){Pe(e)?this.state=_e:e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=ye):e===o.APOSTROPHE?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=Ee):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(Ae))}[_e](e){Pe(e)||(e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ye):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state=Ee):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(Ae)))}[ve](e){Pe(e)?this.state=Te:e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=ye):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=Ee):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(Ae))}[Te](e){Pe(e)||(e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ye):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state=Ee):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(Ae)))}[ye](e){e===o.QUOTATION_MARK?this.state=be: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+=Ge(e)}[Ee](e){e===o.APOSTROPHE?this.state=be: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+=Ge(e)}[be](e){Pe(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(Ae)))}[Ae](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())}[we](e){e===o.RIGHT_SQUARE_BRACKET?this.state=Ce:e===o.EOF?(this._err(a.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}[Ce](e){e===o.RIGHT_SQUARE_BRACKET?this.state=ke:(this._emitChars("]"),this._reconsumeInState(we))}[ke](e){e===o.GREATER_THAN_SIGN?this.state=u:e===o.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState(we))}[Se](e){this.tempBuff=[o.AMPERSAND],e===o.NUMBER_SIGN?(this.tempBuff.push(e),this.state=xe):$e(e)?this._reconsumeInState(Oe):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}[Oe](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=Ne}[Ne](e){$e(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=Ge(e):this._emitCodePoint(e):(e===o.SEMICOLON&&this._err(a.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}[xe](e){this.charRefCode=0,e===o.LATIN_SMALL_X||e===o.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state=Re):this._reconsumeInState(Ie)}[Re](e){!function(e){return Fe(e)||Ke(e)||qe(e)}(e)?(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState(Le)}[Ie](e){Fe(e)?this._reconsumeInState(Me):(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}[Le](e){Ke(e)?this.charRefCode=16*this.charRefCode+e-55:qe(e)?this.charRefCode=16*this.charRefCode+e-87:Fe(e)?this.charRefCode=16*this.charRefCode+e-48:e===o.SEMICOLON?this.state=De:(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState(De))}[Me](e){Fe(e)?this.charRefCode=10*this.charRefCode+e-48:e===o.SEMICOLON?this.state=De:(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState(De))}[De](){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)}}Ye.CHARACTER_TOKEN="CHARACTER_TOKEN",Ye.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",Ye.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",Ye.START_TAG_TOKEN="START_TAG_TOKEN",Ye.END_TAG_TOKEN="END_TAG_TOKEN",Ye.COMMENT_TOKEN="COMMENT_TOKEN",Ye.DOCTYPE_TOKEN="DOCTYPE_TOKEN",Ye.EOF_TOKEN="EOF_TOKEN",Ye.HIBERNATION_TOKEN="HIBERNATION_TOKEN",Ye.MODE={DATA:u,RCDATA:h,RAWTEXT:p,SCRIPT_DATA:d,PLAINTEXT:g},Ye.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=Ye},8015:e=>{"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])},2267:(e,t,r)=>{"use strict";const n=r(7936),s=r(8493),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--}}},2316:(e,t,r)=>{"use strict";const{DOCUMENT_MODE:n}=r(7101);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{"use strict";e.exports=function(e,t){return[e,t=t||Object.create(null)].reduce(((e,t)=>(Object.keys(t).forEach((r=>{e[r]=t[r]})),e)),Object.create(null))}},1743:e=>{"use strict";class t{constructor(e){const t={},r=this._getOverriddenMethods(this,t);for(const n of Object.keys(r))"function"==typeof r[n]&&(t[n]=e[n],e[n]=r[n])}_getOverriddenMethods(){throw new Error("Not implemented")}}t.install=function(e,t,r){e.__mixins||(e.__mixins=[]);for(let r=0;r"']/g,p=RegExp(h.source);s="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,i="object"==typeof self&&self&&self.Object===Object&&self,a=s||i||Function("return this")();var d,g=(d={"&":"&","<":"<",">":">",'"':""","'":"'"},function(e){return null==d?n:d[e]}),f=Object.prototype,m=f.hasOwnProperty,_=f.toString,v=a.Symbol,T=v?v.toStringTag:n,y=v?v.prototype:n,E=y?y.toString:n;function b(e){if("string"==typeof e)return e;if(A(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=w;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=w;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"}};l?((l.exports=C).templates=C,o.templates=C):a.templates=C}.call(this)},9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=o(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,i=o(e),a=i[0],l=i[1],c=new s(function(e,t,r){return 3*(t+r)/4-r}(0,a,l)),u=0,h=l>0?a-4:a;for(r=0;r>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[u++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,s=n%3,i=[],a=16383,o=0,c=n-s;oc?c:o+a));return 1===s?(t=e[n-1],i.push(r[t>>2]+r[t<<4&63]+"==")):2===s&&(t=(e[n-2]<<8)+e[n-1],i.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),i.join("")};for(var r=[],n=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=i[a],n[i.charCodeAt(a)]=a;function o(e){var t=e.length;if(t%4>0)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 l(e,t,n){for(var s,i,a=[],o=t;o>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},8764:(e,t,r)=>{"use strict";var n=r(9742),s=r(645),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;var a=2147483647;function o(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return c(e,t,r)}function c(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|f(e,t),n=o(r),s=n.write(e,t);return s!==r&&(n=n.slice(0,s)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if($(e,Uint8Array)){var t=new Uint8Array(e);return d(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if($(e,ArrayBuffer)||e&&$(e.buffer,ArrayBuffer))return d(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&($(e,SharedArrayBuffer)||e&&$(e.buffer,SharedArrayBuffer)))return d(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return l.from(n,t,r);var s=function(e){if(l.isBuffer(e)){var t=0|g(e.length),r=o(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||K(e.length)?o(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(s)return s;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return u(e),o(e<0?0:0|g(e))}function p(e){for(var t=e.length<0?0:0|g(e.length),r=o(t),n=0;n=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||$(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var s=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":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 H(e).length;default:if(s)return n?-1:B(e).length;t=(""+t).toLowerCase(),s=!0}}function m(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 x(this,t,r);case"utf8":case"utf-8":return k(this,t,r);case"ascii":return O(this,t,r);case"latin1":case"binary":return N(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 _(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function v(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),K(r=+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,"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,p=0;ps&&(n=s):n=s;var i=t.length;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 k(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<=S)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn.length?l.from(i).copy(n,s):Uint8Array.prototype.set.call(n,i,s);else{if(!l.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,s)}s+=i.length}return n},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tr&&(e+=" ... "),""},i&&(l.prototype[i]=l.prototype.inspect),l.prototype.compare=function(e,t,r,n,s){if($(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);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;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var s=this.length-t;if((void 0===r||r>s)&&(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 y(this,e,t,r);case"utf8":case"utf-8":return E(this,e,t,r);case"ascii":case"latin1":case"binary":return b(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(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)}};var S=4096;function O(e,t,r){var n="";r=Math.min(e.length,r);for(var s=t;sn)&&(r=n);for(var s="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function L(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 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 D(e,t,r,n,i){return t=+t,r>>>=0,i||M(e,0,r,4),s.write(e,t,r,n,23,4),r+4}function P(e,t,r,n,i){return t=+t,r>>>=0,i||M(e,0,r,8),s.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||I(e,t,this.length);for(var n=this[e],s=1,i=0;++i>>=0,t>>>=0,r||I(e,t,this.length);for(var n=this[e+--t],s=1;t>0&&(s*=256);)n+=this[e+--t]*s;return n},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||I(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,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 e>>>=0,t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,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){e>>>=0,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 e>>>=0,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 e>>>=0,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 e>>>=0,t||I(e,4,this.length),s.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||I(e,4,this.length),s.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||I(e,8,this.length),s.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||I(e,8,this.length),s.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||L(this,e,t,r,Math.pow(2,8*r)-1,0);var s=1,i=0;for(this[t]=255&e;++i>>=0,r>>>=0,n||L(this,e,t,r,Math.pow(2,8*r)-1,0);var s=r-1,i=1;for(this[t+s]=255&e;--s>=0&&(i*=256);)this[t+s]=e/i&255;return t+r},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var s=Math.pow(2,8*r-1);L(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);L(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||L(this,e,t,1,127,-128),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||L(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,r){return D(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return D(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return P(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return P(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");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("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=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 H(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(F,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function U(e,t,r,n){for(var s=0;s=t.length||s>=e.length);++s)t[s+r]=e[s];return s}function $(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function K(e){return e!=e}var q=function(){for(var e="0123456789abcdef",t=new Array(256),r=0;r<16;++r)for(var n=16*r,s=0;s<16;++s)t[n+s]=e[r]+e[s];return t}()},2894:(e,t,r)=>{r(3567).check("es5")},3567:(e,t,r)=>{r(9677),e.exports=r(1100)},6085:e=>{var t=function(){this.tests={},this.cache={}};t.prototype={constructor:t,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=t},9677:(e,t,r)=>{var n=r(1100),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}}))},1100:(e,t,r)=>{var n=new(r(6085)),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},8010:(e,t,r)=>{r(7643)},7643:(e,t,r)=>{r(2894);var n,s=r(3567);n=s("Error.captureStackTrace")?r(4649):s("Error.prototype.stack")?r(7862):r(6688),e.exports=n()},1036:(e,t,r)=>{var n=r(1589).Class,s=r(1589).abstractMethod,i=n(Object,{prototype:{init:n.prototype.merge,frameString:void 0,toString:function(){return this.frameString},functionValue:void 0,getThis:s,getTypeName:s,getFunction:function(){return this.functionValue},getFunctionName:s,getMethodName:s,getFileName:s,getLineNumber:s,getColumnNumber:s,getEvalOrigin:s,isTopLevel:s,isEval:s,isNative:s,isConstructor:s}});e.exports=i},9134:(e,t,r)=>{var n=r(1589).Class,s=r(1036),i=r(7514).cache,a=n(Object,{prototype:{stackParser:null,frameParser:null,locationParsers:null,constructor:function(e){n.prototype.merge.call(this,e)},getFrames:function(e,t){for(var r=[],n=0,s=e.length;n{var n=r(1589).Class,s=r(1589).abstractMethod,i=r(7514).eachCombination,a=r(7514).cache,o=r(3567),l=n(Object,{prototype:{captureFrameStrings:function(e){var t=this.createError();e.unshift(this.captureFrameStrings),e.unshift(this.createError);var r=this.getFrameStrings(t).slice(e.length),n=[];if(o("arguments.callee.caller")){var s=[this.createError,this.captureFrameStrings];try{for(var i=arguments.callee;i=i.caller;)s.push(i)}catch(e){}n=s.slice(e.length)}return{frameStrings:r,functionValues:n}},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())}))}},7862:(e,t,r)=>{var n=r(452),s=r(9134),i=r(7514).cache,a=r(9831);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}}},9831:e=>{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}},6688:(e,t,r)=>{var n=r(7514).cache,s=r(9831);e.exports=function(){return Error.captureStackTrace=function(e,t){Object.defineProperties(e,{stack:{configurable:!0,get:n((function(){return(Error.prepareStackTrace||s)(e,[])}))},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})},Error.getStackTrace=function(e){if(e.cachedStack)return e.stack;var t=(Error.prepareStackTrace||s)(e,[]);try{Object.defineProperties(e,{stack:{configurable:!0,writable:!0,enumerable:!1,value:t},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})}catch(e){}return t},{prepareStackTrace:s}}},4649:(e,t,r)=>{var n=r(9831);e.exports=function(){return Error.getStackTrace=function(e){return e.stack},{prepareStackTrace:n}}},7187:e=>{"use strict";var t,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function i(){i.init.call(this)}e.exports=i,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))}f(e,t,i,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&f(e,"error",t,{once:!0})}(e,s)}))},i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function o(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?i.defaultMaxListeners:e._maxListeners}function c(e,t,r,n){var s,i,a,c;if(o(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=l(e))>0&&a.length>s&&!a.warned){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,c=u,console&&console.warn&&console.warn(c)}return e}function u(){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 h(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=u.bind(n);return s.listener=r,n.wrapFn=s,s}function p(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=i[e];if(void 0===l)return!1;if("function"==typeof l)n(l,this,t);else{var c=l.length,u=g(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},i.prototype.listeners=function(e){return p(this,e,!0)},i.prototype.rawListeners=function(e){return p(this,e,!1)},i.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},i.prototype.listenerCount=d,i.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},5449:(e,t,r)=>{function n(e){this._cbs=e||{},this.events=[]}e.exports=n;var s=r(3719).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{var n=r(9730),s=r(9443);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(5717)(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},763:(e,t,r)=>{var n=r(9889),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(5717)(u,r(7187).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},6321:(e,t,r)=>{function n(e){this._cbs=e||{}}e.exports=n;var s=r(3719).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)}}}))},9924:(e,t,r)=>{e.exports=s;var n=r(3621);function s(e){n.call(this,new i(this),e)}function i(e){this.scope=e}r(5717)(s,n),s.prototype.readable=!0;var a=r(3719).EVENTS;Object.keys(a).forEach((function(e){if(0===a[e])i.prototype["on"+e]=function(){this.scope.emit(e)};else if(1===a[e])i.prototype["on"+e]=function(t){this.scope.emit(e,t)};else{if(2!==a[e])throw Error("wrong number of arguments!");i.prototype["on"+e]=function(t,r){this.scope.emit(e,t,r)}}}))},9889:(e,t,r)=>{e.exports=me;var n=r(8894),s=r(3042),i=r(317),a=r(1373),o=0,l=o++,c=o++,u=o++,h=o++,p=o++,d=o++,g=o++,f=o++,m=o++,_=o++,v=o++,T=o++,y=o++,E=o++,b=o++,A=o++,w=o++,C=o++,k=o++,S=o++,O=o++,N=o++,x=o++,R=o++,I=o++,L=o++,M=o++,D=o++,P=o++,F=o++,B=o++,H=o++,U=o++,$=o++,K=o++,q=o++,j=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++,pe=ce++;function de(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=p:"<"===e?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===e||this._special!==ue||de(e)?this._state=l:"!"===e?(this._state=b,this._sectionStart=this._index+1):"?"===e?(this._state=w,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==e&&"S"!==e?u:B,this._sectionStart=this._index)},me.prototype._stateInTagName=function(e){("/"===e||">"===e||de(e))&&(this._emitToken("onopentagname"),this._state=f,this._index--)},me.prototype._stateBeforeCloseingTagName=function(e){de(e)||(">"===e?this._state=l:this._special!==ue?"s"===e||"S"===e?this._state=H:(this._state=l,this._index--):(this._state=d,this._sectionStart=this._index))},me.prototype._stateInCloseingTagName=function(e){(">"===e||de(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:de(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):de(e)||(this._state=f,this._index--)},me.prototype._stateInAttributeName=function(e){("="===e||"/"===e||">"===e||de(e))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=_,this._index--)},me.prototype._stateAfterAttributeName=function(e){"="===e?this._state=v:"/"===e||">"===e?(this._cbs.onattribend(),this._state=f,this._index--):de(e)||(this._cbs.onattribend(),this._state=m,this._sectionStart=this._index)},me.prototype._stateBeforeAttributeValue=function(e){'"'===e?(this._state=T,this._sectionStart=this._index+1):"'"===e?(this._state=y,this._sectionStart=this._index+1):de(e)||(this._state=E,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){de(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=k,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?O:k},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=k)},me.prototype._stateBeforeCdata1=ge("C",x,A),me.prototype._stateBeforeCdata2=ge("D",R,A),me.prototype._stateBeforeCdata3=ge("A",I,A),me.prototype._stateBeforeCdata4=ge("T",L,A),me.prototype._stateBeforeCdata5=ge("A",M,A),me.prototype._stateBeforeCdata6=function(e){"["===e?(this._state=D,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:D},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=D)},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!==pe||"t"!==e&&"T"!==e?this._state=l:this._state=ee:this._state=G},me.prototype._stateBeforeScript1=fe("R",$),me.prototype._stateBeforeScript2=fe("I",K),me.prototype._stateBeforeScript3=fe("P",q),me.prototype._stateBeforeScript4=fe("T",j),me.prototype._stateBeforeScript5=function(e){("/"===e||">"===e||de(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||de(e)?(this._special=ue,this._state=d,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||de(e))&&(this._special=pe),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||de(e)?(this._special=ue,this._state=d,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{e.exports=o;var n=r(763),s=r(247).Writable,i=r(2553).s,a=r(8764).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(5717)(o,s),o.prototype._write=function(e,t,r){e instanceof a&&(e=this._decoder.write(e)),this._parser.write(e),r()}},3719:(e,t,r)=>{var n=r(763),s=r(9730);function i(t,r){return delete e.exports[t],e.exports[t]=r,r}e.exports={Parser:n,Tokenizer:r(9889),ElementType:r(2391),DomHandler:s,get FeedHandler(){return i("FeedHandler",r(3870))},get Stream(){return i("Stream",r(9924))},get WritableStream(){return i("WritableStream",r(3621))},get ProxyHandler(){return i("ProxyHandler",r(6321))},get DomUtils(){return i("DomUtils",r(9443))},get CollectingHandler(){return i("CollectingHandler",r(5449))},DefaultHandler:s,get RssHandler(){return i("RssHandler",this.FeedHandler)},parseDOM:function(e,t){var r=new s(t);return new n(r,t).end(e),r.dom},parseFeed:function(t,r){var s=new e.exports.FeedHandler(r);return new n(s,r).end(t),s.dom},createDomStream:function(e,t,r){var i=new s(e,t,r);return new n(i,t)},EVENTS:{attribute:2,cdatastart:0,cdataend:0,text:1,processinginstruction:2,comment:1,commentend:0,closetag:1,opentag:2,opentagname:1,error:1,end:0}}},8066:(e,t,r)=>{var n=r(2570),s=r(1137),i=r(9004);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 p(e,t){var r=e.data||"";return!t.decodeEntities||e.parent&&e.parent.name in a||(r=s.encodeXML(r)),r}function d(e){return""}function g(e){return"\x3c!--"+e.data+"--\x3e"}},2570:(e,t)=>{"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"},162: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.decodeHTML=t.decodeHTMLStrict=t.decodeXML=void 0;var s=n(r(3082)),i=n(r(3195)),a=n(r(1210)),o=n(r(4914)),l=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;function c(e){var t=h(e);return function(e){return String(e).replace(l,t)}}t.decodeXML=c(a.default),t.decodeHTMLStrict=c(s.default);var u=function(e,t){return e65535&&(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))}},670: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(1210)).default),i=h(s);t.encodeXML=m(s);var a,o,l=u(n(r(3082)).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?d(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}var f=new RegExp(i.source+"|"+p.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)}},1137:(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(162),s=r(670);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(670);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(162);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}})},2391:e=>{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}}},9730:(e,t,r)=>{var n=r(2391),s=/\s+/g,i=r(6805),a=r(7359);function o(e,t,r){"object"==typeof e?(r=t,t=e,e=null):"function"==typeof t&&(r=t,t=l),this._callback=e,this._options=t||l,this._elementCB=r,this.dom=[],this._done=!1,this._tagStack=[],this._parser=this._parser||null}var l={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1};o.prototype.onparserinit=function(e){this._parser=e},o.prototype.onreset=function(){o.call(this,this._callback,this._options,this._elementCB)},o.prototype.onend=function(){this._done||(this._done=!0,this._parser=null,this._handleCallback(null))},o.prototype._handleCallback=o.prototype.onerror=function(e){if("function"==typeof this._callback)this._callback(e,this.dom);else if(e)throw e},o.prototype.onclosetag=function(){var e=this._tagStack.pop();this._options.withEndIndices&&e&&(e.endIndex=this._parser.endIndex),this._elementCB&&this._elementCB(e)},o.prototype._createDomElement=function(e){if(!this._options.withDomLvl1)return e;var t;for(var r in t="tag"===e.type?Object.create(a):Object.create(i),e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},o.prototype._addDomElement=function(e){var t=this._tagStack[this._tagStack.length-1],r=t?t.children:this.dom,n=r[r.length-1];e.next=null,this._options.withStartIndices&&(e.startIndex=this._parser.startIndex),this._options.withEndIndices&&(e.endIndex=this._parser.endIndex),n?(e.prev=n,n.next=e):e.prev=null,r.push(e),e.parent=t||null},o.prototype.onopentag=function(e,t){var r={type:"script"===e?n.Script:"style"===e?n.Style:n.Tag,name:e,attribs:t,children:[]},s=this._createDomElement(r);this._addDomElement(s),this._tagStack.push(s)},o.prototype.ontext=function(e){var t,r=this._options.normalizeWhitespace||this._options.ignoreWhitespace;if(!this._tagStack.length&&this.dom.length&&(t=this.dom[this.dom.length-1]).type===n.Text)r?t.data=(t.data+e).replace(s," "):t.data+=e;else if(this._tagStack.length&&(t=this._tagStack[this._tagStack.length-1])&&(t=t.children[t.children.length-1])&&t.type===n.Text)r?t.data=(t.data+e).replace(s," "):t.data+=e;else{r&&(e=e.replace(s," "));var i=this._createDomElement({data:e,type:n.Text});this._addDomElement(i)}},o.prototype.oncomment=function(e){var t=this._tagStack[this._tagStack.length-1];if(t&&t.type===n.Comment)t.data+=e;else{var r={data:e,type:n.Comment},s=this._createDomElement(r);this._addDomElement(s),this._tagStack.push(s)}},o.prototype.oncdatastart=function(){var e={children:[{data:"",type:n.Text}],type:n.CDATA},t=this._createDomElement(e);this._addDomElement(t),this._tagStack.push(t)},o.prototype.oncommentend=o.prototype.oncdataend=function(){this._tagStack.pop()},o.prototype.onprocessinginstruction=function(e,t){var r=this._createDomElement({name:e,data:t,type:n.Directive});this._addDomElement(r)},e.exports=o},7359:(e,t,r)=>{var n=r(6805),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}})}))},6805:e=>{var t=e.exports={get firstChild(){var e=this.children;return e&&e[0]||null},get lastChild(){var e=this.children;return e&&e[e.length-1]||null},get nodeType(){return n[this.type]||n.element}},r={tagName:"name",childNodes:"children",parentNode:"parent",previousSibling:"prev",nextSibling:"next",nodeValue:"data"},n={element:1,text:3,cdata:4,comment:8};Object.keys(r).forEach((function(e){var n=r[e];Object.defineProperty(t,e,{get:function(){return this[n]||null},set:function(e){return this[n]=e,e}})}))},9443:(e,t,r)=>{var n=e.exports;[r(2178),r(1699),r(6167),r(6754),r(5355),r(9256)].forEach((function(e){Object.keys(e).forEach((function(t){n[t]=e[t].bind(n)}))}))},9256:(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{var n=r(2391),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)}},6167:(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}},6754:(e,t,r)=>{var n=r(2391).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}}},2178:(e,t,r)=>{var n=r(2391),s=r(8066),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:""}}},1699:(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}},8894:(e,t,r)=>{var n=r(2968);e.exports=function(e){if(e>=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)}},645:(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,p=r?-1:1,d=e[t+h];for(h+=p,i=d&(1<<-u)-1,d>>=-u,u+=o;u>0;i=256*i+e[t+h],h+=p,u-=8);for(a=i&(1<<-u)-1,i>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=p,u-=8);if(0===i)i=1-c;else{if(i===l)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),i-=c}return(d?-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,p=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,d=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?p/l:p*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+d]=255&o,d+=g,o/=256,s-=8);for(a=a<0;e[r+d]=255&a,d+=g,a/=256,c-=8);e[r+d-g]|=128*f}},5717:e=>{"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}}},2043:function(e,t,r){var n,s;!function(i,a){"use strict";n=function(){var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function s(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 i(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function a(t,r){for(var s=0;s=0&&r<=o.levels.SILENT))throw"log.setLevel() called with invalid level: "+r;if(i=r,!1!==s&&function(e){var r=(n[e]||"silent").toUpperCase();if(typeof window!==t&&c){try{return void(window.localStorage[c]=r)}catch(e){}try{window.document.cookie=encodeURIComponent(c)+"="+r+";"}catch(e){}}}(r),a.call(o,r,e),typeof console===t&&r{r(2894),e.exports=r(1510)},2285:e=>{var t=function(){var e=Object.create({Source:Object,config:{},buildArgs:[]});function r(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{e.exports=function(){throw new Error("Not implemented.")}},1510:(e,t,r)=>{e.exports={Class:r(2285),abstractMethod:r(8503)}},2587:e=>{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,r,n,s){r=r||"&",n=n||"=";var i={};if("string"!=typeof e||0===e.length)return i;var a=/\+/g;e=e.split(r);var o=1e3;s&&"number"==typeof s.maxKeys&&(o=s.maxKeys);var l=e.length;o>0&&l>o&&(l=o);for(var c=0;c=0?(u=g.substr(0,f),h=g.substr(f+1)):(u=g,h=""),p=decodeURIComponent(u),d=decodeURIComponent(h),t(i,p)?Array.isArray(i[p])?i[p].push(d):i[p]=[i[p],d]:i[p]=d}return i}},2361:e=>{"use strict";var t=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,r,n,s){return r=r||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(s){var i=encodeURIComponent(t(s))+n;return Array.isArray(e[s])?e[s].map((function(e){return i+encodeURIComponent(t(e))})).join(r):i+encodeURIComponent(t(e[s]))})).join(r):s?encodeURIComponent(t(s))+n+encodeURIComponent(t(e)):""}},7673:(e,t,r)=>{"use strict";t.decode=t.parse=r(2587),t.encode=t.stringify=r(2361)},9509:(e,t,r)=>{var n=r(8764),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)}},2553:(e,t,r)=>{"use strict";var n=r(9509).Buffer,s=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function i(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===s||!s(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=c,t=4;break;case"utf8":this.fillLast=o,t=4;break;case"base64":this.text=u,this.end=h,t=3;break;default:return this.write=p,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function a(e){return e<=127?0:e>>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 p(e){return e.toString(this.encoding)}function d(e){return e&&e.length?this.write(e):""}t.s=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}},4429:e=>{var t=function(e,t){var r;for(r=0;r1?1:a)+n[n.length-1].length};return{addRule:function(e,t){s.push({regex:e,type:t})},onText:function(e){for(var t=n+e,i=r(s,t);i&&i.max_index!==t.length;)o(t.substring(0,i.max_index),i.rule.type),t=t.substring(i.max_index),i=r(s,t);n=t},end:function(){if(0!==n.length){var e=t(s,n);if(!e){var r=new Error("unable to tokenize");throw r.tokenizer2={buffer:n,line:i,col:a},r}o(n,e.type)}}}}},7514:(e,t,r)=>{e.exports=r(8612)},3880:e=>{e.exports=function(e){var t,r=!1;return e instanceof Function||(r=!0,t=e,e=null),function(){return r||(r=!0,t=e.apply(this,arguments),e=null),t}}},3148:e=>{e.exports=function e(t,r,n){if(n||(n=[]),n.length{e.exports={cache:r(3880),eachCombination:r(3148)}},2511:function(e,t,r){var n;e=r.nmd(e),function(s){t&&t.nodeType,e&&e.nodeType;var i="object"==typeof r.g&&r.g;i.global!==i&&i.window!==i&&i.self;var a,o=2147483647,l=36,c=26,u=38,h=700,p=/^xn--/,d=/[^\x20-\x7E]/,g=/[\x2E\u3002\uFF0E\uFF61]/g,f={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},m=l-1,_=Math.floor,v=String.fromCharCode;function T(e){throw RangeError(f[e])}function y(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function E(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+y((e=e.replace(g,".")).split("."),t).join(".")}function b(e){for(var t,r,n=[],s=0,i=e.length;s=55296&&t<=56319&&s65535&&(t+=v((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+v(e)})).join("")}function w(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function C(e,t,r){var n=0;for(e=r?_(e/h):e>>1,e+=_(e/t);e>m*c>>1;n+=l)e=_(e/m);return _(n+(m+1)*e/(e+u))}function k(e){var t,r,n,s,i,a,u,h,p,d,g,f=[],m=e.length,v=0,y=128,E=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&T("not-basic"),f.push(e.charCodeAt(n));for(s=r>0?r+1:0;s=m&&T("invalid-input"),((h=(g=e.charCodeAt(s++))-48<10?g-22:g-65<26?g-65:g-97<26?g-97:l)>=l||h>_((o-v)/a))&&T("overflow"),v+=h*a,!(h<(p=u<=E?1:u>=E+c?c:u-E));u+=l)a>_(o/(d=l-p))&&T("overflow"),a*=d;E=C(v-i,t=f.length+1,0==i),_(v/t)>o-y&&T("overflow"),y+=_(v/t),v%=t,f.splice(v++,0,y)}return A(f)}function S(e){var t,r,n,s,i,a,u,h,p,d,g,f,m,y,E,A=[];for(f=(e=b(e)).length,t=128,r=0,i=72,a=0;a=t&&g_((o-r)/(m=n+1))&&T("overflow"),r+=(u-t)*m,t=u,a=0;ao&&T("overflow"),g==t){for(h=r,p=l;!(h<(d=p<=i?1:p>=i+c?c:p-i));p+=l)E=h-d,y=l-d,A.push(v(w(d+E%y,0))),h=_(E/y);A.push(v(w(h,0))),i=C(r,m,n==s),r=0,++n}++r,++t}return A.join("")}a={version:"1.3.2",ucs2:{decode:b,encode:A},decode:k,encode:S,toASCII:function(e){return E(e,(function(e){return d.test(e)?"xn--"+S(e):e}))},toUnicode:function(e){return E(e,(function(e){return p.test(e)?k(e.slice(4).toLowerCase()):e}))}},void 0===(n=function(){return a}.call(t,r,t,e))||(e.exports=n)}()},8575:(e,t,r)=>{"use strict";var n=r(2511),s=r(2502);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=T,t.resolve=function(e,t){return T(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?T(e,!1,!0).resolveObject(t):t},t.format=function(e){return s.isString(e)&&(e=T(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),p=["/","?","#"],d=/^[+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},v=r(7673);function T(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?L+="x":L+=I[M];if(!L.match(d)){var P=x.slice(0,S),F=x.slice(S+1),B=I.match(g);B&&(P.push(B[1]),F.unshift(B[2])),F.length&&(T="/"+F.join(".")+T),this.hostname=P.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),N||(this.hostname=n.toASCII(this.hostname));var H=this.port?":"+this.port:"",U=this.hostname||"";this.host=U+H,this.href+=this.host,N&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==T[0]&&(T="/"+T))}if(!f[b])for(S=0,R=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],k=(r.host||e.host||A.length>1)&&("."===C||".."===C)||""===C,S=0,O=A.length;O>=0;O--)"."===(C=A[O])?A.splice(O,1):".."===C?(A.splice(O,1),S++):S&&(A.splice(O,1),S--);if(!E&&!b)for(;S--;S)A.unshift("..");!E||""===A[0]||A[0]&&"/"===A[0].charAt(0)||A.unshift(""),k&&"/"!==A.join("/").substr(-1)&&A.push("");var N,x=""===A[0]||A[0]&&"/"===A[0].charAt(0);return w&&(r.hostname=r.host=x?"":A.length?A.shift():"",(N=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=N.shift(),r.host=r.hostname=N.shift())),(E=E||r.host&&A.length)&&!x&&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)}},2502:e=>{"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}}},1496:e=>{"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}},384:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},9539:(e,t,r)=>{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),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(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(v(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)),b(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(T(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(E(r))return e.stylize(Date.prototype.toString.call(r),"date");if(b(r))return h(r)}var c,y="",w=!1,C=["{","}"];return d(r)&&(w=!0,C=["[","]"]),A(r)&&(y=" [Function"+(r.name?": "+r.name:"")+"]"),T(r)&&(y=" "+RegExp.prototype.toString.call(r)),E(r)&&(y=" "+Date.prototype.toUTCString.call(r)),b(r)&&(y=" "+h(r)),0!==a.length||w&&0!=r.length?n<0?T(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=w?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,y,C)):C[0]+y+C[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function p(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")),S(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")),v(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 d(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 v(e){return void 0===e}function T(e){return y(e)&&"[object RegExp]"===w(e)}function y(e){return"object"==typeof e&&null!==e}function E(e){return y(e)&&"[object Date]"===w(e)}function b(e){return y(e)&&("[object Error]"===w(e)||e instanceof Error)}function A(e){return"function"==typeof e}function w(e){return Object.prototype.toString.call(e)}function C(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(v(i)&&(i=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=process.pid;a[e]=function(){var n=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,n)}}else a[e]=function(){};return a[e]},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=d,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=v,t.isRegExp=T,t.isObject=y,t.isDate=E,t.isError=b,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(384);var k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,r;console.log("%s - %s",(r=[C((e=new Date).getHours()),C(e.getMinutes()),C(e.getSeconds())].join(":"),[e.getDate(),k[e.getMonth()],r].join(" ")),t.format.apply(t,arguments))},t.inherits=r(1496),t._extend=function(e,t){if(!t||!y(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var O="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function N(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(O&&e[O]){var t;if("function"!=typeof(t=e[O]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,O,{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;i{},9004:e=>{"use strict";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"}}')},3523:e=>{"use strict";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}')},3082:e=>{"use strict";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":"‌"}')},3195:e=>{"use strict";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":"ÿ"}')},1210:e=>{"use strict";e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},2968:e=>{"use strict";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}')},3042:e=>{"use strict";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":"‌"}')},317:e=>{"use strict";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":"ÿ"}')},1373:e=>{"use strict";e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var i=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.loaded=!0,i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};(()=>{"use strict";r.r(n),r.d(n,{AnalysisWebWorker:()=>Ol,AnalysisWorkerWrapper:()=>Rl,App:()=>mc,Assessment:()=>ms,AssessmentResult:()=>As,Assessor:()=>Ni,ContentAssessor:()=>Ji,DIFFICULTY:()=>Jt,Factory:()=>vc,Paper:()=>na,Pluggable:()=>Kl,SeoAssessor:()=>Ki,SnippetPreview:()=>hc,TaxonomyAssessor:()=>ea,assessments:()=>u,bundledPlugins:()=>h,config:()=>g,createWorker:()=>Ll,default:()=>Tc,helpers:()=>c,interpreters:()=>d,languageProcessing:()=>l,markers:()=>p,values:()=>f});var e={};r.r(e),r.d(e,{filterShortcodesFromHTML:()=>pt,matchStringWithRegex:()=>Z,normalize:()=>Ie,removeHtmlBlocks:()=>ut});var t={};r.r(t),r.d(t,{hashedHtmlEntities:()=>zr,hashedHtmlEntitiesRegexEnd:()=>Yr,hashedHtmlEntitiesRegexStart:()=>Wr,htmlEntities:()=>jr,htmlEntitiesRegex:()=>Gr});var s={};r.r(s),r.d(s,{applyAllReplacements:()=>Jn,doesWordMatchRegex:()=>Qn,searchAndReplaceWithRegex:()=>Xn});var i={};r.r(i),r.d(i,{checkExceptionListWithTwoStems:()=>ts,checkIfWordEndingIsOnExceptionList:()=>Zn,checkIfWordIsOnListThatCanHavePrefix:()=>es});var a={};r.r(a),r.d(a,{removeSuffixFromFullForm:()=>ns,removeSuffixesFromFullForm:()=>rs});var o={};r.r(o),r.d(o,{Clause:()=>is,ProminentWord:()=>vr,Sentence:()=>dr});var l={};r.r(l),r.d(l,{AbstractResearcher:()=>Ln,areWordsInSentence:()=>as,baseStemmer:()=>re,buildFormRule:()=>$n,collectMarkingsInSentence:()=>an,countMetaDescriptionLength:()=>vn,createRegexFromArray:()=>J,createRulesFromArrays:()=>qn,createSingleRuleFromArray:()=>Kn,directPrecedenceException:()=>Gn,exceptionListHelpers:()=>i,findMatchingEndingInArray:()=>Vn,findWordFormsInString:()=>De,flattenSortLength:()=>Mn,getClauses:()=>hs,getClausesSplitOnStopWords:()=>ps,getFieldsToMark:()=>gs,getLanguage:()=>A,getSentences:()=>et,getWords:()=>ce,helpers:()=>e,imageInText:()=>te,indices:()=>Un,markWordsInSentences:()=>ln,matchRegularParticiples:()=>jn,mergeListItems:()=>fs,nonDirectPrecedenceException:()=>Yn,normalizeHTML:()=>ds,normalizeSingle:()=>Re,parseSynonyms:()=>Mt,precedenceException:()=>zn,regexHelpers:()=>s,removePunctuation:()=>oe,replaceDiacritics:()=>b,sanitizeString:()=>X,stemHelpers:()=>a,stripBlockTagsAtStartEnd:()=>W,stripHTMLTags:()=>Y,stripSpaces:()=>S,transliterate:()=>C,unifyAllSpaces:()=>Q,values:()=>o});var c={};r.r(c),r.d(c,{createAnchorOpeningTag:()=>ys,formatNumber:()=>Ms,getLanguagesWithWordComplexity:()=>Ds,getLanguagesWithWordFormSupport:()=>Ls,htmlEntities:()=>t,measureTextWidth:()=>Is});var u={};r.r(u),r.d(u,{inclusiveLanguage:()=>Pl,readability:()=>Ml,seo:()=>Dl});var h={};r.r(h),r.d(h,{usedKeywords:()=>Bl});var p={};r.r(p),r.d(p,{addMark:()=>Hi,removeMarks:()=>Hl});var d={};r.r(d),r.d(d,{scoreToRating:()=>Qi});var g={};r.r(g),r.d(g,{presenter:()=>Ul});var f={};r.r(f),r.d(f,{AssessmentResult:()=>As,Mark:()=>Kr,Paper:()=>na});const m=window.yoast.featureFlag,_=window.wp.i18n,v=window.lodash;var T=r(2043),y=r(9539),E=r.n(y);function b(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;r":'[ \\u00a0\\u2014\\u06d4\\u061f\\u060C\\u061B\\n\\r\\t.,()”“〝〞〟‟„"+\\-;!¡?¿:/»«‹›'+r+"<>",i=t?"($|((?="+s+"]))|((['‘’‛`])("+s+"])))":"($|("+s+"])|((['‘’‛`])("+s+"])))","(^|"+s+"'‘’‛`])"+e+i}function S(e){return(e=(e=(e=(e=e.replace(/\s{2,}/g," ")).replace(/\s\.$/,".")).replace(/^\s+|\s+$/g,"")).replace(/\s。/g,"。")).replace(/。\s/g,"。")}var O=r(4429),N=r.n(O);const x=["address","article","aside","blockquote","canvas","dd","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","li","main","nav","noscript","ol","output","p","pre","section","table","tfoot","ul","video"],R=["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"],I=(new RegExp("^("+x.join("|")+")$","i"),new RegExp("^("+R.join("|")+")$","i"),new RegExp("^<("+x.join("|")+")[^>]*?>$","i")),L=new RegExp("^]*?>$","i"),M=new RegExp("^<("+R.join("|")+")[^>]*>$","i"),D=new RegExp("^]*>$","i"),P=/^<([^>\s/]+)[^>]*>$/,F=/^<\/([^>\s]+)[^>]*>$/,B=/^[^<]+$/,H=/^<[^><]*$/,U=//g;let $,K=[];const q=(0,v.memoize)((function(e){const t=[];let r=0,n="",s="",i="";return e=e.replace(U,""),K=[],$=N()((function(e){K.push(e)})),$.addRule(B,"content"),$.addRule(H,"greater-than-sign-content"),$.addRule(I,"block-start"),$.addRule(L,"block-end"),$.addRule(M,"inline-start"),$.addRule(D,"inline-end"),$.addRule(P,"other-element-start"),$.addRule(F,"other-element-end"),$.onText(e),$.end(),(0,v.forEach)(K,(function(e,a){const o=K[a+1];switch(e.type){case"content":case"greater-than-sign-content":case"inline-start":case"inline-end":case"other-tag":case"other-element-start":case"other-element-end":case"greater than sign":o&&(0!==r||"block-start"!==o.type&&"block-end"!==o.type)?s+=e.src:(s+=e.src,t.push(s),n="",s="",i="");break;case"block-start":0!==r&&(""!==s.trim()&&t.push(s),s="",i=""),r++,n=e.src;break;case"block-end":r--,i=e.src,""!==n&&""!==i?t.push(n+s+i):""!==s.trim()&&t.push(s),n="",s="",i=""}r<0&&(r=0)})),t})),j=new RegExp("^<("+x.join("|")+")[^>]*?>","i"),G=new RegExp("]*?>$","i"),z=function(e){return(e=e.replace(/^(<\/([^>]+)>)+/i,"")).replace(/(<([^/>]+)>)+$/i,"")},W=function(e){return(e=e.replace(j,"")).replace(G,"")},Y=function(e){return S(e=e.replace(/(<([^>]+)>)/gi," "))},V=function(e){return e.replace(/ /g," ")},Q=function(e){return function(e){return e.replace(/\s/g," ")}(e=function(e){return e.replace(/\u2014/g," ")}(e=V(e)))};function X(e){return e=Q(e),Y(e)}function J(e,t=!1,r="",n=!1){const s="("+(e=(0,v.map)(e,(function(e){return n&&(e=b(e)),e=X(e),t?e:k(e,!0,r)}))).join(")|(")+")";return new RegExp(s,"ig")}function Z(e,t){let r=e.match(t);return null===r&&(r=[]),r}const ee=new RegExp("]+)?>()*","ig");function te(e){return Z(e,ee)}function re(e){return e}const ne="\\–\\-\\(\\)_\\[\\]’‘“”〝〞〟‟„\"'.?!:;,¿¡«»‹›—×+&۔؟،؛。。!‼?⁇⁉⁈‥…・ー、〃〄〆〇〈〉《》「」『』【】〒〓〔〕〖〗〘〙〚〛〜〝〞〟〠〶〼〽{}|~⦅⦆「」、[]・¥$%@&'()*/:;<>\\\<>",se=ne.split(""),ie=new RegExp("^["+ne+"]+"),ae=new RegExp("["+ne+"]+$");function oe(e){e=(e=V(e)).replace("&","");const t=new RegExp("(\\\\)","g");return(e=(e=e.replace(t,"")).replace(ie,"")).replace(ae,"")}const le=new RegExp(`([${ne}])`,"g");function ce(e,t=!0){if(""===(e=X(e)))return[];let r=e.split(/\s/g);return r=t?r.map(oe):(0,v.flatMap)(r,(e=>e.replace(le," $1 ").split(" "))),(0,v.filter)(r,(function(e){return""!==e.trim()}))}function ue(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}r(8010),E().inherits(ue,Error);const he=ue;function pe(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}E().inherits(pe,Error);const de=pe;function ge(e){let t="";return"img"===e.name&&(t=S(e.attributes.alt||""),t=t.replace(/"/g,'"'),t=t.replace(/'/g,"'")),t}function fe(e){return S(e=e.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?>/g,""))}const me=[{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"}],_e=[{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"}],ve=[{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"}],Te=[{letter:/[\u00B7]/g,alternative:"ll"}],ye=[{letter:/[\u0110]/g,alternative:"DJ"},{letter:/[\u0111]/g,alternative:"dj"}],Ee=function(e){switch(e){case"de":return _e;case"da":return ve;case"ca":return Te;case"sr":case"bs":return ye;default:return[]}};function be(e,t){const r=[];if(e.indexOf(t)>-1)for(let n=0;nk(e))).join("|"),"ig")}const s=e.match(n)||[];e=e.replace(n,"");const i=C(t,r),a=Se(i,r),o=e.match(a)||[];let l=s.concat(o);const c=function(e,t){const r=function(e){if((0,v.isUndefined)(e))return[];let t=me;return t=t.concat(Ee(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=Se(c,r),n=e.match(t)||[];l=l.concat(n)}return(0,v.map)(l,(function(e){return S(e)}))}const Ne=["'","‘","’","‛","`","‹","›"],xe=new RegExp("["+Ne.join("")+"]","g");function Re(e){return e.replace(xe,"'")}function Ie(e){return function(e){return e.replace(/[“”〝〞〟‟„『』«»]/g,'"')}(Re(e))}function Le(e,t,r,n){e=fe(e),e=Ie(e=Q(e)),t=Ie(t);let s=n?n(e,t):Oe(e,t,r);s=(0,v.map)(s,(function(e){return S(oe(e))}));const i=(0,v.map)(s,(function(t){return e.indexOf(t)}));return{count:s.length,matches:s,position:0===i.length?-1:Math.min(...i)}}function Me(e,t,r="en_EN",n){let s=0,i=[],a=[];return(0,v.uniq)(t).forEach((function(t){const o=Le(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 De=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=(0,v.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},Pe=function(e,t,r,n,s){let i=De(e.keyphraseForms,t,n,s);if(i.keyphraseOrSynonym="keyphrase",100===i.percentWordMatches||!1===r||(0,v.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};function Fe(e){const t=e.getTree();return t?t.findAll((e=>"img"===e.name)):[]}function Be(e,t){const r=Fe(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=ge(e);""!==i?(0,v.isEmpty)(t.keyphraseForms)?s.withAlt++:Pe(t,i,!0,r,n).percentWordMatches>=50?s.withAltKeyword++:s.withAltNonKeyword++:s.noAlt++})),s}(r,n,e.getLocale(),s)}const He=new RegExp("^[.]$"),Ue=/^<[^><]*$/,$e=/^<([^>\s/]+)[^>]*>$/im,Ke=/^<\/([^>\s]+)[^>]*>$/im,qe=/^\s*[[({]\s*$/,je=/^\s*[\])}]\s*$/,Ge=J(["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(".","\\.")))),ze="(^|$|["+[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"].map((e=>"\\"+e)).join("")+"])",We=new RegExp(ze+"[A-Za-z]$"),Ye=/<\/?([^\s]+?)(\s|>)/,Ve=["p","div","h1","h2","h3","h4","h5","h6","span","li","main"];class Qe{constructor(){this.sentenceDelimiters='”〞〟„』›»’‛`"?!…۔؟'}getSentenceDelimiters(){return this.sentenceDelimiters}isNumber(e){return!(0,v.isNaN)(parseInt(e,10))}isBreakTag(e){return/<\/?br/.test(e)}isQuotation(e){return"'"===(e=Ie(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(0,v.isUndefined)(e[0])||(t+=e[0].src),(0,v.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!(0,v.isUndefined)(e)&&("html-start"===e.type||"html-end"===e.type||"block-start"===e.type)}isSentenceEnding(e){return!(0,v.isUndefined)(e)&&("full-stop"===e.type||"sentence-delimiter"===e.type)}isPartOfPersonInitial(e,t,r,n){return!(0,v.isUndefined)(e)&&!(0,v.isUndefined)(r)&&!(0,v.isUndefined)(n)&&!(0,v.isUndefined)(t)&&"full-stop"===e.type&&"sentence"===t.type&&We.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]=(0,v.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=N()((function(e){r.push(e)}));return n.addRule(He,"full-stop"),n.addRule(Ue,"smaller-than-sign-content"),n.addRule($e,"html-start"),n.addRule(Ke,"html-end"),n.addRule(qe,"block-start"),n.addRule(je,"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(Ge);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(Ye)[1];return s===n.match(Ye)[1]&&Ve.includes(s)}getSentencesFromTokens(e,t=!0){let r,n,s=[],i="";do{n=!1;const t=e[0],r=e[e.length-1];t&&r&&"html-start"===t.type&&"html-end"===r.type&&this.isValidTagPair(t,r)&&(e=e.slice(1,e.length-1),n=!0)}while(n&&e.length>1);return e.forEach(((t,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,r=a?o[1]:"",t.type){case"html-start":case"html-end":this.isBreakTag(t.src)?(s.push(i),i=""):i+=t.src;break;case"smaller-than-sign-content":l=this.tokenizeSmallerThanContent(t,s,i),s=l.tokenSentences,i=l.currentSentence;break;case"sentence":case"block-start":i+=t.src;break;case"sentence-delimiter":if(i+=t.src,!(0,v.isUndefined)(c)&&"block-end"!==c.type&&"sentence-delimiter"!==c.type&&this.isCharacterASpace(c.src[0])){if(this.isQuotation(t.src)&&u&&"."!==u.src)break;this.isQuotation(t.src)||"…"===t.src?i=this.getValidSentence(a,r,o,c,s,i):(s.push(i),i="")}break;case"full-stop":if(i+=t.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,r=a?o[1]:"",this.endsWithAbbreviation(i))break;if(a&&this.isNumber(o[0]))break;if(this.isPartOfPersonInitial(t,u,c,h))break;if(this.endsWithOrdinalDot(i))break;i=this.getValidSentence(a,r,o,c,s,i);break;case"block-end":if(i+=t.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,r=a?o[0]:"",a&&this.isNumber(o[0])||this.isSentenceEnding(u)&&!this.isValidSentenceBeginning(r)&&!this.isSentenceStart(c))break;this.isSentenceEnding(u)&&(this.isSentenceStart(c)||this.isValidSentenceBeginning(r))&&(s.push(i),i="")}})),""!==i&&s.push(i),t&&(s=(0,v.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)}}const Xe=(0,v.memoize)((function(e,t=!0){const r=new Qe,{tokenizer:n,tokens:s}=r.createTokenizer();return r.tokenize(n,e),0===s.length?[]:r.getSentencesFromTokens(s,t)}),((...e)=>JSON.stringify(e))),Je=new RegExp("\n\r|\n|\r"),Ze=new RegExp("^(

    |

    )$");function et(e,t=Xe){e=(e=V(e)).replace(ee,"");let r=q(e);r=(0,v.flatMap)(r,(function(e){return e.split(Je)})),r=r.filter((e=>!Ze.test(e)));let n=r.map((e=>t(e))).flat();return n=n.map((e=>W(e).trim())),(0,v.filter)(n,(0,v.negate)(v.isEmpty))}function tt(e){return ce(e).length}var rt=r(3719),nt=r.n(rt);let st=[],it=!1,at=[];const ot=["script","style","code","pre","blockquote","textarea"],lt=["yoast-table-of-contents","yoast-reading-time__wrapper","elementor-button-wrapper","elementor-divider","elementor-spacer","elementor-custom-embed","elementor-icon-wrapper","elementor-icon-box-wrapper","elementor-counter","elementor-progress-wrapper","elementor-alert","elementor-soundcloud-wrapper","elementor-shortcode","elementor-menu-anchor","elementor-title"],ct=new(nt().Parser)({onopentag:function(e,t){if(it)return void at.push(e);const r=t.class?t.class.split(" "):[];if(ot.includes(e)||r.some((e=>lt.includes(e))))return it=!0,void at.push(e);const n=Object.keys(t);let s="";n.forEach((function(e){s+=" "+e+"='"+t[e]+"'"})),st.push("<"+e+s+">")},ontext:function(e){it||st.push(e)},onclosetag:function(e){if(1===at.length&&at[0]===e)return it=!1,void(at=[]);it?at.pop():st.push("")}},{decodeEntities:!0});function ut(e){return st=[],it=!1,at=[],ct.write(e),ct.parseComplete(),st.join("")}const ht=e=>{const t=`\\[\\/?(${e.join("|")})[^\\]]*\\]`;return new RegExp(t,"g")},pt=(e,t)=>{if(!t||0===t.length)return e;const r=ht(t);return e.replace(r,"")},dt=(e,t,r,n)=>n&&r.includes(e[t].text)&&(((e,t)=>e[t-1]&&"["===e[t-1].text)(e,t)||((e,t)=>e[t-1]&&"/"===e[t-1].text&&e[t-2]&&"["===e[t-2].text)(e,t)),gt=(e,t,r)=>{e.sentences&&e.sentences.forEach((e=>{((e,t,r)=>{const n=e.tokens;let s=!1;for(let e=n.length-1;e>=0;e--)if("]"===n[e].text&&(s=!0),dt(n,e,t,s)){for(;"]"!==n[e].text;)n.splice(e,1);for(n.splice(e,1),s=!1;n[e-1]&&"[/".includes(n[e-1].text);)n.splice(e-1,1),e--}e.tokens=n,e.text=e.text.replace(r,"")})(e,t,r)})),e.childNodes&&e.childNodes.forEach((e=>{gt(e,t,r)}))};function ft(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=ut(n),n=pt(n,e._attributes&&e._attributes.shortcodes),function(e,t){const r=[];return(0,v.forEach)(e,(function(e){const n=Y(e),s=t.getHelper("customCountLength"),i=s?s(n):tt(n);i<=0||r.push({sentence:e,sentenceLength:i})})),r}(et(n,r),t)}function mt(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((0,v.isEmpty)(r))return a;const o=r.sentences.map((e=>e.text));if(!(0,v.isEmpty)(o)){const e=o.map((e=>Pe(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=Pe(n,r.innerText(),!0,i,s);if(100===t.percentWordMatches)return a.foundInParagraph=!0,a.keyphraseOrSynonym=t.keyphraseOrSynonym,a}return a}const _t=["“","”","〝","〞","〟","‟","„",'"',"「","」","『","』"],vt=e=>(0,v.includes)(_t,e[0])&&(0,v.includes)(_t,e[e.length-1]);function Tt(e){const t={exactMatchRequested:!1,keyphrase:e};return vt(e)&&(t.keyphrase=e.substring(1,e.length-1),t.exactMatchRequested=!0),t}let yt=[];const Et=function(e,t){return 0===t||0===yt.length?t:function(e){let t=ce((e=e.toLocaleLowerCase()).toLocaleLowerCase());return t=(0,v.filter)(t,(function(e){return!(0,v.includes)(yt,e.trim().toLocaleLowerCase())})),(0,v.isEmpty)(t)}(e.substr(0,t))?0:t},bt=function(e,t){yt=t.getConfig("functionWords");let r=(0,v.escapeRegExp)(e.getKeyword());const n=e.getTitle(),s=e.getLocale(),i={exactMatchFound:!1,allWordsFound:!1,position:-1,exactMatchKeyphrase:!1},a=Tt(r);a.exactMatchRequested&&(r=a.keyphrase,i.exactMatchKeyphrase=!0);const o=Le(n,r,s,!1);if(o.count>0)return i.exactMatchFound=!0,i.allWordsFound=!0,i.position=Et(n,o.position),i;if(!o){const e=r;return e.count>0&&(i.exactMatchFound=!0,i.allWordsFound=!0,i.position=Et(n,e.position)),i}const l=t.getResearch("morphology");return 100===Pe(l,n,!1,s,!1).percentWordMatches&&(i.allWordsFound=!0),i},At=[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"],wt=function(e){return(0,v.includes)(At,e)},Ct=function(e,t){e=e.toLocaleLowerCase(),t=t.toLocaleLowerCase();const r=k((0,v.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=wt(t[n-1])||0===n,a=wt(t[s])||s===t.length;return i&&a};let kt=null,St="";function Ot(e){const t=(0,v.flattenDeep)(e).join("");return St===t&&null!==kt||(St=t,kt=function(e){const t="("+(e=e.map((function(e){return function(e){return(e=e.map((function(e){return k(e)}))).join("(.*?)")}(e)}))).join(")|(")+")";return new RegExp(t,"ig")}(e)),kt}function Nt(e,t){const r=t.getHelper("matchTransitionWordsHelper"),n=t.getConfig("transitionWords"),s=t.getConfig("twoPartTransitionWords"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=ut(a),a=pt(a,e._attributes&&e._attributes.shortcodes);const o=et(a,i),l=function(e,t,r,n){const s=[];return e.forEach((e=>{if(r){const t=function(e,t){e=Re(e);const r=Ot(t);return e.match(r)}(e,r);if(null!==t)return void s.push({sentence:e,transitionWords:t})}const i=n?n(e,t):function(e,t){return e=Re(e),t.filter((t=>Ct(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}}function xt(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getWordsCustomHelper"),s=e.getKeyword();if(Tt(s).exactMatchRequested)return!1;let i=n?n(s):ce(s);return i=(0,v.filter)(i,(function(e){return!(0,v.includes)(r,e.trim().toLocaleLowerCase())})),(0,v.isEmpty)(i)}const Rt="[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+",It=new RegExp("^"+Rt),Lt=new RegExp(Rt+"$");function Mt(e){let t=e.split(",");return t=t.map((e=>S(e).replace(It,"").replace(Lt,""))).filter((e=>e)),t}var Dt=r(8575);const Pt=/href=(["'])([^"']+)\1/i;function Ft(e){return e.split("#")[0]}function Bt(e){return e.split("?")[0]}function Ht(e){return e.replace(/\/$/,"")}function Ut(e){return Ht(e)+"/"}const $t={removeHash:Ft,removeQueryArgs:Bt,removeTrailingSlash:Ht,addTrailingSlash:Ut,getFromAnchorTag:function(e){const t=Pt.exec(e);return null===t?"":t[2]},areEqual:function(e,t){return e=Bt(Ft(e)),t=Bt(Ft(t)),Ut(e)===Ut(t)},getHostname:function(e){return(e=Dt.parse(e)).hostname},getProtocol:function(e){return Dt.parse(e).protocol},isInternalLink:function(e,t){const r=Dt.parse(e,!1,!0).hostname;return-1===e.indexOf("//")&&0===e.indexOf("/")||0!==e.indexOf("#")&&(!r||r===t||r===Dt.parse(t).hostname)},protocolIsHttpScheme:function(e){return!!e&&("http:"===e||"https:"===e)},isRelativeFragmentURL:function(e){return 0===e.indexOf("#")}};let Kt=[];function qt(e,t){Kt=t.getConfig("functionWords");const r={anchorsWithKeyphrase:[],anchorsWithKeyphraseCount:0};if(""===e.getText())return r;const n=e.getKeyword();if(""===n)return r;const s=Mt(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($t.areEqual(e,t)||$t.isRelativeFragmentURL(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===Pe(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=[(0,v.flatten)(t.keyphraseForms)];t.synonymsForms.forEach((e=>o.push((0,v.flatten)(e))));const l=[];return e.forEach((function(e){const t=e.innerText();let n=(0,v.uniq)(a?a(t):ce(t));const c=function(e,t=[]){return(0,v.filter)(e,(function(e){return!(0,v.includes)(t,e.trim().toLocaleLowerCase())}))}(n,Kt);c.length>0&&(n=c),s.forEach((e=>{e.exactMatchRequested&&n.every((t=>e.keyphrase.includes(t)))&&l.push(!0)}));for(let e=0;eMe(e,t,r,i).count>0))){l.push(!0);break}}})),e.filter(((e,t)=>l[t]))}(i,o,a,l,s.map((e=>Tt(e)))),{anchorsWithKeyphrase:i,anchorsWithKeyphraseCount:i.length})}const jt=function(e){this._hasRegex=!1,this._regex="",this._multiplier="",this.createRegex(e)};jt.prototype.hasRegex=function(){return this._hasRegex},jt.prototype.createRegex=function(e){(0,v.isUndefined)(e)||(0,v.isUndefined)(e.fragments)||(this._hasRegex=!0,this._regex=J(e.fragments,!0),this._multiplier=e.countModifier)},jt.prototype.getRegex=function(){return this._regex},jt.prototype.countSyllables=function(e){return this._hasRegex?(e.match(this._regex)||[]).length*this._multiplier:0};const Gt=jt,zt=function(e){this.countSteps=[],(0,v.isUndefined)(e)||this.createSyllableCountSteps(e.deviations.vowels)};zt.prototype.createSyllableCountSteps=function(e){(0,v.forEach)(e,function(e){this.countSteps.push(new Gt(e))}.bind(this))},zt.prototype.getAvailableSyllableCountSteps=function(){return this.countSteps},zt.prototype.countSyllables=function(e){let t=0;return(0,v.forEach)(this.countSteps,(function(r){t+=r.countSyllables(e)})),t};const Wt=zt;function Yt(e){this._location=e.location,this._fragment=e.word,this._syllables=e.syllables,this._regex=null,this._options=(0,v.pick)(e,["notFollowedBy","alsoFollowedBy"])}Yt.prototype.createRegex=function(){let e="";const t=this._options;let r=this._fragment;switch((0,v.isUndefined)(t.notFollowedBy)||(r+="(?!["+t.notFollowedBy.join("")+"])"),(0,v.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)},Yt.prototype.getRegex=function(){return null===this._regex&&this.createRegex(),this._regex},Yt.prototype.occursIn=function(e){return this.getRegex().test(e)},Yt.prototype.removeFrom=function(e){return e.replace(this._fragment," ")},Yt.prototype.getSyllables=function(){return this._syllables};const Vt=Yt,Qt=(0,v.memoize)((function(e){let t=[];const r=e.deviations;return t=(0,v.flatMap)(r.words.fragments,(function(e,t){return(0,v.map)(e,(function(e){return e.location=t,new Vt(e)}))})),t})),Xt=function(e,t){let r=0;if(!(0,v.isUndefined)(t.deviations)&&!(0,v.isUndefined)(t.deviations.words)){if(!(0,v.isUndefined)(t.deviations.words.full)){const r=function(e,t){const r=t.deviations.words.full,n=(0,v.find)(r,(function(t){return t.word===e}));return(0,v.isUndefined)(n)?0:n.syllables}(e,t);if(0!==r)return r}if(!(0,v.isUndefined)(t.deviations.words.fragments)){const n=function(e,t){const r=Qt(t);let n=e,s=0;return(0,v.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+=(0,v.filter)(s,(function(e){return""!==e})).length,r}(e,t),(0,v.isUndefined)(t.deviations)||(0,v.isUndefined)(t.deviations.vowels)||(r+=function(e,t){return new Wt(t).countSyllables(e)}(e,t)),r}(e,t),r},Jt={NO_DATA:-1,VERY_EASY:0,EASY:1,FAIRLY_EASY:2,OKAY:3,FAIRLY_DIFFICULT:4,DIFFICULT:5,VERY_DIFFICULT:6};function Zt(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:Jt.NO_DATA};i=function(e){return"."===(e=S(e=e.replace(/\b[0-9]+\b/g,"")))&&(e=""),e}(i);const a=function(e,t){const r=et(e,t);let n=0;for(let e=0;e=t.borders.veryEasy?Jt.VERY_EASY:(0,v.inRange)(e,t.borders.easy,t.borders.veryEasy)?Jt.EASY:(0,v.inRange)(e,t.borders.fairlyEasy,t.borders.easy)?Jt.FAIRLY_EASY:(0,v.inRange)(e,t.borders.okay,t.borders.fairlyEasy)?Jt.OKAY:(0,v.inRange)(e,t.borders.fairlyDifficult,t.borders.okay)?Jt.FAIRLY_DIFFICULT:(0,v.inRange)(e,t.borders.difficult,t.borders.fairlyDifficult)?Jt.DIFFICULT:Jt.VERY_DIFFICULT}(h,s);return{score:h,difficulty:p}}function er(e){return e.sourceCodeLocation&&(e.sourceCodeLocation.startTag&&e.sourceCodeLocation.startTag.endOffset||e.sourceCodeLocation.startOffset)||0}function tr(e){return e.getTree().findAll((e=>!!e.sentences)).flatMap((t=>t.sentences.map((r=>{let n=t;return t.isImplicit&&(n=function(e,t){return e.getTree().findAll((e=>e.childNodes&&e.childNodes.includes(t)))[0]||t}(e,t)),{...r,parentStartOffset:er(n),parentClientId:n.clientId||"",parentAttributeId:t.attributeId||"",isParentFirstSectionOfBlock:t.isFirstSection||!1}}))))}function rr(e){const t=tr(e).map((e=>e.tokens));let r=(0,v.flatMap)(t).map((e=>e.text));return r=r.map((e=>oe(e))),r.filter((e=>""!==e.trim()))}function nr(e,t){const r=t.getHelper("getWordsCustomHelper");let n=0;return n=r?r(e.getText()).length:rr(e).length,0===n?0:t.getResearch("getKeyphraseCount").count/n*100}function sr(e,t){return console.warn("This function is deprecated, use getKeyphraseDensity instead."),sr(e,t)}function ir(e){let t;return t=e.match(/]+)>((?:.|[\n\r\u2028\u2029])*?)<\/a>/gi),null===t&&(t=[]),t}function ar(e){const t=ir(e.getText());return(0,v.map)(t,$t.getFromAnchorTag)}function or(e){let t="Dofollow";const r=new(nt().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}function lr(e,t){const r=$t.getFromAnchorTag(e),n=$t.getProtocol(r);return n&&!$t.protocolIsHttpScheme(n)||$t.isRelativeFragmentURL(r)?"other":$t.isInternalLink(r,t)?"internal":"external"}function cr(e){const t=ir(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=(0,v.reject)(t,(e=>0===e.sentences.length)),t=(0,v.reject)(t,(e=>e.childNodes.every((e=>"a"===e.name)))),t}function hr(e,t){let r=e.getText();r=ut(r),r=pt(r,e._attributes&&e._attributes.shortcodes),r=r.replace(ee,""),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=(0,v.map)(t,(function(e){return e[1]})),t.filter((e=>e.length>0))}(e);if(t.length>0)return t;let r=q(e);return r=(0,v.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):tt(e),text:e})})),(0,v.filter)(s,(function(e){return e.countLength>0}))}class pr{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 pr(e.sentenceText);return t.setClauses(e.clauses),t.setPassive(e.isPassive),t}}const dr=pr,gr=function(e,t){const r=t.getHelper("isPassiveSentence");let n=e.getText();n=ut(n),n=pt(n,e._attributes&&e._attributes.shortcodes);const s=et(n,t.getHelper("memoizedTokenizer")).map((function(e){return new dr(e)})),i=s.length,a=[];return(0,v.forEach)(s,(function(e){const t=Y(e.getSentenceText()).toLocaleLowerCase();e.setPassive(r(t)),!0===e.isPassive()&&a.push(e.getSentenceText())})),{total:i,passives:a}},fr=function(e,t){const r=t.getHelper("getClauses");let n=e.getText();n=ut(n),n=pt(n,e._attributes&&e._attributes.shortcodes);const s=et(n,t.getHelper("memoizedTokenizer")).map((function(e){return new dr(e)})),i=s.length,a=[];return(0,v.forEach)(s,(function(e){const t=Y(e.getSentenceText()).toLocaleLowerCase(),n=r(t);e.setClauses(n),e.isPassive()&&a.push(e.getSentenceText())})),{total:i,passives:a}};function mr(e,t){const r=t.getConfig("passiveConstructionType");return"periphrastic"===r?fr(e,t):"morphological"===r?gr(e,t):function(e,t){const r=gr(e,t),n=fr(e,t).passives;return{total:r.total,passives:n.concat(r.passives)}}(e,t)}function _r(e,t,r){this._word=e,this._stem=t||e,this._occurrences=r||0}_r.prototype.setWord=function(e){this._word=e},_r.prototype.getWord=function(){return this._word},_r.prototype.getStem=function(){return this._stem},_r.prototype.setOccurrences=function(e){this._occurrences=e},_r.prototype.getOccurrences=function(){return this._occurrences},_r.prototype.serialize=function(){return{_parseClass:"ProminentWord",word:this._word,stem:this._stem,occurrences:this._occurrences}},_r.parse=function(e){return new _r(e.word,e.stem,e.occurrences)};const vr=_r,Tr=/[1234567890‘’“”"'.…?!:;,¿¡«»&*@#±^%$|~=+§`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\s]/g;function yr(e,t=2){return e.filter((function(e){return e.getOccurrences()>=t&&""!==e.getWord().replace(Tr,"")}))}function Er(e){e.sort((function(e,t){const r=t.getOccurrences()-e.getOccurrences();return 0!==r?r:e.getStem().localeCompare(t.getStem())}))}function br(e){if(0===e.length)return[];e.sort((function(e,t){return e.getStem().localeCompare(t.getStem())}));const t=[];let r=new vr(e[0].getWord(),e[0].getStem(),e[0].getOccurrences());for(let n=1;n1&&e.length<5&&e===e.toLocaleUpperCase()&&r.push(e.toLocaleLowerCase())})),(0,v.uniq)(r)}function wr(e,t,r,n){if(0===e.length)return[];const s=(0,v.uniq)(e.filter((e=>!n.includes(e.trim())))),i=[];return s.forEach((function(n){t.includes(n)?i.push(new vr(n.toLocaleUpperCase(),n,e.filter((e=>e===n)).length)):i.push(new vr(n,r(n),e.filter((e=>e===n)).length))})),br(i)}const Cr=(0,v.memoize)(((e,t,r,n)=>wr(e,t,r,n)),((e,t)=>e.join(",")+","+t.join(",")));function kr(e,t,r,n,s){if(""===e)return[];const i=s?s(Re(e).toLocaleLowerCase()):ce(Re(e).toLocaleLowerCase());return Cr(i,t,r,n)}const Sr=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");function Or(e){return e.replace(Sr,"")}const Nr=new RegExp("[^\\s@]+@[^\\s@]+\\.[^\\s@]+","igm");function xr(e){return e.replace(Nr,"")}const Rr=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=Or(a),a=xr(a);const o=br(kr(a,i?[]:Ar(a),s,r,i));return Er(o),(0,v.take)(yr(o,5),20)};function Ir(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}function Lr(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}const Mr=function(e){return xr(e=Or(e))},Dr=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=Mr(e.getText()),l=Mr(e.getDescription()),c=Mr(e.getTitle()),u={};if(u.hasMetaDescription=""!==l,u.hasTitle=""!==c,u.prominentWords=[],a){if(a(o)<200)return u}else if(tt(o)<100)return u;const h=Lr(o).map((e=>e[2])),p=[e.getKeyword(),e.getSynonyms(),c,l,h.join(" ")],d=i?[]:Ar(o.concat(p.join(" "))),g=kr(function(e){return e.replace(/]+)?>(.*?)<\/h\1>/gi,"")}(o),d,s,r,i),f=function(e,t,r,n,s){return wr(s?s(e.join(" ").toLocaleLowerCase()):ce(e.join(" ").toLocaleLowerCase()),t,r,n)}(p,d,s,r,i);f.forEach((e=>e.setOccurrences(3*e.getOccurrences())));const m=br(f.concat(g));Er(m);let _=4;return s===re&&(_=2),u.prominentWords=(0,v.take)(yr(m,_),100),u};function Pr(e,t){const r=t.getConfig("firstWordExceptions"),n=t.getConfig("secondWordExceptions"),s=t.getHelper("getWordsCustomHelper"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=ut(a),a=pt(a,e._attributes&&e._attributes.shortcodes),a=a.replace(/[\s\n]+/g," "),a=a.replace(/

    .*<\/figure>/gs,""),a=a.replace(/]+)?>(.*?)<\/li>/gi,"");let o=et(a,i),l=o.map((function(e){return function(e,t,r,n){const s=Y(S(e)),i=n?n(s):ce(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=S(e);return(s?s(t):ce(t)).length>0})),l=(0,v.filter)(l),function(e,t){const r=[];let n=[],s=1;return(0,v.forEach)(e,(function(i,a){const o=i,l=e[a+1];n.push(t[a]),function(e,t){return!(0,v.isEmpty)(e)&&e===t}(o,l)?s++:(r.push({word:o,count:s,sentences:n}),s=1,n=[])})),r}(l,o)}function Fr(e,t){let r=e.getText();r=ut(r),r=pt(r,e._attributes&&e._attributes.shortcodes);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=(0,v.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=[];(0,v.forEach)(n,(function(e){i.push({subheading:e.subheading,text:e.text,countLength:s?s(e.text):tt(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):tt(o)}return a>0&&""!==o&&i.unshift({subheading:"",text:o,countLength:a}),i}function Br(e){return e.getTree().findAll((e=>"h1"===e.name)).map((e=>({tag:"h1",content:e.findAll((e=>"#text"===e.name)).map((e=>e.value)).join(""),position:{startOffset:e.sourceCodeLocation.startTag.endOffset,endOffset:e.sourceCodeLocation.endTag.startOffset,clientId:e.clientId||""}}))).filter((e=>!!e.content))}function Hr(e){return Fe(e).length}function Ur(e,t){const r=t.getResearch("morphology"),n=t.getConfig("functionWords");return{keyphraseLength:r.keyphraseForms.length,functionWords:n}}function $r(e){(0,v.defaults)(e,{original:"",marked:"",fieldsToMark:[]}),this._properties=e,this.isValid()}$r.prototype.getOriginal=function(){return this._properties.original},$r.prototype.getMarked=function(){return this._properties.marked},$r.prototype.getFieldsToMark=function(){return this._properties.fieldsToMark},$r.prototype.getPosition=function(){return this._properties.position},$r.prototype.getPositionStart=function(){return this._properties.position&&this._properties.position.startOffset},$r.prototype.getPositionEnd=function(){return this._properties.position&&this._properties.position.endOffset},$r.prototype.setPositionStart=function(e){this._properties.position.startOffset=e},$r.prototype.setPositionEnd=function(e){this._properties.position.endOffset=e},$r.prototype.setBlockPositionStart=function(e){this._properties.position.startOffsetBlock=e},$r.prototype.setBlockPositionEnd=function(e){this._properties.position.endOffsetBlock=e},$r.prototype.getBlockClientId=function(){return this._properties.position&&this._properties.position.clientId},$r.prototype.getBlockAttributeId=function(){return this._properties.position&&this._properties.position.attributeId},$r.prototype.isMarkForFirstBlockSection=function(){return this._properties.position&&this._properties.position.isFirstSection},$r.prototype.getBlockPositionStart=function(){return this._properties.position&&this._properties.position.startOffsetBlock},$r.prototype.getBlockPositionEnd=function(){return this._properties.position&&this._properties.position.endOffsetBlock},$r.prototype.applyWithReplace=function(e){return e.split(this._properties.original).join(this._properties.marked)},$r.prototype.applyWithPosition=function(e){const t=this.getPositionEnd()+35;return(e=e.substring(0,this.getPositionStart())+""+e.substring(this.getPositionStart())).substring(0,t)+""+e.substring(t)},$r.prototype.serialize=function(){return{_parseClass:"Mark",...this._properties}},$r.prototype.isValid=function(){if(!(0,v.isUndefined)(this.getPositionStart())&&this.getPositionStart()<0)throw new RangeError("positionStart should be larger or equal than 0.");if(!(0,v.isUndefined)(this.getPositionEnd())&&this.getPositionEnd()<=0)throw new RangeError("positionEnd should be larger than 0.");if(!(0,v.isUndefined)(this.getPositionStart())&&!(0,v.isUndefined)(this.getPositionEnd())&&this.getPositionStart()>=this.getPositionEnd())throw new RangeError("The positionStart should be smaller than the positionEnd.");if((0,v.isUndefined)(this.getPositionStart())&&!(0,v.isUndefined)(this.getPositionEnd())||(0,v.isUndefined)(this.getPositionEnd())&&!(0,v.isUndefined)(this.getPositionStart()))throw new Error("A mark object should either have start and end defined or start and end undefined.")},$r.prototype.hasPosition=function(){return!(0,v.isUndefined)(this.getPositionStart())},$r.prototype.hasBlockPosition=function(){return!(0,v.isUndefined)(this.getBlockPositionStart())},$r.parse=function(e){return delete e._parseClass,new $r(e)};const Kr=$r,qr=function(e,t){if(0===t.length)return[];const r=((e,t)=>{const r=e.tokens,n=[];for(let e=r.length-1;e>=0;e--){const s=r[e];t.some((e=>e.sourceCodeRange.startOffset===s.sourceCodeRange.startOffset||e.sourceCodeRange.endOffset===s.sourceCodeRange.endOffset))?n.unshift("",s.text,""):n.unshift(s.text)}return n.join("").replace(new RegExp("([  ]?)","ig"),"$1")})(e,t);return(e=>{const t=[];return e.sort((function(e,t){return e.getPositionStart()-t.getPositionStart()})),e.forEach((e=>{if(0===t.length)return void t.push(e);const r=t[t.length-1];r.getPositionEnd()+1===e.getPositionStart()||e.getPositionStart()<=r.getPositionEnd()?(r.setPositionEnd(e.getPositionEnd()),r.setBlockPositionEnd(e.getBlockPositionEnd())):t.push(e)})),t})(t.map((t=>{const n=t.sourceCodeRange.startOffset,s=t.sourceCodeRange.endOffset;return new Kr({position:{startOffset:n,endOffset:s,startOffsetBlock:n-(e.parentStartOffset||0),endOffsetBlock:s-(e.parentStartOffset||0),clientId:e.parentClientId||"",attributeId:e.parentAttributeId||"",isFirstSection:e.isParentFirstSectionOfBlock||!1},marked:r,original:e.text})})))},jr=new Map([["amp;","&"],["lt;","<"],["gt;",">"],["quot;",'"'],["apos;","'"],["ndash;","–"],["mdash;","—"],["copy;","©"],["reg;","®"],["trade;","™"],["pound;","£"],["yen;","¥"],["euro;","€"],["dollar;","$"],["deg;","°"],["asymp;","≈"],["ne;","≠"],["nbsp;"," "]]),Gr=new RegExp("&("+[...jr.keys()].join("|")+")","ig"),zr=new Map;jr.forEach(((e,t)=>zr.set("#"+t,e)));const Wr=new RegExp("^("+[...zr.keys()].join("|")+")"),Yr=new RegExp("("+[...zr.keys()].join("|")+")$"),Vr=/([\s\t\u00A0[\]]|#nbsp;)/,Qr=e=>{if(!e)return[];const t=e.split(Vr).filter((e=>""!==e)),r=[];return t.forEach((e=>{const t=[],n=[];for(;ie.test(e)&&!Wr.test(e);)t.push(e[0]),e=e.slice(1);for(;ae.test(e)&&!Yr.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},Xr=(e,t,r,n,s=!1)=>s&&!n?((e,t,r)=>{const n={count:0,matches:[]},s=(e=>{const t=e[0];return Qr(t)})(t),i=e.tokens;let a=0,o=0,l=[];for(;o0?(l.push(i[o]),a++):(a=0,l=[]),l.length===s.length&&(n.matches.push(...l),n.count++,a=0,l=[]),o++}return n})(e,t,r):((e,t,r,n)=>{const s={count:0,matches:[]};return t.forEach((t=>{let i=[];i=n?n(e,t):((e,t,r)=>{let n=[];return e.forEach((e=>{Oe(e.text,t,r).length>0&&(n=n.concat(e))})),n})(e.tokens.slice(),t,r),s.count+=i.length,s.matches=s.matches.concat(i)})),s})(e,t,r,n),Jr="[ \\u00a0\\u06d4\\u061f\\u060C\\u061B \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>]",Zr=new RegExp("^("+Jr+"+)","ig"),en=new RegExp("("+Jr+"+$)","ig"),tn=function(e){return e.replace(Zr,"")},rn=function(e){return e.replace(en,"")};function nn(e){const t=tn(e);let r="",n="";if(t!==e){const n=e.search((0,v.escapeRegExp)(t));r=e.substr(0,n)}const s=rn(t);if(s!==t){const e=t.search((0,v.escapeRegExp)(s))+s.length;n=t.substr(e)}return r+""+s+""+n}const sn=/(]+>)([^]*?)(<\/a>)/,an=function(e,t,r){const n=[];t.forEach((e=>{const t=e.match(xe);t?Ne.forEach((r=>{t.forEach((t=>{n.push((0,v.escapeRegExp)(e.replace(new RegExp(t,"g"),r)))}))})):n.push((0,v.escapeRegExp)(e))}));const s=r?J(n,!0):J(n),{anchors:i,markedAnchors:a}=function(e,t){const r=ir(e),n=r.map((e=>{const{openTag:r,content:n}=function(e){const[,t,r]=e.match(sn);return{openTag:t,content:r}}(e);return function(e,t){return`${e}${t}`}(r,n.replace(t,(e=>nn(e))))}));return{anchors:r,markedAnchors:n}}(e,s);let o=e.replace(s,(function(e){return nn(e)}));if(i.length>0){const e=ir(o);for(let t=0;t ","ig")," ")};function on(e,t,r){return[new Kr({original:e,marked:an(e,t,r)})]}function ln(e,t,r,n){let s=[],i=[];return t.forEach((function(t){s=Me(t,e,r,n).matches,s.length>0&&(i=i.concat(on(t,s,n)))})),i}function cn(e,t){const r={count:0,markings:[],keyphraseLength:0};let n=t.getResearch("morphology").keyphraseForms;const s=n.length;if(n=n.map((e=>e.map((e=>Re(e))))),0===s)return r;const i=t.getHelper("matchWordCustomHelper"),a=t.getHelper("memoizedTokenizer"),o=e.getLocale(),l=i?pt(e.getText(),e._attributes&&e._attributes.shortcodes):e.getText(),c=function(e,t,r,n,s){const i={count:0,markings:[]};return e.forEach((e=>{const a=t.map((t=>Xr(e,t,r,n,s)));if(a.every((e=>e.count>0))){const t=a.map((e=>e.count)),r=Math.min(...t),s=(0,v.flattenDeep)(a.map((e=>e.matches)));let o=[];o=n?on(e,s,n):qr(e,s),i.count+=r,i.markings.push(o)}})),i}(i?et(l,a):tr(e),n,o,i,vt(e.getKeyword()));return r.count=c.count,r.markings=(0,v.flatten)(c.markings),r.keyphraseLength=s,r}function un(e,t){return console.warn("This function is deprecated, use getKeyphraseCount instead."),cn(e,t)}function hn(e){return e.replace(/[-_]/gi," ")}function pn(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=Pe(e,t,true,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 fn=function(e,t,r){return t.forEach((t=>t.matches.slice(0,r).forEach((t=>{e=e.replace(t,"")})))),e};function mn(e,t){const r=e.getDescription(),n=e.getLocale(),s=t.getResearch("morphology"),i=t.getHelper("matchWordCustomHelper"),a=et(r,t.getHelper("memoizedTokenizer")).map((e=>function(e,t,r,n){const s=t.keyphraseForms.map((t=>Me(e,t,r,n))),i=Math.min(...s.map((e=>e.count)));return e=fn(e,s,i),[i,...t.synonymsForms.map((t=>{const i=t.map((t=>Me(e,t,r,n))),a=Math.min(...i.map((e=>e.count)));return e=fn(e,s,a),a}))].reduce(((e,t)=>e+t),0)}(e,s,n,i)));return a.reduce(((e,t)=>e+t),0)}function vn(e,t){let r=t.length;return""!==e&&r>0&&(r+=e.length+3),r}function Tn(e){return vn(e.getDate(),e.getDescription())}function yn(e=[],t=!1){this.stemOriginalPairs=e,this.exactMatch=t}function En(e,t){this.stem=e,this.original=t}yn.prototype.getStems=function(){return this.exactMatch?[]:this.stemOriginalPairs.map((e=>e.stem))};const bn=function(e,t,r){if((0,v.isUndefined)(e)||""===e)return new yn;if(vt(e))return e=e.substring(1,e.length-1),new yn([new En((0,v.escapeRegExp)(e),e)],!0);let n=ce(e);const s=n.filter((e=>!r.includes(e)));return s.length>0&&(n=s),new yn(n.map((e=>new En(t(Re((0,v.escapeRegExp)(e))),e))))},An=(0,v.memoize)(((e,t)=>(0,v.memoize)(((r,n)=>function(e,t,r,n){return{keyphraseStems:bn(e,r,n),synonymsStems:t.map((e=>bn(e,r,n)))}}(r,n,e,t)),((e,t)=>e+","+t.join(",")))));function wn(e,t){this.stem=e,this.forms=t}function Cn(e=[],t=[]){this.keyphraseForms=e,this.synonymsForms=t}function kn(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=Re((0,v.escapeRegExp)(e.original)),i=n?[s,...n.forms]:[s];return r&&i.push(...r(e.original)),(0,v.uniq)(i)}(e,t,r)}))}function Sn(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=Fe(e).map((e=>ge(e)));return ce([t,e.getTitle(),e.getSlug(),hn(e.getSlug()),e.getDescription(),r.join(" ")].join(" ")).map((e=>Re((0,v.escapeRegExp)(e))))}(e).map((e=>e.toLocaleLowerCase(i)));return function(e,t,r,n,s,i){const a=function(e,t,r,n){return An(r,n)(e,t)}(e,t,s,n),o=a.keyphraseStems,l=a.synonymsStems;if(0===o.stemOriginalPairs.length&&0===l.length)return new Cn;if([o,...l].every((e=>!0===e.exactMatch)))return new Cn([[o.stemOriginalPairs[0].stem]],l.map((e=>[[e.stemOriginalPairs[0].stem]])));const c=(0,v.uniq)(function(e,t){const r=0===e.stemOriginalPairs.length?[]:e.getStems(),n=0===t.length?[]:t.map((e=>e.getStems()));return[...r,...(0,v.flattenDeep)(n)]}(o,l)),u=(0,v.uniq)(r.filter((e=>!n.includes(e)))).map((e=>new En(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 wn(t.stem,[t.original])):r.forms.push(t.original),e}),[]);return new Cn(kn(o,u,i),l.map((e=>kn(e,u,i))))}(e.getKeyword().toLocaleLowerCase(i).trim(),Mt(e.getSynonyms().toLocaleLowerCase(i).trim()),a,r,n,s)}function On(e){return e.hasTitle()?e.getTitleWidth():0}function Nn(e){let t=e.getText();return t=ut(t),t=pt(t,e._attributes&&e._attributes.shortcodes),{text:t,count:tt(t),unit:"word"}}function xn(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=Nn(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=Hr(e);return Math.ceil(l+.2*u)}function Rn(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=ut(n),n=pt(n,e._attributes&&e._attributes.shortcodes),et(n,r)}function In(e){const t=new RegExp("()","igs");let r=e.getText().match(t);return null===r&&(r=[]),r.length}class Ln{constructor(e){this.paper=e,this.defaultResearches={altTagCount:Be,countSentencesFromText:ft,findKeywordInFirstParagraph:mt,findKeyphraseInSEOTitle:bt,findTransitionWords:Nt,functionWordsInKeyphrase:xt,getAnchorsWithKeyphrase:qt,getFleschReadingScore:Zt,getKeyphraseCount:cn,getKeyphraseDensity:nr,getKeywordDensity:sr,getLinks:ar,getLinkStatistics:cr,getParagraphs:ur,getParagraphLength:hr,getProminentWordsForInsights:Rr,getProminentWordsForInternalLinking:Dr,getSentenceBeginnings:Pr,getSubheadingTextLengths:Fr,h1s:Br,imageCount:Hr,keyphraseLength:Ur,keywordCount:un,keywordCountInSlug:pn,keywordCountInUrl:dn,matchKeywordInSubheadings:gn,metaDescriptionKeyword:mn,metaDescriptionLength:Tn,morphology:Sn,pageTitleWidth:On,readingTime:xn,sentences:Rn,wordCountInText:Nn,videoCount:In,getPassiveVoiceResult:mr},this._data={},this.customResearches={},this.helpers={memoizedTokenizer:Xe},this.config={}}setPaper(e){this.paper=e}addResearch(e,t){if((0,v.isUndefined)(e)||(0,v.isEmpty)(e))throw new de("Research name cannot be empty");if(!(t instanceof Function))throw new he("The research requires a Function callback.");this.customResearches[e]=t}addHelper(e,t){if((0,v.isUndefined)(e)||(0,v.isEmpty)(e))throw new de("Helper name cannot be empty");if(!(t instanceof Function))throw new he("The research requires a Function callback.");this.helpers[e]=t}addConfig(e,t){if((0,v.isUndefined)(e)||(0,v.isEmpty)(e))throw new de("Failed to add the custom researcher config. Config name cannot be empty.");if((0,v.isUndefined)(t)||(0,v.isEmpty)(t))throw new de("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(0,v.merge)(this.defaultResearches,this.customResearches)}getAvailableHelpers(){return this.helpers}getAvailableConfig(){return this.config}getResearch(e){if((0,v.isUndefined)(e)||(0,v.isEmpty)(e))throw new de("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 Mn(e){return(0,v.flatten)(Object.values(e)).sort(((e,t)=>t.length-e.length||e.localeCompare(t)))}function Dn(e,t){let r=0;const n=e.length;let s;const i=[];for(;(s=t.indexOf(e,r))>-1;){const a=wt(t[s-1])||0===s,o=wt(t[s+n])||t.length===s+n;a&&o&&i.push({index:s,match:e}),r=s+n}return i}const Pn=function(e,t){let r=[];return(0,v.forEach)(e,(function(e){e=S(e),Ct(e,t)&&(r=r.concat(Dn(e,t)))})),r},Fn=function(e){return e.sort((function(e,t){return e.index-t.index}))},Bn=function(e){e=Fn(e);const t=[];for(let r=0;rt.index?1:0})),r},Un={getIndicesByWord:Dn,getIndicesByWordList:Pn,filterIndices:Bn,sortIndices:Fn,getIndicesByWordListSorted:Hn};function $n(e,t){if(t.includes(null))return e;for(let r=0;rKn(e,t)))};function jn(e,t){let r=[];return t.forEach((function(t){const n=e.match(t);null!==n&&r.push(n)})),r=(0,v.flattenDeep)(r),r}function Gn(e,t,r=[]){const n=ce(e).map((e=>e.toLowerCase())),s=n.indexOf(t.toLowerCase());if(s<1)return!1;const i=n[s-1];return(0,v.includes)(r,i)}function zn(e,t,r=[]){const n=ce(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 Vn(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 Qn(e,t){return RegExp(t).test(e)}function Xn(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 Jn(e,t){return t.forEach((function(t){e=e.replace(new RegExp(t[0]),t[1])})),e}function Zn(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 ts(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 rs(e,t,r){for(let n=0;n0&&(i=i.concat(t.otherStopWordIndices)),void 0!==r.directPrecedenceExceptionRegex&&(n=ls(e,n,r.directPrecedenceExceptionRegex)),void 0!==r.elisionAuxiliaryExceptionRegex&&(n=function(e,t,r){const n=Wn(e,r);return(0,v.forEach)(t,(function(e){os(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=Bn(a),Fn(a)}(e,t);for(let n=0;n{if(!(0,v.isUndefined)(e.getFieldsToMark()))return e.getFieldsToMark()})))),n=[];return r.forEach((e=>{"heading"===e&&Ir(t).forEach((e=>{n.push(e[0])}))})),{fieldsToMark:r,selectedHTML:n}}function fs(e){return(e=(e=e.replace(/<\/?(o|ul)(?:[^>]+)?>/g,"")).replace(/\s?<\/?li(?:[^>]+)?>\s?/g," ")).replace(/\s+/g," ")}const ms=class{getResult(e,t){throw"The method getResult is not implemented"}isApplicable(e,t){return!0}hasEnoughContentForAssessment(e,t=50){let r=e.getText();return r=ut(r),r=pt(r,e._attributes&&e._attributes.shortcodes),X(r).length>=t}};class _s{constructor(e={}){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,t={}){let r=encodeURI(e);const n=_s.createQueryString({...this._config.params,...t});return""!==n&&(r+="?"+n),r}createAnchorOpeningTag(e,t={}){return``}}let vs;function Ts(){return null===vs.yoast.shortlinker&&(vs.yoast.shortlinker=new _s),vs.yoast.shortlinker}function ys(e,t={}){return Ts().createAnchorOpeningTag(e,t)}vs="undefined"==typeof window?"undefined"==typeof self?r.g:self:window,vs.yoast=vs.yoast||{},vs.yoast.shortlinker=vs.yoast.shortlinker||null;var Es=function(){return[]},bs=function(e){this._hasScore=!1,this._identifier="",this._hasMarks=!1,this._hasJumps=!1,this._hasEditFieldName=!1,this._marker=Es,this._hasBetaBadge=!1,this.score=0,this.text="",this.marks=[],this.editFieldName="",(0,v.isUndefined)(e)&&(e={}),(0,v.isUndefined)(e.score)||this.setScore(e.score),(0,v.isUndefined)(e.text)||this.setText(e.text),(0,v.isUndefined)(e.marks)||this.setMarks(e.marks),(0,v.isUndefined)(e._hasBetaBadge)||this.setHasBetaBadge(e._hasBetaBadge),(0,v.isUndefined)(e._hasJumps)||this.setHasJumps(e._hasJumps),(0,v.isUndefined)(e.editFieldName)||this.setEditFieldName(e.editFieldName)};bs.prototype.hasScore=function(){return this._hasScore},bs.prototype.getScore=function(){return this.score},bs.prototype.setScore=function(e){(0,v.isNumber)(e)&&(this.score=e,this._hasScore=!0)},bs.prototype.hasText=function(){return""!==this.text},bs.prototype.getText=function(){return this.text},bs.prototype.setText=function(e){(0,v.isUndefined)(e)&&(e=""),this.text=e},bs.prototype.getMarks=function(){return this.marks},bs.prototype.setMarks=function(e){(0,v.isArray)(e)&&(this.marks=e,this._hasMarks=e.length>0)},bs.prototype.setIdentifier=function(e){this._identifier=e},bs.prototype.getIdentifier=function(){return this._identifier},bs.prototype.setMarker=function(e){this._marker=e},bs.prototype.hasMarker=function(){return this._hasMarks&&this._marker!==this.emptyMarker},bs.prototype.getMarker=function(){return this._marker},bs.prototype.setHasMarks=function(e){this._hasMarks=e},bs.prototype.hasMarks=function(){return this._hasMarks},bs.prototype.setHasBetaBadge=function(e){this._hasBetaBadge=e},bs.prototype.hasBetaBadge=function(){return this._hasBetaBadge},bs.prototype.setHasJumps=function(e){this._hasJumps=e},bs.prototype.hasJumps=function(){return this._hasJumps},bs.prototype.hasEditFieldName=function(){return this._hasEditFieldName},bs.prototype.getEditFieldName=function(){return this.editFieldName},bs.prototype.setEditFieldName=function(e){""!==e&&(this.editFieldName=e,this._hasEditFieldName=!0)},bs.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}},bs.parse=function(e){const t=new bs({text:e.text,score:e.score,marks:e.marks.map((e=>Kr.parse(e))),_hasBetaBadge:e._hasBetaBadge,_hasJumps:e._hasJumps,editFieldName:e.editFieldName});return t.setIdentifier(e.identifier),t};const As=bs,ws=class extends ms{constructor(e={}){super();const t={scores:{good:9,okay:6,bad:3},urlTitle:ys("https://yoa.st/33e"),urlCallToAction:ys("https://yoa.st/33f")};this.identifier="introductionKeyword",this._config=(0,v.merge)(t,e)}getResult(e,t){const r=new As;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:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ +(()=>{var e={2265:(e,t,r)=>{"use strict";const{DOCUMENT_MODE:n}=r(7101),s="html",i=["+//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//"],a=i.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]),o=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"],l=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],c=l.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function u(e){const t=-1!==e.indexOf('"')?"'":'"';return t+e+t}function h(e,t){for(let r=0;r-1)return n.QUIRKS;let e=null===t?a:i;if(h(r,e))return n.QUIRKS;if(e=null===t?l:c,h(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 "+u(t):r&&(n+=" SYSTEM"),null!==r&&(n+=" "+u(r)),n}},8493:e=>{"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"}},9791:(e,t,r)=>{"use strict";const n=r(3606),s=r(7101),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{"use strict";const r=t.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",MATHML:"http://www.w3.org/1998/Math/MathML",SVG:"http://www.w3.org/2000/svg",XLINK:"http://www.w3.org/1999/xlink",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"};t.ATTRS={TYPE:"type",ACTION:"action",ENCODING:"encoding",PROMPT:"prompt",NAME:"name",COLOR:"color",FACE:"face",SIZE:"size"},t.DOCUMENT_MODE={NO_QUIRKS:"no-quirks",QUIRKS:"quirks",LIMITED_QUIRKS:"limited-quirks"};const n=t.TAG_NAMES={A:"a",ADDRESS:"address",ANNOTATION_XML:"annotation-xml",APPLET:"applet",AREA:"area",ARTICLE:"article",ASIDE:"aside",B:"b",BASE:"base",BASEFONT:"basefont",BGSOUND:"bgsound",BIG:"big",BLOCKQUOTE:"blockquote",BODY:"body",BR:"br",BUTTON:"button",CAPTION:"caption",CENTER:"center",CODE:"code",COL:"col",COLGROUP:"colgroup",DD:"dd",DESC:"desc",DETAILS:"details",DIALOG:"dialog",DIR:"dir",DIV:"div",DL:"dl",DT:"dt",EM:"em",EMBED:"embed",FIELDSET:"fieldset",FIGCAPTION:"figcaption",FIGURE:"figure",FONT:"font",FOOTER:"footer",FOREIGN_OBJECT:"foreignObject",FORM:"form",FRAME:"frame",FRAMESET:"frameset",H1:"h1",H2:"h2",H3:"h3",H4:"h4",H5:"h5",H6:"h6",HEAD:"head",HEADER:"header",HGROUP:"hgroup",HR:"hr",HTML:"html",I:"i",IMG:"img",IMAGE:"image",INPUT:"input",IFRAME:"iframe",KEYGEN:"keygen",LABEL:"label",LI:"li",LINK:"link",LISTING:"listing",MAIN:"main",MALIGNMARK:"malignmark",MARQUEE:"marquee",MATH:"math",MENU:"menu",META:"meta",MGLYPH:"mglyph",MI:"mi",MO:"mo",MN:"mn",MS:"ms",MTEXT:"mtext",NAV:"nav",NOBR:"nobr",NOFRAMES:"noframes",NOEMBED:"noembed",NOSCRIPT:"noscript",OBJECT:"object",OL:"ol",OPTGROUP:"optgroup",OPTION:"option",P:"p",PARAM:"param",PLAINTEXT:"plaintext",PRE:"pre",RB:"rb",RP:"rp",RT:"rt",RTC:"rtc",RUBY:"ruby",S:"s",SCRIPT:"script",SECTION:"section",SELECT:"select",SOURCE:"source",SMALL:"small",SPAN:"span",STRIKE:"strike",STRONG:"strong",STYLE:"style",SUB:"sub",SUMMARY:"summary",SUP:"sup",TABLE:"table",TBODY:"tbody",TEMPLATE:"template",TEXTAREA:"textarea",TFOOT:"tfoot",TD:"td",TH:"th",THEAD:"thead",TITLE:"title",TR:"tr",TRACK:"track",TT:"tt",U:"u",UL:"ul",SVG:"svg",VAR:"var",WBR:"wbr",XMP:"xmp"};t.SPECIAL_ELEMENTS={[r.HTML]:{[n.ADDRESS]:!0,[n.APPLET]:!0,[n.AREA]:!0,[n.ARTICLE]:!0,[n.ASIDE]:!0,[n.BASE]:!0,[n.BASEFONT]:!0,[n.BGSOUND]:!0,[n.BLOCKQUOTE]:!0,[n.BODY]:!0,[n.BR]:!0,[n.BUTTON]:!0,[n.CAPTION]:!0,[n.CENTER]:!0,[n.COL]:!0,[n.COLGROUP]:!0,[n.DD]:!0,[n.DETAILS]:!0,[n.DIR]:!0,[n.DIV]:!0,[n.DL]:!0,[n.DT]:!0,[n.EMBED]:!0,[n.FIELDSET]:!0,[n.FIGCAPTION]:!0,[n.FIGURE]:!0,[n.FOOTER]:!0,[n.FORM]:!0,[n.FRAME]:!0,[n.FRAMESET]:!0,[n.H1]:!0,[n.H2]:!0,[n.H3]:!0,[n.H4]:!0,[n.H5]:!0,[n.H6]:!0,[n.HEAD]:!0,[n.HEADER]:!0,[n.HGROUP]:!0,[n.HR]:!0,[n.HTML]:!0,[n.IFRAME]:!0,[n.IMG]:!0,[n.INPUT]:!0,[n.LI]:!0,[n.LINK]:!0,[n.LISTING]:!0,[n.MAIN]:!0,[n.MARQUEE]:!0,[n.MENU]:!0,[n.META]:!0,[n.NAV]:!0,[n.NOEMBED]:!0,[n.NOFRAMES]:!0,[n.NOSCRIPT]:!0,[n.OBJECT]:!0,[n.OL]:!0,[n.P]:!0,[n.PARAM]:!0,[n.PLAINTEXT]:!0,[n.PRE]:!0,[n.SCRIPT]:!0,[n.SECTION]:!0,[n.SELECT]:!0,[n.SOURCE]:!0,[n.STYLE]:!0,[n.SUMMARY]:!0,[n.TABLE]:!0,[n.TBODY]:!0,[n.TD]:!0,[n.TEMPLATE]:!0,[n.TEXTAREA]:!0,[n.TFOOT]:!0,[n.TH]:!0,[n.THEAD]:!0,[n.TITLE]:!0,[n.TR]:!0,[n.TRACK]:!0,[n.UL]:!0,[n.WBR]:!0,[n.XMP]:!0},[r.MATHML]:{[n.MI]:!0,[n.MO]:!0,[n.MN]:!0,[n.MS]:!0,[n.MTEXT]:!0,[n.ANNOTATION_XML]:!0},[r.SVG]:{[n.TITLE]:!0,[n.FOREIGN_OBJECT]:!0,[n.DESC]:!0}}},7936:(e,t)=>{"use strict";const r=[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||r.indexOf(e)>-1}},3273:(e,t,r)=>{"use strict";const n=r(1743);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)}}}}},2247:(e,t,r)=>{"use strict";const n=r(3273),s=r(8139),i=r(8600),a=r(1743);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)}}}}},9348:(e,t,r)=>{"use strict";const n=r(3273),s=r(87),i=r(1743);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))}}},8139:(e,t,r)=>{"use strict";const n=r(3273),s=r(9348),i=r(1743);e.exports=class extends n{constructor(e,t){super(e,t);const r=i.install(e.preprocessor,s,t);this.posTracker=r.posTracker}}},6608:(e,t,r)=>{"use strict";const n=r(1743);e.exports=class extends n{constructor(e,t){super(e),this.onItemPop=t.onItemPop}_getOverriddenMethods(e,t){return{pop(){e.onItemPop(this.current),t.pop.call(this)},popAllUpToHtmlElement(){for(let t=this.stackTop;t>0;t--)e.onItemPop(this.items[t]);t.popAllUpToHtmlElement.call(this)},remove(r){e.onItemPop(this.current),t.remove.call(this,r)}}}}},8127:(e,t,r)=>{"use strict";const n=r(1743),s=r(3606),i=r(8600),a=r(6608),o=r(7101).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;t{"use strict";const n=r(1743),s=r(3606),i=r(87);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}}},87:(e,t,r)=>{"use strict";const n=r(1743);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}}}}},5553:(e,t,r)=>{"use strict";const n=r(4143);r(3493);t.Bm=function(e,t,r){return"string"==typeof e&&(r=t,t=e,e=null),new n(r).parseFragment(t,e)}},8464:e=>{"use strict";class t{constructor(e){this.length=0,this.entries=[],this.treeAdapter=e,this.bookmark=null}_getNoahArkConditionCandidates(e){const r=[];if(this.length>=3){const n=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===t.MARKER_ENTRY)break;const o=a.element,l=this.treeAdapter.getAttrList(o);this.treeAdapter.getTagName(o)===s&&this.treeAdapter.getNamespaceURI(o)===i&&l.length===n&&r.push({idx:e,attrs:l})}}return r.length<3?[]:r}_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:t.MARKER_ENTRY}),this.length++}pushElement(e,r){this._ensureNoahArkCondition(e),this.entries.push({type:t.ELEMENT_ENTRY,element:e,token:r}),this.length++}insertElementAfterBookmark(e,r){let n=this.length-1;for(;n>=0&&this.entries[n]!==this.bookmark;n--);this.entries.splice(n+1,0,{type:t.ELEMENT_ENTRY,element:e,token:r}),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===t.MARKER_ENTRY)break}}getElementEntryInScopeWithTagName(e){for(let r=this.length-1;r>=0;r--){const n=this.entries[r];if(n.type===t.MARKER_ENTRY)return null;if(this.treeAdapter.getTagName(n.element)===e)return n}return null}getElementEntry(e){for(let r=this.length-1;r>=0;r--){const n=this.entries[r];if(n.type===t.ELEMENT_ENTRY&&n.element===e)return n}return null}}t.MARKER_ENTRY="MARKER_ENTRY",t.ELEMENT_ENTRY="ELEMENT_ENTRY",e.exports=t},4143:(e,t,r)=>{"use strict";const n=r(3606),s=r(5860),i=r(8464),a=r(8127),o=r(2247),l=r(1743),c=r(2316),u=r(841),h=r(2265),p=r(9791),d=r(8493),g=r(7936),f=r(7101),m=f.TAG_NAMES,_=f.NAMESPACES,v=f.ATTRS,T={scriptingEnabled:!0,sourceCodeLocationInfo:!1,onParseError:null,treeAdapter:c},y="hidden",E=8,b=3,A="INITIAL_MODE",w="BEFORE_HTML_MODE",C="BEFORE_HEAD_MODE",k="IN_HEAD_MODE",S="IN_HEAD_NO_SCRIPT_MODE",O="AFTER_HEAD_MODE",x="IN_BODY_MODE",N="TEXT_MODE",R="IN_TABLE_MODE",I="IN_TABLE_TEXT_MODE",L="IN_CAPTION_MODE",M="IN_COLUMN_GROUP_MODE",D="IN_TABLE_BODY_MODE",P="IN_ROW_MODE",F="IN_CELL_MODE",B="IN_SELECT_MODE",H="IN_SELECT_IN_TABLE_MODE",U="IN_TEMPLATE_MODE",$="AFTER_BODY_MODE",K="IN_FRAMESET_MODE",q="AFTER_FRAMESET_MODE",j="AFTER_AFTER_BODY_MODE",G="AFTER_AFTER_FRAMESET_MODE",z={[m.TR]:P,[m.TBODY]:D,[m.THEAD]:D,[m.TFOOT]:D,[m.CAPTION]:L,[m.COLGROUP]:M,[m.TABLE]:R,[m.BODY]:x,[m.FRAMESET]:K},W={[m.CAPTION]:R,[m.COLGROUP]:R,[m.TBODY]:R,[m.TFOOT]:R,[m.THEAD]:R,[m.COL]:M,[m.TR]:D,[m.TD]:P,[m.TH]:P},Y={[A]:{[n.CHARACTER_TOKEN]:le,[n.NULL_CHARACTER_TOKEN]:le,[n.WHITESPACE_CHARACTER_TOKEN]:re,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:function(e,t){e._setDocumentType(t);const r=t.forceQuirks?f.DOCUMENT_MODE.QUIRKS:h.getDocumentMode(t);h.isConforming(t)||e._err(d.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,r),e.insertionMode=w},[n.START_TAG_TOKEN]:le,[n.END_TAG_TOKEN]:le,[n.EOF_TOKEN]:le},[w]:{[n.CHARACTER_TOKEN]:ce,[n.NULL_CHARACTER_TOKEN]:ce,[n.WHITESPACE_CHARACTER_TOKEN]:re,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){t.tagName===m.HTML?(e._insertElement(t,_.HTML),e.insertionMode=C):ce(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r!==m.HTML&&r!==m.HEAD&&r!==m.BODY&&r!==m.BR||ce(e,t)},[n.EOF_TOKEN]:ce},[C]:{[n.CHARACTER_TOKEN]:ue,[n.NULL_CHARACTER_TOKEN]:ue,[n.WHITESPACE_CHARACTER_TOKEN]:re,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:ne,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.HEAD?(e._insertElement(t,_.HTML),e.headElement=e.openElements.current,e.insertionMode=k):ue(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HEAD||r===m.BODY||r===m.HTML||r===m.BR?ue(e,t):e._err(d.endTagWithoutMatchingOpenElement)},[n.EOF_TOKEN]:ue},[k]:{[n.CHARACTER_TOKEN]:de,[n.NULL_CHARACTER_TOKEN]:de,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:ne,[n.START_TAG_TOKEN]:he,[n.END_TAG_TOKEN]:pe,[n.EOF_TOKEN]:de},[S]:{[n.CHARACTER_TOKEN]:ge,[n.NULL_CHARACTER_TOKEN]:ge,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:ne,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.BASEFONT||r===m.BGSOUND||r===m.HEAD||r===m.LINK||r===m.META||r===m.NOFRAMES||r===m.STYLE?he(e,t):r===m.NOSCRIPT?e._err(d.nestedNoscriptInHead):ge(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.NOSCRIPT?(e.openElements.pop(),e.insertionMode=k):r===m.BR?ge(e,t):e._err(d.endTagWithoutMatchingOpenElement)},[n.EOF_TOKEN]:ge},[O]:{[n.CHARACTER_TOKEN]:fe,[n.NULL_CHARACTER_TOKEN]:fe,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:ne,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.BODY?(e._insertElement(t,_.HTML),e.framesetOk=!1,e.insertionMode=x):r===m.FRAMESET?(e._insertElement(t,_.HTML),e.insertionMode=K):r===m.BASE||r===m.BASEFONT||r===m.BGSOUND||r===m.LINK||r===m.META||r===m.NOFRAMES||r===m.SCRIPT||r===m.STYLE||r===m.TEMPLATE||r===m.TITLE?(e._err(d.abandonedHeadElementChild),e.openElements.push(e.headElement),he(e,t),e.openElements.remove(e.headElement)):r===m.HEAD?e._err(d.misplacedStartTagForHeadElement):fe(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.BODY||r===m.HTML||r===m.BR?fe(e,t):r===m.TEMPLATE?pe(e,t):e._err(d.endTagWithoutMatchingOpenElement)},[n.EOF_TOKEN]:fe},[x]:{[n.CHARACTER_TOKEN]:_e,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:Oe,[n.END_TAG_TOKEN]:Ie,[n.EOF_TOKEN]:Le},[N]:{[n.CHARACTER_TOKEN]:ae,[n.NULL_CHARACTER_TOKEN]:ae,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:re,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:re,[n.END_TAG_TOKEN]:function(e,t){t.tagName===m.SCRIPT&&(e.pendingScript=e.openElements.current),e.openElements.pop(),e.insertionMode=e.originalInsertionMode},[n.EOF_TOKEN]:function(e,t){e._err(d.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e._processToken(t)}},[R]:{[n.CHARACTER_TOKEN]:Me,[n.NULL_CHARACTER_TOKEN]:Me,[n.WHITESPACE_CHARACTER_TOKEN]:Me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:De,[n.END_TAG_TOKEN]:Pe,[n.EOF_TOKEN]:Le},[I]:{[n.CHARACTER_TOKEN]:function(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0},[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:function(e,t){e.pendingCharacterTokens.push(t)},[n.COMMENT_TOKEN]:Be,[n.DOCTYPE_TOKEN]:Be,[n.START_TAG_TOKEN]:Be,[n.END_TAG_TOKEN]:Be,[n.EOF_TOKEN]:Be},[L]:{[n.CHARACTER_TOKEN]:_e,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.CAPTION||r===m.COL||r===m.COLGROUP||r===m.TBODY||r===m.TD||r===m.TFOOT||r===m.TH||r===m.THEAD||r===m.TR?e.openElements.hasInTableScope(m.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(m.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=R,e._processToken(t)):Oe(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.CAPTION||r===m.TABLE?e.openElements.hasInTableScope(m.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(m.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=R,r===m.TABLE&&e._processToken(t)):r!==m.BODY&&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&&Ie(e,t)},[n.EOF_TOKEN]:Le},[M]:{[n.CHARACTER_TOKEN]:He,[n.NULL_CHARACTER_TOKEN]:He,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.COL?(e._appendElement(t,_.HTML),t.ackSelfClosing=!0):r===m.TEMPLATE?he(e,t):He(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.COLGROUP?e.openElements.currentTagName===m.COLGROUP&&(e.openElements.pop(),e.insertionMode=R):r===m.TEMPLATE?pe(e,t):r!==m.COL&&He(e,t)},[n.EOF_TOKEN]:Le},[D]:{[n.CHARACTER_TOKEN]:Me,[n.NULL_CHARACTER_TOKEN]:Me,[n.WHITESPACE_CHARACTER_TOKEN]:Me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.TR?(e.openElements.clearBackToTableBodyContext(),e._insertElement(t,_.HTML),e.insertionMode=P):r===m.TH||r===m.TD?(e.openElements.clearBackToTableBodyContext(),e._insertFakeElement(m.TR),e.insertionMode=P,e._processToken(t)):r===m.CAPTION||r===m.COL||r===m.COLGROUP||r===m.TBODY||r===m.TFOOT||r===m.THEAD?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=R,e._processToken(t)):De(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.TBODY||r===m.TFOOT||r===m.THEAD?e.openElements.hasInTableScope(r)&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=R):r===m.TABLE?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=R,e._processToken(t)):(r!==m.BODY&&r!==m.CAPTION&&r!==m.COL&&r!==m.COLGROUP||r!==m.HTML&&r!==m.TD&&r!==m.TH&&r!==m.TR)&&Pe(e,t)},[n.EOF_TOKEN]:Le},[P]:{[n.CHARACTER_TOKEN]:Me,[n.NULL_CHARACTER_TOKEN]:Me,[n.WHITESPACE_CHARACTER_TOKEN]:Me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.TH||r===m.TD?(e.openElements.clearBackToTableRowContext(),e._insertElement(t,_.HTML),e.insertionMode=F,e.activeFormattingElements.insertMarker()):r===m.CAPTION||r===m.COL||r===m.COLGROUP||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR?e.openElements.hasInTableScope(m.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=D,e._processToken(t)):De(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.TR?e.openElements.hasInTableScope(m.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=D):r===m.TABLE?e.openElements.hasInTableScope(m.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=D,e._processToken(t)):r===m.TBODY||r===m.TFOOT||r===m.THEAD?(e.openElements.hasInTableScope(r)||e.openElements.hasInTableScope(m.TR))&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=D,e._processToken(t)):(r!==m.BODY&&r!==m.CAPTION&&r!==m.COL&&r!==m.COLGROUP||r!==m.HTML&&r!==m.TD&&r!==m.TH)&&Pe(e,t)},[n.EOF_TOKEN]:Le},[F]:{[n.CHARACTER_TOKEN]:_e,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.CAPTION||r===m.COL||r===m.COLGROUP||r===m.TBODY||r===m.TD||r===m.TFOOT||r===m.TH||r===m.THEAD||r===m.TR?(e.openElements.hasInTableScope(m.TD)||e.openElements.hasInTableScope(m.TH))&&(e._closeTableCell(),e._processToken(t)):Oe(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.TD||r===m.TH?e.openElements.hasInTableScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=P):r===m.TABLE||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR?e.openElements.hasInTableScope(r)&&(e._closeTableCell(),e._processToken(t)):r!==m.BODY&&r!==m.CAPTION&&r!==m.COL&&r!==m.COLGROUP&&r!==m.HTML&&Ie(e,t)},[n.EOF_TOKEN]:Le},[B]:{[n.CHARACTER_TOKEN]:ae,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:Ue,[n.END_TAG_TOKEN]:$e,[n.EOF_TOKEN]:Le},[H]:{[n.CHARACTER_TOKEN]:ae,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.CAPTION||r===m.TABLE||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR||r===m.TD||r===m.TH?(e.openElements.popUntilTagNamePopped(m.SELECT),e._resetInsertionMode(),e._processToken(t)):Ue(e,t)},[n.END_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.CAPTION||r===m.TABLE||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR||r===m.TD||r===m.TH?e.openElements.hasInTableScope(r)&&(e.openElements.popUntilTagNamePopped(m.SELECT),e._resetInsertionMode(),e._processToken(t)):$e(e,t)},[n.EOF_TOKEN]:Le},[U]:{[n.CHARACTER_TOKEN]:_e,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;if(r===m.BASE||r===m.BASEFONT||r===m.BGSOUND||r===m.LINK||r===m.META||r===m.NOFRAMES||r===m.SCRIPT||r===m.STYLE||r===m.TEMPLATE||r===m.TITLE)he(e,t);else{const n=W[r]||x;e._popTmplInsertionMode(),e._pushTmplInsertionMode(n),e.insertionMode=n,e._processToken(t)}},[n.END_TAG_TOKEN]:function(e,t){t.tagName===m.TEMPLATE&&pe(e,t)},[n.EOF_TOKEN]:Ke},[$]:{[n.CHARACTER_TOKEN]:qe,[n.NULL_CHARACTER_TOKEN]:qe,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:function(e,t){e._appendCommentNode(t,e.openElements.items[0])},[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){t.tagName===m.HTML?Oe(e,t):qe(e,t)},[n.END_TAG_TOKEN]:function(e,t){t.tagName===m.HTML?e.fragmentContext||(e.insertionMode=j):qe(e,t)},[n.EOF_TOKEN]:oe},[K]:{[n.CHARACTER_TOKEN]:re,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.FRAMESET?e._insertElement(t,_.HTML):r===m.FRAME?(e._appendElement(t,_.HTML),t.ackSelfClosing=!0):r===m.NOFRAMES&&he(e,t)},[n.END_TAG_TOKEN]:function(e,t){t.tagName!==m.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(),e.fragmentContext||e.openElements.currentTagName===m.FRAMESET||(e.insertionMode=q))},[n.EOF_TOKEN]:oe},[q]:{[n.CHARACTER_TOKEN]:re,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:ae,[n.COMMENT_TOKEN]:se,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.NOFRAMES&&he(e,t)},[n.END_TAG_TOKEN]:function(e,t){t.tagName===m.HTML&&(e.insertionMode=G)},[n.EOF_TOKEN]:oe},[j]:{[n.CHARACTER_TOKEN]:je,[n.NULL_CHARACTER_TOKEN]:je,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:ie,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){t.tagName===m.HTML?Oe(e,t):je(e,t)},[n.END_TAG_TOKEN]:je,[n.EOF_TOKEN]:oe},[G]:{[n.CHARACTER_TOKEN]:re,[n.NULL_CHARACTER_TOKEN]:re,[n.WHITESPACE_CHARACTER_TOKEN]:me,[n.COMMENT_TOKEN]:ie,[n.DOCTYPE_TOKEN]:re,[n.START_TAG_TOKEN]:function(e,t){const r=t.tagName;r===m.HTML?Oe(e,t):r===m.NOFRAMES&&he(e,t)},[n.END_TAG_TOKEN]:re,[n.EOF_TOKEN]:oe}};function V(e,t){let r=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return r?e.openElements.contains(r.element)?e.openElements.hasInScope(t.tagName)||(r=null):(e.activeFormattingElements.removeEntry(r),r=null):Re(e,t),r}function Q(e,t){let r=null;for(let n=e.openElements.stackTop;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 X(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>=b;!r||o?(o&&e.activeFormattingElements.removeEntry(r),e.openElements.remove(a)):(a=J(e,r),n===t&&(e.activeFormattingElements.bookmark=r),e.treeAdapter.detachNode(n),e.treeAdapter.appendChild(a,n),n=a)}return n}function J(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 Z(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 ee(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 te(e,t){let r;for(let n=0;n0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==m.TEMPLATE&&e._err(d.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(d.endTagWithoutMatchingOpenElement)}function de(e,t){e.openElements.pop(),e.insertionMode=O,e._processToken(t)}function ge(e,t){const r=t.type===n.EOF_TOKEN?d.openElementsLeftAfterEof:d.disallowedContentInNoscriptInHead;e._err(r),e.openElements.pop(),e.insertionMode=k,e._processToken(t)}function fe(e,t){e._insertFakeElement(m.BODY),e.insertionMode=x,e._processToken(t)}function me(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function _e(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function ve(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}function Te(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function ye(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Ee(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function be(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Ae(e,t){e._appendElement(t,_.HTML),t.ackSelfClosing=!0}function we(e,t){e._switchToTextParsing(t,n.MODE.RAWTEXT)}function Ce(e,t){e.openElements.currentTagName===m.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function ke(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,_.HTML)}function Se(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function Oe(e,t){const r=t.tagName;switch(r.length){case 1:r===m.I||r===m.S||r===m.B||r===m.U?ye(e,t):r===m.P?ve(e,t):r===m.A?function(e,t){const r=e.activeFormattingElements.getElementEntryInScopeWithTagName(m.A);r&&(te(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):Se(e,t);break;case 2:r===m.DL||r===m.OL||r===m.UL?ve(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?ye(e,t):r===m.BR?be(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?ke(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&&Se(e,t);break;case 3:r===m.DIV||r===m.DIR||r===m.NAV?ve(e,t):r===m.PRE?Te(e,t):r===m.BIG?ye(e,t):r===m.IMG||r===m.WBR?be(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(),p.adjustTokenSVGAttrs(t),p.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,_.SVG):e._insertElement(t,_.SVG),t.ackSelfClosing=!0}(e,t):r===m.RTC?ke(e,t):r!==m.COL&&Se(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?he(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?ve(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?ye(e,t):r===m.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(m.NOBR)&&(te(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):r===m.AREA?be(e,t):r===m.MATH?function(e,t){e._reconstructActiveFormattingElements(),p.adjustTokenMathMLAttrs(t),p.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&&Se(e,t);break;case 5:r===m.STYLE||r===m.TITLE?he(e,t):r===m.ASIDE?ve(e,t):r===m.SMALL?ye(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=R}(e,t):r===m.EMBED?be(e,t):r===m.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML);const r=n.getTokenAttr(t,v.TYPE);r&&r.toLowerCase()===y||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):r===m.PARAM||r===m.TRACK?Ae(e,t):r===m.IMAGE?function(e,t){t.tagName=m.IMG,be(e,t)}(e,t):r!==m.FRAME&&r!==m.TBODY&&r!==m.TFOOT&&r!==m.THEAD&&Se(e,t);break;case 6:r===m.SCRIPT?he(e,t):r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?ve(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?ye(e,t):r===m.APPLET||r===m.OBJECT?Ee(e,t):r===m.KEYGEN?be(e,t):r===m.SOURCE?Ae(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===R||e.insertionMode===L||e.insertionMode===D||e.insertionMode===P||e.insertionMode===F?e.insertionMode=H:e.insertionMode=B}(e,t):r===m.OPTION?Ce(e,t):Se(e,t);break;case 7:r===m.BGSOUND?he(e,t):r===m.DETAILS||r===m.ADDRESS||r===m.ARTICLE||r===m.SECTION||r===m.SUMMARY?ve(e,t):r===m.LISTING?Te(e,t):r===m.MARQUEE?Ee(e,t):r===m.NOEMBED?we(e,t):r!==m.CAPTION&&Se(e,t);break;case 8:r===m.BASEFONT?he(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=K)}(e,t):r===m.FIELDSET?ve(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=N}(e,t):r===m.TEMPLATE?he(e,t):r===m.NOSCRIPT?e.options.scriptingEnabled?we(e,t):Se(e,t):r===m.OPTGROUP?Ce(e,t):r!==m.COLGROUP&&Se(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):Se(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?ve(e,t):Se(e,t);break;default:Se(e,t)}}function xe(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r))}function Ne(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r),e.activeFormattingElements.clearToLastMarker())}function Re(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 Ie(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?te(e,t):r===m.P?function(e){e.openElements.hasInButtonScope(m.P)||e._insertFakeElement(m.P),e._closePElement()}(e):Re(e,t);break;case 2:r===m.DL||r===m.UL||r===m.OL?xe(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?te(e,t):Re(e,t);break;case 3:r===m.BIG?te(e,t):r===m.DIR||r===m.DIV||r===m.NAV||r===m.PRE?xe(e,t):Re(e,t);break;case 4:r===m.BODY?function(e){e.openElements.hasInScope(m.BODY)&&(e.insertionMode=$)}(e):r===m.HTML?function(e,t){e.openElements.hasInScope(m.BODY)&&(e.insertionMode=$,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?te(e,t):r===m.MAIN||r===m.MENU?xe(e,t):Re(e,t);break;case 5:r===m.ASIDE?xe(e,t):r===m.SMALL?te(e,t):Re(e,t);break;case 6:r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?xe(e,t):r===m.APPLET||r===m.OBJECT?Ne(e,t):r===m.STRIKE||r===m.STRONG?te(e,t):Re(e,t);break;case 7:r===m.ADDRESS||r===m.ARTICLE||r===m.DETAILS||r===m.SECTION||r===m.SUMMARY||r===m.LISTING?xe(e,t):r===m.MARQUEE?Ne(e,t):Re(e,t);break;case 8:r===m.FIELDSET?xe(e,t):r===m.TEMPLATE?pe(e,t):Re(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?xe(e,t):Re(e,t);break;default:Re(e,t)}}function Le(e,t){e.tmplInsertionModeStackTop>-1?Ke(e,t):e.stopped=!0}function Me(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=I,e._processToken(t)):Fe(e,t)}function De(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=D,e._processToken(t)}(e,t):Fe(e,t);break;case 3:r===m.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(m.COLGROUP),e.insertionMode=M,e._processToken(t)}(e,t):Fe(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):Fe(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?he(e,t):r===m.TBODY||r===m.TFOOT||r===m.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode=D}(e,t):r===m.INPUT?function(e,t){const r=n.getTokenAttr(t,v.TYPE);r&&r.toLowerCase()===y?e._appendElement(t,_.HTML):Fe(e,t),t.ackSelfClosing=!0}(e,t):Fe(e,t);break;case 6:r===m.SCRIPT?he(e,t):Fe(e,t);break;case 7:r===m.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,_.HTML),e.insertionMode=L}(e,t):Fe(e,t);break;case 8:r===m.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode=M}(e,t):r===m.TEMPLATE?he(e,t):Fe(e,t);break;default:Fe(e,t)}}function Pe(e,t){const r=t.tagName;r===m.TABLE?e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode()):r===m.TEMPLATE?pe(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&&Fe(e,t)}function Fe(e,t){const r=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=r}function Be(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 qe(e,t){e.insertionMode=x,e._processToken(t)}function je(e,t){e.insertionMode=x,e._processToken(t)}e.exports=class{constructor(e){this.options=u(T,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(U),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=A,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=N}switchToPlaintextParsing(){this.insertionMode=N,this.originalInsertionMode=x,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){Y[this.insertionMode][e.type](this,e)}_processTokenInBodyMode(e){Y[x][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?ae(this,e):e.type===n.COMMENT_TOKEN?se(this,e):e.type===n.START_TAG_TOKEN?function(e,t){if(p.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?p.adjustTokenMathMLAttrs(t):n===_.SVG&&(p.adjustTokenSVGTagName(t),p.adjustTokenSVGAttrs(t)),p.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(d.nonVoidHtmlElementStartTagWithTrailingSolidus)}_isIntegrationPoint(e,t){const r=this.treeAdapter.getTagName(e),n=this.treeAdapter.getNamespaceURI(e),s=this.treeAdapter.getAttrList(e);return p.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=z[n];if(s){this.insertionMode=s;break}if(!(t||n!==m.TD&&n!==m.TH)){this.insertionMode=F;break}if(!t&&n===m.HEAD){this.insertionMode=k;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?O:C;break}if(t){this.insertionMode=x;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=H)}this.insertionMode=B}_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]}}},5860:(e,t,r)=>{"use strict";const n=r(7101),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()}}},3493:(e,t,r)=>{"use strict";const n=r(2316),s=r(841),i=r(2265),a=r(7101),o=a.TAG_NAMES,l=a.NAMESPACES,c={treeAdapter:n},u=/&/g,h=/\u00a0/g,p=/"/g,d=//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(p,"""):e.replace(d,"<").replace(g,">")},e.exports=f},3606:(e,t,r)=>{"use strict";const n=r(2267),s=r(7936),i=r(8015),a=r(8493),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",h="RCDATA_STATE",p="RAWTEXT_STATE",d="SCRIPT_DATA_STATE",g="PLAINTEXT_STATE",f="TAG_OPEN_STATE",m="END_TAG_OPEN_STATE",_="TAG_NAME_STATE",v="RCDATA_LESS_THAN_SIGN_STATE",T="RCDATA_END_TAG_OPEN_STATE",y="RCDATA_END_TAG_NAME_STATE",E="RAWTEXT_LESS_THAN_SIGN_STATE",b="RAWTEXT_END_TAG_OPEN_STATE",A="RAWTEXT_END_TAG_NAME_STATE",w="SCRIPT_DATA_LESS_THAN_SIGN_STATE",C="SCRIPT_DATA_END_TAG_OPEN_STATE",k="SCRIPT_DATA_END_TAG_NAME_STATE",S="SCRIPT_DATA_ESCAPE_START_STATE",O="SCRIPT_DATA_ESCAPE_START_DASH_STATE",x="SCRIPT_DATA_ESCAPED_STATE",N="SCRIPT_DATA_ESCAPED_DASH_STATE",R="SCRIPT_DATA_ESCAPED_DASH_DASH_STATE",I="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE",L="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE",M="SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE",D="SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE",P="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",F="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE",B="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE",H="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",U="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",$="BEFORE_ATTRIBUTE_NAME_STATE",K="ATTRIBUTE_NAME_STATE",q="AFTER_ATTRIBUTE_NAME_STATE",j="BEFORE_ATTRIBUTE_VALUE_STATE",G="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",z="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",W="ATTRIBUTE_VALUE_UNQUOTED_STATE",Y="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE",V="SELF_CLOSING_START_TAG_STATE",Q="BOGUS_COMMENT_STATE",X="MARKUP_DECLARATION_OPEN_STATE",J="COMMENT_START_STATE",Z="COMMENT_START_DASH_STATE",ee="COMMENT_STATE",te="COMMENT_LESS_THAN_SIGN_STATE",re="COMMENT_LESS_THAN_SIGN_BANG_STATE",ne="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE",se="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE",ie="COMMENT_END_DASH_STATE",ae="COMMENT_END_STATE",oe="COMMENT_END_BANG_STATE",le="DOCTYPE_STATE",ce="BEFORE_DOCTYPE_NAME_STATE",ue="DOCTYPE_NAME_STATE",he="AFTER_DOCTYPE_NAME_STATE",pe="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE",de="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE",ge="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE",fe="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE",me="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE",_e="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE",ve="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE",Te="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE",ye="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE",Ee="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE",be="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE",Ae="BOGUS_DOCTYPE_STATE",we="CDATA_SECTION_STATE",Ce="CDATA_SECTION_BRACKET_STATE",ke="CDATA_SECTION_END_STATE",Se="CHARACTER_REFERENCE_STATE",Oe="NAMED_CHARACTER_REFERENCE_STATE",xe="AMBIGUOS_AMPERSAND_STATE",Ne="NUMERIC_CHARACTER_REFERENCE_STATE",Re="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE",Ie="DECIMAL_CHARACTER_REFERENCE_START_STATE",Le="HEXADEMICAL_CHARACTER_REFERENCE_STATE",Me="DECIMAL_CHARACTER_REFERENCE_STATE",De="NUMERIC_CHARACTER_REFERENCE_END_STATE";function Pe(e){return e===o.SPACE||e===o.LINE_FEED||e===o.TABULATION||e===o.FORM_FEED}function Fe(e){return e>=o.DIGIT_0&&e<=o.DIGIT_9}function Be(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_Z}function He(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_Z}function Ue(e){return He(e)||Be(e)}function $e(e){return Ue(e)||Fe(e)}function Ke(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_F}function qe(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_F}function je(e){return e+32}function Ge(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function ze(e){return String.fromCharCode(je(e))}function We(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 Ye{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:Ye.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,l=0,c=t;for(;l0&&(c=this._consume(),n++),c===o.EOF){s=!1;break}if(a=e[l],c!==a&&(r||c!==je(a))){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=Ye.CHARACTER_TOKEN;Pe(e)?t=Ye.WHITESPACE_CHARACTER_TOKEN:e===o.NULL&&(t=Ye.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(t,Ge(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?We(n,a):-1:a===e?++n:-1}for(;r--;)this.tempBuff.pop(),this._unconsume();return t}_isCharacterReferenceInAttribute(){return this.returnState===G||this.returnState===z||this.returnState===W}_isCharacterReferenceAttributeQuirk(e){if(!e&&this._isCharacterReferenceInAttribute()){const e=this._consume();return this._unconsume(),e===o.EQUALS_SIGN||$e(e)}return!1}_flushCodePointsConsumedAsCharacterReference(){if(this._isCharacterReferenceInAttribute())for(let e=0;e")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state=x,this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=x,this._emitCodePoint(e))}[I](e){e===o.SOLIDUS?(this.tempBuff=[],this.state=L):Ue(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState(D)):(this._emitChars("<"),this._reconsumeInState(x))}[L](e){Ue(e)?(this._createEndTagToken(),this._reconsumeInState(M)):(this._emitChars("")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state=P,this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=P,this._emitCodePoint(e))}[H](e){e===o.SOLIDUS?(this.tempBuff=[],this.state=U,this._emitChars("/")):this._reconsumeInState(P)}[U](e){Pe(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?x:P,this._emitCodePoint(e)):Be(e)?(this.tempBuff.push(je(e)),this._emitCodePoint(e)):He(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState(P)}[$](e){Pe(e)||(e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?this._reconsumeInState(q):e===o.EQUALS_SIGN?(this._err(a.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=K):(this._createAttr(""),this._reconsumeInState(K)))}[K](e){Pe(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?(this._leaveAttrName(q),this._unconsume()):e===o.EQUALS_SIGN?this._leaveAttrName(j):Be(e)?this.currentAttr.name+=ze(e):e===o.QUOTATION_MARK||e===o.APOSTROPHE||e===o.LESS_THAN_SIGN?(this._err(a.unexpectedCharacterInAttributeName),this.currentAttr.name+=Ge(e)):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.name+=s.REPLACEMENT_CHARACTER):this.currentAttr.name+=Ge(e)}[q](e){Pe(e)||(e===o.SOLIDUS?this.state=V:e===o.EQUALS_SIGN?this.state=j:e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState(K)))}[j](e){Pe(e)||(e===o.QUOTATION_MARK?this.state=G:e===o.APOSTROPHE?this.state=z:e===o.GREATER_THAN_SIGN?(this._err(a.missingAttributeValue),this.state=u,this._emitCurrentToken()):this._reconsumeInState(W))}[G](e){e===o.QUOTATION_MARK?this.state=Y:e===o.AMPERSAND?(this.returnState=G,this.state=Se):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+=Ge(e)}[z](e){e===o.APOSTROPHE?this.state=Y:e===o.AMPERSAND?(this.returnState=z,this.state=Se):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+=Ge(e)}[W](e){Pe(e)?this._leaveAttrValue($):e===o.AMPERSAND?(this.returnState=W,this.state=Se):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+=Ge(e)):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Ge(e)}[Y](e){Pe(e)?this._leaveAttrValue($):e===o.SOLIDUS?this._leaveAttrValue(V):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($))}[V](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($))}[Q](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+=Ge(e)}[X](e){this._consumeSequenceIfMatch(l.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state=J):this._consumeSequenceIfMatch(l.DOCTYPE_STRING,e,!1)?this.state=le:this._consumeSequenceIfMatch(l.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state=we:(this._err(a.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state=Q):this._ensureHibernation()||(this._err(a.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState(Q))}[J](e){e===o.HYPHEN_MINUS?this.state=Z:e===o.GREATER_THAN_SIGN?(this._err(a.abruptClosingOfEmptyComment),this.state=u,this._emitCurrentToken()):this._reconsumeInState(ee)}[Z](e){e===o.HYPHEN_MINUS?this.state=ae: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(ee))}[ee](e){e===o.HYPHEN_MINUS?this.state=ie:e===o.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state=te):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+=Ge(e)}[te](e){e===o.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state=re):e===o.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState(ee)}[re](e){e===o.HYPHEN_MINUS?this.state=ne:this._reconsumeInState(ee)}[ne](e){e===o.HYPHEN_MINUS?this.state=se:this._reconsumeInState(ie)}[se](e){e!==o.GREATER_THAN_SIGN&&e!==o.EOF&&this._err(a.nestedComment),this._reconsumeInState(ae)}[ie](e){e===o.HYPHEN_MINUS?this.state=ae:e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ee))}[ae](e){e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EXCLAMATION_MARK?this.state=oe:e===o.HYPHEN_MINUS?this.currentToken.data+="-":e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState(ee))}[oe](e){e===o.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state=ie):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(ee))}[le](e){Pe(e)?this.state=ce:e===o.GREATER_THAN_SIGN?this._reconsumeInState(ce):e===o.EOF?(this._err(a.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingWhitespaceBeforeDoctypeName),this._reconsumeInState(ce))}[ce](e){Pe(e)||(Be(e)?(this._createDoctypeToken(ze(e)),this.state=ue):e===o.NULL?(this._err(a.unexpectedNullCharacter),this._createDoctypeToken(s.REPLACEMENT_CHARACTER),this.state=ue):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(Ge(e)),this.state=ue))}[ue](e){Pe(e)?this.state=he:e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):Be(e)?this.currentToken.name+=ze(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+=Ge(e)}[he](e){Pe(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=pe:this._consumeSequenceIfMatch(l.SYSTEM_STRING,e,!1)?this.state=ve:this._ensureHibernation()||(this._err(a.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState(Ae)))}[pe](e){Pe(e)?this.state=de:e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=ge):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=fe):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(Ae))}[de](e){Pe(e)||(e===o.QUOTATION_MARK?(this.currentToken.publicId="",this.state=ge):e===o.APOSTROPHE?(this.currentToken.publicId="",this.state=fe):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(Ae)))}[ge](e){e===o.QUOTATION_MARK?this.state=me: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+=Ge(e)}[fe](e){e===o.APOSTROPHE?this.state=me: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+=Ge(e)}[me](e){Pe(e)?this.state=_e:e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=ye):e===o.APOSTROPHE?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=Ee):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(Ae))}[_e](e){Pe(e)||(e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ye):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state=Ee):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(Ae)))}[ve](e){Pe(e)?this.state=Te:e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=ye):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=Ee):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(Ae))}[Te](e){Pe(e)||(e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ye):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state=Ee):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(Ae)))}[ye](e){e===o.QUOTATION_MARK?this.state=be: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+=Ge(e)}[Ee](e){e===o.APOSTROPHE?this.state=be: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+=Ge(e)}[be](e){Pe(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(Ae)))}[Ae](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())}[we](e){e===o.RIGHT_SQUARE_BRACKET?this.state=Ce:e===o.EOF?(this._err(a.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}[Ce](e){e===o.RIGHT_SQUARE_BRACKET?this.state=ke:(this._emitChars("]"),this._reconsumeInState(we))}[ke](e){e===o.GREATER_THAN_SIGN?this.state=u:e===o.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState(we))}[Se](e){this.tempBuff=[o.AMPERSAND],e===o.NUMBER_SIGN?(this.tempBuff.push(e),this.state=Ne):$e(e)?this._reconsumeInState(Oe):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}[Oe](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=xe}[xe](e){$e(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=Ge(e):this._emitCodePoint(e):(e===o.SEMICOLON&&this._err(a.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}[Ne](e){this.charRefCode=0,e===o.LATIN_SMALL_X||e===o.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state=Re):this._reconsumeInState(Ie)}[Re](e){!function(e){return Fe(e)||Ke(e)||qe(e)}(e)?(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState(Le)}[Ie](e){Fe(e)?this._reconsumeInState(Me):(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}[Le](e){Ke(e)?this.charRefCode=16*this.charRefCode+e-55:qe(e)?this.charRefCode=16*this.charRefCode+e-87:Fe(e)?this.charRefCode=16*this.charRefCode+e-48:e===o.SEMICOLON?this.state=De:(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState(De))}[Me](e){Fe(e)?this.charRefCode=10*this.charRefCode+e-48:e===o.SEMICOLON?this.state=De:(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState(De))}[De](){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)}}Ye.CHARACTER_TOKEN="CHARACTER_TOKEN",Ye.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",Ye.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",Ye.START_TAG_TOKEN="START_TAG_TOKEN",Ye.END_TAG_TOKEN="END_TAG_TOKEN",Ye.COMMENT_TOKEN="COMMENT_TOKEN",Ye.DOCTYPE_TOKEN="DOCTYPE_TOKEN",Ye.EOF_TOKEN="EOF_TOKEN",Ye.HIBERNATION_TOKEN="HIBERNATION_TOKEN",Ye.MODE={DATA:u,RCDATA:h,RAWTEXT:p,SCRIPT_DATA:d,PLAINTEXT:g},Ye.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=Ye},8015:e=>{"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])},2267:(e,t,r)=>{"use strict";const n=r(7936),s=r(8493),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--}}},2316:(e,t,r)=>{"use strict";const{DOCUMENT_MODE:n}=r(7101);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{"use strict";e.exports=function(e,t){return[e,t=t||Object.create(null)].reduce(((e,t)=>(Object.keys(t).forEach((r=>{e[r]=t[r]})),e)),Object.create(null))}},1743:e=>{"use strict";class t{constructor(e){const t={},r=this._getOverriddenMethods(this,t);for(const n of Object.keys(r))"function"==typeof r[n]&&(t[n]=e[n],e[n]=r[n])}_getOverriddenMethods(){throw new Error("Not implemented")}}t.install=function(e,t,r){e.__mixins||(e.__mixins=[]);for(let r=0;r"']/g,p=RegExp(h.source);s="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,i="object"==typeof self&&self&&self.Object===Object&&self,a=s||i||Function("return this")();var d,g=(d={"&":"&","<":"<",">":">",'"':""","'":"'"},function(e){return null==d?n:d[e]}),f=Object.prototype,m=f.hasOwnProperty,_=f.toString,v=a.Symbol,T=v?v.toStringTag:n,y=v?v.prototype:n,E=y?y.toString:n;function b(e){if("string"==typeof e)return e;if(A(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=w;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=w;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"}};l?((l.exports=C).templates=C,o.templates=C):a.templates=C}.call(this)},9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=o(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,i=o(e),a=i[0],l=i[1],c=new s(function(e,t,r){return 3*(t+r)/4-r}(0,a,l)),u=0,h=l>0?a-4:a;for(r=0;r>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[u++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,s=n%3,i=[],a=16383,o=0,c=n-s;oc?c:o+a));return 1===s?(t=e[n-1],i.push(r[t>>2]+r[t<<4&63]+"==")):2===s&&(t=(e[n-2]<<8)+e[n-1],i.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),i.join("")};for(var r=[],n=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=i[a],n[i.charCodeAt(a)]=a;function o(e){var t=e.length;if(t%4>0)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 l(e,t,n){for(var s,i,a=[],o=t;o>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},8764:(e,t,r)=>{"use strict";var n=r(9742),s=r(645),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;var a=2147483647;function o(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return c(e,t,r)}function c(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|f(e,t),n=o(r),s=n.write(e,t);return s!==r&&(n=n.slice(0,s)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if($(e,Uint8Array)){var t=new Uint8Array(e);return d(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if($(e,ArrayBuffer)||e&&$(e.buffer,ArrayBuffer))return d(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&($(e,SharedArrayBuffer)||e&&$(e.buffer,SharedArrayBuffer)))return d(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return l.from(n,t,r);var s=function(e){if(l.isBuffer(e)){var t=0|g(e.length),r=o(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||K(e.length)?o(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(s)return s;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return u(e),o(e<0?0:0|g(e))}function p(e){for(var t=e.length<0?0:0|g(e.length),r=o(t),n=0;n=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||$(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var s=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":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 H(e).length;default:if(s)return n?-1:B(e).length;t=(""+t).toLowerCase(),s=!0}}function m(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 k(this,t,r);case"ascii":return O(this,t,r);case"latin1":case"binary":return x(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 _(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function v(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),K(r=+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,"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,p=0;ps&&(n=s):n=s;var i=t.length;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 k(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<=S)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn.length?l.from(i).copy(n,s):Uint8Array.prototype.set.call(n,i,s);else{if(!l.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,s)}s+=i.length}return n},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tr&&(e+=" ... "),""},i&&(l.prototype[i]=l.prototype.inspect),l.prototype.compare=function(e,t,r,n,s){if($(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);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;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var s=this.length-t;if((void 0===r||r>s)&&(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 y(this,e,t,r);case"utf8":case"utf-8":return E(this,e,t,r);case"ascii":case"latin1":case"binary":return b(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(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)}};var S=4096;function O(e,t,r){var n="";r=Math.min(e.length,r);for(var s=t;sn)&&(r=n);for(var s="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function L(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 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 D(e,t,r,n,i){return t=+t,r>>>=0,i||M(e,0,r,4),s.write(e,t,r,n,23,4),r+4}function P(e,t,r,n,i){return t=+t,r>>>=0,i||M(e,0,r,8),s.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||I(e,t,this.length);for(var n=this[e],s=1,i=0;++i>>=0,t>>>=0,r||I(e,t,this.length);for(var n=this[e+--t],s=1;t>0&&(s*=256);)n+=this[e+--t]*s;return n},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||I(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,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 e>>>=0,t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,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){e>>>=0,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 e>>>=0,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 e>>>=0,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 e>>>=0,t||I(e,4,this.length),s.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||I(e,4,this.length),s.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||I(e,8,this.length),s.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||I(e,8,this.length),s.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||L(this,e,t,r,Math.pow(2,8*r)-1,0);var s=1,i=0;for(this[t]=255&e;++i>>=0,r>>>=0,n||L(this,e,t,r,Math.pow(2,8*r)-1,0);var s=r-1,i=1;for(this[t+s]=255&e;--s>=0&&(i*=256);)this[t+s]=e/i&255;return t+r},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var s=Math.pow(2,8*r-1);L(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);L(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||L(this,e,t,1,127,-128),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||L(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,r){return D(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return D(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return P(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return P(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");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("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=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 H(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(F,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function U(e,t,r,n){for(var s=0;s=t.length||s>=e.length);++s)t[s+r]=e[s];return s}function $(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function K(e){return e!=e}var q=function(){for(var e="0123456789abcdef",t=new Array(256),r=0;r<16;++r)for(var n=16*r,s=0;s<16;++s)t[n+s]=e[r]+e[s];return t}()},2894:(e,t,r)=>{r(3567).check("es5")},3567:(e,t,r)=>{r(9677),e.exports=r(1100)},6085:e=>{var t=function(){this.tests={},this.cache={}};t.prototype={constructor:t,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=t},9677:(e,t,r)=>{var n=r(1100),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}}))},1100:(e,t,r)=>{var n=new(r(6085)),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},8010:(e,t,r)=>{r(7643)},7643:(e,t,r)=>{r(2894);var n,s=r(3567);n=s("Error.captureStackTrace")?r(4649):s("Error.prototype.stack")?r(7862):r(6688),e.exports=n()},1036:(e,t,r)=>{var n=r(1589).Class,s=r(1589).abstractMethod,i=n(Object,{prototype:{init:n.prototype.merge,frameString:void 0,toString:function(){return this.frameString},functionValue:void 0,getThis:s,getTypeName:s,getFunction:function(){return this.functionValue},getFunctionName:s,getMethodName:s,getFileName:s,getLineNumber:s,getColumnNumber:s,getEvalOrigin:s,isTopLevel:s,isEval:s,isNative:s,isConstructor:s}});e.exports=i},9134:(e,t,r)=>{var n=r(1589).Class,s=r(1036),i=r(7514).cache,a=n(Object,{prototype:{stackParser:null,frameParser:null,locationParsers:null,constructor:function(e){n.prototype.merge.call(this,e)},getFrames:function(e,t){for(var r=[],n=0,s=e.length;n{var n=r(1589).Class,s=r(1589).abstractMethod,i=r(7514).eachCombination,a=r(7514).cache,o=r(3567),l=n(Object,{prototype:{captureFrameStrings:function(e){var t=this.createError();e.unshift(this.captureFrameStrings),e.unshift(this.createError);var r=this.getFrameStrings(t).slice(e.length),n=[];if(o("arguments.callee.caller")){var s=[this.createError,this.captureFrameStrings];try{for(var i=arguments.callee;i=i.caller;)s.push(i)}catch(e){}n=s.slice(e.length)}return{frameStrings:r,functionValues:n}},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())}))}},7862:(e,t,r)=>{var n=r(452),s=r(9134),i=r(7514).cache,a=r(9831);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}}},9831:e=>{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}},6688:(e,t,r)=>{var n=r(7514).cache,s=r(9831);e.exports=function(){return Error.captureStackTrace=function(e,t){Object.defineProperties(e,{stack:{configurable:!0,get:n((function(){return(Error.prepareStackTrace||s)(e,[])}))},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})},Error.getStackTrace=function(e){if(e.cachedStack)return e.stack;var t=(Error.prepareStackTrace||s)(e,[]);try{Object.defineProperties(e,{stack:{configurable:!0,writable:!0,enumerable:!1,value:t},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})}catch(e){}return t},{prepareStackTrace:s}}},4649:(e,t,r)=>{var n=r(9831);e.exports=function(){return Error.getStackTrace=function(e){return e.stack},{prepareStackTrace:n}}},7187:e=>{"use strict";var t,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function i(){i.init.call(this)}e.exports=i,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))}f(e,t,i,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&f(e,"error",t,{once:!0})}(e,s)}))},i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function o(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?i.defaultMaxListeners:e._maxListeners}function c(e,t,r,n){var s,i,a,c;if(o(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=l(e))>0&&a.length>s&&!a.warned){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,c=u,console&&console.warn&&console.warn(c)}return e}function u(){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 h(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=u.bind(n);return s.listener=r,n.wrapFn=s,s}function p(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=i[e];if(void 0===l)return!1;if("function"==typeof l)n(l,this,t);else{var c=l.length,u=g(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},i.prototype.listeners=function(e){return p(this,e,!0)},i.prototype.rawListeners=function(e){return p(this,e,!1)},i.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},i.prototype.listenerCount=d,i.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},5449:(e,t,r)=>{function n(e){this._cbs=e||{},this.events=[]}e.exports=n;var s=r(3719).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{var n=r(9730),s=r(9443);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(5717)(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},763:(e,t,r)=>{var n=r(9889),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(5717)(u,r(7187).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},6321:(e,t,r)=>{function n(e){this._cbs=e||{}}e.exports=n;var s=r(3719).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)}}}))},9924:(e,t,r)=>{e.exports=s;var n=r(3621);function s(e){n.call(this,new i(this),e)}function i(e){this.scope=e}r(5717)(s,n),s.prototype.readable=!0;var a=r(3719).EVENTS;Object.keys(a).forEach((function(e){if(0===a[e])i.prototype["on"+e]=function(){this.scope.emit(e)};else if(1===a[e])i.prototype["on"+e]=function(t){this.scope.emit(e,t)};else{if(2!==a[e])throw Error("wrong number of arguments!");i.prototype["on"+e]=function(t,r){this.scope.emit(e,t,r)}}}))},9889:(e,t,r)=>{e.exports=me;var n=r(8894),s=r(3042),i=r(317),a=r(1373),o=0,l=o++,c=o++,u=o++,h=o++,p=o++,d=o++,g=o++,f=o++,m=o++,_=o++,v=o++,T=o++,y=o++,E=o++,b=o++,A=o++,w=o++,C=o++,k=o++,S=o++,O=o++,x=o++,N=o++,R=o++,I=o++,L=o++,M=o++,D=o++,P=o++,F=o++,B=o++,H=o++,U=o++,$=o++,K=o++,q=o++,j=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++,pe=ce++;function de(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=p:"<"===e?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===e||this._special!==ue||de(e)?this._state=l:"!"===e?(this._state=b,this._sectionStart=this._index+1):"?"===e?(this._state=w,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==e&&"S"!==e?u:B,this._sectionStart=this._index)},me.prototype._stateInTagName=function(e){("/"===e||">"===e||de(e))&&(this._emitToken("onopentagname"),this._state=f,this._index--)},me.prototype._stateBeforeCloseingTagName=function(e){de(e)||(">"===e?this._state=l:this._special!==ue?"s"===e||"S"===e?this._state=H:(this._state=l,this._index--):(this._state=d,this._sectionStart=this._index))},me.prototype._stateInCloseingTagName=function(e){(">"===e||de(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:de(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):de(e)||(this._state=f,this._index--)},me.prototype._stateInAttributeName=function(e){("="===e||"/"===e||">"===e||de(e))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=_,this._index--)},me.prototype._stateAfterAttributeName=function(e){"="===e?this._state=v:"/"===e||">"===e?(this._cbs.onattribend(),this._state=f,this._index--):de(e)||(this._cbs.onattribend(),this._state=m,this._sectionStart=this._index)},me.prototype._stateBeforeAttributeValue=function(e){'"'===e?(this._state=T,this._sectionStart=this._index+1):"'"===e?(this._state=y,this._sectionStart=this._index+1):de(e)||(this._state=E,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){de(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?x:"-"===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=k,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?O:k},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=k)},me.prototype._stateBeforeCdata1=ge("C",N,A),me.prototype._stateBeforeCdata2=ge("D",R,A),me.prototype._stateBeforeCdata3=ge("A",I,A),me.prototype._stateBeforeCdata4=ge("T",L,A),me.prototype._stateBeforeCdata5=ge("A",M,A),me.prototype._stateBeforeCdata6=function(e){"["===e?(this._state=D,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:D},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=D)},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!==pe||"t"!==e&&"T"!==e?this._state=l:this._state=ee:this._state=G},me.prototype._stateBeforeScript1=fe("R",$),me.prototype._stateBeforeScript2=fe("I",K),me.prototype._stateBeforeScript3=fe("P",q),me.prototype._stateBeforeScript4=fe("T",j),me.prototype._stateBeforeScript5=function(e){("/"===e||">"===e||de(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||de(e)?(this._special=ue,this._state=d,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||de(e))&&(this._special=pe),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||de(e)?(this._special=ue,this._state=d,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{e.exports=o;var n=r(763),s=r(247).Writable,i=r(2553).s,a=r(8764).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(5717)(o,s),o.prototype._write=function(e,t,r){e instanceof a&&(e=this._decoder.write(e)),this._parser.write(e),r()}},3719:(e,t,r)=>{var n=r(763),s=r(9730);function i(t,r){return delete e.exports[t],e.exports[t]=r,r}e.exports={Parser:n,Tokenizer:r(9889),ElementType:r(2391),DomHandler:s,get FeedHandler(){return i("FeedHandler",r(3870))},get Stream(){return i("Stream",r(9924))},get WritableStream(){return i("WritableStream",r(3621))},get ProxyHandler(){return i("ProxyHandler",r(6321))},get DomUtils(){return i("DomUtils",r(9443))},get CollectingHandler(){return i("CollectingHandler",r(5449))},DefaultHandler:s,get RssHandler(){return i("RssHandler",this.FeedHandler)},parseDOM:function(e,t){var r=new s(t);return new n(r,t).end(e),r.dom},parseFeed:function(t,r){var s=new e.exports.FeedHandler(r);return new n(s,r).end(t),s.dom},createDomStream:function(e,t,r){var i=new s(e,t,r);return new n(i,t)},EVENTS:{attribute:2,cdatastart:0,cdataend:0,text:1,processinginstruction:2,comment:1,commentend:0,closetag:1,opentag:2,opentagname:1,error:1,end:0}}},8066:(e,t,r)=>{var n=r(2570),s=r(1137),i=r(9004);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 p(e,t){var r=e.data||"";return!t.decodeEntities||e.parent&&e.parent.name in a||(r=s.encodeXML(r)),r}function d(e){return""}function g(e){return"\x3c!--"+e.data+"--\x3e"}},2570:(e,t)=>{"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"},162: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.decodeHTML=t.decodeHTMLStrict=t.decodeXML=void 0;var s=n(r(3082)),i=n(r(3195)),a=n(r(1210)),o=n(r(4914)),l=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;function c(e){var t=h(e);return function(e){return String(e).replace(l,t)}}t.decodeXML=c(a.default),t.decodeHTMLStrict=c(s.default);var u=function(e,t){return e65535&&(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))}},670: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(1210)).default),i=h(s);t.encodeXML=m(s);var a,o,l=u(n(r(3082)).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?d(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}var f=new RegExp(i.source+"|"+p.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)}},1137:(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(162),s=r(670);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(670);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(162);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}})},2391:e=>{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}}},9730:(e,t,r)=>{var n=r(2391),s=/\s+/g,i=r(6805),a=r(7359);function o(e,t,r){"object"==typeof e?(r=t,t=e,e=null):"function"==typeof t&&(r=t,t=l),this._callback=e,this._options=t||l,this._elementCB=r,this.dom=[],this._done=!1,this._tagStack=[],this._parser=this._parser||null}var l={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1};o.prototype.onparserinit=function(e){this._parser=e},o.prototype.onreset=function(){o.call(this,this._callback,this._options,this._elementCB)},o.prototype.onend=function(){this._done||(this._done=!0,this._parser=null,this._handleCallback(null))},o.prototype._handleCallback=o.prototype.onerror=function(e){if("function"==typeof this._callback)this._callback(e,this.dom);else if(e)throw e},o.prototype.onclosetag=function(){var e=this._tagStack.pop();this._options.withEndIndices&&e&&(e.endIndex=this._parser.endIndex),this._elementCB&&this._elementCB(e)},o.prototype._createDomElement=function(e){if(!this._options.withDomLvl1)return e;var t;for(var r in t="tag"===e.type?Object.create(a):Object.create(i),e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},o.prototype._addDomElement=function(e){var t=this._tagStack[this._tagStack.length-1],r=t?t.children:this.dom,n=r[r.length-1];e.next=null,this._options.withStartIndices&&(e.startIndex=this._parser.startIndex),this._options.withEndIndices&&(e.endIndex=this._parser.endIndex),n?(e.prev=n,n.next=e):e.prev=null,r.push(e),e.parent=t||null},o.prototype.onopentag=function(e,t){var r={type:"script"===e?n.Script:"style"===e?n.Style:n.Tag,name:e,attribs:t,children:[]},s=this._createDomElement(r);this._addDomElement(s),this._tagStack.push(s)},o.prototype.ontext=function(e){var t,r=this._options.normalizeWhitespace||this._options.ignoreWhitespace;if(!this._tagStack.length&&this.dom.length&&(t=this.dom[this.dom.length-1]).type===n.Text)r?t.data=(t.data+e).replace(s," "):t.data+=e;else if(this._tagStack.length&&(t=this._tagStack[this._tagStack.length-1])&&(t=t.children[t.children.length-1])&&t.type===n.Text)r?t.data=(t.data+e).replace(s," "):t.data+=e;else{r&&(e=e.replace(s," "));var i=this._createDomElement({data:e,type:n.Text});this._addDomElement(i)}},o.prototype.oncomment=function(e){var t=this._tagStack[this._tagStack.length-1];if(t&&t.type===n.Comment)t.data+=e;else{var r={data:e,type:n.Comment},s=this._createDomElement(r);this._addDomElement(s),this._tagStack.push(s)}},o.prototype.oncdatastart=function(){var e={children:[{data:"",type:n.Text}],type:n.CDATA},t=this._createDomElement(e);this._addDomElement(t),this._tagStack.push(t)},o.prototype.oncommentend=o.prototype.oncdataend=function(){this._tagStack.pop()},o.prototype.onprocessinginstruction=function(e,t){var r=this._createDomElement({name:e,data:t,type:n.Directive});this._addDomElement(r)},e.exports=o},7359:(e,t,r)=>{var n=r(6805),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}})}))},6805:e=>{var t=e.exports={get firstChild(){var e=this.children;return e&&e[0]||null},get lastChild(){var e=this.children;return e&&e[e.length-1]||null},get nodeType(){return n[this.type]||n.element}},r={tagName:"name",childNodes:"children",parentNode:"parent",previousSibling:"prev",nextSibling:"next",nodeValue:"data"},n={element:1,text:3,cdata:4,comment:8};Object.keys(r).forEach((function(e){var n=r[e];Object.defineProperty(t,e,{get:function(){return this[n]||null},set:function(e){return this[n]=e,e}})}))},9443:(e,t,r)=>{var n=e.exports;[r(2178),r(1699),r(6167),r(6754),r(5355),r(9256)].forEach((function(e){Object.keys(e).forEach((function(t){n[t]=e[t].bind(n)}))}))},9256:(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{var n=r(2391),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)}},6167:(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}},6754:(e,t,r)=>{var n=r(2391).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}}},2178:(e,t,r)=>{var n=r(2391),s=r(8066),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:""}}},1699:(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}},8894:(e,t,r)=>{var n=r(2968);e.exports=function(e){if(e>=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)}},645:(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,p=r?-1:1,d=e[t+h];for(h+=p,i=d&(1<<-u)-1,d>>=-u,u+=o;u>0;i=256*i+e[t+h],h+=p,u-=8);for(a=i&(1<<-u)-1,i>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=p,u-=8);if(0===i)i=1-c;else{if(i===l)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),i-=c}return(d?-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,p=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,d=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?p/l:p*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+d]=255&o,d+=g,o/=256,s-=8);for(a=a<0;e[r+d]=255&a,d+=g,a/=256,c-=8);e[r+d-g]|=128*f}},5717:e=>{"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}}},2043:function(e,t,r){var n,s;!function(i,a){"use strict";n=function(){var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function s(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 i(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function a(t,r){for(var s=0;s=0&&r<=o.levels.SILENT))throw"log.setLevel() called with invalid level: "+r;if(i=r,!1!==s&&function(e){var r=(n[e]||"silent").toUpperCase();if(typeof window!==t&&c){try{return void(window.localStorage[c]=r)}catch(e){}try{window.document.cookie=encodeURIComponent(c)+"="+r+";"}catch(e){}}}(r),a.call(o,r,e),typeof console===t&&r{r(2894),e.exports=r(1510)},2285:e=>{var t=function(){var e=Object.create({Source:Object,config:{},buildArgs:[]});function r(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{e.exports=function(){throw new Error("Not implemented.")}},1510:(e,t,r)=>{e.exports={Class:r(2285),abstractMethod:r(8503)}},2587:e=>{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,r,n,s){r=r||"&",n=n||"=";var i={};if("string"!=typeof e||0===e.length)return i;var a=/\+/g;e=e.split(r);var o=1e3;s&&"number"==typeof s.maxKeys&&(o=s.maxKeys);var l=e.length;o>0&&l>o&&(l=o);for(var c=0;c=0?(u=g.substr(0,f),h=g.substr(f+1)):(u=g,h=""),p=decodeURIComponent(u),d=decodeURIComponent(h),t(i,p)?Array.isArray(i[p])?i[p].push(d):i[p]=[i[p],d]:i[p]=d}return i}},2361:e=>{"use strict";var t=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,r,n,s){return r=r||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(s){var i=encodeURIComponent(t(s))+n;return Array.isArray(e[s])?e[s].map((function(e){return i+encodeURIComponent(t(e))})).join(r):i+encodeURIComponent(t(e[s]))})).join(r):s?encodeURIComponent(t(s))+n+encodeURIComponent(t(e)):""}},7673:(e,t,r)=>{"use strict";t.decode=t.parse=r(2587),t.encode=t.stringify=r(2361)},9509:(e,t,r)=>{var n=r(8764),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)}},2553:(e,t,r)=>{"use strict";var n=r(9509).Buffer,s=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function i(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===s||!s(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=c,t=4;break;case"utf8":this.fillLast=o,t=4;break;case"base64":this.text=u,this.end=h,t=3;break;default:return this.write=p,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function a(e){return e<=127?0:e>>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 p(e){return e.toString(this.encoding)}function d(e){return e&&e.length?this.write(e):""}t.s=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}},4429:e=>{var t=function(e,t){var r;for(r=0;r1?1:a)+n[n.length-1].length};return{addRule:function(e,t){s.push({regex:e,type:t})},onText:function(e){for(var t=n+e,i=r(s,t);i&&i.max_index!==t.length;)o(t.substring(0,i.max_index),i.rule.type),t=t.substring(i.max_index),i=r(s,t);n=t},end:function(){if(0!==n.length){var e=t(s,n);if(!e){var r=new Error("unable to tokenize");throw r.tokenizer2={buffer:n,line:i,col:a},r}o(n,e.type)}}}}},7514:(e,t,r)=>{e.exports=r(8612)},3880:e=>{e.exports=function(e){var t,r=!1;return e instanceof Function||(r=!0,t=e,e=null),function(){return r||(r=!0,t=e.apply(this,arguments),e=null),t}}},3148:e=>{e.exports=function e(t,r,n){if(n||(n=[]),n.length{e.exports={cache:r(3880),eachCombination:r(3148)}},2511:function(e,t,r){var n;e=r.nmd(e),function(s){t&&t.nodeType,e&&e.nodeType;var i="object"==typeof r.g&&r.g;i.global!==i&&i.window!==i&&i.self;var a,o=2147483647,l=36,c=26,u=38,h=700,p=/^xn--/,d=/[^\x20-\x7E]/,g=/[\x2E\u3002\uFF0E\uFF61]/g,f={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},m=l-1,_=Math.floor,v=String.fromCharCode;function T(e){throw RangeError(f[e])}function y(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function E(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+y((e=e.replace(g,".")).split("."),t).join(".")}function b(e){for(var t,r,n=[],s=0,i=e.length;s=55296&&t<=56319&&s65535&&(t+=v((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+v(e)})).join("")}function w(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function C(e,t,r){var n=0;for(e=r?_(e/h):e>>1,e+=_(e/t);e>m*c>>1;n+=l)e=_(e/m);return _(n+(m+1)*e/(e+u))}function k(e){var t,r,n,s,i,a,u,h,p,d,g,f=[],m=e.length,v=0,y=128,E=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&T("not-basic"),f.push(e.charCodeAt(n));for(s=r>0?r+1:0;s=m&&T("invalid-input"),((h=(g=e.charCodeAt(s++))-48<10?g-22:g-65<26?g-65:g-97<26?g-97:l)>=l||h>_((o-v)/a))&&T("overflow"),v+=h*a,!(h<(p=u<=E?1:u>=E+c?c:u-E));u+=l)a>_(o/(d=l-p))&&T("overflow"),a*=d;E=C(v-i,t=f.length+1,0==i),_(v/t)>o-y&&T("overflow"),y+=_(v/t),v%=t,f.splice(v++,0,y)}return A(f)}function S(e){var t,r,n,s,i,a,u,h,p,d,g,f,m,y,E,A=[];for(f=(e=b(e)).length,t=128,r=0,i=72,a=0;a=t&&g_((o-r)/(m=n+1))&&T("overflow"),r+=(u-t)*m,t=u,a=0;ao&&T("overflow"),g==t){for(h=r,p=l;!(h<(d=p<=i?1:p>=i+c?c:p-i));p+=l)E=h-d,y=l-d,A.push(v(w(d+E%y,0))),h=_(E/y);A.push(v(w(h,0))),i=C(r,m,n==s),r=0,++n}++r,++t}return A.join("")}a={version:"1.3.2",ucs2:{decode:b,encode:A},decode:k,encode:S,toASCII:function(e){return E(e,(function(e){return d.test(e)?"xn--"+S(e):e}))},toUnicode:function(e){return E(e,(function(e){return p.test(e)?k(e.slice(4).toLowerCase()):e}))}},void 0===(n=function(){return a}.call(t,r,t,e))||(e.exports=n)}()},8575:(e,t,r)=>{"use strict";var n=r(2511),s=r(2502);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=T,t.resolve=function(e,t){return T(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?T(e,!1,!0).resolveObject(t):t},t.format=function(e){return s.isString(e)&&(e=T(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),p=["/","?","#"],d=/^[+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},v=r(7673);function T(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?L+="x":L+=I[M];if(!L.match(d)){var P=N.slice(0,S),F=N.slice(S+1),B=I.match(g);B&&(P.push(B[1]),F.unshift(B[2])),F.length&&(T="/"+F.join(".")+T),this.hostname=P.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),x||(this.hostname=n.toASCII(this.hostname));var H=this.port?":"+this.port:"",U=this.hostname||"";this.host=U+H,this.href+=this.host,x&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==T[0]&&(T="/"+T))}if(!f[b])for(S=0,R=u.length;S0)&&r.host.split("@"))&&(r.auth=x.shift(),r.host=r.hostname=x.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],k=(r.host||e.host||A.length>1)&&("."===C||".."===C)||""===C,S=0,O=A.length;O>=0;O--)"."===(C=A[O])?A.splice(O,1):".."===C?(A.splice(O,1),S++):S&&(A.splice(O,1),S--);if(!E&&!b)for(;S--;S)A.unshift("..");!E||""===A[0]||A[0]&&"/"===A[0].charAt(0)||A.unshift(""),k&&"/"!==A.join("/").substr(-1)&&A.push("");var x,N=""===A[0]||A[0]&&"/"===A[0].charAt(0);return w&&(r.hostname=r.host=N?"":A.length?A.shift():"",(x=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=x.shift(),r.host=r.hostname=x.shift())),(E=E||r.host&&A.length)&&!N&&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)}},2502:e=>{"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}}},1496:e=>{"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}},384:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},9539:(e,t,r)=>{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),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(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(v(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)),b(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(T(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(E(r))return e.stylize(Date.prototype.toString.call(r),"date");if(b(r))return h(r)}var c,y="",w=!1,C=["{","}"];return d(r)&&(w=!0,C=["[","]"]),A(r)&&(y=" [Function"+(r.name?": "+r.name:"")+"]"),T(r)&&(y=" "+RegExp.prototype.toString.call(r)),E(r)&&(y=" "+Date.prototype.toUTCString.call(r)),b(r)&&(y=" "+h(r)),0!==a.length||w&&0!=r.length?n<0?T(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=w?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,y,C)):C[0]+y+C[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function p(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")),S(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")),v(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 d(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 v(e){return void 0===e}function T(e){return y(e)&&"[object RegExp]"===w(e)}function y(e){return"object"==typeof e&&null!==e}function E(e){return y(e)&&"[object Date]"===w(e)}function b(e){return y(e)&&("[object Error]"===w(e)||e instanceof Error)}function A(e){return"function"==typeof e}function w(e){return Object.prototype.toString.call(e)}function C(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(v(i)&&(i=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=process.pid;a[e]=function(){var n=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,n)}}else a[e]=function(){};return a[e]},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=d,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=v,t.isRegExp=T,t.isObject=y,t.isDate=E,t.isError=b,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(384);var k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,r;console.log("%s - %s",(r=[C((e=new Date).getHours()),C(e.getMinutes()),C(e.getSeconds())].join(":"),[e.getDate(),k[e.getMonth()],r].join(" ")),t.format.apply(t,arguments))},t.inherits=r(1496),t._extend=function(e,t){if(!t||!y(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var O="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function x(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(O&&e[O]){var t;if("function"!=typeof(t=e[O]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,O,{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;i{},9004:e=>{"use strict";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"}}')},3523:e=>{"use strict";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}')},3082:e=>{"use strict";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":"‌"}')},3195:e=>{"use strict";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":"ÿ"}')},1210:e=>{"use strict";e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},2968:e=>{"use strict";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}')},3042:e=>{"use strict";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":"‌"}')},317:e=>{"use strict";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":"ÿ"}')},1373:e=>{"use strict";e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var i=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.loaded=!0,i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};(()=>{"use strict";r.r(n),r.d(n,{AnalysisWebWorker:()=>Ol,AnalysisWorkerWrapper:()=>Rl,App:()=>mc,Assessment:()=>vs,AssessmentResult:()=>Cs,Assessor:()=>Ri,ContentAssessor:()=>ea,DIFFICULTY:()=>er,Factory:()=>vc,Paper:()=>ia,Pluggable:()=>Kl,SeoAssessor:()=>ji,SnippetPreview:()=>hc,TaxonomyAssessor:()=>ra,assessments:()=>u,bundledPlugins:()=>h,config:()=>g,createWorker:()=>Ll,default:()=>Tc,helpers:()=>c,interpreters:()=>d,languageProcessing:()=>l,markers:()=>p,values:()=>f});var e={};r.r(e),r.d(e,{filterShortcodesFromHTML:()=>pt,matchStringWithRegex:()=>Z,normalize:()=>Ie,removeHtmlBlocks:()=>ut});var t={};r.r(t),r.d(t,{hashedHtmlEntities:()=>Yr,hashedHtmlEntitiesRegexEnd:()=>Qr,hashedHtmlEntitiesRegexStart:()=>Vr,htmlEntities:()=>zr,htmlEntitiesRegex:()=>Wr});var s={};r.r(s),r.d(s,{applyAllReplacements:()=>es,doesWordMatchRegex:()=>Jn,searchAndReplaceWithRegex:()=>Zn});var i={};r.r(i),r.d(i,{checkExceptionListWithTwoStems:()=>ns,checkIfWordEndingIsOnExceptionList:()=>ts,checkIfWordIsOnListThatCanHavePrefix:()=>rs});var a={};r.r(a),r.d(a,{removeSuffixFromFullForm:()=>is,removeSuffixesFromFullForm:()=>ss});var o={};r.r(o),r.d(o,{Clause:()=>os,ProminentWord:()=>yr,Sentence:()=>fr});var l={};r.r(l),r.d(l,{AbstractResearcher:()=>Dn,areWordsInSentence:()=>ls,baseStemmer:()=>re,buildFormRule:()=>qn,collectMarkingsInSentence:()=>ln,countMetaDescriptionLength:()=>yn,createRegexFromArray:()=>J,createRulesFromArrays:()=>Gn,createSingleRuleFromArray:()=>jn,directPrecedenceException:()=>Wn,exceptionListHelpers:()=>i,findMatchingEndingInArray:()=>Xn,findWordFormsInString:()=>De,flattenSortLength:()=>Pn,getClauses:()=>ds,getClausesSplitOnStopWords:()=>gs,getFieldsToMark:()=>ms,getLanguage:()=>A,getSentences:()=>et,getWords:()=>ce,helpers:()=>e,imageInText:()=>te,indices:()=>Kn,markWordsInSentences:()=>un,matchRegularParticiples:()=>zn,mergeListItems:()=>_s,nonDirectPrecedenceException:()=>Qn,normalizeHTML:()=>fs,normalizeSingle:()=>Re,parseSynonyms:()=>Pt,precedenceException:()=>Yn,regexHelpers:()=>s,removePunctuation:()=>oe,replaceDiacritics:()=>b,sanitizeString:()=>X,stemHelpers:()=>a,stripBlockTagsAtStartEnd:()=>W,stripHTMLTags:()=>Y,stripSpaces:()=>S,transliterate:()=>C,unifyAllSpaces:()=>Q,values:()=>o});var c={};r.r(c),r.d(c,{createAnchorOpeningTag:()=>bs,formatNumber:()=>Ps,getLanguagesWithWordComplexity:()=>Fs,getLanguagesWithWordFormSupport:()=>Ds,htmlEntities:()=>t,measureTextWidth:()=>Ms});var u={};r.r(u),r.d(u,{inclusiveLanguage:()=>Pl,readability:()=>Ml,seo:()=>Dl});var h={};r.r(h),r.d(h,{usedKeywords:()=>Bl});var p={};r.r(p),r.d(p,{addMark:()=>$i,removeMarks:()=>Hl});var d={};r.r(d),r.d(d,{scoreToRating:()=>Ji});var g={};r.r(g),r.d(g,{presenter:()=>Ul});var f={};r.r(f),r.d(f,{AssessmentResult:()=>Cs,Mark:()=>jr,Paper:()=>ia});const m=window.yoast.featureFlag,_=window.wp.i18n,v=window.lodash;var T=r(2043),y=r(9539),E=r.n(y);function b(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;r":'[ \\u00a0\\u2014\\u06d4\\u061f\\u060C\\u061B\\n\\r\\t.,()”“〝〞〟‟„"+\\-;!¡?¿:/»«‹›'+r+"<>",i=t?"($|((?="+s+"]))|((['‘’‛`])("+s+"])))":"($|("+s+"])|((['‘’‛`])("+s+"])))","(^|"+s+"'‘’‛`])"+e+i}function S(e){return(e=(e=(e=(e=e.replace(/\s{2,}/g," ")).replace(/\s\.$/,".")).replace(/^\s+|\s+$/g,"")).replace(/\s。/g,"。")).replace(/。\s/g,"。")}var O=r(4429),x=r.n(O);const N=["address","article","aside","blockquote","canvas","dd","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","li","main","nav","noscript","ol","output","p","pre","section","table","tfoot","ul","video"],R=["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"],I=(new RegExp("^("+N.join("|")+")$","i"),new RegExp("^("+R.join("|")+")$","i"),new RegExp("^<("+N.join("|")+")[^>]*?>$","i")),L=new RegExp("^]*?>$","i"),M=new RegExp("^<("+R.join("|")+")[^>]*>$","i"),D=new RegExp("^]*>$","i"),P=/^<([^>\s/]+)[^>]*>$/,F=/^<\/([^>\s]+)[^>]*>$/,B=/^[^<]+$/,H=/^<[^><]*$/,U=//g;let $,K=[];const q=(0,v.memoize)((function(e){const t=[];let r=0,n="",s="",i="";return e=e.replace(U,""),K=[],$=x()((function(e){K.push(e)})),$.addRule(B,"content"),$.addRule(H,"greater-than-sign-content"),$.addRule(I,"block-start"),$.addRule(L,"block-end"),$.addRule(M,"inline-start"),$.addRule(D,"inline-end"),$.addRule(P,"other-element-start"),$.addRule(F,"other-element-end"),$.onText(e),$.end(),(0,v.forEach)(K,(function(e,a){const o=K[a+1];switch(e.type){case"content":case"greater-than-sign-content":case"inline-start":case"inline-end":case"other-tag":case"other-element-start":case"other-element-end":case"greater than sign":o&&(0!==r||"block-start"!==o.type&&"block-end"!==o.type)?s+=e.src:(s+=e.src,t.push(s),n="",s="",i="");break;case"block-start":0!==r&&(""!==s.trim()&&t.push(s),s="",i=""),r++,n=e.src;break;case"block-end":r--,i=e.src,""!==n&&""!==i?t.push(n+s+i):""!==s.trim()&&t.push(s),n="",s="",i=""}r<0&&(r=0)})),t})),j=new RegExp("^<("+N.join("|")+")[^>]*?>","i"),G=new RegExp("]*?>$","i"),z=function(e){return(e=e.replace(/^(<\/([^>]+)>)+/i,"")).replace(/(<([^/>]+)>)+$/i,"")},W=function(e){return(e=e.replace(j,"")).replace(G,"")},Y=function(e){return S(e=e.replace(/(<([^>]+)>)/gi," "))},V=function(e){return e.replace(/ /g," ")},Q=function(e){return function(e){return e.replace(/\s/g," ")}(e=function(e){return e.replace(/\u2014/g," ")}(e=V(e)))};function X(e){return e=Q(e),Y(e)}function J(e,t=!1,r="",n=!1){const s="("+(e=(0,v.map)(e,(function(e){return n&&(e=b(e)),e=X(e),t?e:k(e,!0,r)}))).join(")|(")+")";return new RegExp(s,"ig")}function Z(e,t){let r=e.match(t);return null===r&&(r=[]),r}const ee=new RegExp("]+)?>()*","ig");function te(e){return Z(e,ee)}function re(e){return e}const ne="\\–\\-\\(\\)_\\[\\]’‘“”〝〞〟‟„\"'.?!:;,¿¡«»‹›—×+&۔؟،؛。。!‼?⁇⁉⁈‥…・ー、〃〄〆〇〈〉《》「」『』【】〒〓〔〕〖〗〘〙〚〛〜〝〞〟〠〶〼〽{}|~⦅⦆「」、[]・¥$%@&'()*/:;<>\\\<>",se=ne.split(""),ie=new RegExp("^["+ne+"]+"),ae=new RegExp("["+ne+"]+$");function oe(e){e=(e=V(e)).replace("&","");const t=new RegExp("(\\\\)","g");return(e=(e=e.replace(t,"")).replace(ie,"")).replace(ae,"")}const le=new RegExp(`([${ne}])`,"g");function ce(e,t="\\s",r=!0){if(""===(e=X(e)))return[];const n=new RegExp(t,"g");let s=e.split(n);return s=r?s.map(oe):(0,v.flatMap)(s,(e=>e.replace(le," $1 ").split(" "))),(0,v.filter)(s,(function(e){return""!==e.trim()}))}function ue(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}r(8010),E().inherits(ue,Error);const he=ue;function pe(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}E().inherits(pe,Error);const de=pe;function ge(e){let t="";return"img"===e.name&&(t=S(e.attributes.alt||""),t=t.replace(/"/g,'"'),t=t.replace(/'/g,"'")),t}function fe(e){return S(e=e.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?>/g,""))}const me=[{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"}],_e=[{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"}],ve=[{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"}],Te=[{letter:/[\u00B7]/g,alternative:"ll"}],ye=[{letter:/[\u0110]/g,alternative:"DJ"},{letter:/[\u0111]/g,alternative:"dj"}],Ee=function(e){switch(e){case"de":return _e;case"da":return ve;case"ca":return Te;case"sr":case"bs":return ye;default:return[]}};function be(e,t){const r=[];if(e.indexOf(t)>-1)for(let n=0;nk(e))).join("|"),"ig")}const s=e.match(n)||[];e=e.replace(n,"");const i=C(t,r),a=Se(i,r),o=e.match(a)||[];let l=s.concat(o);const c=function(e,t){const r=function(e){if((0,v.isUndefined)(e))return[];let t=me;return t=t.concat(Ee(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=Se(c,r),n=e.match(t)||[];l=l.concat(n)}return(0,v.map)(l,(function(e){return S(e)}))}const xe=["'","‘","’","‛","`","‹","›"],Ne=new RegExp("["+xe.join("")+"]","g");function Re(e){return e.replace(Ne,"'")}function Ie(e){return function(e){return e.replace(/[“”〝〞〟‟„『』«»]/g,'"')}(Re(e))}function Le(e,t,r,n){e=fe(e),e=Ie(e=Q(e)),t=Ie(t);let s=n?n(e,t):Oe(e,t,r);s=(0,v.map)(s,(function(e){return S(oe(e))}));const i=(0,v.map)(s,(function(t){return e.indexOf(t)}));return{count:s.length,matches:s,position:0===i.length?-1:Math.min(...i)}}function Me(e,t,r="en_EN",n){let s=0,i=[],a=[];return(0,v.uniq)(t).forEach((function(t){const o=Le(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 De=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=(0,v.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},Pe=function(e,t,r,n,s){let i=De(e.keyphraseForms,t,n,s);if(i.keyphraseOrSynonym="keyphrase",100===i.percentWordMatches||!1===r||(0,v.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};function Fe(e){const t=e.getTree();return t?t.findAll((e=>"img"===e.name)):[]}function Be(e,t){const r=Fe(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=ge(e);""!==i?(0,v.isEmpty)(t.keyphraseForms)?s.withAlt++:Pe(t,i,!0,r,n).percentWordMatches>=50?s.withAltKeyword++:s.withAltNonKeyword++:s.noAlt++})),s}(r,n,e.getLocale(),s)}const He=new RegExp("^[.]$"),Ue=/^<[^><]*$/,$e=/^<([^>\s/]+)[^>]*>$/im,Ke=/^<\/([^>\s]+)[^>]*>$/im,qe=/^\s*[[({]\s*$/,je=/^\s*[\])}]\s*$/,Ge=J(["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(".","\\.")))),ze="(^|$|["+[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"].map((e=>"\\"+e)).join("")+"])",We=new RegExp(ze+"[A-Za-z]$"),Ye=/<\/?([^\s]+?)(\s|>)/,Ve=["p","div","h1","h2","h3","h4","h5","h6","span","li","main"];class Qe{constructor(){this.sentenceDelimiters='”〞〟„』›»’‛`"?!…۔؟'}getSentenceDelimiters(){return this.sentenceDelimiters}isNumber(e){return!(0,v.isNaN)(parseInt(e,10))}isBreakTag(e){return/<\/?br/.test(e)}isQuotation(e){return"'"===(e=Ie(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(0,v.isUndefined)(e[0])||(t+=e[0].src),(0,v.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!(0,v.isUndefined)(e)&&("html-start"===e.type||"html-end"===e.type||"block-start"===e.type)}isSentenceEnding(e){return!(0,v.isUndefined)(e)&&("full-stop"===e.type||"sentence-delimiter"===e.type)}isPartOfPersonInitial(e,t,r,n){return!(0,v.isUndefined)(e)&&!(0,v.isUndefined)(r)&&!(0,v.isUndefined)(n)&&!(0,v.isUndefined)(t)&&"full-stop"===e.type&&"sentence"===t.type&&We.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]=(0,v.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=x()((function(e){r.push(e)}));return n.addRule(He,"full-stop"),n.addRule(Ue,"smaller-than-sign-content"),n.addRule($e,"html-start"),n.addRule(Ke,"html-end"),n.addRule(qe,"block-start"),n.addRule(je,"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(Ge);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(Ye)[1];return s===n.match(Ye)[1]&&Ve.includes(s)}getSentencesFromTokens(e,t=!0){let r,n,s=[],i="";do{n=!1;const t=e[0],r=e[e.length-1];t&&r&&"html-start"===t.type&&"html-end"===r.type&&this.isValidTagPair(t,r)&&(e=e.slice(1,e.length-1),n=!0)}while(n&&e.length>1);return e.forEach(((t,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,r=a?o[1]:"",t.type){case"html-start":case"html-end":this.isBreakTag(t.src)?(s.push(i),i=""):i+=t.src;break;case"smaller-than-sign-content":l=this.tokenizeSmallerThanContent(t,s,i),s=l.tokenSentences,i=l.currentSentence;break;case"sentence":case"block-start":i+=t.src;break;case"sentence-delimiter":if(i+=t.src,!(0,v.isUndefined)(c)&&"block-end"!==c.type&&"sentence-delimiter"!==c.type&&this.isCharacterASpace(c.src[0])){if(this.isQuotation(t.src)&&u&&"."!==u.src)break;this.isQuotation(t.src)||"…"===t.src?i=this.getValidSentence(a,r,o,c,s,i):(s.push(i),i="")}break;case"full-stop":if(i+=t.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,r=a?o[1]:"",this.endsWithAbbreviation(i))break;if(a&&this.isNumber(o[0]))break;if(this.isPartOfPersonInitial(t,u,c,h))break;if(this.endsWithOrdinalDot(i))break;i=this.getValidSentence(a,r,o,c,s,i);break;case"block-end":if(i+=t.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,r=a?o[0]:"",a&&this.isNumber(o[0])||this.isSentenceEnding(u)&&!this.isValidSentenceBeginning(r)&&!this.isSentenceStart(c))break;this.isSentenceEnding(u)&&(this.isSentenceStart(c)||this.isValidSentenceBeginning(r))&&(s.push(i),i="")}})),""!==i&&s.push(i),t&&(s=(0,v.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)}}const Xe=(0,v.memoize)((function(e,t=!0){const r=new Qe,{tokenizer:n,tokens:s}=r.createTokenizer();return r.tokenize(n,e),0===s.length?[]:r.getSentencesFromTokens(s,t)}),((...e)=>JSON.stringify(e))),Je=new RegExp("\n\r|\n|\r"),Ze=new RegExp("^(

    |

    )$");function et(e,t=Xe){e=(e=V(e)).replace(ee,"");let r=q(e);r=(0,v.flatMap)(r,(function(e){return e.split(Je)})),r=r.filter((e=>!Ze.test(e)));let n=r.map((e=>t(e))).flat();return n=n.map((e=>W(e).trim())),(0,v.filter)(n,(0,v.negate)(v.isEmpty))}function tt(e){return ce(e).length}var rt=r(3719),nt=r.n(rt);let st=[],it=!1,at=[];const ot=["script","style","code","pre","blockquote","textarea"],lt=["yoast-table-of-contents","yoast-reading-time__wrapper","elementor-button-wrapper","elementor-divider","elementor-spacer","elementor-custom-embed","elementor-icon-wrapper","elementor-icon-box-wrapper","elementor-counter","elementor-progress-wrapper","elementor-alert","elementor-soundcloud-wrapper","elementor-shortcode","elementor-menu-anchor","elementor-title"],ct=new(nt().Parser)({onopentag:function(e,t){if(it)return void at.push(e);const r=t.class?t.class.split(" "):[];if(ot.includes(e)||r.some((e=>lt.includes(e))))return it=!0,void at.push(e);const n=Object.keys(t);let s="";n.forEach((function(e){s+=" "+e+"='"+t[e]+"'"})),st.push("<"+e+s+">")},ontext:function(e){it||st.push(e)},onclosetag:function(e){if(1===at.length&&at[0]===e)return it=!1,void(at=[]);it?at.pop():st.push("")}},{decodeEntities:!0});function ut(e){return st=[],it=!1,at=[],ct.write(e),ct.parseComplete(),st.join("")}const ht=e=>{const t=`\\[\\/?(${e.join("|")})[^\\]]*\\]`;return new RegExp(t,"g")},pt=(e,t)=>{if(!t||0===t.length)return e;const r=ht(t);return e.replace(r,"")},dt=(e,t,r,n)=>n&&r.includes(e[t].text)&&(((e,t)=>e[t-1]&&"["===e[t-1].text)(e,t)||((e,t)=>e[t-1]&&"/"===e[t-1].text&&e[t-2]&&"["===e[t-2].text)(e,t)),gt=(e,t,r)=>{e.sentences&&e.sentences.forEach((e=>{((e,t,r)=>{const n=e.tokens;let s=!1;for(let e=n.length-1;e>=0;e--)if("]"===n[e].text&&(s=!0),dt(n,e,t,s)){for(;"]"!==n[e].text;)n.splice(e,1);for(n.splice(e,1),s=!1;n[e-1]&&"[/".includes(n[e-1].text);)n.splice(e-1,1),e--}e.tokens=n,e.text=e.text.replace(r,"")})(e,t,r)})),e.childNodes&&e.childNodes.forEach((e=>{gt(e,t,r)}))};function ft(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=ut(n),n=pt(n,e._attributes&&e._attributes.shortcodes),function(e,t){const r=[];return(0,v.forEach)(e,(function(e){const n=Y(e),s=t.getHelper("customCountLength"),i=s?s(n):tt(n);i<=0||r.push({sentence:e,sentenceLength:i})})),r}(et(n,r),t)}function mt(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((0,v.isEmpty)(r))return a;const o=r.sentences.map((e=>e.text));if(!(0,v.isEmpty)(o)){const e=o.map((e=>Pe(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=Pe(n,r.innerText(),!0,i,s);if(100===t.percentWordMatches)return a.foundInParagraph=!0,a.keyphraseOrSynonym=t.keyphraseOrSynonym,a}return a}const _t=["“","”","〝","〞","〟","‟","„",'"',"「","」","『","』"],vt=e=>(0,v.includes)(_t,e[0])&&(0,v.includes)(_t,e[e.length-1]);function Tt(e){const t={exactMatchRequested:!1,keyphrase:e};return vt(e)&&(t.keyphrase=e.substring(1,e.length-1),t.exactMatchRequested=!0),t}const yt="[\\s\\u2013\\u002d]",Et="[\\s\\u2013]";let bt=[];const At=function(e,t){return 0===t||0===bt.length?t:function(e){let t=ce((e=e.toLocaleLowerCase()).toLocaleLowerCase(),yt);return t=(0,v.filter)(t,(function(e){return!(0,v.includes)(bt,e.trim().toLocaleLowerCase())})),(0,v.isEmpty)(t)}(e.substr(0,t))?0:t},wt=function(e,t){bt=t.getConfig("functionWords");let r=(0,v.escapeRegExp)(e.getKeyword());const n=e.getTitle(),s=e.getLocale(),i={exactMatchFound:!1,allWordsFound:!1,position:-1,exactMatchKeyphrase:!1},a=Tt(r);a.exactMatchRequested&&(r=a.keyphrase,i.exactMatchKeyphrase=!0);const o=Le(n,r,s,!1);if(o.count>0)return i.exactMatchFound=!0,i.allWordsFound=!0,i.position=At(n,o.position),i;if(!o){const e=r;return e.count>0&&(i.exactMatchFound=!0,i.allWordsFound=!0,i.position=At(n,e.position)),i}const l=t.getResearch("morphology");return 100===Pe(l,n,!1,s,!1).percentWordMatches&&(i.allWordsFound=!0),i},Ct=[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"],kt=function(e){return(0,v.includes)(Ct,e)},St=function(e,t){e=e.toLocaleLowerCase(),t=t.toLocaleLowerCase();const r=k((0,v.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=kt(t[n-1])||0===n,a=kt(t[s])||s===t.length;return i&&a};let Ot=null,xt="";function Nt(e){const t=(0,v.flattenDeep)(e).join("");return xt===t&&null!==Ot||(xt=t,Ot=function(e){const t="("+(e=e.map((function(e){return function(e){return(e=e.map((function(e){return k(e)}))).join("(.*?)")}(e)}))).join(")|(")+")";return new RegExp(t,"ig")}(e)),Ot}function Rt(e,t){const r=t.getHelper("matchTransitionWordsHelper"),n=t.getConfig("transitionWords"),s=t.getConfig("twoPartTransitionWords"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=ut(a),a=pt(a,e._attributes&&e._attributes.shortcodes);const o=et(a,i),l=function(e,t,r,n){const s=[];return e.forEach((e=>{if(r){const t=function(e,t){e=Re(e);const r=Nt(t);return e.match(r)}(e,r);if(null!==t)return void s.push({sentence:e,transitionWords:t})}const i=n?n(e,t):function(e,t){return e=Re(e),t.filter((t=>St(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}}function It(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getWordsCustomHelper"),s=e.getKeyword();if(Tt(s).exactMatchRequested)return!1;let i=n?n(s):ce(s,yt);return i=(0,v.filter)(i,(function(e){return!(0,v.includes)(r,e.trim().toLocaleLowerCase())})),(0,v.isEmpty)(i)}const Lt="[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+",Mt=new RegExp("^"+Lt),Dt=new RegExp(Lt+"$");function Pt(e){let t=e.split(",");return t=t.map((e=>S(e).replace(Mt,"").replace(Dt,""))).filter((e=>e)),t}var Ft=r(8575);const Bt=/href=(["'])([^"']+)\1/i;function Ht(e){return e.split("#")[0]}function Ut(e){return e.split("?")[0]}function $t(e){return e.replace(/\/$/,"")}function Kt(e){return $t(e)+"/"}const qt={removeHash:Ht,removeQueryArgs:Ut,removeTrailingSlash:$t,addTrailingSlash:Kt,getFromAnchorTag:function(e){const t=Bt.exec(e);return null===t?"":t[2]},areEqual:function(e,t){return e=Ut(Ht(e)),t=Ut(Ht(t)),Kt(e)===Kt(t)},getHostname:function(e){return(e=Ft.parse(e)).hostname},getProtocol:function(e){return Ft.parse(e).protocol},isInternalLink:function(e,t){const r=Ft.parse(e,!1,!0).hostname;return-1===e.indexOf("//")&&0===e.indexOf("/")||0!==e.indexOf("#")&&(!r||r===t||r===Ft.parse(t).hostname)},protocolIsHttpScheme:function(e){return!!e&&("http:"===e||"https:"===e)},isRelativeFragmentURL:function(e){return 0===e.indexOf("#")}};let jt=[];function Gt(e,t){jt=t.getConfig("functionWords");const r=t.getConfig("areHyphensWordBoundaries"),n={anchorsWithKeyphrase:[],anchorsWithKeyphraseCount:0};if(""===e.getText())return n;const s=e.getKeyword();if(""===s)return n;const i=Pt(e.getSynonyms());i.push(s);let a=e.getTree().findAll((e=>"a"===e.name));if(a=function(e,t){const r=e.map((function(e){const r=e.attributes.href;return!!r&&function(e,t){return Boolean(qt.areEqual(e,t)||qt.isRelativeFragmentURL(e))}(r,t)}));return e.filter(((e,t)=>!r[t]))}(a,e.getPermalink()),0===a.length)return n;const o=e.getLocale(),l=t.getResearch("morphology"),c={matchWordCustomHelper:t.getHelper("matchWordCustomHelper"),getWordsCustomHelper:t.getHelper("getWordsCustomHelper")};return a=function(e,t,r,n){const s=e.map((function(e){const s=e.innerText();return 100===Pe(t,s,!0,r,n).percentWordMatches}));return e.filter(((e,t)=>s[t]))}(a,l,o,c.matchWordCustomHelper),0===a.length?n:(a=function(e,t,r,n,s,i){const a=n.matchWordCustomHelper,o=n.getWordsCustomHelper,l=[(0,v.flatten)(t.keyphraseForms)];t.synonymsForms.forEach((e=>l.push((0,v.flatten)(e))));const c=[];return e.forEach((function(e){const t=e.innerText();let n;n=o?(0,v.uniq)(o(t)):i?(0,v.uniq)(ce(t,yt)):(0,v.uniq)(ce(t,Et));const u=function(e,t=[]){return(0,v.filter)(e,(function(e){return!(0,v.includes)(t,e.trim().toLocaleLowerCase())}))}(n,jt);u.length>0&&(n=u),s.forEach((e=>{e.exactMatchRequested&&n.every((t=>e.keyphrase.includes(t)))&&c.push(!0)}));for(let e=0;eMe(e,t,r,a).count>0))){c.push(!0);break}}})),e.filter(((e,t)=>c[t]))}(a,l,o,c,i.map((e=>Tt(e))),r),{anchorsWithKeyphrase:a,anchorsWithKeyphraseCount:a.length})}const zt=function(e){this._hasRegex=!1,this._regex="",this._multiplier="",this.createRegex(e)};zt.prototype.hasRegex=function(){return this._hasRegex},zt.prototype.createRegex=function(e){(0,v.isUndefined)(e)||(0,v.isUndefined)(e.fragments)||(this._hasRegex=!0,this._regex=J(e.fragments,!0),this._multiplier=e.countModifier)},zt.prototype.getRegex=function(){return this._regex},zt.prototype.countSyllables=function(e){return this._hasRegex?(e.match(this._regex)||[]).length*this._multiplier:0};const Wt=zt,Yt=function(e){this.countSteps=[],(0,v.isUndefined)(e)||this.createSyllableCountSteps(e.deviations.vowels)};Yt.prototype.createSyllableCountSteps=function(e){(0,v.forEach)(e,function(e){this.countSteps.push(new Wt(e))}.bind(this))},Yt.prototype.getAvailableSyllableCountSteps=function(){return this.countSteps},Yt.prototype.countSyllables=function(e){let t=0;return(0,v.forEach)(this.countSteps,(function(r){t+=r.countSyllables(e)})),t};const Vt=Yt;function Qt(e){this._location=e.location,this._fragment=e.word,this._syllables=e.syllables,this._regex=null,this._options=(0,v.pick)(e,["notFollowedBy","alsoFollowedBy"])}Qt.prototype.createRegex=function(){let e="";const t=this._options;let r=this._fragment;switch((0,v.isUndefined)(t.notFollowedBy)||(r+="(?!["+t.notFollowedBy.join("")+"])"),(0,v.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)},Qt.prototype.getRegex=function(){return null===this._regex&&this.createRegex(),this._regex},Qt.prototype.occursIn=function(e){return this.getRegex().test(e)},Qt.prototype.removeFrom=function(e){return e.replace(this._fragment," ")},Qt.prototype.getSyllables=function(){return this._syllables};const Xt=Qt,Jt=(0,v.memoize)((function(e){let t=[];const r=e.deviations;return t=(0,v.flatMap)(r.words.fragments,(function(e,t){return(0,v.map)(e,(function(e){return e.location=t,new Xt(e)}))})),t})),Zt=function(e,t){let r=0;if(!(0,v.isUndefined)(t.deviations)&&!(0,v.isUndefined)(t.deviations.words)){if(!(0,v.isUndefined)(t.deviations.words.full)){const r=function(e,t){const r=t.deviations.words.full,n=(0,v.find)(r,(function(t){return t.word===e}));return(0,v.isUndefined)(n)?0:n.syllables}(e,t);if(0!==r)return r}if(!(0,v.isUndefined)(t.deviations.words.fragments)){const n=function(e,t){const r=Jt(t);let n=e,s=0;return(0,v.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+=(0,v.filter)(s,(function(e){return""!==e})).length,r}(e,t),(0,v.isUndefined)(t.deviations)||(0,v.isUndefined)(t.deviations.vowels)||(r+=function(e,t){return new Vt(t).countSyllables(e)}(e,t)),r}(e,t),r},er={NO_DATA:-1,VERY_EASY:0,EASY:1,FAIRLY_EASY:2,OKAY:3,FAIRLY_DIFFICULT:4,DIFFICULT:5,VERY_DIFFICULT:6};function tr(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:er.NO_DATA};i=function(e){return"."===(e=S(e=e.replace(/\b[0-9]+\b/g,"")))&&(e=""),e}(i);const a=function(e,t){const r=et(e,t);let n=0;for(let e=0;e=t.borders.veryEasy?er.VERY_EASY:(0,v.inRange)(e,t.borders.easy,t.borders.veryEasy)?er.EASY:(0,v.inRange)(e,t.borders.fairlyEasy,t.borders.easy)?er.FAIRLY_EASY:(0,v.inRange)(e,t.borders.okay,t.borders.fairlyEasy)?er.OKAY:(0,v.inRange)(e,t.borders.fairlyDifficult,t.borders.okay)?er.FAIRLY_DIFFICULT:(0,v.inRange)(e,t.borders.difficult,t.borders.fairlyDifficult)?er.DIFFICULT:er.VERY_DIFFICULT}(h,s);return{score:h,difficulty:p}}function rr(e){return e.sourceCodeLocation&&(e.sourceCodeLocation.startTag&&e.sourceCodeLocation.startTag.endOffset||e.sourceCodeLocation.startOffset)||0}function nr(e){return e.getTree().findAll((e=>!!e.sentences)).flatMap((t=>t.sentences.map((r=>{let n=t;return t.isImplicit&&(n=function(e,t){return e.getTree().findAll((e=>e.childNodes&&e.childNodes.includes(t)))[0]||t}(e,t)),{...r,parentStartOffset:rr(n),parentClientId:n.clientId||"",parentAttributeId:t.attributeId||"",isParentFirstSectionOfBlock:t.isFirstSection||!1}}))))}function sr(e){const t=nr(e).map((e=>e.tokens));let r=(0,v.flatMap)(t).map((e=>e.text));return r=r.map((e=>oe(e))),r.filter((e=>""!==e.trim()))}function ir(e,t){const r=t.getHelper("getWordsCustomHelper");let n=0;return n=r?r(e.getText()).length:sr(e).length,0===n?0:t.getResearch("getKeyphraseCount").count/n*100}function ar(e,t){return console.warn("This function is deprecated, use getKeyphraseDensity instead."),ar(e,t)}function or(e){let t;return t=e.match(/]+)>((?:.|[\n\r\u2028\u2029])*?)<\/a>/gi),null===t&&(t=[]),t}function lr(e){const t=or(e.getText());return(0,v.map)(t,qt.getFromAnchorTag)}function cr(e){let t="Dofollow";const r=new(nt().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}function ur(e,t){const r=qt.getFromAnchorTag(e),n=qt.getProtocol(r);return n&&!qt.protocolIsHttpScheme(n)||qt.isRelativeFragmentURL(r)?"other":qt.isInternalLink(r,t)?"internal":"external"}function hr(e){const t=or(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=(0,v.reject)(t,(e=>0===e.sentences.length)),t=(0,v.reject)(t,(e=>e.childNodes.every((e=>"a"===e.name)))),t}function dr(e,t){let r=e.getText();r=ut(r),r=pt(r,e._attributes&&e._attributes.shortcodes),r=r.replace(ee,""),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=(0,v.map)(t,(function(e){return e[1]})),t.filter((e=>e.length>0))}(e);if(t.length>0)return t;let r=q(e);return r=(0,v.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):tt(e),text:e})})),(0,v.filter)(s,(function(e){return e.countLength>0}))}class gr{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 gr(e.sentenceText);return t.setClauses(e.clauses),t.setPassive(e.isPassive),t}}const fr=gr,mr=function(e,t){const r=t.getHelper("isPassiveSentence");let n=e.getText();n=ut(n),n=pt(n,e._attributes&&e._attributes.shortcodes);const s=et(n,t.getHelper("memoizedTokenizer")).map((function(e){return new fr(e)})),i=s.length,a=[];return(0,v.forEach)(s,(function(e){const t=Y(e.getSentenceText()).toLocaleLowerCase();e.setPassive(r(t)),!0===e.isPassive()&&a.push(e.getSentenceText())})),{total:i,passives:a}},_r=function(e,t){const r=t.getHelper("getClauses");let n=e.getText();n=ut(n),n=pt(n,e._attributes&&e._attributes.shortcodes);const s=et(n,t.getHelper("memoizedTokenizer")).map((function(e){return new fr(e)})),i=s.length,a=[];return(0,v.forEach)(s,(function(e){const t=Y(e.getSentenceText()).toLocaleLowerCase(),n=r(t);e.setClauses(n),e.isPassive()&&a.push(e.getSentenceText())})),{total:i,passives:a}};function vr(e,t){const r=t.getConfig("passiveConstructionType");return"periphrastic"===r?_r(e,t):"morphological"===r?mr(e,t):function(e,t){const r=mr(e,t),n=_r(e,t).passives;return{total:r.total,passives:n.concat(r.passives)}}(e,t)}function Tr(e,t,r){this._word=e,this._stem=t||e,this._occurrences=r||0}Tr.prototype.setWord=function(e){this._word=e},Tr.prototype.getWord=function(){return this._word},Tr.prototype.getStem=function(){return this._stem},Tr.prototype.setOccurrences=function(e){this._occurrences=e},Tr.prototype.getOccurrences=function(){return this._occurrences},Tr.prototype.serialize=function(){return{_parseClass:"ProminentWord",word:this._word,stem:this._stem,occurrences:this._occurrences}},Tr.parse=function(e){return new Tr(e.word,e.stem,e.occurrences)};const yr=Tr,Er=/[1234567890‘’“”"'.…?!:;,¿¡«»&*@#±^%$|~=+§`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\s]/g;function br(e,t=2){return e.filter((function(e){return e.getOccurrences()>=t&&""!==e.getWord().replace(Er,"")}))}function Ar(e){e.sort((function(e,t){const r=t.getOccurrences()-e.getOccurrences();return 0!==r?r:e.getStem().localeCompare(t.getStem())}))}function wr(e){if(0===e.length)return[];e.sort((function(e,t){return e.getStem().localeCompare(t.getStem())}));const t=[];let r=new yr(e[0].getWord(),e[0].getStem(),e[0].getOccurrences());for(let n=1;n1&&e.length<5&&e===e.toLocaleUpperCase()&&r.push(e.toLocaleLowerCase())})),(0,v.uniq)(r)}function kr(e,t,r,n){if(0===e.length)return[];const s=(0,v.uniq)(e.filter((e=>!n.includes(e.trim())))),i=[];return s.forEach((function(n){t.includes(n)?i.push(new yr(n.toLocaleUpperCase(),n,e.filter((e=>e===n)).length)):i.push(new yr(n,r(n),e.filter((e=>e===n)).length))})),wr(i)}const Sr=(0,v.memoize)(((e,t,r,n)=>kr(e,t,r,n)),((e,t)=>e.join(",")+","+t.join(",")));function Or(e,t,r,n,s){if(""===e)return[];const i=s?s(Re(e).toLocaleLowerCase()):ce(Re(e).toLocaleLowerCase());return Sr(i,t,r,n)}const xr=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");function Nr(e){return e.replace(xr,"")}const Rr=new RegExp("[^\\s@]+@[^\\s@]+\\.[^\\s@]+","igm");function Ir(e){return e.replace(Rr,"")}const Lr=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=Nr(a),a=Ir(a);const o=wr(Or(a,i?[]:Cr(a),s,r,i));return Ar(o),(0,v.take)(br(o,5),20)};function Mr(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}function Dr(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}const Pr=function(e){return Ir(e=Nr(e))},Fr=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=Pr(e.getText()),l=Pr(e.getDescription()),c=Pr(e.getTitle()),u={};if(u.hasMetaDescription=""!==l,u.hasTitle=""!==c,u.prominentWords=[],a){if(a(o)<200)return u}else if(tt(o)<100)return u;const h=Dr(o).map((e=>e[2])),p=[e.getKeyword(),e.getSynonyms(),c,l,h.join(" ")],d=i?[]:Cr(o.concat(p.join(" "))),g=Or(function(e){return e.replace(/]+)?>(.*?)<\/h\1>/gi,"")}(o),d,s,r,i),f=function(e,t,r,n,s){return kr(s?s(e.join(" ").toLocaleLowerCase()):ce(e.join(" ").toLocaleLowerCase()),t,r,n)}(p,d,s,r,i);f.forEach((e=>e.setOccurrences(3*e.getOccurrences())));const m=wr(f.concat(g));Ar(m);let _=4;return s===re&&(_=2),u.prominentWords=(0,v.take)(br(m,_),100),u};function Br(e,t){const r=t.getConfig("firstWordExceptions"),n=t.getConfig("secondWordExceptions"),s=t.getHelper("getWordsCustomHelper"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=ut(a),a=pt(a,e._attributes&&e._attributes.shortcodes),a=a.replace(/[\s\n]+/g," "),a=a.replace(/

    .*<\/figure>/gs,""),a=a.replace(/]+)?>(.*?)<\/li>/gi,"");let o=et(a,i),l=o.map((function(e){return function(e,t,r,n){const s=Y(S(e)),i=n?n(s):ce(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=S(e);return(s?s(t):ce(t)).length>0})),l=(0,v.filter)(l),function(e,t){const r=[];let n=[],s=1;return(0,v.forEach)(e,(function(i,a){const o=i,l=e[a+1];n.push(t[a]),function(e,t){return!(0,v.isEmpty)(e)&&e===t}(o,l)?s++:(r.push({word:o,count:s,sentences:n}),s=1,n=[])})),r}(l,o)}function Hr(e,t){let r=e.getText();r=ut(r),r=pt(r,e._attributes&&e._attributes.shortcodes);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=(0,v.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=[];(0,v.forEach)(n,(function(e){i.push({subheading:e.subheading,text:e.text,countLength:s?s(e.text):tt(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):tt(o)}return a>0&&""!==o&&i.unshift({subheading:"",text:o,countLength:a}),i}function Ur(e){return e.getTree().findAll((e=>"h1"===e.name)).map((e=>({tag:"h1",content:e.findAll((e=>"#text"===e.name)).map((e=>e.value)).join(""),position:{startOffset:e.sourceCodeLocation.startTag.endOffset,endOffset:e.sourceCodeLocation.endTag.startOffset,clientId:e.clientId||""}}))).filter((e=>!!e.content))}function $r(e){return Fe(e).length}function Kr(e,t){const r=t.getResearch("morphology"),n=t.getConfig("functionWords");return{keyphraseLength:r.keyphraseForms.length,functionWords:n}}function qr(e){(0,v.defaults)(e,{original:"",marked:"",fieldsToMark:[]}),this._properties=e,this.isValid()}qr.prototype.getOriginal=function(){return this._properties.original},qr.prototype.getMarked=function(){return this._properties.marked},qr.prototype.getFieldsToMark=function(){return this._properties.fieldsToMark},qr.prototype.getPosition=function(){return this._properties.position},qr.prototype.getPositionStart=function(){return this._properties.position&&this._properties.position.startOffset},qr.prototype.getPositionEnd=function(){return this._properties.position&&this._properties.position.endOffset},qr.prototype.setPositionStart=function(e){this._properties.position.startOffset=e},qr.prototype.setPositionEnd=function(e){this._properties.position.endOffset=e},qr.prototype.setBlockPositionStart=function(e){this._properties.position.startOffsetBlock=e},qr.prototype.setBlockPositionEnd=function(e){this._properties.position.endOffsetBlock=e},qr.prototype.getBlockClientId=function(){return this._properties.position&&this._properties.position.clientId},qr.prototype.getBlockAttributeId=function(){return this._properties.position&&this._properties.position.attributeId},qr.prototype.isMarkForFirstBlockSection=function(){return this._properties.position&&this._properties.position.isFirstSection},qr.prototype.getBlockPositionStart=function(){return this._properties.position&&this._properties.position.startOffsetBlock},qr.prototype.getBlockPositionEnd=function(){return this._properties.position&&this._properties.position.endOffsetBlock},qr.prototype.applyWithReplace=function(e){return e.split(this._properties.original).join(this._properties.marked)},qr.prototype.applyWithPosition=function(e){const t=this.getPositionEnd()+35;return(e=e.substring(0,this.getPositionStart())+""+e.substring(this.getPositionStart())).substring(0,t)+""+e.substring(t)},qr.prototype.serialize=function(){return{_parseClass:"Mark",...this._properties}},qr.prototype.isValid=function(){if(!(0,v.isUndefined)(this.getPositionStart())&&this.getPositionStart()<0)throw new RangeError("positionStart should be larger or equal than 0.");if(!(0,v.isUndefined)(this.getPositionEnd())&&this.getPositionEnd()<=0)throw new RangeError("positionEnd should be larger than 0.");if(!(0,v.isUndefined)(this.getPositionStart())&&!(0,v.isUndefined)(this.getPositionEnd())&&this.getPositionStart()>=this.getPositionEnd())throw new RangeError("The positionStart should be smaller than the positionEnd.");if((0,v.isUndefined)(this.getPositionStart())&&!(0,v.isUndefined)(this.getPositionEnd())||(0,v.isUndefined)(this.getPositionEnd())&&!(0,v.isUndefined)(this.getPositionStart()))throw new Error("A mark object should either have start and end defined or start and end undefined.")},qr.prototype.hasPosition=function(){return!(0,v.isUndefined)(this.getPositionStart())},qr.prototype.hasBlockPosition=function(){return!(0,v.isUndefined)(this.getBlockPositionStart())},qr.parse=function(e){return delete e._parseClass,new qr(e)};const jr=qr,Gr=function(e,t){if(0===t.length)return[];const r=((e,t)=>{const r=e.tokens,n=[];for(let e=r.length-1;e>=0;e--){const s=r[e];t.some((e=>e.sourceCodeRange.startOffset===s.sourceCodeRange.startOffset||e.sourceCodeRange.endOffset===s.sourceCodeRange.endOffset))?n.unshift("",s.text,""):n.unshift(s.text)}return n.join("").replace(new RegExp("([  ]?)","ig"),"$1")})(e,t);return(e=>{const t=[];return e.sort((function(e,t){return e.getPositionStart()-t.getPositionStart()})),e.forEach((e=>{if(0===t.length)return void t.push(e);const r=t[t.length-1];r.getPositionEnd()+1===e.getPositionStart()||e.getPositionStart()<=r.getPositionEnd()?(r.setPositionEnd(e.getPositionEnd()),r.setBlockPositionEnd(e.getBlockPositionEnd())):t.push(e)})),t})(t.map((t=>{const n=t.sourceCodeRange.startOffset,s=t.sourceCodeRange.endOffset;return new jr({position:{startOffset:n,endOffset:s,startOffsetBlock:n-(e.parentStartOffset||0),endOffsetBlock:s-(e.parentStartOffset||0),clientId:e.parentClientId||"",attributeId:e.parentAttributeId||"",isFirstSection:e.isParentFirstSectionOfBlock||!1},marked:r,original:e.text})})))},zr=new Map([["amp;","&"],["lt;","<"],["gt;",">"],["quot;",'"'],["apos;","'"],["ndash;","–"],["mdash;","—"],["copy;","©"],["reg;","®"],["trade;","™"],["pound;","£"],["yen;","¥"],["euro;","€"],["dollar;","$"],["deg;","°"],["asymp;","≈"],["ne;","≠"],["nbsp;"," "]]),Wr=new RegExp("&("+[...zr.keys()].join("|")+")","ig"),Yr=new Map;zr.forEach(((e,t)=>Yr.set("#"+t,e)));const Vr=new RegExp("^("+[...Yr.keys()].join("|")+")"),Qr=new RegExp("("+[...Yr.keys()].join("|")+")$"),Xr=/([\s\t\u00A0\u2013\u2014\u002d[\]]|#nbsp;)/,Jr=e=>{if(!e)return[];return(e=>{const t=[];return e.forEach((e=>{const r=[],n=[];for(;ie.test(e)&&!Vr.test(e);)r.push(e[0]),e=e.slice(1);for(;ae.test(e)&&!Qr.test(e);)n.unshift(e[e.length-1]),e=e.slice(0,-1);let s=[...r,e,...n];s=s.filter((e=>""!==e)),t.push(...s)})),t})(e.split(Xr).filter((e=>""!==e)))},Zr=(e,t,r,n,s=!1,i)=>s&&!n?((e,t,r,n)=>{const s={count:0,matches:[]},i=((e,t)=>{const r=e[0];return t?t(r):Jr(r)})(t,n),a=e.tokens;let o=0,l=0,c=[];for(;l0?(c.push(a[l]),o++):(o=0,c=[]),c.length===i.length&&(s.matches.push(...c),s.count++,o=0,c=[]),l++}return s})(e,t,r,i):((e,t,r,n)=>{const s={count:0,matches:[]};return t.forEach((t=>{let i=[];i=n?n(e,t):((e,t,r)=>{let n=[];return e.forEach((e=>{Oe(e.text,t,r).length>0&&(n=n.concat(e))})),n})(e.tokens.slice(),t,r),s.count+=i.length,s.matches=s.matches.concat(i)})),s})(e,t,r,n),en="[ \\u00a0\\u06d4\\u061f\\u060C\\u061B \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>]",tn=new RegExp("^("+en+"+)","ig"),rn=new RegExp("("+en+"+$)","ig"),nn=function(e){return e.replace(tn,"")},sn=function(e){return e.replace(rn,"")};function an(e){const t=nn(e);let r="",n="";if(t!==e){const n=e.search((0,v.escapeRegExp)(t));r=e.substr(0,n)}const s=sn(t);if(s!==t){const e=t.search((0,v.escapeRegExp)(s))+s.length;n=t.substr(e)}return r+""+s+""+n}const on=/(]+>)([^]*?)(<\/a>)/,ln=function(e,t,r){const n=[];t.forEach((e=>{const t=e.match(Ne);t?xe.forEach((r=>{t.forEach((t=>{n.push((0,v.escapeRegExp)(e.replace(new RegExp(t,"g"),r)))}))})):n.push((0,v.escapeRegExp)(e))}));const s=r?J(n,!0):J(n),{anchors:i,markedAnchors:a}=function(e,t){const r=or(e),n=r.map((e=>{const{openTag:r,content:n}=function(e){const[,t,r]=e.match(on);return{openTag:t,content:r}}(e);return function(e,t){return`${e}${t}`}(r,n.replace(t,(e=>an(e))))}));return{anchors:r,markedAnchors:n}}(e,s);let o=e.replace(s,(function(e){return an(e)}));if(i.length>0){const e=or(o);for(let t=0;t ","ig")," ")};function cn(e,t,r){return[new jr({original:e,marked:ln(e,t,r)})]}function un(e,t,r,n){let s=[],i=[];return t.forEach((function(t){s=Me(t,e,r,n).matches,s.length>0&&(i=i.concat(cn(t,s,n)))})),i}function hn(e,t){const r={count:0,markings:[],keyphraseLength:0};let n=t.getResearch("morphology").keyphraseForms;const s=n.length;if(n=n.map((e=>e.map((e=>Re(e))))),0===s)return r;const i=t.getHelper("matchWordCustomHelper"),a=t.getHelper("memoizedTokenizer"),o=t.getHelper("splitIntoTokensCustom"),l=e.getLocale(),c=i?pt(e.getText(),e._attributes&&e._attributes.shortcodes):e.getText(),u=function(e,t,r,n,s,i){const a={count:0,markings:[]};return e.forEach((e=>{const o=t.map((t=>Zr(e,t,r,n,s,i)));if(o.every((e=>e.count>0))){const t=o.map((e=>e.count)),r=Math.min(...t),s=(0,v.flattenDeep)(o.map((e=>e.matches)));let i=[];i=n?cn(e,s,n):Gr(e,s),a.count+=r,a.markings.push(i)}})),a}(i?et(c,a):nr(e),n,l,i,vt(e.getKeyword()),o);return r.count=u.count,r.markings=(0,v.flatten)(u.markings),r.keyphraseLength=s,r}function pn(e,t){return console.warn("This function is deprecated, use getKeyphraseCount instead."),hn(e,t)}function dn(e){return e.replace(/[-_]/gi," ")}function gn(e,t){const r=(0,v.cloneDeep)(t);r.addConfig("areHyphensWordBoundaries",!0);const n=r.getResearch("morphology"),s=dn(e.getSlug()),i=e.getLocale(),a=Pe(n,s,!1,i,!1);return{keyphraseLength:n.keyphraseForms.length,percentWordMatches:a.percentWordMatches}}function fn(e,t){return console.warn("This function is deprecated, use keywordCountInSlug instead."),gn(e,t)}function mn(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("matchWordCustomHelper");let s=e.getText();s=ut(s),s=pt(s,e._attributes&&e._attributes.shortcodes),s=fe(s);const i=t.getResearch("morphology"),a=e.getLocale(),o={count:0,matches:0,percentReflectingTopic:0},l=function(e){return Dr(e).map((e=>e[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=Pe(e,t,true,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 vn=function(e,t,r){return t.forEach((t=>t.matches.slice(0,r).forEach((t=>{e=e.replace(t,"")})))),e};function Tn(e,t){const r=e.getDescription(),n=e.getLocale(),s=t.getResearch("morphology"),i=t.getHelper("matchWordCustomHelper"),a=et(r,t.getHelper("memoizedTokenizer")).map((e=>function(e,t,r,n){const s=t.keyphraseForms.map((t=>Me(e,t,r,n))),i=Math.min(...s.map((e=>e.count)));return e=vn(e,s,i),[i,...t.synonymsForms.map((t=>{const i=t.map((t=>Me(e,t,r,n))),a=Math.min(...i.map((e=>e.count)));return e=vn(e,s,a),a}))].reduce(((e,t)=>e+t),0)}(e,s,n,i)));return a.reduce(((e,t)=>e+t),0)}function yn(e,t){let r=t.length;return""!==e&&r>0&&(r+=e.length+3),r}function En(e){return yn(e.getDate(),e.getDescription())}function bn(e=[],t=!1){this.stemOriginalPairs=e,this.exactMatch=t}function An(e,t){this.stem=e,this.original=t}bn.prototype.getStems=function(){return this.exactMatch?[]:this.stemOriginalPairs.map((e=>e.stem))};const wn=function(e,t,r,n){if((0,v.isUndefined)(e)||""===e)return new bn;if(vt(e))return e=e.substring(1,e.length-1),new bn([new An((0,v.escapeRegExp)(e),e)],!0);let s=ce(e,n?yt:Et);const i=s.filter((e=>!r.includes(e)));return i.length>0&&(s=i),new bn(s.map((e=>new An(t(Re((0,v.escapeRegExp)(e))),e))))},Cn=(0,v.memoize)(((e,t,r)=>(0,v.memoize)(((n,s)=>function(e,t,r,n,s){return{keyphraseStems:wn(e,r,n,s),synonymsStems:t.map((e=>wn(e,r,n,s)))}}(n,s,e,t,r)),((e,t)=>e+","+t.join(",")))));function kn(e,t){this.stem=e,this.forms=t}function Sn(e=[],t=[]){this.keyphraseForms=e,this.synonymsForms=t}function On(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=Re((0,v.escapeRegExp)(e.original)),i=n?[s,...n.forms]:[s];return r&&i.push(...r(e.original)),(0,v.uniq)(i)}(e,t,r)}))}function xn(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getStemmer")(t),s=t.getHelper("createBasicWordForms"),i=t.getConfig("language"),a=t.getConfig("areHyphensWordBoundaries"),o=function(e,t){const r=e.getText(),n=Fe(e).map((e=>ge(e)));return ce([r,e.getTitle(),e.getSlug(),dn(e.getSlug()),e.getDescription(),n.join(" ")].join(" "),t?yt:Et).map((e=>Re((0,v.escapeRegExp)(e))))}(e,a).map((e=>e.toLocaleLowerCase(i)));return function(e,t,r,n,s,i,a){const o=function(e,t,r,n,s){return Cn(r,n,s)(e,t)}(e,t,s,n,a),l=o.keyphraseStems,c=o.synonymsStems;if(0===l.stemOriginalPairs.length&&0===c.length)return new Sn;if([l,...c].every((e=>!0===e.exactMatch)))return new Sn([[l.stemOriginalPairs[0].stem]],c.map((e=>[[e.stemOriginalPairs[0].stem]])));const u=(0,v.uniq)(function(e,t){const r=0===e.stemOriginalPairs.length?[]:e.getStems(),n=0===t.length?[]:t.map((e=>e.getStems()));return[...r,...(0,v.flattenDeep)(n)]}(l,c)),h=(0,v.uniq)(r.filter((e=>!n.includes(e)))).map((e=>new An(s(e),e))).filter((e=>u.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 kn(t.stem,[t.original])):r.forms.push(t.original),e}),[]);return new Sn(On(l,h,i),c.map((e=>On(e,h,i))))}(e.getKeyword().toLocaleLowerCase(i).trim(),Pt(e.getSynonyms().toLocaleLowerCase(i).trim()),o,r,n,s,a)}function Nn(e){return e.hasTitle()?e.getTitleWidth():0}function Rn(e){let t=e.getText();return t=ut(t),t=pt(t,e._attributes&&e._attributes.shortcodes),{text:t,count:tt(t),unit:"word"}}function In(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=Rn(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=$r(e);return Math.ceil(l+.2*u)}function Ln(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=ut(n),n=pt(n,e._attributes&&e._attributes.shortcodes),et(n,r)}function Mn(e){const t=new RegExp("()","igs");let r=e.getText().match(t);return null===r&&(r=[]),r.length}class Dn{constructor(e){this.paper=e,this.defaultResearches={altTagCount:Be,countSentencesFromText:ft,findKeywordInFirstParagraph:mt,findKeyphraseInSEOTitle:wt,findTransitionWords:Rt,functionWordsInKeyphrase:It,getAnchorsWithKeyphrase:Gt,getFleschReadingScore:tr,getKeyphraseCount:hn,getKeyphraseDensity:ir,getKeywordDensity:ar,getLinks:lr,getLinkStatistics:hr,getParagraphs:pr,getParagraphLength:dr,getProminentWordsForInsights:Lr,getProminentWordsForInternalLinking:Fr,getSentenceBeginnings:Br,getSubheadingTextLengths:Hr,h1s:Ur,imageCount:$r,keyphraseLength:Kr,keywordCount:pn,keywordCountInSlug:gn,keywordCountInUrl:fn,matchKeywordInSubheadings:mn,metaDescriptionKeyword:Tn,metaDescriptionLength:En,morphology:xn,pageTitleWidth:Nn,readingTime:In,sentences:Ln,wordCountInText:Rn,videoCount:Mn,getPassiveVoiceResult:vr},this._data={},this.customResearches={},this.helpers={memoizedTokenizer:Xe},this.config={areHyphensWordBoundaries:!0}}setPaper(e){this.paper=e}addResearch(e,t){if((0,v.isUndefined)(e)||(0,v.isEmpty)(e))throw new de("Research name cannot be empty");if(!(t instanceof Function))throw new he("The research requires a Function callback.");this.customResearches[e]=t}addHelper(e,t){if((0,v.isUndefined)(e)||(0,v.isEmpty)(e))throw new de("Helper name cannot be empty");if(!(t instanceof Function))throw new he("The research requires a Function callback.");this.helpers[e]=t}addConfig(e,t){if((0,v.isUndefined)(e)||(0,v.isEmpty)(e))throw new de("Failed to add the custom researcher config. Config name cannot be empty.");if((0,v.isUndefined)(t)||(0,v.isEmpty)(t)&&t===Object(t))throw new de("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(0,v.merge)(this.defaultResearches,this.customResearches)}getAvailableHelpers(){return this.helpers}getAvailableConfig(){return this.config}getResearch(e){if((0,v.isUndefined)(e)||(0,v.isEmpty)(e))throw new de("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 Pn(e){return(0,v.flatten)(Object.values(e)).sort(((e,t)=>t.length-e.length||e.localeCompare(t)))}function Fn(e,t){let r=0;const n=e.length;let s;const i=[];for(;(s=t.indexOf(e,r))>-1;){const a=kt(t[s-1])||0===s,o=kt(t[s+n])||t.length===s+n;a&&o&&i.push({index:s,match:e}),r=s+n}return i}const Bn=function(e,t){let r=[];return(0,v.forEach)(e,(function(e){e=S(e),St(e,t)&&(r=r.concat(Fn(e,t)))})),r},Hn=function(e){return e.sort((function(e,t){return e.index-t.index}))},Un=function(e){e=Hn(e);const t=[];for(let r=0;rt.index?1:0})),r},Kn={getIndicesByWord:Fn,getIndicesByWordList:Bn,filterIndices:Un,sortIndices:Hn,getIndicesByWordListSorted:$n};function qn(e,t){if(t.includes(null))return e;for(let r=0;rjn(e,t)))};function zn(e,t){let r=[];return t.forEach((function(t){const n=e.match(t);null!==n&&r.push(n)})),r=(0,v.flattenDeep)(r),r}function Wn(e,t,r=[]){const n=ce(e).map((e=>e.toLowerCase())),s=n.indexOf(t.toLowerCase());if(s<1)return!1;const i=n[s-1];return(0,v.includes)(r,i)}function Yn(e,t,r=[]){const n=ce(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 Xn(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 Jn(e,t){return RegExp(t).test(e)}function Zn(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 es(e,t){return t.forEach((function(t){e=e.replace(new RegExp(t[0]),t[1])})),e}function ts(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 ns(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 ss(e,t,r){for(let n=0;n0&&(i=i.concat(t.otherStopWordIndices)),void 0!==r.directPrecedenceExceptionRegex&&(n=us(e,n,r.directPrecedenceExceptionRegex)),void 0!==r.elisionAuxiliaryExceptionRegex&&(n=function(e,t,r){const n=Vn(e,r);return(0,v.forEach)(t,(function(e){cs(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=Un(a),Hn(a)}(e,t);for(let n=0;n{if(!(0,v.isUndefined)(e.getFieldsToMark()))return e.getFieldsToMark()})))),n=[];return r.forEach((e=>{"heading"===e&&Mr(t).forEach((e=>{n.push(e[0])}))})),{fieldsToMark:r,selectedHTML:n}}function _s(e){return(e=(e=e.replace(/<\/?(o|ul)(?:[^>]+)?>/g,"")).replace(/\s?<\/?li(?:[^>]+)?>\s?/g," ")).replace(/\s+/g," ")}const vs=class{getResult(e,t){throw"The method getResult is not implemented"}isApplicable(e,t){return!0}hasEnoughContentForAssessment(e,t=50){let r=e.getText();return r=ut(r),r=pt(r,e._attributes&&e._attributes.shortcodes),X(r).length>=t}};class Ts{constructor(e={}){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,t={}){let r=encodeURI(e);const n=Ts.createQueryString({...this._config.params,...t});return""!==n&&(r+="?"+n),r}createAnchorOpeningTag(e,t={}){return``}}let ys;function Es(){return null===ys.yoast.shortlinker&&(ys.yoast.shortlinker=new Ts),ys.yoast.shortlinker}function bs(e,t={}){return Es().createAnchorOpeningTag(e,t)}ys="undefined"==typeof window?"undefined"==typeof self?r.g:self:window,ys.yoast=ys.yoast||{},ys.yoast.shortlinker=ys.yoast.shortlinker||null;var As=function(){return[]},ws=function(e){this._hasScore=!1,this._identifier="",this._hasMarks=!1,this._hasJumps=!1,this._hasEditFieldName=!1,this._marker=As,this._hasBetaBadge=!1,this.score=0,this.text="",this.marks=[],this.editFieldName="",(0,v.isUndefined)(e)&&(e={}),(0,v.isUndefined)(e.score)||this.setScore(e.score),(0,v.isUndefined)(e.text)||this.setText(e.text),(0,v.isUndefined)(e.marks)||this.setMarks(e.marks),(0,v.isUndefined)(e._hasBetaBadge)||this.setHasBetaBadge(e._hasBetaBadge),(0,v.isUndefined)(e._hasJumps)||this.setHasJumps(e._hasJumps),(0,v.isUndefined)(e.editFieldName)||this.setEditFieldName(e.editFieldName)};ws.prototype.hasScore=function(){return this._hasScore},ws.prototype.getScore=function(){return this.score},ws.prototype.setScore=function(e){(0,v.isNumber)(e)&&(this.score=e,this._hasScore=!0)},ws.prototype.hasText=function(){return""!==this.text},ws.prototype.getText=function(){return this.text},ws.prototype.setText=function(e){(0,v.isUndefined)(e)&&(e=""),this.text=e},ws.prototype.getMarks=function(){return this.marks},ws.prototype.setMarks=function(e){(0,v.isArray)(e)&&(this.marks=e,this._hasMarks=e.length>0)},ws.prototype.setIdentifier=function(e){this._identifier=e},ws.prototype.getIdentifier=function(){return this._identifier},ws.prototype.setMarker=function(e){this._marker=e},ws.prototype.hasMarker=function(){return this._hasMarks&&this._marker!==this.emptyMarker},ws.prototype.getMarker=function(){return this._marker},ws.prototype.setHasMarks=function(e){this._hasMarks=e},ws.prototype.hasMarks=function(){return this._hasMarks},ws.prototype.setHasBetaBadge=function(e){this._hasBetaBadge=e},ws.prototype.hasBetaBadge=function(){return this._hasBetaBadge},ws.prototype.setHasJumps=function(e){this._hasJumps=e},ws.prototype.hasJumps=function(){return this._hasJumps},ws.prototype.hasEditFieldName=function(){return this._hasEditFieldName},ws.prototype.getEditFieldName=function(){return this.editFieldName},ws.prototype.setEditFieldName=function(e){""!==e&&(this.editFieldName=e,this._hasEditFieldName=!0)},ws.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}},ws.parse=function(e){const t=new ws({text:e.text,score:e.score,marks:e.marks.map((e=>jr.parse(e))),_hasBetaBadge:e._hasBetaBadge,_hasJumps:e._hasJumps,editFieldName:e.editFieldName});return t.setIdentifier(e.identifier),t};const Cs=ws,ks=class extends vs{constructor(e={}){super();const t={scores:{good:9,okay:6,bad:3},urlTitle:bs("https://yoa.st/33e"),urlCallToAction:bs("https://yoa.st/33f")};this.identifier="introductionKeyword",this._config=(0,v.merge)(t,e)}getResult(e,t){const r=new Cs;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:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ (0,_.__)("%1$sKeyphrase in introduction%2$s: Well done!","wordpress-seo"),this._config.urlTitle,"")}:this._firstParagraphMatches.foundInParagraph?{score:this._config.scores.okay,resultText:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag. */ (0,_.__)("%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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag. */ -(0,_.__)("%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 Cs(e,t,r){return e>t&&e<=r}function ks(e,t,r){return e>=t&&e=t&&e<=r}const Os=class extends ms{constructor(e,t=!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:(0,_.__)("word","wordpress-seo"),plural:(0,_.__)("words","wordpress-seo")},urlTitle:ys("https://yoa.st/33i"),urlCallToAction:ys("https://yoa.st/33j"),isRelatedKeyphrase:!1},this.identifier="keyphraseLength",this._config=(0,v.merge)(this.defaultConfig,e),this._isProductPage=t}getResult(e,t){this._keyphraseLengthData=t.getResearch("keyphraseLength");const r=new As;t.getConfig("countCharacters")&&(this._config.countTextIn.singular=(0,_.__)("character","wordpress-seo"),this._config.countTextIn.plural=(0,_.__)("characters","wordpress-seo"));const n=e.getKeyword();this._keyphraseLengthData.functionWords.length>0&&!Tt(n).exactMatchRequested&&(this._config.countTextIn.singular=(0,_.__)("content word","wordpress-seo"),this._config.countTextIn.plural=(0,_.__)("content words","wordpress-seo")),t.getConfig("keyphraseLength")?this._config=this.getCustomConfig(t):0===this._keyphraseLengthData.functionWords.length&&(this._config.parameters=(0,v.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((0,_.__)("keyphrase","wordpress-seo"))),r}getCustomConfig(e){const t=e.getConfig("keyphraseLength");return this._isProductPage&&t.hasOwnProperty("productPages")?(0,v.merge)(this._config,t.productPages):(0,v.merge)(this._config,t.defaultAnalysis)}calculateResult(){if(this._isProductPage){if(0===this._keyphraseLengthData.keyphraseLength)return this._config.isRelatedKeyphrase?{score:this._config.scores.veryBad,resultText:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ +(0,_.__)("%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 Ss(e,t,r){return e>t&&e<=r}function Os(e,t,r){return e>=t&&e=t&&e<=r}const Ns=class extends vs{constructor(e,t=!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:(0,_.__)("word","wordpress-seo"),plural:(0,_.__)("words","wordpress-seo")},urlTitle:bs("https://yoa.st/33i"),urlCallToAction:bs("https://yoa.st/33j"),isRelatedKeyphrase:!1},this.identifier="keyphraseLength",this._config=(0,v.merge)(this.defaultConfig,e),this._isProductPage=t}getResult(e,t){this._keyphraseLengthData=t.getResearch("keyphraseLength");const r=new Cs;t.getConfig("countCharacters")&&(this._config.countTextIn.singular=(0,_.__)("character","wordpress-seo"),this._config.countTextIn.plural=(0,_.__)("characters","wordpress-seo"));const n=e.getKeyword();this._keyphraseLengthData.functionWords.length>0&&!Tt(n).exactMatchRequested&&(this._config.countTextIn.singular=(0,_.__)("content word","wordpress-seo"),this._config.countTextIn.plural=(0,_.__)("content words","wordpress-seo")),t.getConfig("keyphraseLength")?this._config=this.getCustomConfig(t):0===this._keyphraseLengthData.functionWords.length&&(this._config.parameters=(0,v.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((0,_.__)("keyphrase","wordpress-seo"))),r}getCustomConfig(e){const t=e.getConfig("keyphraseLength");return this._isProductPage&&t.hasOwnProperty("productPages")?(0,v.merge)(this._config,t.productPages):(0,v.merge)(this._config,t.defaultAnalysis)}calculateResult(){if(this._isProductPage){if(0===this._keyphraseLengthData.keyphraseLength)return this._config.isRelatedKeyphrase?{score:this._config.scores.veryBad,resultText:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%1$sKeyphrase length%3$s: No focus keyphrase was set for this page. %2$sSet a keyphrase in order to calculate your SEO score%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")};if(this._keyphraseLengthData.keyphraseLength<=this._boundaries.acceptableMinimum)return{score:this._config.scores.bad,resultText:(0,_.sprintf)( /* translators: @@ -24,14 +24,14 @@ %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'. */ -(0,_.__)("%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(Cs(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._boundaries.acceptableMaximum))return{score:this._config.scores.okay,resultText:(0,_.sprintf)( +(0,_.__)("%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(Ss(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._boundaries.acceptableMaximum))return{score:this._config.scores.okay,resultText:(0,_.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'. */ -(0,_.__)("%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(Ss(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._boundaries.recommendedMaximum))return{score:this._config.scores.good,resultText:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ +(0,_.__)("%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(xs(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._boundaries.recommendedMaximum))return{score:this._config.scores.good,resultText:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ (0,_.__)("%1$sKeyphrase length%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}}return this._keyphraseLengthData.keyphraseLength")}:{score:this._config.scores.veryBad,resultText:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%1$sKeyphrase length%3$s: No focus keyphrase was set for this page. %2$sSet a keyphrase in order to calculate your SEO score%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:(0,v.inRange)(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._boundaries.recommendedMaximum+1)?{score:this._config.scores.good,resultText:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ @@ -49,7 +49,7 @@ %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'. */ -(0,_.__)("%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)}}};function Ns(e){return.7+e/3}function xs(e,t,r,n,s){const i=s?s(e.getText()).length:rr(e).length;if(0===i)return 0;const a=r*i/(100*Ns(t));return a<2?2:"min"===n?Math.ceil(a):Math.floor(a)}const Rs="yoast-measurement-element",Is=function(e){let t=document.getElementById(Rs);return t||(t=function(){const e=document.createElement("div");return e.id=Rs,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 Ls(){return["en","de","es","fr","it","nl","ru","id","pt","pl","ar","sv","he","hu","nb","tr","cs","sk","el","ja"]}function Ms(e){return Math.round(e)===e?Math.round(e):Math.round(10*e)/10}function Ds(){return["en","es","de","fr"]}class Ps extends ms{constructor(e={}){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:ys("https://yoa.st/33v"),urlCallToAction:ys("https://yoa.st/33w"),applicableIfTextLongerThan:100};this.identifier="keyphraseDensity",this._config=(0,v.merge)(t,e)}setBoundaries(e,t,r){this._hasMorphologicalForms?this._boundaries=this._config.parameters.multipleWordForms:this._boundaries=this._config.parameters.noWordForms,this._minRecommendedKeyphraseCount=xs(e,t,this._boundaries.minimum,"min",r),this._maxRecommendedKeyphraseCount=xs(e,t,this._boundaries.maximum,"max",r)}getResult(e,t){const r=t.getHelper("getWordsCustomHelper");this._keyphraseCount=t.getResearch("getKeyphraseCount");const n=this._keyphraseCount.keyphraseLength,s=new As;this._keyphraseDensity=t.getResearch("getKeyphraseDensity"),this._hasMorphologicalForms=!1!==t.getData("morphology"),this.setBoundaries(e,n,r),this._keyphraseDensity=this._keyphraseDensity*Ns(n);const i=this.calculateResult();return s.setScore(i.score),s.setText(i.resultText),s.setHasMarks(this._keyphraseCount.count>0),s}hasNoMatches(){return 0===this._keyphraseCount.count}hasTooFewMatches(){return ks(this._keyphraseDensity,0,this._boundaries.minimum)||1===this._keyphraseCount.count}hasGoodNumberOfMatches(){return Ss(this._keyphraseDensity,this._boundaries.minimum,this._boundaries.maximum)||2===this._keyphraseCount.count&&this._minRecommendedKeyphraseCount<=2}hasTooManyMatches(){return Cs(this._keyphraseDensity,this._boundaries.maximum,this._boundaries.overMaximum)}calculateResult(){return this.hasNoMatches()?{score:this._config.scores.underMinimum,resultText:(0,_.sprintf)( +(0,_.__)("%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)}}};function Rs(e){return.7+e/3}function Is(e,t,r,n,s){const i=s?s(e.getText()).length:sr(e).length;if(0===i)return 0;const a=r*i/(100*Rs(t));return a<2?2:"min"===n?Math.ceil(a):Math.floor(a)}const Ls="yoast-measurement-element",Ms=function(e){let t=document.getElementById(Ls);return t||(t=function(){const e=document.createElement("div");return e.id=Ls,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 Ds(){return["en","de","es","fr","it","nl","ru","id","pt","pl","ar","sv","he","hu","nb","tr","cs","sk","el","ja"]}function Ps(e){return Math.round(e)===e?Math.round(e):Math.round(10*e)/10}function Fs(){return["en","es","de","fr"]}class Bs extends vs{constructor(e={}){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:bs("https://yoa.st/33v"),urlCallToAction:bs("https://yoa.st/33w"),applicableIfTextLongerThan:100};this.identifier="keyphraseDensity",this._config=(0,v.merge)(t,e)}setBoundaries(e,t,r){this._hasMorphologicalForms?this._boundaries=this._config.parameters.multipleWordForms:this._boundaries=this._config.parameters.noWordForms,this._minRecommendedKeyphraseCount=Is(e,t,this._boundaries.minimum,"min",r),this._maxRecommendedKeyphraseCount=Is(e,t,this._boundaries.maximum,"max",r)}getResult(e,t){const r=t.getHelper("getWordsCustomHelper");this._keyphraseCount=t.getResearch("getKeyphraseCount");const n=this._keyphraseCount.keyphraseLength,s=new Cs;this._keyphraseDensity=t.getResearch("getKeyphraseDensity"),this._hasMorphologicalForms=!1!==t.getData("morphology"),this.setBoundaries(e,n,r),this._keyphraseDensity=this._keyphraseDensity*Rs(n);const i=this.calculateResult();return s.setScore(i.score),s.setText(i.resultText),s.setHasMarks(this._keyphraseCount.count>0),s}hasNoMatches(){return 0===this._keyphraseCount.count}hasTooFewMatches(){return Os(this._keyphraseDensity,0,this._boundaries.minimum)||1===this._keyphraseCount.count}hasGoodNumberOfMatches(){return xs(this._keyphraseDensity,this._boundaries.minimum,this._boundaries.maximum)||2===this._keyphraseCount.count&&this._minRecommendedKeyphraseCount<=2}hasTooManyMatches(){return Ss(this._keyphraseDensity,this._boundaries.maximum,this._boundaries.overMaximum)}calculateResult(){return this.hasNoMatches()?{score:this._config.scores.underMinimum,resultText:(0,_.sprintf)( /* translators: %1$s and %4$s expand to links to Yoast.com, %2$s expands to the anchor end tag, @@ -77,7 +77,7 @@ %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. */ -(0,_._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._keyphraseCount.count,"wordpress-seo"),this._config.urlTitle,"",this._maxRecommendedKeyphraseCount,this._config.urlCallToAction,this._keyphraseCount.count)}}getMarks(){return this._keyphraseCount.markings}isApplicable(e,t){const r=t.getHelper("customCountLength"),n=t.getConfig("assessmentApplicability").keyphraseDensity;n&&(this._config.applicableIfTextLongerThan=n);const s=r?r(e.getText()):rr(e).length;return e.hasText()&&e.hasKeyword()&&s>=this._config.applicableIfTextLongerThan}}const Fs=Ps,Bs=class extends ms{constructor(e={}){super();const t={parameters:{recommendedMinimum:1},scores:{good:9,ok:6,bad:3},urlTitle:ys("https://yoa.st/33k"),urlCallToAction:ys("https://yoa.st/33l")};this.identifier="metaDescriptionKeyword",this._config=(0,v.merge)(t,e)}getResult(e,t){this._keyphraseCounts=t.getResearch("metaDescriptionKeyword");const r=new As,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName((0,_.__)("meta description","wordpress-seo"))),r}calculateResult(){return 1===this._keyphraseCounts||2===this._keyphraseCounts?{score:this._config.scores.good,resultText:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ +(0,_._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._keyphraseCount.count,"wordpress-seo"),this._config.urlTitle,"",this._maxRecommendedKeyphraseCount,this._config.urlCallToAction,this._keyphraseCount.count)}}getMarks(){return this._keyphraseCount.markings}isApplicable(e,t){const r=t.getHelper("customCountLength"),n=t.getConfig("assessmentApplicability").keyphraseDensity;n&&(this._config.applicableIfTextLongerThan=n);const s=r?r(e.getText()):sr(e).length;return e.hasText()&&e.hasKeyword()&&s>=this._config.applicableIfTextLongerThan}}const Hs=Bs,Us=class extends vs{constructor(e={}){super();const t={parameters:{recommendedMinimum:1},scores:{good:9,ok:6,bad:3},urlTitle:bs("https://yoa.st/33k"),urlCallToAction:bs("https://yoa.st/33l")};this.identifier="metaDescriptionKeyword",this._config=(0,v.merge)(t,e)}getResult(e,t){this._keyphraseCounts=t.getResearch("metaDescriptionKeyword");const r=new Cs,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName((0,_.__)("meta description","wordpress-seo"))),r}calculateResult(){return 1===this._keyphraseCounts||2===this._keyphraseCounts?{score:this._config.scores.good,resultText:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ (0,_.__)("%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:(0,_.sprintf)( /** * translators: @@ -91,16 +91,16 @@ * %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. */ -(0,_.__)("%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()}},Hs=class extends ms{constructor(e={}){super();const t={parameters:{recommendedMaximum:0},scores:{bad:2},urlTitle:ys("https://yoa.st/34l"),urlCallToAction:ys("https://yoa.st/34m")};this.identifier="textCompetingLinks",this._config=(0,v.merge)(t,e)}getResult(e,t){const r=new As;this.totalAnchorsWithKeyphrase=t.getResearch("getAnchorsWithKeyphrase").anchorsWithKeyphraseCount;const n=this.calculateResult();return(0,v.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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -(0,_.__)("%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,"")}}},Us=class extends ms{constructor(e={}){super();const t={parameters:{recommendedMinimum:1},scores:{allInternalFollow:9,someInternalFollow:8,noneInternalFollow:7,noInternal:3},urlTitle:ys("https://yoa.st/33z"),urlCallToAction:ys("https://yoa.st/34a")};this.identifier="internalLinks",this._config=(0,v.merge)(t,e)}getResult(e,t){this.linkStatistics=t.getResearch("getLinkStatistics");const r=new As,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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ +(0,_.__)("%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()}},$s=class extends vs{constructor(e={}){super();const t={parameters:{recommendedMaximum:0},scores:{bad:2},urlTitle:bs("https://yoa.st/34l"),urlCallToAction:bs("https://yoa.st/34m")};this.identifier="textCompetingLinks",this._config=(0,v.merge)(t,e)}getResult(e,t){const r=new Cs;this.totalAnchorsWithKeyphrase=t.getResearch("getAnchorsWithKeyphrase").anchorsWithKeyphraseCount;const n=this.calculateResult();return(0,v.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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ +(0,_.__)("%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,"")}}},Ks=class extends vs{constructor(e={}){super();const t={parameters:{recommendedMinimum:1},scores:{allInternalFollow:9,someInternalFollow:8,noneInternalFollow:7,noInternal:3},urlTitle:bs("https://yoa.st/33z"),urlCallToAction:bs("https://yoa.st/34a")};this.identifier="internalLinks",this._config=(0,v.merge)(t,e)}getResult(e,t){this.linkStatistics=t.getResearch("getLinkStatistics");const r=new Cs,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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%1$sInternal links%3$s: The internal links in this page are all nofollowed. %2$sAdd some good internal links%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:this.linkStatistics.internalDofollow===this.linkStatistics.internalTotal?{score:this._config.scores.allInternalFollow,resultText:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ (0,_.__)("%1$sInternal links%2$s: You have enough internal links. Good job!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.someInternalFollow,resultText:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ -(0,_.__)("%1$sInternal links%2$s: There are both nofollowed and normal internal links on this page. Good job!","wordpress-seo"),this._config.urlTitle,"")}}},$s=class extends ms{constructor(e={}){super();const t={parameters:{recommendedPosition:0},scores:{good:9,okay:6,bad:2},urlTitle:ys("https://yoa.st/33g"),urlCallToAction:ys("https://yoa.st/33h"),feedbackStrings:{bad:(0,_.__)("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", +(0,_.__)("%1$sInternal links%2$s: There are both nofollowed and normal internal links on this page. Good job!","wordpress-seo"),this._config.urlTitle,"")}}},qs=class extends vs{constructor(e={}){super();const t={parameters:{recommendedPosition:0},scores:{good:9,okay:6,bad:2},urlTitle:bs("https://yoa.st/33g"),urlCallToAction:bs("https://yoa.st/33h"),feedbackStrings:{bad:(0,_.__)("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=(0,_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=(0,v.merge)(t,e)}getResult(e,t){const r=A(e.getLocale());this._keyphraseMatches=t.getResearch("findKeyphraseInSEOTitle"),this._keyphrase=(0,v.escape)(e.getKeyword());const n=new As,s=this.calculateResult(this._keyphrase,r);return n.setScore(s.score),n.setText(s.resultText),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName((0,_.__)("SEO title","wordpress-seo"))),n}isApplicable(e){return e.hasKeyword()&&e.hasTitle()}calculateResult(e,t){const r=this._config.feedbackStrings;"ja"===t&&(r.bad=(0,_.__)("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:(0,_.sprintf)( +this.name=(0,_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=(0,v.merge)(t,e)}getResult(e,t){const r=A(e.getLocale());this._keyphraseMatches=t.getResearch("findKeyphraseInSEOTitle"),this._keyphrase=(0,v.escape)(e.getKeyword());const n=new Cs,s=this.calculateResult(this._keyphrase,r);return n.setScore(s.score),n.setText(s.resultText),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName((0,_.__)("SEO title","wordpress-seo"))),n}isApplicable(e){return e.hasKeyword()&&e.hasTitle()}calculateResult(e,t){const r=this._config.feedbackStrings;"ja"===t&&(r.bad=(0,_.__)("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:(0,_.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. */ (0,_.__)("%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:(0,_.sprintf)( @@ -122,12 +122,12 @@ this.name=(0,_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=(0,v.m /* 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. */ -(0,_.__)('%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 Ks extends ms{constructor(e={}){super();const t={scores:{okay:6,good:9},urlTitle:ys("https://yoa.st/33o"),urlCallToAction:ys("https://yoa.st/33p")};this.identifier="slugKeyword",this._config=(0,v.merge)(t,e)}getResult(e,t){this._keywordInSlug=t.getResearch("keywordCountInSlug");const r=new As,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName((0,_.__)("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:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ +(0,_.__)('%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 js extends vs{constructor(e={}){super();const t={scores:{okay:6,good:9},urlTitle:bs("https://yoa.st/33o"),urlCallToAction:bs("https://yoa.st/33p")};this.identifier="slugKeyword",this._config=(0,v.merge)(t,e)}getResult(e,t){this._keywordInSlug=t.getResearch("keywordCountInSlug");const r=new Cs,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName((0,_.__)("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:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ (0,_.__)("%1$sKeyphrase in slug%2$s: Great work!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.okay,resultText:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%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,"")}:this._keywordInSlug.percentWordMatches>50?{score:this._config.scores.good,resultText:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ (0,_.__)("%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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -(0,_.__)("%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,"")}}}const qs=Ks,js=function(e){return e&&(0===e.length||e[0].hasPosition())?e:(0,v.uniqBy)(e,(function(e){return e.getOriginal()}))};const Gs=class{constructor(e){this.text=e,this.tokens=[],this.sourceCodeRange={}}},zs=class{constructor(e,t={}){this.text=Re(e),this.sourceCodeRange=t}},Ws=/^\s+$/,Ys=class{constructor(e){this.researcher=e}splitIntoSentences(e){const t=this.researcher.getHelper("memoizedTokenizer")(e,!1);return Ws.test(t[t.length-1])&&t.pop(),t.map((function(e){return new Gs(e)}))}splitIntoTokens(e){const t=e.text,r=this.researcher.getHelper("splitIntoTokensCustom");return r?r(e).map((e=>new zs(e))):Qr(t).map((e=>new zs(e)))}};var Vs=r(5553);const Qs=["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"],Xs=function(e){return Qs.includes(e)||"#text"===e};function Js(e,t,r=!1){const n=[];return e.childNodes?(e.childNodes.forEach((e=>{t(e)?(n.push(e),r&&n.push(...Js(e,t,r))):n.push(...Js(e,t,r))})),n):n}function Zs(e){let t="";return(0,v.isEmpty)(e.childNodes)||e.childNodes.forEach((e=>{"#text"===e.name?t+=e.value:"br"===e.name?t+="\n":t+=Zs(e)})),t}const ei=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}},ti=class{constructor(e,t={},r=[],n={}){this.name=e,this.attributes=t,this.childNodes=r,(0,v.isEmpty)(n)||(this.sourceCodeLocation=new ei(n))}findAll(e,t=!1){return Js(this,e,t)}innerText(){return Zs(this)}},ri=class extends ti{constructor(e,t={},r=[],n={}){super(`h${e}`,t,r,n),this.level=e}};class ni extends ti{constructor(e={},t=[],r={},n=!1,s=!1){super(s?"p-overarching":"p",e,t,r),this.isImplicit=n}static createImplicit(e={},t=[],r={}){return new ni(e,t,r,!0)}}const si=ni,ii=class{constructor(e){this.name="#text",this.value=e.value,this.sourceCodeRange=new ei({startOffset:e.sourceCodeLocation.startOffset,endOffset:e.sourceCodeLocation.endOffset})}};function ai(e){return e&&e.childNodes.length>0}const oi=e=>{const[t]=e.childNodes.slice(0),[r]=e.childNodes.slice(-1);if((t.sourceCodeRange||t.sourceCodeLocation)&&(r.sourceCodeRange||r.sourceCodeLocation)){const n=t.sourceCodeRange?t.sourceCodeRange.startOffset:t.sourceCodeLocation.startOffset,s=r.sourceCodeRange?r.sourceCodeRange.endOffset:r.sourceCodeLocation.endOffset;e.sourceCodeLocation=new ei({startOffset:n,endOffset:s})}},li=function(e,t={}){const r=[];let n={};if((0,v.isEmpty)(t)){const t=e[0],r=e[e.length-1];t&&r&&t.sourceCodeLocation&&r.sourceCodeLocation&&(n=new ei({startOffset:t.sourceCodeLocation.startOffset,endOffset:r.sourceCodeLocation.endOffset}))}else n=new ei({startOffset:t.startTag?t.startTag.endOffset:t.startOffset,endOffset:t.endTag?t.endTag.startOffset:t.endOffset});let s=si.createImplicit({},[],n);return e.forEach(((e,t,i)=>{const a=0!==t&&i[t-1],o=i.length-1!==t&&i[t+1];!Xs(e.name)||function(e){return"#text"===e.name&&e.value&&e.value.match(/^[\n\s]+$/g)}(e)||((e,t,r)=>{const n=t&&"br"===t.name,s=r&&"br"===r.name;return"br"===e.name&&(n||s)})(e,a,o)?(ai(s)&&(oi(s),e.sourceCodeLocation&&(n.startOffset=e.sourceCodeLocation.endOffset),r.push(s),s=si.createImplicit({},[],n)),r.push(e)):s.childNodes.push(e)})),ai(s)&&(oi(s),r.push(s)),r},ci=function(e){if(!e)return{};const t={};return e.forEach((({name:e,value:r})=>{"class"===e&&(r=new Set(r.split(" "))),t[e]=r})),t};function ui(e){return"p"===e}function hi(e){return["h1","h2","h3","h4","h5","h6"].includes(e)}function pi(e){if("#text"===e.nodeName)return new ii(e);let t=[],r=!1;var n;(0,v.isEmpty)(e.childNodes)||(t=e.childNodes.map(pi),!(ui(n=e.nodeName)||Xs(n)||hi(n))&&(t=li(t,e.sourceCodeLocation)),function(e,t){return ui(e)&&t.some(((e,t,r)=>{const n=r.length-1!==t&&r[t+1];return"br"===e.name&&n&&"br"===n.name}))}(e.nodeName,t)&&(r=!0,t=li(t,e.sourceCodeLocation)));const s=ci(e.attrs);if(ui(e.nodeName))return new si(s,t,e.sourceCodeLocation,!1,r);if(hi(e.nodeName)){const r=parseInt(e.nodeName[1],10);return new ri(r,s,t,e.sourceCodeLocation)}return new ti(e.nodeName,s,t,e.sourceCodeLocation)}function di(e){return t=>t.name===e}function gi(e){return t=>!!t.attributes.class&&t.attributes.class.has(e)}const fi=["code","kbd","math","q","samp","script","var","#comment","cite","form","map","noscript","output"];const mi=[gi("yoast-table-of-contents"),gi("yoast-reading-time__wrapper"),("breadcrumbs",e=>"breadcrumbs"===e.attributes.id),gi("elementor-button-wrapper"),gi("elementor-divider"),gi("elementor-spacer"),gi("elementor-custom-embed"),gi("elementor-icon-wrapper"),gi("elementor-icon-box-wrapper"),gi("elementor-counter"),gi("elementor-progress-wrapper"),gi("elementor-title"),gi("elementor-alert"),gi("elementor-soundcloud-wrapper"),gi("elementor-shortcode"),gi("elementor-menu-anchor"),gi("e-rating"),di("base"),di("blockquote"),di("canvas"),di("code"),di("head"),di("iframe"),di("input"),di("kbd"),di("link"),di("math"),di("meta"),di("meter"),di("noscript"),di("object"),di("portal"),di("pre"),di("progress"),di("q"),di("samp"),di("script"),di("slot"),di("style"),di("svg"),di("template"),di("textarea"),di("title"),di("var"),di("#comment"),di("cite"),di("form"),di("map"),di("noscript"),di("output")],_i=e=>e instanceof si&&e.isImplicit?e.sourceCodeLocation.startOffset:e.sourceCodeLocation.startTag.endOffset;function vi(e,t,r=-1){if(0===t.length||!e.sourceCodeLocation)return t;let n,s=r>=0?r:_i(e),i=[];if(e.findAll){const t=e.findAll((e=>e.sourceCodeLocation),!0);t.length>0&&(i=function(e){const t=[];return e.forEach((e=>{if(fi.includes(e.name))t.push(e.sourceCodeLocation);else{if(e.sourceCodeLocation.startTag){const r={startOffset:e.sourceCodeLocation.startTag.startOffset,endOffset:e.sourceCodeLocation.startTag.endOffset};"br"===e.name&&(r.endOffset=r.endOffset-1),t.push(r)}e.sourceCodeLocation.endTag&&t.push(e.sourceCodeLocation.endTag)}})),t.sort(((e,t)=>e.startOffset-t.startOffset)),t}(t))}return t.forEach((e=>{n=s+e.text.length,i.length>0&&(n=function(e,t,r){return e.forEach((e=>{e.startOffset>=t&&e.startOffset{e.startOffset===t&&(t+=e.endOffset-e.startOffset)})),t}(i,s)),e.sourceCodeRange={startOffset:s,endOffset:n},s=n})),t}const Ti=function e(t,r){return(t instanceof si&&"p-overarching"!==t.name||t instanceof ri)&&(t.sentences=function(e,t){let r=t.splitIntoSentences(e.innerText());return r=vi(e,r),r.map((r=>(r=function(e,t,r){return t.tokens=r.splitIntoTokens(t),t.tokens=vi(e,t.tokens,t.sourceCodeRange.startOffset),t}(e,r,t),zr.forEach(((e,t)=>{r.text=r.text.split(t).join(e),r.tokens.map((r=>(r.text=r.text.split(t).join(e),r)))})),r)))}(t,r)),t.childNodes&&(t.childNodes=t.childNodes.map((t=>e(t,r)))),t};function yi(e,t){if(!(function(e,t){return"#text"!==e.name&&t.some((t=>t(e)))}(e,t)||e.childNodes&&(e.childNodes=e.childNodes.filter((e=>yi(e,t))),0===e.childNodes.length&&e instanceof si&&e.isImplicit)))return e}function Ei(e){return fi.includes(e.name)&&(e.childNodes=[]),(0,v.isEmpty)(e.childNodes)||e.childNodes.map(Ei),e}const bi=/)[^])*)\5|[^]*?)}\s+)?(\/)?-->/g,Ai=e=>{const t=e._attributes.wpBlocks,r=[];return t&&t.length>0?(t.forEach((e=>{if(e.innerBlocks.length>0){const t=e.innerBlocks;r.push(e,...t)}else r.push(e)})),r):[]};function wi(e,t){0!==e.length&&e.forEach((e=>{const r=bi.exec(t);if(null===r)return;const[n]=r,s=r.index,i=n.length;e.startOffset=s,e.contentOffset=s+i+1,e.innerBlocks&&e.innerBlocks.length>0&&wi(e.innerBlocks,t)}))}function Ci(e,t,r){if(!e)return;let n=r;if(e.sourceCodeLocation&&e.sourceCodeLocation.startOffset){const r=t.find((t=>t.contentOffset===e.sourceCodeLocation.startOffset));r&&(n=r.clientId)}n&&(e.clientId=n),(e.childNodes||[]).forEach((e=>{e.attributes&&e.attributes.id&&e.childNodes&&e.childNodes.length>3&&(e.childNodes[0].attributeId=e.attributes.id,e.childNodes[0].isFirstSection=!0,e.childNodes[2].attributeId=e.attributes.id,e.childNodes[2].isFirstSection=!1),Ci(e,t,n)}))}function ki(e,t){const r=e._attributes.wpBlocks||[];bi.lastIndex=0,wi(r,e.getText()),Ci(t,Ai(e),void 0)}function Si(e,t,r){let n=e.getText();n=n.replace(Gr,"#$1");let s=pi((0,Vs.Bm)(n,{sourceCodeLocationInfo:!0}));return s.childNodes&&s.childNodes.length>0&&ki(e,s),s=Ei(s),s=Ti(s,t),r&&((e,t)=>{if(!t||0===t.length)return;const r=ht(t);gt(e,t,r)})(s,r),yi(s,mi)}const Oi=function(e,t){this.type="assessor",this.setResearcher(e),this._assessments=[],this._options=t||{}};Oi.prototype.setResearcher=function(e){if((0,v.isUndefined)(e))throw new de("The assessor requires a researcher.");this._researcher=e},Oi.prototype.getAvailableAssessments=function(){return this._assessments},Oi.prototype.isApplicable=function(e,t,r){return!e.hasOwnProperty("isApplicable")&&"function"!=typeof e.isApplicable||e.isApplicable(t,r)},Oi.prototype.hasMarker=function(e){return(0,v.isFunction)(this._options.marker)&&(e.hasOwnProperty("getMarks")||"function"==typeof e.getMarks)},Oi.prototype.getSpecificMarker=function(){return this._options.marker},Oi.prototype.getPaper=function(){return this._lastPaper},Oi.prototype.getMarker=function(e,t,r){const n=this._options.marker;return function(){let s=e.getMarks(t,r);s=js(s),n(t,s)}},Oi.prototype.assess=function(e){this._researcher.setPaper(e);const t=new Ys(this._researcher),r=e._attributes&&e._attributes.shortcodes;e.setTree(Si(e,t,r));let n=this.getAvailableAssessments();this.results=[],n=(0,v.filter)(n,function(t){return this.isApplicable(t,e,this._researcher)}.bind(this)),this.setHasMarkers(!1),this.results=(0,v.map)(n,this.executeAssessment.bind(this,e,this._researcher)),this._lastPaper=e},Oi.prototype.setHasMarkers=function(e){this._hasMarkers=e},Oi.prototype.hasMarkers=function(){return this._hasMarkers},Oi.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=js(n.marks)),n.hasMarks()&&this.hasMarker(r)&&(this.setHasMarkers(!0),n.setMarker(this.getMarker(r,e,t)))}catch(e){s=e,(0,v.isUndefined)(s)&&(s=""),(0,v.isUndefined)(console)||(0,v.isUndefined)(console.trace)||console.trace(s),n=new As,n.setScore(-1),n.setText((0,_.sprintf)(/* translators: %1$s expands to the name of the assessment. */ -(0,_.__)("An error occurred in the '%1$s' assessment","wordpress-seo"),r.identifier,e))}var s;return n},Oi.prototype.getValidResults=function(){return(0,v.filter)(this.results,function(e){return this.isValidResult(e)}.bind(this))},Oi.prototype.isValidResult=function(e){return e.hasScore()&&e.hasText()},Oi.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},Oi.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},Oi.prototype.removeAssessment=function(e){const t=(0,v.findIndex)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}));-1!==t&&this._assessments.splice(t,1)},Oi.prototype.getAssessment=function(e){return(0,v.find)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}))},Oi.prototype.getApplicableAssessments=function(){const e=this.getAvailableAssessments();return(0,v.filter)(e,function(e){return this.isApplicable(e,this.getPaper(),this._researcher)}.bind(this))};const Ni=Oi,xi={recommendedMaximumLength:60,maximumLength:80};class Ri extends ms{constructor(e={}){super();const t={recommendedMaximumLength:120,maximumLength:156,scores:{noMetaDescription:1,tooLong:6,tooShort:6,correctLength:9},urlTitle:ys("https://yoa.st/34d"),urlCallToAction:ys("https://yoa.st/34e")};this.identifier="metaDescriptionLength",this._config=(0,v.merge)(t,e)}getMaximumLength(e){return this.getConfig(e).maximumLength}getConfig(e){let t=this._config;return"ja"===e&&(t=(0,v.merge)(t,xi)),t}getResult(e,t){const r=t.getResearch("metaDescriptionLength"),n=new As,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((0,_.__)("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?(0,_.sprintf)(/* translators: %1$s and %2$s expand to a links on yoast.com, %3$s expands to the anchor end tag */ +(0,_.__)("%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,"")}}}const Gs=js,zs=function(e){return e&&(0===e.length||e[0].hasPosition())?e:(0,v.uniqBy)(e,(function(e){return e.getOriginal()}))};const Ws=class{constructor(e){this.text=e,this.tokens=[],this.sourceCodeRange={}}},Ys=class{constructor(e,t={}){this.text=Re(e),this.sourceCodeRange=t}},Vs=/^\s+$/,Qs=class{constructor(e){this.researcher=e}splitIntoSentences(e){const t=this.researcher.getHelper("memoizedTokenizer")(e,!1);return Vs.test(t[t.length-1])&&t.pop(),t.map((function(e){return new Ws(e)}))}splitIntoTokens(e){const t=e.text,r=this.researcher.getHelper("splitIntoTokensCustom");return r?r(t).map((e=>new Ys(e))):Jr(t).map((e=>new Ys(e)))}};var Xs=r(5553);const Js=["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"],Zs=function(e){return Js.includes(e)||"#text"===e};function ei(e,t,r=!1){const n=[];return e.childNodes?(e.childNodes.forEach((e=>{t(e)?(n.push(e),r&&n.push(...ei(e,t,r))):n.push(...ei(e,t,r))})),n):n}function ti(e){let t="";return(0,v.isEmpty)(e.childNodes)||e.childNodes.forEach((e=>{"#text"===e.name?t+=e.value:"br"===e.name?t+="\n":t+=ti(e)})),t}const ri=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}},ni=class{constructor(e,t={},r=[],n={}){this.name=e,this.attributes=t,this.childNodes=r,(0,v.isEmpty)(n)||(this.sourceCodeLocation=new ri(n))}findAll(e,t=!1){return ei(this,e,t)}innerText(){return ti(this)}},si=class extends ni{constructor(e,t={},r=[],n={}){super(`h${e}`,t,r,n),this.level=e}};class ii extends ni{constructor(e={},t=[],r={},n=!1,s=!1){super(s?"p-overarching":"p",e,t,r),this.isImplicit=n}static createImplicit(e={},t=[],r={}){return new ii(e,t,r,!0)}}const ai=ii,oi=class{constructor(e){this.name="#text",this.value=e.value,this.sourceCodeRange=new ri({startOffset:e.sourceCodeLocation.startOffset,endOffset:e.sourceCodeLocation.endOffset})}};function li(e){return e&&e.childNodes.length>0}const ci=e=>{const[t]=e.childNodes.slice(0),[r]=e.childNodes.slice(-1);if((t.sourceCodeRange||t.sourceCodeLocation)&&(r.sourceCodeRange||r.sourceCodeLocation)){const n=t.sourceCodeRange?t.sourceCodeRange.startOffset:t.sourceCodeLocation.startOffset,s=r.sourceCodeRange?r.sourceCodeRange.endOffset:r.sourceCodeLocation.endOffset;e.sourceCodeLocation=new ri({startOffset:n,endOffset:s})}},ui=function(e,t={}){const r=[];let n={};if((0,v.isEmpty)(t)){const t=e[0],r=e[e.length-1];t&&r&&t.sourceCodeLocation&&r.sourceCodeLocation&&(n=new ri({startOffset:t.sourceCodeLocation.startOffset,endOffset:r.sourceCodeLocation.endOffset}))}else n=new ri({startOffset:t.startTag?t.startTag.endOffset:t.startOffset,endOffset:t.endTag?t.endTag.startOffset:t.endOffset});let s=ai.createImplicit({},[],n);return e.forEach(((e,t,i)=>{const a=0!==t&&i[t-1],o=i.length-1!==t&&i[t+1];!Zs(e.name)||function(e){return"#text"===e.name&&e.value&&e.value.match(/^[\n\s]+$/g)}(e)||((e,t,r)=>{const n=t&&"br"===t.name,s=r&&"br"===r.name;return"br"===e.name&&(n||s)})(e,a,o)?(li(s)&&(ci(s),e.sourceCodeLocation&&(n.startOffset=e.sourceCodeLocation.endOffset),r.push(s),s=ai.createImplicit({},[],n)),r.push(e)):s.childNodes.push(e)})),li(s)&&(ci(s),r.push(s)),r},hi=function(e){if(!e)return{};const t={};return e.forEach((({name:e,value:r})=>{"class"===e&&(r=new Set(r.split(" "))),t[e]=r})),t};function pi(e){return"p"===e}function di(e){return["h1","h2","h3","h4","h5","h6"].includes(e)}function gi(e){if("#text"===e.nodeName)return new oi(e);let t=[],r=!1;var n;(0,v.isEmpty)(e.childNodes)||(t=e.childNodes.map(gi),!(pi(n=e.nodeName)||Zs(n)||di(n))&&(t=ui(t,e.sourceCodeLocation)),function(e,t){return pi(e)&&t.some(((e,t,r)=>{const n=r.length-1!==t&&r[t+1];return"br"===e.name&&n&&"br"===n.name}))}(e.nodeName,t)&&(r=!0,t=ui(t,e.sourceCodeLocation)));const s=hi(e.attrs);if(pi(e.nodeName))return new ai(s,t,e.sourceCodeLocation,!1,r);if(di(e.nodeName)){const r=parseInt(e.nodeName[1],10);return new si(r,s,t,e.sourceCodeLocation)}return new ni(e.nodeName,s,t,e.sourceCodeLocation)}function fi(e){return t=>t.name===e}function mi(e){return t=>!!t.attributes.class&&t.attributes.class.has(e)}const _i=["code","kbd","math","q","samp","script","var","#comment","cite","form","map","noscript","output"];const vi=[mi("yoast-table-of-contents"),mi("yoast-reading-time__wrapper"),("breadcrumbs",e=>"breadcrumbs"===e.attributes.id),mi("elementor-button-wrapper"),mi("elementor-divider"),mi("elementor-spacer"),mi("elementor-custom-embed"),mi("elementor-icon-wrapper"),mi("elementor-icon-box-wrapper"),mi("elementor-counter"),mi("elementor-progress-wrapper"),mi("elementor-title"),mi("elementor-alert"),mi("elementor-soundcloud-wrapper"),mi("elementor-shortcode"),mi("elementor-menu-anchor"),mi("e-rating"),fi("base"),fi("blockquote"),fi("canvas"),fi("code"),fi("head"),fi("iframe"),fi("input"),fi("kbd"),fi("link"),fi("math"),fi("meta"),fi("meter"),fi("noscript"),fi("object"),fi("portal"),fi("pre"),fi("progress"),fi("q"),fi("samp"),fi("script"),fi("slot"),fi("style"),fi("svg"),fi("template"),fi("textarea"),fi("title"),fi("var"),fi("#comment"),fi("cite"),fi("form"),fi("map"),fi("noscript"),fi("output")],Ti=e=>e instanceof ai&&e.isImplicit?e.sourceCodeLocation.startOffset:e.sourceCodeLocation.startTag.endOffset;function yi(e,t,r=-1){if(0===t.length||!e.sourceCodeLocation)return t;let n,s=r>=0?r:Ti(e),i=[];if(e.findAll){const t=e.findAll((e=>e.sourceCodeLocation),!0);t.length>0&&(i=function(e){const t=[];return e.forEach((e=>{if(_i.includes(e.name))t.push(e.sourceCodeLocation);else{if(e.sourceCodeLocation.startTag){const r={startOffset:e.sourceCodeLocation.startTag.startOffset,endOffset:e.sourceCodeLocation.startTag.endOffset};"br"===e.name&&(r.endOffset=r.endOffset-1),t.push(r)}e.sourceCodeLocation.endTag&&t.push(e.sourceCodeLocation.endTag)}})),t.sort(((e,t)=>e.startOffset-t.startOffset)),t}(t))}return t.forEach((e=>{n=s+e.text.length,i.length>0&&(n=function(e,t,r){return e.forEach((e=>{e.startOffset>=t&&e.startOffset{e.startOffset===t&&(t+=e.endOffset-e.startOffset)})),t}(i,s)),e.sourceCodeRange={startOffset:s,endOffset:n},s=n})),t}const Ei=function e(t,r){return(t instanceof ai&&"p-overarching"!==t.name||t instanceof si)&&(t.sentences=function(e,t){let r=t.splitIntoSentences(e.innerText());return r=yi(e,r),r.map((r=>(r=function(e,t,r){return t.tokens=r.splitIntoTokens(t),t.tokens=yi(e,t.tokens,t.sourceCodeRange.startOffset),t}(e,r,t),Yr.forEach(((e,t)=>{r.text=r.text.split(t).join(e),r.tokens.map((r=>(r.text=r.text.split(t).join(e),r)))})),r)))}(t,r)),t.childNodes&&(t.childNodes=t.childNodes.map((t=>e(t,r)))),t};function bi(e,t){if(!(function(e,t){return"#text"!==e.name&&t.some((t=>t(e)))}(e,t)||e.childNodes&&(e.childNodes=e.childNodes.filter((e=>bi(e,t))),0===e.childNodes.length&&e instanceof ai&&e.isImplicit)))return e}function Ai(e){return _i.includes(e.name)&&(e.childNodes=[]),(0,v.isEmpty)(e.childNodes)||e.childNodes.map(Ai),e}const wi=/)[^])*)\5|[^]*?)}\s+)?(\/)?-->/g,Ci=e=>{const t=e._attributes.wpBlocks,r=[];return t&&t.length>0?(t.forEach((e=>{if(e.innerBlocks.length>0){const t=e.innerBlocks;r.push(e,...t)}else r.push(e)})),r):[]};function ki(e,t){0!==e.length&&e.forEach((e=>{const r=wi.exec(t);if(null===r)return;const[n]=r,s=r.index,i=n.length;e.startOffset=s,e.contentOffset=s+i+1,e.innerBlocks&&e.innerBlocks.length>0&&ki(e.innerBlocks,t)}))}function Si(e,t,r){if(!e)return;let n=r;if(e.sourceCodeLocation&&e.sourceCodeLocation.startOffset){const r=t.find((t=>t.contentOffset===e.sourceCodeLocation.startOffset));r&&(n=r.clientId)}n&&(e.clientId=n),(e.childNodes||[]).forEach((e=>{e.attributes&&e.attributes.id&&e.childNodes&&e.childNodes.length>3&&(e.childNodes[0].attributeId=e.attributes.id,e.childNodes[0].isFirstSection=!0,e.childNodes[2].attributeId=e.attributes.id,e.childNodes[2].isFirstSection=!1),Si(e,t,n)}))}function Oi(e,t){const r=e._attributes.wpBlocks||[];wi.lastIndex=0,ki(r,e.getText()),Si(t,Ci(e),void 0)}function xi(e,t,r){let n=e.getText();n=n.replace(Wr,"#$1");let s=gi((0,Xs.Bm)(n,{sourceCodeLocationInfo:!0}));return s.childNodes&&s.childNodes.length>0&&Oi(e,s),s=Ai(s),s=Ei(s,t),r&&((e,t)=>{if(!t||0===t.length)return;const r=ht(t);gt(e,t,r)})(s,r),bi(s,vi)}const Ni=function(e,t){this.type="assessor",this.setResearcher(e),this._assessments=[],this._options=t||{}};Ni.prototype.setResearcher=function(e){if((0,v.isUndefined)(e))throw new de("The assessor requires a researcher.");this._researcher=e},Ni.prototype.getAvailableAssessments=function(){return this._assessments},Ni.prototype.isApplicable=function(e,t,r){return!e.hasOwnProperty("isApplicable")&&"function"!=typeof e.isApplicable||e.isApplicable(t,r)},Ni.prototype.hasMarker=function(e){return(0,v.isFunction)(this._options.marker)&&(e.hasOwnProperty("getMarks")||"function"==typeof e.getMarks)},Ni.prototype.getSpecificMarker=function(){return this._options.marker},Ni.prototype.getPaper=function(){return this._lastPaper},Ni.prototype.getMarker=function(e,t,r){const n=this._options.marker;return function(){let s=e.getMarks(t,r);s=zs(s),n(t,s)}},Ni.prototype.assess=function(e){this._researcher.setPaper(e);const t=new Qs(this._researcher),r=e._attributes&&e._attributes.shortcodes;e.setTree(xi(e,t,r));let n=this.getAvailableAssessments();this.results=[],n=(0,v.filter)(n,function(t){return this.isApplicable(t,e,this._researcher)}.bind(this)),this.setHasMarkers(!1),this.results=(0,v.map)(n,this.executeAssessment.bind(this,e,this._researcher)),this._lastPaper=e},Ni.prototype.setHasMarkers=function(e){this._hasMarkers=e},Ni.prototype.hasMarkers=function(){return this._hasMarkers},Ni.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=zs(n.marks)),n.hasMarks()&&this.hasMarker(r)&&(this.setHasMarkers(!0),n.setMarker(this.getMarker(r,e,t)))}catch(e){s=e,(0,v.isUndefined)(s)&&(s=""),(0,v.isUndefined)(console)||(0,v.isUndefined)(console.trace)||console.trace(s),n=new Cs,n.setScore(-1),n.setText((0,_.sprintf)(/* translators: %1$s expands to the name of the assessment. */ +(0,_.__)("An error occurred in the '%1$s' assessment","wordpress-seo"),r.identifier,e))}var s;return n},Ni.prototype.getValidResults=function(){return(0,v.filter)(this.results,function(e){return this.isValidResult(e)}.bind(this))},Ni.prototype.isValidResult=function(e){return e.hasScore()&&e.hasText()},Ni.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},Ni.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},Ni.prototype.removeAssessment=function(e){const t=(0,v.findIndex)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}));-1!==t&&this._assessments.splice(t,1)},Ni.prototype.getAssessment=function(e){return(0,v.find)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}))},Ni.prototype.getApplicableAssessments=function(){const e=this.getAvailableAssessments();return(0,v.filter)(e,function(e){return this.isApplicable(e,this.getPaper(),this._researcher)}.bind(this))};const Ri=Ni,Ii={recommendedMaximumLength:60,maximumLength:80};class Li extends vs{constructor(e={}){super();const t={recommendedMaximumLength:120,maximumLength:156,scores:{noMetaDescription:1,tooLong:6,tooShort:6,correctLength:9},urlTitle:bs("https://yoa.st/34d"),urlCallToAction:bs("https://yoa.st/34e")};this.identifier="metaDescriptionLength",this._config=(0,v.merge)(t,e)}getMaximumLength(e){return this.getConfig(e).maximumLength}getConfig(e){let t=this._config;return"ja"===e&&(t=(0,v.merge)(t,Ii)),t}getResult(e,t){const r=t.getResearch("metaDescriptionLength"),n=new Cs,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((0,_.__)("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?(0,_.sprintf)(/* translators: %1$s and %2$s expand to a links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%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?(0,_.sprintf)( /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag, %4$d expands to the number of characters in the meta description, %5$d expands to @@ -136,7 +136,7 @@ this.name=(0,_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=(0,v.m /* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag, %4$d expands to the total available number of characters in the meta description */ (0,_.__)("%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):(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ -(0,_.__)("%1$sMeta description length%2$s: Well done!","wordpress-seo"),t.urlTitle,"")}}class Ii extends ms{constructor(e={}){super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{noMatches:3,tooFewMatches:3,goodNumberOfMatches:9,tooManyMatches:3},urlTitle:ys("https://yoa.st/33m"),urlCallToAction:ys("https://yoa.st/33n")};this.identifier="subheadingsKeyword",this._config=(0,v.merge)(t,e)}getResult(e,t){this._subHeadings=t.getResearch("matchKeywordInSubheadings");const r=new As;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 Lr(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 Ss(this._subHeadings.matches,this._minNumberOfSubheadings,this._maxNumberOfSubheadings)}calculateResult(){return this.hasTooFewMatches()?{score:this._config.scores.tooFewMatches,resultText:(0,_.sprintf)(/* translators: %1$s and %2$s expand to a link on yoast.com, %3$s expands to the anchor end tag. */ +(0,_.__)("%1$sMeta description length%2$s: Well done!","wordpress-seo"),t.urlTitle,"")}}class Mi extends vs{constructor(e={}){super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{noMatches:3,tooFewMatches:3,goodNumberOfMatches:9,tooManyMatches:3},urlTitle:bs("https://yoa.st/33m"),urlCallToAction:bs("https://yoa.st/33n")};this.identifier="subheadingsKeyword",this._config=(0,v.merge)(t,e)}getResult(e,t){this._subHeadings=t.getResearch("matchKeywordInSubheadings");const r=new Cs;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 Dr(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 xs(this._subHeadings.matches,this._minNumberOfSubheadings,this._maxNumberOfSubheadings)}calculateResult(){return this.hasTooFewMatches()?{score:this._config.scores.tooFewMatches,resultText:(0,_.sprintf)(/* translators: %1$s and %2$s expand to a link on yoast.com, %3$s expands to the anchor end tag. */ (0,_.__)("%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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to a link on yoast.com, %3$s expands to the anchor end tag. */ (0,_.__)("%1$sKeyphrase in subheading%3$s: More than 75%% of your H2 and H3 subheadings reflect the topic of your copy. That's too much. %2$sDon't over-optimize%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:this.isOneOfOne()?{score:this._config.scores.goodNumberOfMatches,resultText:(0,_.sprintf)( /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag, @@ -145,7 +145,7 @@ this.name=(0,_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=(0,v.m /* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag, %3$d expands to the number of subheadings containing the keyphrase. */ (0,_._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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to a link on yoast.com, %3$s expands to the anchor end tag. */ -(0,_.__)("%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 Li extends ms{constructor(e={}){super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{withAltGoodNumberOfKeywordMatches:9,withAltTooFewKeywordMatches:6,withAltTooManyKeywordMatches:6,withAltNonKeyword:6,withAlt:6,noAlt:6},urlTitle:ys("https://yoa.st/4f7"),urlCallToAction:ys("https://yoa.st/4f6")};this.identifier="imageKeyphrase",this._config=(0,v.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 As;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&&Ss(this.altProperties.withAltKeyword,2,4)||this.imageCount>4&&Ss(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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ +(0,_.__)("%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 Di extends vs{constructor(e={}){super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{withAltGoodNumberOfKeywordMatches:9,withAltTooFewKeywordMatches:6,withAltTooManyKeywordMatches:6,withAltNonKeyword:6,withAlt:6,noAlt:6},urlTitle:bs("https://yoa.st/4f7"),urlCallToAction:bs("https://yoa.st/4f6")};this.identifier="imageKeyphrase",this._config=(0,v.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 Cs;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&&xs(this.altProperties.withAltKeyword,2,4)||this.imageCount>4&&xs(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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%1$sImage Keyphrase%3$s: Images on this page do not have alt attributes with at least half of the words from your keyphrase. %2$sFix that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:this.hasTooFewMatches()?{score:this._config.scores.withAltTooFewKeywordMatches,resultText:(0,_.sprintf)( /* translators: %1$d expands to the number of images containing an alt attribute with the keyword, @@ -159,13 +159,13 @@ this.name=(0,_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=(0,v.m * %2$d expands to the total number of images, %3$s and %4$s expand to a link on yoast.com, * %5$s expands to the anchor end tag. */ (0,_.__)("%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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -(0,_.__)("%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 Mi extends ms{constructor(e={},t=!1){super();const r={scores:{bad:3,good:9},recommendedCount:1,urlTitle:ys("https://yoa.st/4f4"),urlCallToAction:ys("https://yoa.st/4f5")};this.identifier="images",this._config=(0,v.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 As;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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ +(0,_.__)("%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 Pi extends vs{constructor(e={},t=!1){super();const r={scores:{bad:3,good:9},recommendedCount:1,urlTitle:bs("https://yoa.st/4f4"),urlCallToAction:bs("https://yoa.st/4f5")};this.identifier="images",this._config=(0,v.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 Cs;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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -(0,_.__)("%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(Ss(e,1,3)&&!this._countVideos)return{score:this._config.scores.okay,resultText:(0,_.sprintf)( +(0,_.__)("%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(xs(e,1,3)&&!this._countVideos)return{score:this._config.scores.okay,resultText:(0,_.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, */ -(0,_._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(Ss(e,1,3)&&this._countVideos)return{score:this._config.scores.okay,resultText:(0,_.sprintf)( +(0,_._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(xs(e,1,3)&&this._countVideos)return{score:this._config.scores.okay,resultText:(0,_.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, */ @@ -175,7 +175,7 @@ this.name=(0,_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=(0,v.m (0,_.__)("%1$sImages and videos%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.good,resultText:(0,_.sprintf)( /* translators: %1$s expands to a link on yoast.com, * %2$s expands to the anchor end tag. */ -(0,_.__)("%1$sImages%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}}}class Di extends ms{constructor(e={}){super();const t={recommendedMinimum:300,slightlyBelowMinimum:250,belowMinimum:200,veryFarBelowMinimum:100,scores:{recommendedMinimum:9,slightlyBelowMinimum:6,belowMinimum:3,farBelowMinimum:-10,veryFarBelowMinimum:-20},countTextIn:{singular:(0,_.__)("word","wordpress-seo"),plural:(0,_.__)("words","wordpress-seo")},urlTitle:ys("https://yoa.st/34n"),urlCallToAction:ys("https://yoa.st/34o"),cornerstoneContent:!1,customContentType:""};this.identifier="textLength",this._config=(0,v.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=(0,_.__)("character","wordpress-seo"),this._config.countTextIn.plural=(0,_.__)("characters","wordpress-seo"));const n=this.calculateResult(r.count),s=new As;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)?(0,v.merge)(t,r[t.customContentType]):!0===t.cornerstoneContent&&""===t.customContentType&&r.hasOwnProperty("defaultCornerstone")?(0,v.merge)(t,r.defaultCornerstone):(0,v.merge)(t,r.defaultAnalysis)}calculateResult(e){if(e>=this._config.recommendedMinimum)return{score:this._config.scores.recommendedMinimum,resultText:(0,_.sprintf)( +(0,_.__)("%1$sImages%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}}}class Fi extends vs{constructor(e={}){super();const t={recommendedMinimum:300,slightlyBelowMinimum:250,belowMinimum:200,veryFarBelowMinimum:100,scores:{recommendedMinimum:9,slightlyBelowMinimum:6,belowMinimum:3,farBelowMinimum:-10,veryFarBelowMinimum:-20},countTextIn:{singular:(0,_.__)("word","wordpress-seo"),plural:(0,_.__)("words","wordpress-seo")},urlTitle:bs("https://yoa.st/34n"),urlCallToAction:bs("https://yoa.st/34o"),cornerstoneContent:!1,customContentType:""};this.identifier="textLength",this._config=(0,v.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=(0,_.__)("character","wordpress-seo"),this._config.countTextIn.plural=(0,_.__)("characters","wordpress-seo"));const n=this.calculateResult(r.count),s=new Cs;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)?(0,v.merge)(t,r[t.customContentType]):!0===t.cornerstoneContent&&""===t.customContentType&&r.hasOwnProperty("defaultCornerstone")?(0,v.merge)(t,r.defaultCornerstone):(0,v.merge)(t,r.defaultAnalysis)}calculateResult(e){if(e>=this._config.recommendedMinimum)return{score:this._config.scores.recommendedMinimum,resultText:(0,_.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'. */ @@ -199,34 +199,34 @@ this.name=(0,_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=(0,v.m %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'. */ -(0,_.__)("%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 Pi extends ms{constructor(e={}){super();const t={scores:{noLinks:3,allNofollowed:7,someNoFollowed:8,allFollowed:9},urlTitle:ys("https://yoa.st/34f"),urlCallToAction:ys("https://yoa.st/34g")};this.identifier="externalLinks",this._config=(0,v.merge)(t,e)}getResult(e,t){const r=t.getResearch("getLinkStatistics"),n=new As;return(0,v.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 Bi extends vs{constructor(e={}){super();const t={scores:{noLinks:3,allNofollowed:7,someNoFollowed:8,allFollowed:9},urlTitle:bs("https://yoa.st/34f"),urlCallToAction:bs("https://yoa.st/34g")};this.identifier="externalLinks",this._config=(0,v.merge)(t,e)}getResult(e,t){const r=t.getResearch("getLinkStatistics"),n=new Cs;return(0,v.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?(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%1$sOutbound links%3$s: All outbound links on this page are nofollowed. %2$sAdd some normal links%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,""):e.externalDofollow===e.externalTotal?(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ (0,_.__)("%1$sOutbound links%2$s: Good job!","wordpress-seo"),this._config.urlTitle,""):e.externalDofollow"):""}}class Fi extends ms{constructor(e={},t=!1){super();const r={minLength:400,maxLength:600,scores:{noTitle:1,widthTooShort:6,widthTooLong:3,widthCorrect:9},urlTitle:ys("https://yoa.st/34h"),urlCallToAction:ys("https://yoa.st/34i")};this._allowShortTitle=t,this.identifier="titleWidth",this._config=(0,v.merge)(r,e)}getMaximumLength(){return 600}getResult(e,t){const r=t.getResearch("pageTitleWidth"),n=new As;return n.setScore(this.calculateScore(r)),n.setText(this.translateScore(r)),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName((0,_.__)("SEO title","wordpress-seo"))),n.max=this._config.maxLength,n.actual=r,n}calculateScore(e){return Cs(e,1,400)?this._config.scores.widthTooShort:Cs(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 Cs(e,1,400)?this._allowShortTitle?(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ +(0,_.__)("%1$sOutbound links%2$s: There are both nofollowed and normal outbound links on this page. Good job!","wordpress-seo"),this._config.urlTitle,""):""}}class Hi extends vs{constructor(e={},t=!1){super();const r={minLength:400,maxLength:600,scores:{noTitle:1,widthTooShort:6,widthTooLong:3,widthCorrect:9},urlTitle:bs("https://yoa.st/34h"),urlCallToAction:bs("https://yoa.st/34i")};this._allowShortTitle=t,this.identifier="titleWidth",this._config=(0,v.merge)(r,e)}getMaximumLength(){return 600}getResult(e,t){const r=t.getResearch("pageTitleWidth"),n=new Cs;return n.setScore(this.calculateScore(r)),n.setText(this.translateScore(r)),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName((0,_.__)("SEO title","wordpress-seo"))),n.max=this._config.maxLength,n.actual=r,n}calculateScore(e){return Ss(e,1,400)?this._config.scores.widthTooShort:Ss(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 Ss(e,1,400)?this._allowShortTitle?(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ (0,_.__)("%1$sSEO title width%2$s: Good job!","wordpress-seo"),this._config.urlTitle,""):(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -(0,_.__)("%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,""):Cs(e,this._config.minLength,this._config.maxLength)?(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ +(0,_.__)("%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,""):Ss(e,this._config.minLength,this._config.maxLength)?(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ (0,_.__)("%1$sSEO title width%2$s: Good job!","wordpress-seo"),this._config.urlTitle,""):e>this._config.maxLength?(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ (0,_.__)("%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,""):(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -(0,_.__)("%1$sSEO title width%3$s: %2$sPlease create an SEO title%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}const Bi=class extends ms{constructor(e={}){super();const t={scores:{onlyFunctionWords:0},urlTitle:ys("https://yoa.st/functionwordskeyphrase-1"),urlCallToAction:ys("https://yoa.st/functionwordskeyphrase-2")};this.identifier="functionWordsInKeyphrase",this._config=(0,v.merge)(t,e)}getResult(e,t){this._functionWordsInKeyphrase=t.getResearch("functionWordsInKeyphrase"),this._keyword=(0,v.escape)(e.getKeyword());const r=new As;return this._functionWordsInKeyphrase&&(r.setScore(this._config.scores.onlyFunctionWords),r.setText((0,_.sprintf)( +(0,_.__)("%1$sSEO title width%3$s: %2$sPlease create an SEO title%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}const Ui=class extends vs{constructor(e={}){super();const t={scores:{onlyFunctionWords:0},urlTitle:bs("https://yoa.st/functionwordskeyphrase-1"),urlCallToAction:bs("https://yoa.st/functionwordskeyphrase-2")};this.identifier="functionWordsInKeyphrase",this._config=(0,v.merge)(t,e)}getResult(e,t){this._functionWordsInKeyphrase=t.getResearch("functionWordsInKeyphrase"),this._keyword=(0,v.escape)(e.getKeyword());const r=new Cs;return this._functionWordsInKeyphrase&&(r.setScore(this._config.scores.onlyFunctionWords),r.setText((0,_.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. */ -(0,_.__)('%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((0,_.__)("keyphrase","wordpress-seo"))),r}isApplicable(e,t){return e.hasKeyword()&&t.hasResearch("functionWordsInKeyphrase")}};function Hi(e){return""+e+""}const Ui=class extends ms{constructor(e={}){super();const t={scores:{textContainsSuperfluousH1:1},urlTitle:ys("https://yoa.st/3a6"),urlCallToAction:ys("https://yoa.st/3a7")};this.identifier="singleH1",this._config=(0,v.merge)(t,e)}getResult(e,t){this._h1s=t.getResearch("h1s");const r=new As,n=this.calculateResult();return(0,v.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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ -(0,_.__)("%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(){return this._h1s.map((function(e){return new Kr({original:"

    "+e.content+"

    ",marked:"

    "+Hi(e.content)+"

    ",position:{startOffset:e.position.startOffset,endOffset:e.position.endOffset,startOffsetBlock:0,endOffsetBlock:e.position.endOffset-e.position.startOffset,clientId:e.position.clientId}})}))}isApplicable(e){return e.hasText()}},$i=function(e,t){Ni.call(this,e,t),this.type="SEOAssessor",this._assessments=[new ws,new Os,new Fs,new Bs,new Ri,new Ii,new Hs,new Li,new Mi,new Di,new Pi,new $s,new Us,new Fi({scores:{widthTooShort:9}},!0),new qs,new Bi,new Ui]};(0,y.inherits)($i,Ni);const Ki=$i;class qi extends ms{constructor(e={},t=!1){super();const r={urlTitle:ys("https://yoa.st/35d"),urlCallToAction:ys("https://yoa.st/35e"),countTextIn:(0,_.__)("words","wordpress-seo"),parameters:{recommendedLength:150,maximumRecommendedLength:200}};this.identifier="textParagraphTooLong",this._config=(0,v.merge)(r,e),this._isProduct=t}getTooLongParagraphs(e,t){const r=t.parameters.recommendedLength;return(0,v.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),Cs(s,r.parameters.recommendedLength,r.parameters.maximumRecommendedLength)&&(n=6),s>r.parameters.maximumRecommendedLength&&(n=3),n>=7?{score:n,hasMarks:!1,text:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ +(0,_.__)('%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((0,_.__)("keyphrase","wordpress-seo"))),r}isApplicable(e,t){return e.hasKeyword()&&t.hasResearch("functionWordsInKeyphrase")}};function $i(e){return""+e+""}const Ki=class extends vs{constructor(e={}){super();const t={scores:{textContainsSuperfluousH1:1},urlTitle:bs("https://yoa.st/3a6"),urlCallToAction:bs("https://yoa.st/3a7")};this.identifier="singleH1",this._config=(0,v.merge)(t,e)}getResult(e,t){this._h1s=t.getResearch("h1s");const r=new Cs,n=this.calculateResult();return(0,v.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:(0,_.sprintf)(/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */ +(0,_.__)("%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(){return this._h1s.map((function(e){return new jr({original:"

    "+e.content+"

    ",marked:"

    "+$i(e.content)+"

    ",position:{startOffset:e.position.startOffset,endOffset:e.position.endOffset,startOffsetBlock:0,endOffsetBlock:e.position.endOffset-e.position.startOffset,clientId:e.position.clientId}})}))}isApplicable(e){return e.hasText()}},qi=function(e,t){Ri.call(this,e,t),this.type="SEOAssessor",this._assessments=[new ks,new Ns,new Hs,new Us,new Li,new Mi,new $s,new Di,new Pi,new Fi,new Bi,new qs,new Ks,new Hi({scores:{widthTooShort:9}},!0),new Gs,new Ui,new Ki]};(0,y.inherits)(qi,Ri);const ji=qi;class Gi extends vs{constructor(e={},t=!1){super();const r={urlTitle:bs("https://yoa.st/35d"),urlCallToAction:bs("https://yoa.st/35e"),countTextIn:(0,_.__)("words","wordpress-seo"),parameters:{recommendedLength:150,maximumRecommendedLength:200}};this.identifier="textParagraphTooLong",this._config=(0,v.merge)(r,e),this._isProduct=t}getTooLongParagraphs(e,t){const r=t.parameters.recommendedLength;return(0,v.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),Ss(s,r.parameters.recommendedLength,r.parameters.maximumRecommendedLength)&&(n=6),s>r.parameters.maximumRecommendedLength&&(n=3),n>=7?{score:n,hasMarks:!1,text:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ (0,_.__)("%1$sParagraph length%2$s: None of the paragraphs are too long. Great job!","wordpress-seo"),r.urlTitle,"")}:{score:n,hasMarks:!0,text:(0,_.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'. */ -(0,_._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(0,v.map)(n,(function(e){const t=W(e.text),r=Hi(t);return new Kr({original:t,marked:r})}))}getResult(e,t){let r=t.getResearch("getParagraphLength");t.getConfig("countCharacters")&&(this._config.countTextIn=(0,_.__)("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 As;return a.setScore(i.score),a.setText(i.text),a.setHasMarks(i.hasMarks),a}isApplicable(e){return this.hasEnoughContentForAssessment(e)}}const ji=class extends ms{constructor(e={},t=!1,r=!1){super();const n={recommendedLength:20,slightlyTooMany:25,farTooMany:30,urlTitle:ys("https://yoa.st/34v"),urlCallToAction:ys("https://yoa.st/34w"),countTextIn:(0,_.__)("words","wordpress-seo")};this._config=(0,v.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=(0,_.__)("characters","wordpress-seo"));const n=this.calculatePercentage(r),s=this.calculateScore(n),i=new As;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(0,v.map)(n,(function(e){const t=z(e.sentence);return new Kr({original:t,marked:Hi(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")?(0,v.merge)(t,r.cornerstonePercentages):!1===this._isCornerstone&&!1===this._isProduct&&r.hasOwnProperty("percentages")?(0,v.merge)(t,r.percentages):t}translateScore(e,t){return e>=7?(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ +(0,_._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(0,v.map)(n,(function(e){const t=W(e.text),r=$i(t);return new jr({original:t,marked:r})}))}getResult(e,t){let r=t.getResearch("getParagraphLength");t.getConfig("countCharacters")&&(this._config.countTextIn=(0,_.__)("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 Cs;return a.setScore(i.score),a.setText(i.text),a.setHasMarks(i.hasMarks),a}isApplicable(e){return this.hasEnoughContentForAssessment(e)}}const zi=class extends vs{constructor(e={},t=!1,r=!1){super();const n={recommendedLength:20,slightlyTooMany:25,farTooMany:30,urlTitle:bs("https://yoa.st/34v"),urlCallToAction:bs("https://yoa.st/34w"),countTextIn:(0,_.__)("words","wordpress-seo")};this._config=(0,v.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=(0,_.__)("characters","wordpress-seo"));const n=this.calculatePercentage(r),s=this.calculateScore(n),i=new Cs;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(0,v.map)(n,(function(e){const t=z(e.sentence);return new jr({original:t,marked:$i(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")?(0,v.merge)(t,r.cornerstonePercentages):!1===this._isCornerstone&&!1===this._isProduct&&r.hasOwnProperty("percentages")?(0,v.merge)(t,r.percentages):t}translateScore(e,t){return e>=7?(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ (0,_.__)("%1$sSentence length%2$s: Great!","wordpress-seo"),this._config.urlTitle,""):(0,_.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'. */ -(0,_.__)("%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;return 0!==e.length&&(t=Ms(this.countTooLongSentences(e)/e.length*100)),t}calculateScore(e){let t;return e<=this._config.slightlyTooMany&&(t=9),Cs(e,this._config.slightlyTooMany,this._config.farTooMany)&&(t=6),e>this._config.farTooMany&&(t=3),t}getTooLongSentences(e){return function(e,t){return(0,v.filter)(e,(function(e){return e.sentenceLength>t}))}(e,this._config.recommendedLength)}countTooLongSentences(e){return this.getTooLongSentences(e).length}},Gi=class extends ms{constructor(e={}){super();const t={parameters:{recommendedMaximumLength:300,slightlyTooMany:300,farTooMany:350},countTextIn:(0,_.__)("words","wordpress-seo"),urlTitle:ys("https://yoa.st/34x"),urlCallToAction:ys("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=(0,v.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:Cs(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=ut(n),n=pt(n,e._attributes&&e._attributes.shortcodes),r?r(n):ce(n).length}getResult(e,t){this._subheadingTextsLength=t.getResearch("getSubheadingTextLengths"),t.getConfig("subheadingsTooLong")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn=(0,_.__)("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 As;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")?(0,v.merge)(t,r.cornerstoneParameters):(0,v.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 Ir(e.getText()).length>0}getMarks(){const e=(0,v.map)(this.getTooLongSubheadingTexts(),(function({subheading:e}){const t=Hi(e=Y(e));return new Kr({original:e,marked:t,fieldsToMark:["heading"]})}));return(0,v.filter)(e,(e=>""!==e.getOriginal()))}getTooLongSubheadingTexts(){return(0,v.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:(0,_.sprintf)( +(0,_.__)("%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;return 0!==e.length&&(t=Ps(this.countTooLongSentences(e)/e.length*100)),t}calculateScore(e){let t;return e<=this._config.slightlyTooMany&&(t=9),Ss(e,this._config.slightlyTooMany,this._config.farTooMany)&&(t=6),e>this._config.farTooMany&&(t=3),t}getTooLongSentences(e){return function(e,t){return(0,v.filter)(e,(function(e){return e.sentenceLength>t}))}(e,this._config.recommendedLength)}countTooLongSentences(e){return this.getTooLongSentences(e).length}},Wi=class extends vs{constructor(e={}){super();const t={parameters:{recommendedMaximumLength:300,slightlyTooMany:300,farTooMany:350},countTextIn:(0,_.__)("words","wordpress-seo"),urlTitle:bs("https://yoa.st/34x"),urlCallToAction:bs("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=(0,v.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:Ss(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=ut(n),n=pt(n,e._attributes&&e._attributes.shortcodes),r?r(n):ce(n).length}getResult(e,t){this._subheadingTextsLength=t.getResearch("getSubheadingTextLengths"),t.getConfig("subheadingsTooLong")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn=(0,_.__)("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 Cs;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")?(0,v.merge)(t,r.cornerstoneParameters):(0,v.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 Mr(e.getText()).length>0}getMarks(){const e=(0,v.map)(this.getTooLongSubheadingTexts(),(function({subheading:e}){const t=$i(e=Y(e));return new jr({original:e,marked:t,fieldsToMark:["heading"]})}));return(0,v.filter)(e,(e=>""!==e.getOriginal()))}getTooLongSubheadingTexts(){return(0,v.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:(0,_.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'. @@ -238,7 +238,7 @@ this.name=(0,_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=(0,v.m */ (0,_.__)("%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:(0,_.sprintf)( // translators: %1$s expands to a link to https://yoa.st/headings, %2$s expands to the link closing tag. -(0,_.__)("%1$sSubheading distribution%2$s: Great job!","wordpress-seo"),this._config.urlTitle,"")}:Cs(t,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany)?{score:this._config.scores.okSubheadings,hasMarks:!0,resultText:(0,_.sprintf)( +(0,_.__)("%1$sSubheading distribution%2$s: Great job!","wordpress-seo"),this._config.urlTitle,"")}:Ss(t,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany)?{score:this._config.scores.okSubheadings,hasMarks:!0,resultText:(0,_.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 or characters following a subheading, %6$s expands to the word 'words' or 'characters', %2$s expands to the link closing tag. */ @@ -249,25 +249,25 @@ this.name=(0,_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=(0,v.m (0,_._n)("%1$sSubheading distribution%2$s: %3$d section of your text is longer than %4$d %6$s and is not separated by any subheadings. %5$sAdd subheadings to improve readability%2$s.","%1$sSubheading distribution%2$s: %3$d sections of your text are longer than %4$d %6$s and are not separated by any subheadings. %5$sAdd subheadings to improve readability%2$s.",this._tooLongTextsNumber,"wordpress-seo"),this._config.urlTitle,"",this._tooLongTextsNumber,this._config.parameters.recommendedMaximumLength,this._config.urlCallToAction,this._config.countTextIn)}}return{score:this._config.scores.badLongTextNoSubheadings,hasMarks:!1,resultText:(0,_.sprintf)(/* translators: %1$s and %3$s expand to a link to https://yoa.st/headings, %2$s expands to the link closing tag. */ (0,_.__)("%1$sSubheading distribution%2$s: You are not using any subheadings, although your text is rather long. %3$sTry and add some subheadings%2$s.","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction)}}return this._hasSubheadings?{score:this._config.scores.goodSubheadings,hasMarks:!1,resultText:(0,_.sprintf)(/* translators: %1$s expands to a link to https://yoa.st/headings, %2$s expands to the link closing tag. */ (0,_.__)("%1$sSubheading distribution%2$s: Great job!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.goodShortTextNoSubheadings,hasMarks:!1,resultText:(0,_.sprintf)(/* translators: %1$s expands to a link to https://yoa.st/headings, %2$s expands to the link closing tag. */ -(0,_.__)("%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 zi extends ms{constructor(e={}){super();const t={urlTitle:ys("https://yoa.st/34z"),urlCallToAction:ys("https://yoa.st/35a"),applicableIfTextLongerThan:200};this.identifier="textTransitionWords",this._config=(0,v.merge)(t,e)}calculateTransitionWordPercentage(e){return 0===e.transitionWordSentences||0===e.totalSentences?0:Ms(e.transitionWordSentences/e.totalSentences*100)}calculateScoreFromPercentage(e){return e<20?3:ks(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:Ms(r),hasMarks:n,text:(0,_.sprintf)(/* translators: %1$s and %3$s expand to a link to yoast.com, %2$s expands to the anchor end tag */ -(0,_.__)("%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:Ms(r),hasMarks:n,text:(0,_.sprintf)( +(0,_.__)("%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 Yi extends vs{constructor(e={}){super();const t={urlTitle:bs("https://yoa.st/34z"),urlCallToAction:bs("https://yoa.st/35a"),applicableIfTextLongerThan:200};this.identifier="textTransitionWords",this._config=(0,v.merge)(t,e)}calculateTransitionWordPercentage(e){return 0===e.transitionWordSentences||0===e.totalSentences?0:Ps(e.transitionWordSentences/e.totalSentences*100)}calculateScoreFromPercentage(e){return e<20?3:Os(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:Ps(r),hasMarks:n,text:(0,_.sprintf)(/* translators: %1$s and %3$s expand to a link to yoast.com, %2$s expands to the anchor end tag */ +(0,_.__)("%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:Ps(r),hasMarks:n,text:(0,_.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 */ -(0,_.__)("%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:Ms(r),hasMarks:n,text:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %3$s expands to the anchor end tag. */ -(0,_.__)("%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 As;return s.setScore(n.score),s.setText(n.text),s.setHasMarks(n.hasMarks),s}getMarks(e,t){const r=t.getResearch("findTransitionWords");return(0,v.map)(r.sentenceResults,(function(e){let t=e.sentence;return t=z(t),new Kr({original:t,marked:Hi(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=ut(s),s=pt(s,e._attributes&&e._attributes.shortcodes),(r?r(s):ce(s).length)>=this._config.applicableIfTextLongerThan&&t.hasResearch("findTransitionWords")}}class Wi extends ms{constructor(e={}){super();const t={urlTitle:ys("https://yoa.st/34t"),urlCallToAction:ys("https://yoa.st/34u")};this.identifier="passiveVoice",this._config=(0,v.merge)(t,e)}calculatePassiveVoiceResult(e){let t,r=0;0!==e.total&&(r=Ms(e.passives.length/e.total*100));const n=r>0;return r<=10&&(t=9),Cs(r,10,15)&&(t=6),r>15&&(t=3),t>=7?{score:t,hasMarks:n,text:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ +(0,_.__)("%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:Ps(r),hasMarks:n,text:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %3$s expands to the anchor end tag. */ +(0,_.__)("%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 Cs;return s.setScore(n.score),s.setText(n.text),s.setHasMarks(n.hasMarks),s}getMarks(e,t){const r=t.getResearch("findTransitionWords");return(0,v.map)(r.sentenceResults,(function(e){let t=e.sentence;return t=z(t),new jr({original:t,marked:$i(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=ut(s),s=pt(s,e._attributes&&e._attributes.shortcodes),(r?r(s):ce(s).length)>=this._config.applicableIfTextLongerThan&&t.hasResearch("findTransitionWords")}}class Vi extends vs{constructor(e={}){super();const t={urlTitle:bs("https://yoa.st/34t"),urlCallToAction:bs("https://yoa.st/34u")};this.identifier="passiveVoice",this._config=(0,v.merge)(t,e)}calculatePassiveVoiceResult(e){let t,r=0;0!==e.total&&(r=Ps(e.passives.length/e.total*100));const n=r>0;return r<=10&&(t=9),Ss(r,10,15)&&(t=6),r>15&&(t=3),t>=7?{score:t,hasMarks:n,text:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */ (0,_.__)("%1$sPassive voice%2$s: You're using enough active voice. That's great!","wordpress-seo"),this._config.urlTitle,"")}:{score:t,hasMarks:n,text:(0,_.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. */ -(0,_.__)("%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(0,v.map)(r.passives,(function(e){const t=Hi(e=z(e));return new Kr({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getPassiveVoiceResult"),n=this.calculatePassiveVoiceResult(r),s=new As;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 Yi extends ms{constructor(e={}){super();const t={urlTitle:ys("https://yoa.st/35f"),urlCallToAction:ys("https://yoa.st/35g")};this.identifier="sentenceBeginnings",this._config=(0,v.merge)(t,e)}groupSentenceBeginnings(e){const t=(0,v.partition)(e,(function(e){return e.count>2}));if(0===t[0].length)return{total:0};const r=(0,v.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:(0,_.sprintf)( +(0,_.__)("%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(0,v.map)(r.passives,(function(e){const t=$i(e=z(e));return new jr({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getPassiveVoiceResult"),n=this.calculatePassiveVoiceResult(r),s=new Cs;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 Qi extends vs{constructor(e={}){super();const t={urlTitle:bs("https://yoa.st/35f"),urlCallToAction:bs("https://yoa.st/35g")};this.identifier="sentenceBeginnings",this._config=(0,v.merge)(t,e)}groupSentenceBeginnings(e){const t=(0,v.partition)(e,(function(e){return e.count>2}));if(0===t[0].length)return{total:0};const r=(0,v.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:(0,_.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. */ (0,_._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:(0,_.sprintf)(/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */ -(0,_.__)("%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=(0,v.filter)(r,(function(e){return e.count>2}));const n=(0,v.map)(r,(function(e){return e.sentences}));return(0,v.map)((0,v.flatten)(n),(function(e){const t=Hi(e=z(e));return new Kr({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getSentenceBeginnings"),n=this.groupSentenceBeginnings(r),s=this.calculateSentenceBeginningsResult(n),i=new As;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 Vi extends ms{constructor(e={}){super();const t={urlTitle:ys("https://yoa.st/35h"),urlCallToAction:ys("https://yoa.st/35i")};this.identifier="textPresence",this._config=(0,v.merge)(t,e)}getResult(e){if(!this.hasEnoughContentForAssessment(e)){const e=new As;return e.setText((0,_.sprintf)( +(0,_.__)("%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=(0,v.filter)(r,(function(e){return e.count>2}));const n=(0,v.map)(r,(function(e){return e.sentences}));return(0,v.map)((0,v.flatten)(n),(function(e){const t=$i(e=z(e));return new jr({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getSentenceBeginnings"),n=this.groupSentenceBeginnings(r),s=this.calculateSentenceBeginningsResult(n),i=new Cs;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 Xi extends vs{constructor(e={}){super();const t={urlTitle:bs("https://yoa.st/35h"),urlCallToAction:bs("https://yoa.st/35i")};this.identifier="textPresence",this._config=(0,v.merge)(t,e)}getResult(e){if(!this.hasEnoughContentForAssessment(e)){const e=new Cs;return e.setText((0,_.sprintf)( /* translators: %1$s and %3$s expand to links to articles on Yoast.com, %2$s expands to the anchor end tag*/ -(0,_.__)("%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 As}}const Qi=function(e){return-1===e?"error":0===e?"feedback":e<=4?"bad":e>4&&e<=7?"ok":e>7?"good":""},Xi=function(e,t={}){Ni.call(this,e,t),this.type="contentAssessor",this._assessments=[new Gi,new qi,new ji,new zi,new Wi,new Vi,new Yi]};r(9539).inherits(Xi,Ni),Xi.prototype.calculatePenaltyPointsFullSupport=function(e){switch(e){case"bad":return 3;case"ok":return 2;default:return 0}},Xi.prototype.calculatePenaltyPointsPartialSupport=function(e){switch(e){case"bad":return 4;case"ok":return 2;default:return 0}},Xi.prototype._allAssessmentsSupported=function(){const e=this._assessments.length;return this.getApplicableAssessments().length===e},Xi.prototype.calculatePenaltyPoints=function(){const e=this.getValidResults(),t=(0,v.map)(e,function(e){const t=Qi(e.getScore());return this._allAssessmentsSupported()?this.calculatePenaltyPointsFullSupport(t):this.calculatePenaltyPointsPartialSupport(t)}.bind(this));return(0,v.sum)(t)},Xi.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},Xi.prototype.calculateOverallScore=function(){if(0===this.getValidResults().length)return 30;const e=this.calculatePenaltyPoints();return this._ratePenaltyPoints(e)};const Ji=Xi,Zi=function(e,t){Ni.call(this,e,t),this.type="taxonomyAssessor",this._assessments=[new ws,new Os,new Fs,new Bs,new Ri,new Di({recommendedMinimum:250,slightlyBelowMinimum:200,belowMinimum:100,veryFarBelowMinimum:50,urlTitle:ys("https://yoa.st/34j"),urlCallToAction:ys("https://yoa.st/34k"),customContentType:"taxonomyAssessor"}),new $s,new Fi({scores:{widthTooShort:9}},!0),new qs,new Bi,new Ui]};(0,y.inherits)(Zi,Ni);const ea=Zi,ta={keyword:"",synonyms:"",description:"",title:"",titleWidth:0,slug:"",locale:"en_US",permalink:"",date:"",customData:{},textTitle:"",writingDirection:"LTR"};function ra(e,t){this._text=e||"",this._tree=null,t=t||{},(0,v.defaults)(t,ta),""===t.locale&&(t.locale=ta.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,"");(0,v.isEmpty)(r)&&(t.keyword=ta.keyword),this._attributes=t}ra.prototype.hasKeyword=function(){return""!==this._attributes.keyword},ra.prototype.getKeyword=function(){return this._attributes.keyword},ra.prototype.hasSynonyms=function(){return""!==this._attributes.synonyms},ra.prototype.getSynonyms=function(){return this._attributes.synonyms},ra.prototype.hasText=function(){return""!==this._text},ra.prototype.getText=function(){return this._text},ra.prototype.setTree=function(e){this._tree=e},ra.prototype.getTree=function(){return this._tree},ra.prototype.hasDescription=function(){return""!==this._attributes.description},ra.prototype.getDescription=function(){return this._attributes.description},ra.prototype.hasTitle=function(){return""!==this._attributes.title},ra.prototype.getTitle=function(){return this._attributes.title},ra.prototype.hasTitleWidth=function(){return 0!==this._attributes.titleWidth},ra.prototype.getTitleWidth=function(){return this._attributes.titleWidth},ra.prototype.hasSlug=function(){return""!==this._attributes.slug},ra.prototype.getSlug=function(){return this._attributes.slug},ra.prototype.hasUrl=function(){return console.warn("This function is deprecated, use hasSlug instead"),this.hasSlug()},ra.prototype.getUrl=function(){return console.warn("This function is deprecated, use getSlug instead"),this.getSlug()},ra.prototype.hasLocale=function(){return""!==this._attributes.locale},ra.prototype.getLocale=function(){return this._attributes.locale},ra.prototype.getWritingDirection=function(){return this._attributes.writingDirection},ra.prototype.hasPermalink=function(){return""!==this._attributes.permalink},ra.prototype.getPermalink=function(){return this._attributes.permalink},ra.prototype.hasDate=function(){return""!==this._attributes.date},ra.prototype.getDate=function(){return this._attributes.date},ra.prototype.hasCustomData=function(){return!(0,v.isEmpty)(this._attributes.customData)},ra.prototype.getCustomData=function(){return this._attributes.customData},ra.prototype.hasTextTitle=function(){return""!==this._attributes.textTitle&&!(0,v.isNil)(this._attributes.textTitle)},ra.prototype.getTextTitle=function(){return this._attributes.textTitle},ra.prototype.serialize=function(){return{_parseClass:"Paper",text:this._text,...this._attributes}},ra.prototype.equals=function(e){return this._text===e.getText()&&(0,v.isEqual)(this._attributes,e._attributes)},ra.parse=function(e){if(e instanceof ra)return e;const{text:t,_parseClass:r,...n}=e;return new ra(t,n)};const na=ra,sa=function(e,t){Ni.call(this,e,t),this.type="relatedKeywordAssessor",this._assessments=[new ws,new Os({isRelatedKeyphrase:!0}),new Fs,new Bs,new Hs,new Bi,new Li]};(0,y.inherits)(sa,Ni);const ia=sa,aa="Avoid using %1$s as it is potentially harmful.",oa="Be careful when using %1$s as it is potentially harmful.",la="Consider using an alternative, such as %2$s.",ca="Consider using an alternative, such as %2$s, unless referring to someone who explicitly wants to be referred to with this term.",ua=[aa,la].join(" "),ha=[oa,la].join(" "),pa=[oa,ca].join(" "),da=[aa,ca].join(" "),ga="Alternatively, if talking about a specific person, use their preferred descriptor if known.",fa=[oa,"Unless you are referring to objects or animals, consider using an alternative, such as %2$s."].join(" ");function ma(e,t,r){return e.every(((e,n)=>r[t+n]===e))}function _a(e,t){const r=t.map((e=>ce(e,!1)));return t=>!r.some((r=>{const n=t-r.length;return n>=0&&ma(r,n,e)}))}function va(e,t){return r=>!_a(e,t)(r)}function Ta(e,t,r){const n=r.map((e=>ce(e,!1)));return r=>n.some((n=>{const s=r+t.length;return s>=0&&ma(n,s,e)}))}function ya(e,t,r){return n=>!Ta(e,t,r)(n)}function Ea(e,t){const r=[];return e.forEach(((n,s)=>{ma(t,s,e)&&r.push(s)})),r}const ba=["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"],Aa=/\w+ed($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi;const wa=["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"],Ca=["being","getting","having","what's"],ka=wa.concat(Ca),Sa=["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"],Oa=(Sa.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"]),["the","an","a"]),Na=["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"],xa=["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth"],Ra=["i","you","he","she","it","we","they"],Ia=["me","him","us","them"],La=["this","that","these","those"],Ma=["my","your","his","her","its","their","our","mine","yours","hers","theirs","ours"],Da=["all","some","many","lot","lots","ton","tons","bit","no","every","enough","little","much","more","most","plenty","several","few","fewer","kind","kinds"],Pa=["myself","yourself","himself","herself","itself","oneself","ourselves","yourselves","themselves"],Fa=["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"],Ba=["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"],Ha=["which","what","whose"],Ua=["who","whom"],$a=["where","how","why","whether","wherever","whyever","wheresoever","whensoever","howsoever","whysoever","whatsoever","whereso","whomso","whenso","howso","whyso","whoso","whatso"],Ka=["therefor","therein","hereby","hereto","wherein","therewith","herewith","wherewith","thereby"],qa=["there","here","whither","thither","hither","whence","thence"],ja=["always","once","twice","thrice"],Ga=["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"],za=["appear","appears","appeared","become","becomes","became","come","comes","came","keep","keeps","kept","remain","remains","remained","stay","stays","stayed","turn","turns","turned"],Wa=["doing","daring","having","appearing","becoming","coming","keeping","remaining","staying","saying","asking","stating","seeming","letting","making","setting","showing","putting","adding","going","using","trying","containing"],Ya=["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","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"],Va=["back","within","forward","backward","ahead"],Qa=["and","or","and/or","yet"],Xa=["sooner","just","only"],Ja=["if","even"],Za=["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"],eo=["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"],to=["highly","very","really","extremely","absolutely","completely","totally","utterly","quite","somewhat","seriously","fairly","fully","amazingly"],ro=["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"],no=["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"],so=["oh","wow","tut-tut","tsk-tsk","ugh","whew","phew","yeah","yea","shh","oops","ouch","aha","yikes"],io=["tbs","tbsp","spk","lb","qt","pk","bu","oz","pt","mod","doz","hr","f.g","ml","dl","cl","l","mg","g","kg","quart"],ao=["seconds","minute","minutes","hour","hours","day","days","week","weeks","month","months","year","years","today","tomorrow","yesterday"],oo=["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"],lo=["not","yes","sure","top","bottom","ok","okay","amen","aka","etc","etcetera","sorry","please"],co=["jr","sr"],uo=([].concat(xa,Wa,no),[].concat(Oa,Ya,Qa,La,to,Da,Ma),[].concat(Sa,ja,Ra,Ia,Pa,so,Na,wa,Ga,za,Za,ro,Fa,Xa,Ja,Ha,Ua,$a,qa,lo,Va,Ka,io,ao,oo),[].concat(Oa,Ya,La,Ma,xa,Wa,Da),[].concat(Ga,za,Za,ro),[].concat(Oa,Na,xa,La,Ma,Pa,Ra,Ia,Da,Fa,Wa,Ba,Ha,Ua,$a,Ka,qa,ja,Va,wa,Ca,Ga,za,Ya,Qa,Xa,Ja,Za,Sa,eo,to,ro,so,no,io,lo,co)),ho=([].concat(Oa,Na,xa,La,Ma,Pa,Ra,Ia,Da,Fa,Wa,Ba,Ha,Ua,$a,Ka,qa,ja,Va,wa,Ca,Ga,za,Ya,Qa,Xa,Ja,Za,Sa,eo,to,ro,so,no,io,oo,lo,ao,["ms","mss","mrs","mr","dr","prof"],co),se.filter((e=>ce(e,!1).length>0)));function po(e,t){return r=>Ta(e,t,uo)(r)||function(e,t){return r=>{const n=r+t.length;return nolder person, older citizen","person older than 70"],score:6,feedbackFormat:[pa,go].join(" ")},{identifier:"seniorCitizens",nonInclusivePhrases:["senior citizens"],inclusiveAlternatives:["older people, older citizens","people older than 70"],score:6,feedbackFormat:[pa,go].join(" ")},{identifier:"agingDependants",nonInclusivePhrases:["aging dependants"],inclusiveAlternatives:["older people","people older than 70"],score:3,feedbackFormat:[da,go].join(" ")},{identifier:"elderly",nonInclusivePhrases:["elderly"],inclusiveAlternatives:["older people","people older than 70"],score:6,feedbackFormat:[pa,go].join(" ")},{identifier:"senile",nonInclusivePhrases:["senile"],inclusiveAlternatives:"",score:3,feedbackFormat:[aa,"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:ua},{identifier:"seniors",nonInclusivePhrases:["seniors"],inclusiveAlternatives:["older people","people older than 70"],score:6,feedbackFormat:[pa,go].join(" "),rule:(e,t)=>Ea(e,t).filter(_a(e,["high school","college","graduating","juniors and"])).filter(ya(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:[ua,go].join(" "),rule:(e,t)=>Ea(e,t).filter(po(e,t))}];fo.forEach((e=>{e.category="age",e.learnMoreUrl="https://yoa.st/inclusive-language-age"}));const mo=fo,_o=[{identifier:"albinos",nonInclusivePhrases:["albinos"],inclusiveAlternatives:"people with albinism, albino people",score:6,feedbackFormat:pa},{identifier:"anAlbino",nonInclusivePhrases:["an albino"],inclusiveAlternatives:"person with albinism, albino person",score:6,feedbackFormat:pa,rule:(e,t)=>Ea(e,t).filter(po(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:[pa,ga].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:[pa,ga].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:[pa].join(" ")},{identifier:"verticallyChallenged",nonInclusivePhrases:["vertically challenged"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism",score:3,feedbackFormat:ua},{identifier:"midget",nonInclusivePhrases:["midget"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism",score:3,feedbackFormat:ua},{identifier:"midgets",nonInclusivePhrases:["midgets"],inclusiveAlternatives:"little people, have short stature, people with dwarfism",score:3,feedbackFormat:ua},{identifier:"harelip",nonInclusivePhrases:["harelip"],inclusiveAlternatives:"cleft lip, cleft palate",score:3,feedbackFormat:ua}];_o.forEach((e=>{e.category="appearance",e.learnMoreUrl="https://yoa.st/inclusive-language-appearance"}));const vo=_o;const To=["so","very","a bit","really","pretty","kind of","that","too","totally","completely","absolutely","even","also","as"],yo=ka.slice(0,-2),Eo=yo.splice(19,4),bo=function(e,t){return(0,v.flatMap)(e,(e=>(0,v.flatMap)(t,(t=>`${e} ${t}`))))},Ao=bo(yo,To).concat(yo);let wo=(0,v.flatMap)(yo,(e=>`${e} not`));wo=wo.concat(Eo);const Co=bo(wo,To).concat(wo),ko=Ao.concat(Co),So=bo(["driving","drive","drove","drives","driven"],["me","you","them","him","her","someone","somebody","anyone","anybody","everyone","everybody"]),Oo=["go","goes","going","gone","went"],No=So.concat(Oo),xo=["in love"],Ro=Ao.concat(Co),Io=["about"],Lo="Avoid using %1$s as it is derogatory. Consider using an alternative, such as %2$s instead.",Mo=oa+" Unless you are referencing the specific medical condition, consider using another alternative to describe the trait or behavior, such as %2$s.",Do=["Avoid using crazy as it is potentially harmful.",la].join(" "),Po=[{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)=>Ea(e,t).filter(ya(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:ua},{identifier:"mentallyRetarded",nonInclusivePhrases:["mentally retarded"],inclusiveAlternatives:"person with an intellectual disability",score:3,feedbackFormat:ua},{identifier:"retarded",nonInclusivePhrases:["retarded"],inclusiveAlternatives:"uninformed, ignorant, foolish, irrational, insensible",score:3,feedbackFormat:Lo,rule:(e,t)=>Ea(e,t).filter(_a(e,["mentally"]))},{identifier:"alcoholic",nonInclusivePhrases:["an alcoholic"],inclusiveAlternatives:"person with alcohol use disorder",score:6,feedbackFormat:pa,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["drink","beverage"]))},{identifier:"alcoholics",nonInclusivePhrases:["alcoholics"],inclusiveAlternatives:"people with alcohol use disorder",score:6,feedbackFormat:pa,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["anonymous"]))},{identifier:"cripple",nonInclusivePhrases:["a cripple"],inclusiveAlternatives:"person with a physical disability, a physically disabled person",score:3,feedbackFormat:Lo},{identifier:"crippled",nonInclusivePhrases:["crippled"],inclusiveAlternatives:"has a physical disability, is physically disabled",score:3,feedbackFormat:ua},{identifier:"daft",nonInclusivePhrases:["daft"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless",score:3,feedbackFormat:ua},{identifier:"handicapped",nonInclusivePhrases:["handicapped"],inclusiveAlternatives:"disabled, person with a disability",score:3,feedbackFormat:ua},{identifier:"handicap",nonInclusivePhrases:["handicap"],inclusiveAlternatives:"disability",score:3,feedbackFormat:ua,rule:(e,t)=>Ea(e,t).filter(ya(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:ua},{identifier:"imbecile",nonInclusivePhrases:["imbecile"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless",score:3,feedbackFormat:Lo},{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:ua},{identifier:"hearingImpaired",nonInclusivePhrases:["hearing impaired"],inclusiveAlternatives:"deaf or hard of hearing, partially deaf, has partial hearing loss",score:3,feedbackFormat:ua},{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)=>Ea(e,t).filter(ya(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:ua},{identifier:"lamer",nonInclusivePhrases:["lamer"],inclusiveAlternatives:"more boring, lousier, more unimpressive, sadder, cornier",score:3,feedbackFormat:ua},{identifier:"lamest",nonInclusivePhrases:["lamest"],inclusiveAlternatives:"most boring, lousiest, most unimpressive, saddest, corniest",score:3,feedbackFormat:ua},{identifier:"commitSuicide",nonInclusivePhrases:["commit suicide"],inclusiveAlternatives:"take one's life, die by suicide, kill oneself",score:3,feedbackFormat:ua},{identifier:"committingSuicide",nonInclusivePhrases:["committing suicide"],inclusiveAlternatives:"taking one's life, dying by suicide, killing oneself",score:3,feedbackFormat:ua},{identifier:"commitsSuicide",nonInclusivePhrases:["commits suicide"],inclusiveAlternatives:"takes one's life, dies by suicide, kills oneself",score:3,feedbackFormat:ua},{identifier:"committedSuicide",nonInclusivePhrases:["committed suicide"],inclusiveAlternatives:"took one's life, died by suicide, killed themself",score:3,feedbackFormat:ua},{identifier:"handicapParking",nonInclusivePhrases:["handicap parking"],inclusiveAlternatives:"accessible parking",score:3,feedbackFormat:ua},{identifier:"fellOnDeafEars",nonInclusivePhrases:["fell on deaf ears"],inclusiveAlternatives:"was not addressed, was ignored, was disregarded",score:3,feedbackFormat:ua},{identifier:"turnOnBlindEye",nonInclusivePhrases:["turn a blind eye"],inclusiveAlternatives:"ignore, pretend not to notice",score:3,feedbackFormat:ua},{identifier:"blindLeadingBlind",nonInclusivePhrases:["the blind leading the blind"],inclusiveAlternatives:"ignorant, misguided, incompetent, unqualified, insensitive, unaware",score:3,feedbackFormat:ua},{identifier:"handicapBathroom",nonInclusivePhrases:["handicap bathroom","handicap bathrooms"],inclusiveAlternatives:"accessible bathroom(s)",score:3,feedbackFormat:ua},{identifier:"handicapToilet",nonInclusivePhrases:["handicap toilet","handicap toilets"],inclusiveAlternatives:"accessible toilet(s)",score:3,feedbackFormat:ua},{identifier:"handicapStall",nonInclusivePhrases:["handicap stall","handicap stalls"],inclusiveAlternatives:"accessible stall(s)",score:3,feedbackFormat:ua},{identifier:"stupid",nonInclusivePhrases:["stupid"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless"],score:3,feedbackFormat:ua},{identifier:"dumb",nonInclusivePhrases:["dumb","dumber","dumbest"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless"],score:3,feedbackFormat:ua,rule:(e,t)=>Ea(e,t).filter(_a(e,["deaf and"]))},{identifier:"deaf",nonInclusivePhrases:["deaf-mute","deaf and dumb"],inclusiveAlternatives:"deaf",score:3,feedbackFormat:ua},{identifier:"addict",nonInclusivePhrases:["addict"],inclusiveAlternatives:"person with a (drug, alcohol, ...) addiction, person with substance abuse disorder",score:6,feedbackFormat:pa},{identifier:"addicts",nonInclusivePhrases:["addicts"],inclusiveAlternatives:"people with a (drug, alcohol, ...) addiction, people with substance abuse disorder",score:6,feedbackFormat:pa},{identifier:"brainDamaged",nonInclusivePhrases:["brain-damaged"],inclusiveAlternatives:"person with a (traumatic) brain injury",score:6,feedbackFormat:pa},{identifier:"differentlyAbled",nonInclusivePhrases:["differently abled","differently-abled"],inclusiveAlternatives:"disabled, person with a disability",score:6,feedbackFormat:pa},{identifier:"epilepticFit",nonInclusivePhrases:["epileptic fit"],inclusiveAlternatives:"epileptic seizure",score:3,feedbackFormat:ua},{identifier:"epilepticFits",nonInclusivePhrases:["epileptic fits"],inclusiveAlternatives:"epileptic seizures",score:3,feedbackFormat:ua},{identifier:"sanityCheck",nonInclusivePhrases:["sanity check"],inclusiveAlternatives:"final check, confidence check, rationality check, soundness check",score:3,feedbackFormat:ua},{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:Do,rule:(e,t)=>Ea(e,t).filter(va(e,Co))},{identifier:"to be crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to love, to be obsessed with, to be infatuated with",score:3,feedbackFormat:Do,rule:(e,t)=>Ea(e,t).filter(va(e,Ao))},{identifier:"crazy in love",nonInclusivePhrases:["crazy in love"],inclusiveAlternatives:"wildly in love, head over heels, infatuated",score:3,feedbackFormat:Do},{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:ua,rule:(e,t)=>Ea(e,t).filter(va(e,Oo))},{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:ua,rule:(e,t)=>Ea(e,t).filter(va(e,So))},{identifier:"crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:ua,rule:(e,t)=>Ea(e,t).filter(_a(e,No)).filter(ya(e,t,xo)).filter(function(e,t,r,n){return s=>!function(e,t,r,n){return s=>Ta(e,t,n)(s)&&va(e,r)(s)}(e,t,r,n)(s)}(e,t,Ro,Io))},{identifier:"crazier",nonInclusivePhrases:["crazier"],inclusiveAlternatives:"more wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:ua},{identifier:"craziest",nonInclusivePhrases:["craziest"],inclusiveAlternatives:"most wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:ua},{identifier:"psychopathic",nonInclusivePhrases:["psychopath","psychopaths","psychopathic"],inclusiveAlternatives:"toxic, manipulative, unpredictable, impulsive, reckless, out of control",score:3,feedbackFormat:ua},{identifier:"schizophrenic",nonInclusivePhrases:["schizophrenic","bipolar"],inclusiveAlternatives:"of two minds, chaotic, confusing",score:6,feedbackFormat:Mo},{identifier:"paranoid",nonInclusivePhrases:["paranoid"],inclusiveAlternatives:"overly suspicious, unreasonable, defensive",score:6,feedbackFormat:Mo},{identifier:"manic",nonInclusivePhrases:["manic"],inclusiveAlternatives:"excited, raving, unbalanced, wild",score:6,feedbackFormat:Mo},{identifier:"hysterical",nonInclusivePhrases:["hysterical"],inclusiveAlternatives:"intense, vehement, piercing, chaotic",score:3,feedbackFormat:ua},{identifier:"psycho",nonInclusivePhrases:["psycho","psychos"],inclusiveAlternatives:"toxic, distraught, unpredictable, reckless, out of control",score:3,feedbackFormat:ua},{identifier:"neurotic",nonInclusivePhrases:["neurotic","lunatic"],inclusiveAlternatives:"distraught, unstable, startling, confusing, baffling",score:3,feedbackFormat:ua},{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, 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.",rule:(e,t)=>Ea(e,t).filter(ya(e,t,["personality disorder"]))},{identifier:"OCD",nonInclusivePhrases:["ocd"],inclusiveAlternatives:"pedantic, obsessed, perfectionist",score:6,feedbackFormat:[(0,_.sprintf)(Mo,"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)=>Ea(e,t).filter(va(e,ko))},{identifier:"theMentallyIll",nonInclusivePhrases:["the mentally ill"],inclusiveAlternatives:"people who are mentally ill, mentally ill people",score:3,feedbackFormat:ua,rule:(e,t)=>Ea(e,t).filter(po(e,t))},{identifier:"theDisabled",nonInclusivePhrases:["the disabled"],inclusiveAlternatives:"people who have a disability, disabled people",score:3,feedbackFormat:ua,rule:(e,t)=>Ea(e,t).filter(po(e,t))}];Po.forEach((e=>{e.category="disability",e.learnMoreUrl="https://yoa.st/inclusive-language-disability"}));const Fo=Po,Bo="Avoid using %1$s as it is exclusionary. Consider using an alternative, such as %2$s.",Ho="Be careful when using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",Uo="Avoid using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",$o="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.",Ko="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.",qo="Avoid using %1$s as it is derogatory.",jo=[{identifier:"firemen",nonInclusivePhrases:["firemen"],inclusiveAlternatives:"firefighters",score:6,feedbackFormat:Ko},{identifier:"policemen",nonInclusivePhrases:["policemen"],inclusiveAlternatives:"police officers",score:6,feedbackFormat:Ko},{identifier:"menAndWomen",nonInclusivePhrases:["men and women","women and men"],inclusiveAlternatives:"people, people of all genders, individuals, human beings",score:6,feedbackFormat:$o},{identifier:"boysAndGirls",nonInclusivePhrases:["boys and girls","girls and boys"],inclusiveAlternatives:"kids, children",score:6,feedbackFormat:$o},{identifier:"heOrShe",nonInclusivePhrases:["he/she","he or she","she or he","(s)he"],inclusiveAlternatives:"they",score:6,feedbackFormat:Ho},{identifier:"birthSex",nonInclusivePhrases:["birth sex","natal sex"],inclusiveAlternatives:"assigned sex, assigned sex at birth",score:3,feedbackFormat:ua},{identifier:"mankind",nonInclusivePhrases:["mankind"],inclusiveAlternatives:"individuals, people, persons, human beings, humanity",score:3,feedbackFormat:Bo},{identifier:"preferredPronouns",nonInclusivePhrases:["preferred pronouns"],inclusiveAlternatives:"pronouns",score:6,feedbackFormat:[ha.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:Bo},{identifier:"oppositeSex",nonInclusivePhrases:["opposite sex"],inclusiveAlternatives:"another sex",score:3,feedbackFormat:Bo},{identifier:"femaleBodied",nonInclusivePhrases:["female-bodied"],inclusiveAlternatives:"assigned female at birth",score:3,feedbackFormat:Uo.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:Uo.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:ua},{identifier:"hermaphrodites",nonInclusivePhrases:["hermaphrodites"],inclusiveAlternatives:"intersex people",score:3,feedbackFormat:ua},{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:Ho.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:Bo},{identifier:"preferredName",nonInclusivePhrases:["preferred name"],inclusiveAlternatives:"name, affirming name",score:6,feedbackFormat:[ha.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:[qo,la].join(" ")},{identifier:"transsexual",nonInclusivePhrases:["transsexual"],inclusiveAlternatives:"transgender",score:6,feedbackFormat:pa},{identifier:"transsexuals",nonInclusivePhrases:["transsexuals"],inclusiveAlternatives:"trans people, transgender people",score:6,feedbackFormat:pa},{identifier:"transWoman",nonInclusivePhrases:["transwoman"],inclusiveAlternatives:"trans woman, transgender woman",score:6,feedbackFormat:pa},{identifier:"transWomen",nonInclusivePhrases:["transwomen"],inclusiveAlternatives:"trans women, transgender women",score:6,feedbackFormat:pa},{identifier:"transMan",nonInclusivePhrases:["transman"],inclusiveAlternatives:"trans man, transgender man",score:6,feedbackFormat:pa},{identifier:"transMen",nonInclusivePhrases:["transmen"],inclusiveAlternatives:"trans men, transgender men",score:6,feedbackFormat:pa},{identifier:"transgendered",nonInclusivePhrases:["transgendered"],inclusiveAlternatives:["transgender, trans","transitioned, went through a gender transition"],score:3,feedbackFormat:[ua.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:pa},{identifier:"femaleToMale",nonInclusivePhrases:["female-to-male","ftm"],inclusiveAlternatives:"trans man, transgender man",score:6,feedbackFormat:pa},{identifier:"heShe",nonInclusivePhrases:["he-she"],inclusiveAlternatives:"",score:3,feedbackFormat:qo},{identifier:"shemale",nonInclusivePhrases:["shemale","she-male"],inclusiveAlternatives:"",score:3,feedbackFormat:qo},{identifier:"manMade",nonInclusivePhrases:["man-made","manmade"],inclusiveAlternatives:"artificial, synthetic, machine-made",score:3,feedbackFormat:Bo},{identifier:"toEachTheirOwn",nonInclusivePhrases:["to each his own"],inclusiveAlternatives:"to each their own",score:3,feedbackFormat:Bo},{identifier:"manned",nonInclusivePhrases:["manned"],inclusiveAlternatives:"crewed",score:3,feedbackFormat:Bo},{identifier:"aTransgender",nonInclusivePhrases:["a transgender","the transgender"],inclusiveAlternatives:"transgender person",score:3,feedbackFormat:ua,rule:(e,t)=>Ea(e,t).filter(po(e,t))}];jo.forEach((e=>{e.category="gender",e.learnMoreUrl="https://yoa.st/inclusive-language-gender"}));const Go=jo,zo="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.",Wo=[{identifier:"firstWorld",nonInclusivePhrases:["First World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:ua,caseSensitive:!0,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["War","war","Assembly","assembly"]))},{identifier:"thirdWorld",nonInclusivePhrases:["Third World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:ua,caseSensitive:!0,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["War","war","Quarterly","quarterly","country"]))},{identifier:"tribe",nonInclusivePhrases:["tribe"],inclusiveAlternatives:"group, cohort, crew, league, guild, team, union",score:6,feedbackFormat:zo.slice(0,-42)+"a culture that uses this term."},{identifier:"tribes",nonInclusivePhrases:["tribes"],inclusiveAlternatives:"groups, cohorts, crews, leagues, guilds, teams, unions",score:6,feedbackFormat:zo.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:oa+" Unless you are referring to animals, consider using an alternative, such as %2$s.",rule:(e,t)=>Ea(e,t).filter(ya(e,t,["longhair","longhairs","shorthair","shorthairs"]))},{identifier:"sherpa",nonInclusivePhrases:["sherpa"],inclusiveAlternatives:"commander, coach, mastermind, coach, mentor",score:6,feedbackFormat:zo},{identifier:"guru",nonInclusivePhrases:["guru"],inclusiveAlternatives:"mentor, doyen, coach, mastermind, virtuoso, expert",score:6,feedbackFormat:zo},{identifier:"gurus",nonInclusivePhrases:["gurus"],inclusiveAlternatives:"mentors, doyens, coaches, masterminds, virtuosos, experts",score:6,feedbackFormat:zo},{identifier:"nonWhite",nonInclusivePhrases:["non-white"],inclusiveAlternatives:"people of color, POC, BIPOC or specifying the racial groups mentioned",score:3,feedbackFormat:ua},{identifier:"oriental",nonInclusivePhrases:["oriental"],inclusiveAlternatives:"Asian. When possible, be more specific (e.g. East Asian)",score:6,feedbackFormat:fa},{identifier:"asianAmerican",nonInclusivePhrases:["Asian-American"],inclusiveAlternatives:"Asian American",score:3,feedbackFormat:ua,caseSensitive:!0},{identifier:"asianAmericans",nonInclusivePhrases:["Asian-Americans"],inclusiveAlternatives:"Asian Americans",score:3,feedbackFormat:ua,caseSensitive:!0},{identifier:"africanAmerican",nonInclusivePhrases:["African-American"],inclusiveAlternatives:"African American, Black, American of African descent",score:3,feedbackFormat:ua,caseSensitive:!0},{identifier:"africanAmericans",nonInclusivePhrases:["African-Americans"],inclusiveAlternatives:"African Americans, Black, Americans of African descent",score:3,feedbackFormat:ua,caseSensitive:!0},{identifier:"whiteRace",nonInclusivePhrases:["the White race"],inclusiveAlternatives:"",score:3,feedbackFormat:aa,caseSensitive:!0},{identifier:"whitelist",nonInclusivePhrases:["whitelist"],inclusiveAlternatives:"allowlist",score:3,feedbackFormat:ua},{identifier:"whitelists",nonInclusivePhrases:["whitelists"],inclusiveAlternatives:"allowlists",score:3,feedbackFormat:ua},{identifier:"whitelisting",nonInclusivePhrases:["whitelisting"],inclusiveAlternatives:"allowlisting",score:3,feedbackFormat:ua},{identifier:"whitelisted",nonInclusivePhrases:["whitelisted"],inclusiveAlternatives:"allowlisted",score:3,feedbackFormat:ua},{identifier:"blacklist",nonInclusivePhrases:["blacklist"],inclusiveAlternatives:"blocklist, denylist, faillist, redlist",score:3,feedbackFormat:ua},{identifier:"blacklists",nonInclusivePhrases:["blacklists"],inclusiveAlternatives:"blocklists, denylists, faillists, redlists",score:3,feedbackFormat:ua},{identifier:"blacklisting",nonInclusivePhrases:["blacklisting"],inclusiveAlternatives:"blocklisting, denylisting, faillisting, redlisting",score:3,feedbackFormat:ua},{identifier:"blacklisted",nonInclusivePhrases:["blacklisted"],inclusiveAlternatives:"blocklisted, denylisted, faillisted, redlisted",score:3,feedbackFormat:ua},{identifier:"gyp",nonInclusivePhrases:["gyp"],inclusiveAlternatives:"fraud, cheat, swindle, rip-off",score:3,feedbackFormat:ua},{identifier:"gyps",nonInclusivePhrases:["gyps"],inclusiveAlternatives:"frauds, cheats, swindles, rips off, rip-offs",score:3,feedbackFormat:ua},{identifier:"gypped",nonInclusivePhrases:["gypped"],inclusiveAlternatives:"cheated, swindled, ripped off",score:3,feedbackFormat:ua},{identifier:"gypping",nonInclusivePhrases:["gypping"],inclusiveAlternatives:"cheating, swindling, ripping off",score:3,feedbackFormat:ua},{identifier:"gypsy",nonInclusivePhrases:["gypsy","gipsy"],inclusiveAlternatives:["Rom, Roma person, Romani, Romani person","traveler, wanderer, free-spirited"],score:6,feedbackFormat:[pa,"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:["Roma, Romani, Romani people","travelers, wanderers, free-spirited"],score:6,feedbackFormat:[pa,"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:pa},{identifier:"coloredPerson",nonInclusivePhrases:["colored person"],inclusiveAlternatives:"person of color, POC, BIPOC",score:3,feedbackFormat:ua},{identifier:"coloredPeople",nonInclusivePhrases:["colored people"],inclusiveAlternatives:"people of color, POC, BIPOC",score:3,feedbackFormat:ua},{identifier:"americanIndians",nonInclusivePhrases:["American Indian","American Indians"],inclusiveAlternatives:"Native American(s), Indigenous peoples of America",score:6,feedbackFormat:pa,caseSensitive:!0},{identifier:"mulatto",nonInclusivePhrases:["mulatto","mulattos","mulattoes"],inclusiveAlternatives:"mixed, biracial, multiracial",score:3,feedbackFormat:ua},{identifier:"savage",nonInclusivePhrases:["savage"],inclusiveAlternatives:"severe, dreadful, untamed, brutal, fearless, fierce, brilliant, amazing",score:3,feedbackFormat:ua},{identifier:"civilized",nonInclusivePhrases:["civilized"],inclusiveAlternatives:"proper, well-mannered, enlightened, respectful",score:3,feedbackFormat:ua},{identifier:"primitive",nonInclusivePhrases:["primitive"],inclusiveAlternatives:"early, rudimentary",score:3,feedbackFormat:ua},{identifier:"powWow",nonInclusivePhrases:["pow-wow"],inclusiveAlternatives:"chat, brief conversation, brainstorm, huddle",score:6,feedbackFormat:zo},{identifier:"lowManOnTheTotemPole",nonInclusivePhrases:["low man on the totem pole"],inclusiveAlternatives:"person of lower rank, junior-level",score:3,feedbackFormat:ua},{identifier:"spiritAnimal",nonInclusivePhrases:["spirit animal"],inclusiveAlternatives:"inspiration, hero, icon, idol",score:6,feedbackFormat:zo},{identifier:"firstWorldCountries",nonInclusivePhrases:["first world countries"],inclusiveAlternatives:"the specific name for the regions or countries",score:3,feedbackFormat:ua},{identifier:"firstWorldHyphen",nonInclusivePhrases:["first-world"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:ua},{identifier:"third-worldCountry",nonInclusivePhrases:["third-world country"],inclusiveAlternatives:"low-income country, developing country",score:3,feedbackFormat:ua},{identifier:"third-worldCountry",nonInclusivePhrases:["third world country"],inclusiveAlternatives:"low-income country, developing country",score:3,feedbackFormat:ua},{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."}];Wo.forEach((e=>{e.category="culture",e.learnMoreUrl="https://yoa.st/inclusive-language-culture"}));const Yo=Wo,Vo=[{identifier:"illegalImmigrant",nonInclusivePhrases:["illegal immigrant","illegal alien"],inclusiveAlternatives:"undocumented person, person without papers, immigrant without papers",score:3,feedbackFormat:ua},{identifier:"illegalImmigrants",nonInclusivePhrases:["illegal immigrants","illegal aliens"],inclusiveAlternatives:"undocumented people, people without papers, immigrants without papers",score:3,feedbackFormat:ua},{identifier:"povertyStricken",nonInclusivePhrases:["poverty stricken"],inclusiveAlternatives:"people whose income is below the poverty threshold, people with low-income",score:3,feedbackFormat:ua},{identifier:"welfareReliant",nonInclusivePhrases:["welfare reliant"],inclusiveAlternatives:"receiving welfare",score:3,feedbackFormat:ua},{identifier:"prostitute",nonInclusivePhrases:["prostitute"],inclusiveAlternatives:"sex worker",score:6,feedbackFormat:pa},{identifier:"prostitutes",nonInclusivePhrases:["prostitutes"],inclusiveAlternatives:"sex workers",score:6,feedbackFormat:pa},{identifier:"ex-con",nonInclusivePhrases:["ex-con"],inclusiveAlternatives:"person who has had felony convictions, person who has been incarcerated",score:3,feedbackFormat:ua},{identifier:"ex-cons",nonInclusivePhrases:["ex-cons"],inclusiveAlternatives:"people who have had felony convictions, people who have been incarcerated",score:3,feedbackFormat:ua},{identifier:"felon",nonInclusivePhrases:["felon"],inclusiveAlternatives:"person with felony convictions, person who has been incarcerated",score:3,feedbackFormat:ua},{identifier:"felons",nonInclusivePhrases:["felons"],inclusiveAlternatives:"people with felony convictions, people who have been incarcerated",score:3,feedbackFormat:ua},{identifier:"ex-offender",nonInclusivePhrases:["ex-offender"],inclusiveAlternatives:"formerly incarcerated person",score:3,feedbackFormat:ua},{identifier:"ex-offenders",nonInclusivePhrases:["ex-offenders"],inclusiveAlternatives:"formerly incarcerated people",score:3,feedbackFormat:ua},{identifier:"theHomeless",nonInclusivePhrases:["the homeless"],inclusiveAlternatives:"people experiencing homelessness",score:3,feedbackFormat:ua,rule:(e,t)=>Ea(e,t).filter(po(e,t))},{identifier:"theUndocumented",nonInclusivePhrases:["the undocumented"],inclusiveAlternatives:"people who are undocumented, undocumented people, people without papers",score:3,feedbackFormat:ua,rule:(e,t)=>Ea(e,t).filter(po(e,t))},{identifier:"thePoor",nonInclusivePhrases:["the poor"],inclusiveAlternatives:"people whose income is below the poverty threshold, people with low-income",score:3,feedbackFormat:ua,rule:(e,t)=>Ea(e,t).filter(po(e,t))}];Vo.forEach((e=>{e.category="ses",e.learnMoreUrl="https://yoa.st/inclusive-language-ses"}));const Qo=Vo,Xo=[{identifier:"minorities",nonInclusivePhrases:["minorities"],inclusiveAlternatives:["members of the LGBTQ+ community","Indigenous peoples","marginalized groups","religious minorities"],score:6,feedbackFormat:[oa,"Consider using an alternative by being specific about which group(s) of people you are referring to. For example: %2$s, %3$s, %4$s. In case an alternative is not available, make sure to specify the type of minorities you are referring to, e.g., %5$s."].join(" ")},{identifier:"normal",nonInclusivePhrases:["normal person","normal people","mentally 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:"behaviorallyNormal",nonInclusivePhrases:["behaviorally normal","behaviourally normal"],inclusiveAlternatives:["showing typical behavior or a specific characteristic or experience if it is known"],score:6,feedbackFormat:fa},{identifier:"abnormal",nonInclusivePhrases:["abnormal person","abnormal people","mentally 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."},{identifier:"behaviorallyAbnormal",nonInclusivePhrases:["behaviorally abnormal","behaviourally abnormal"],inclusiveAlternatives:["showing atypical behavior, showing dysfunctional behavior or a specific characteristic or experience if it is known"],score:6,feedbackFormat:fa},{identifier:"abnormalBehavior",nonInclusivePhrases:["abnormal behavior","abnormal behaviour"],inclusiveAlternatives:["atypical behavior, unusual behavior or a specific characteristic or experience if it is known"],score:6,feedbackFormat:fa}];Xo.forEach((e=>{e.category="other",e.learnMoreUrl="https://yoa.st/inclusive-language-other"}));const Jo=Xo,Zo=[{identifier:"homosexuals",nonInclusivePhrases:["homosexuals"],inclusiveAlternatives:"gay people, queer people, lesbians, gay men, people in same-gender relationships",score:6,feedbackFormat:[pa,"Be as specific possible and use people's preferred labels if they are known."].join(" ")}];Zo.forEach((e=>{e.category="sexualOrientation",e.learnMoreUrl="https://yoa.st/inclusive-language-orientation"}));const el=[...mo,...vo,...Fo,...Go,...Yo,...Qo,...Jo,...Zo];class tl{constructor({identifier:e,nonInclusivePhrases:t,inclusiveAlternatives:r,score:n,feedbackFormat:s,learnMoreUrl:i,rule:a,caseSensitive:o,category:l}){this.identifier=e,this.nonInclusivePhrases=t,this.inclusiveAlternatives=r,(0,v.isString)(this.inclusiveAlternatives)&&(this.inclusiveAlternatives=[this.inclusiveAlternatives]),this.score=n,this.feedbackFormat=s,this.learnMoreUrl=ys(i),this.rule=a||Ea,this.caseSensitive=o||!1,this.category=l}isApplicable(e,t){const r=t.getResearch("sentences"),n=e.getTextTitle();return r.push(n),this.foundPhrases=[],r.forEach((e=>{let t=ce(e,!1);this.caseSensitive||(t=t.map((e=>e.toLocaleLowerCase())));const r=this.nonInclusivePhrases.find((e=>this.rule(t,ce(e,!1)).length>=1));r&&this.foundPhrases.push({sentence:e,phrase:r})})),this.foundPhrases.length>=1}getResult(){const e=(0,_.sprintf)("%1$sLearn more.%2$s",this.learnMoreUrl,""),t=(0,_.sprintf)(this.feedbackFormat,this.foundPhrases[0].phrase,...this.inclusiveAlternatives),r=new As({score:this.score,text:`${t} ${e}`});return r.setIdentifier(this.identifier),r.setHasMarks(!0),r}getMarks(){return this.foundPhrases?this.foundPhrases.map((e=>new Kr({original:e.sentence,marked:Hi(e.sentence)}))):[]}}const rl={infoLinks:{}},nl=class extends Ni{constructor(e,t={}){super(e,t),this.type="inclusiveLanguageAssessor",this._options=Object.assign({},rl,t);const r=this._options.infoLinks;this._assessments=el.map((e=>(r[e.category]&&(e.learnMoreUrl=r[e.category]),new tl(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}},sl=function(e,t={}){Ni.call(this,e,t),this.type="cornerstoneContentAssessor",this._assessments=[new Gi({parameters:{slightlyTooMany:250,farTooMany:300,recommendedMaximumLength:250},applicableIfTextLongerThan:250,cornerstoneContent:!0}),new qi,new ji({slightlyTooMany:20,farTooMany:25},!0),new zi,new Wi,new Vi,new Yi]};r(9539).inherits(sl,Ji);const il=sl,al=function(e,t){Ni.call(this,e,t),this.type="cornerstoneRelatedKeywordAssessor",this._assessments=[new ws,new Os({isRelatedKeyphrase:!0}),new Fs,new Bs,new Hs,new Bi,new Li({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}})]};(0,y.inherits)(al,Ni);const ol=al,ll=function(e,t){Ni.call(this,e,t),this.type="cornerstoneSEOAssessor",this._assessments=[new ws,new Os,new Fs,new Bs,new Ri({scores:{tooLong:3,tooShort:3}}),new Ii,new Hs,new Li({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}}),new Mi,new Di({recommendedMinimum:900,slightlyBelowMinimum:400,belowMinimum:300,scores:{belowMinimum:-20,farBelowMinimum:-20},cornerstoneContent:!0}),new Pi({scores:{noLinks:3}}),new $s,new Us,new Fi({scores:{widthTooShort:9}},!0),new qs({scores:{okay:3}}),new Bi,new Ui]};(0,y.inherits)(ll,Ki);const cl=ll;function ul(e,t){for(let r=0;r{this._pollHandle=setTimeout(this.tick,this._configuration.pollTime)}))}stopPolling(){clearTimeout(this._pollHandle),this._pollHandle=null,this._started=!1}schedule({id:e,execute:t,done:r,data:n,type:s}){const i=new dl(e,t,r,n,s);switch(s){case"customMessage":case"loadScript":this._tasks.extensions.push(i);break;case"analyze":this._tasks.analyze=[i];break;case"analyzeRelatedKeywords":this._tasks.analyzeRelatedKeywords=[i];break;default:this._tasks.standard.push(i)}}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)))}},ml={AssessmentResult:As,Mark:Kr,Paper:na,Sentence:dr,Clause:is,ProminentWord:vr},_l=function e(t){if((0,v.isArray)(t))return t.map(e);const r=(0,v.isObject)(t);return r&&t._parseClass&&ml[t._parseClass]?"Sentence"===t._parseClass||"Clause"===t._parseClass?ml[t._parseClass].prototype.parse(t):ml[t._parseClass].parse(t):r?(0,v.mapValues)(t,(t=>e(t))):t},vl=function e(t){if((0,v.isArray)(t))return t.map(e);const r=(0,v.isObject)(t);return r&&t.serialize?t.serialize():r?(0,v.mapValues)(t,(t=>e(t))):t},Tl=function(e,t,r,n=""){r&&(n=function(e,t,r="%%"){r=(0,v.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}${(0,v.escapeRegExp)(e)}${r}`,"g");e in t&&(i=i.replace(n,t[e]))}return i}(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 yl(e,t,r=""){return async(...n)=>{try{return await t(...n)}catch(t){return{error:Tl(e,t,n[1],r)}}}}const El=class{aggregate(e){console.warn("'aggregate' must be implemented by a child class of 'ScoreAggregator'")}},bl={bad:3,ok:2,good:0},Al={bad:4,ok:2,good:0},wl=["en","nl","de","it","ru","fr","es"],Cl=class extends El{isFullySupported(e){if(e&&e.includes("_")){const t=A(e);return wl.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=Qi(t.getScore()),n=this.isFullySupported(this.locale)?bl[r]:Al[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)}},kl=class extends El{aggregate(e){const t=e.reduce(((e,t)=>e+t.getScore()),0);return Math.round(100*t/(9*e.length))||0}},Sl=(0,T.getLogger)("yoast-analysis-worker");Sl.setDefaultLevel("error");class Ol{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 fl,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=yl(Sl,this.analyze,"An error occurred while running the related keywords analysis."),this.analyze=yl(Sl,this.analyze,"An error occurred while running the analysis."),this.runResearch=yl(Sl,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 kl,this._contentScoreAggregator=new Cl,this._tree=null,this._treeBuilder=null}register(){this._scope.onmessage=this.handleMessage,this._scope.analysisWorker=this}handleMessage({data:{type:e,id:t,payload:r}}){switch(r=_l(r),Sl.debug("AnalysisWebWorker incoming:",e,t,r),e){case"initialize":this.initialize(t,r),this._scheduler.startPolling();break;case"analyze":this._scheduler.schedule({id:t,execute:this.analyze,done:this.analyzeDone,data:r,type:e});break;case"analyzeRelatedKeywords":this._scheduler.schedule({id:t,execute:this.analyzeRelatedKeywords,done:this.analyzeRelatedKeywordsDone,data:r,type:e});break;case"loadScript":this._scheduler.schedule({id:t,execute:this.loadScript,done:this.loadScriptDone,data:r,type:e});break;case"runResearch":this._scheduler.schedule({id:t,execute:this.runResearch,done:this.runResearchDone,data:r});break;case"customMessage":{const n=r.name;if(n&&this._registeredMessageHandlers[n]){this._scheduler.schedule({id:t,execute:this.customMessage,done:this.customMessageDone,data:r,type:e});break}this.customMessageDone(t,{error:new Error("No message handler registered for messages with name: "+n)});break}default:console.warn("AnalysisWebWorker unrecognized action:",e)}}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 il(this._researcher),this._registeredAssessments.forEach((({name:e,assessment:t,type:r})=>{(0,v.isUndefined)(n.getAssessment(e))&&"cornerstoneReadability"===r&&n.addAssessment(e,t)}))):(n=this._CustomContentAssessorClasses[r]?new this._CustomContentAssessorClasses[r](this._researcher,this._CustomContentAssessorOptions[r]):new Ji(this._researcher),this._registeredAssessments.forEach((({name:e,assessment:t,type:r})=>{(0,v.isUndefined)(n.getAssessment(e))&&"readability"===r&&n.addAssessment(e,t)}))),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 ea(this._researcher):!0===t?this._CustomCornerstoneSEOAssessorClasses[n]?new this._CustomCornerstoneSEOAssessorClasses[n](this._researcher,this._CustomCornerstoneSEOAssessorOptions[n]):new cl(this._researcher):this._CustomSEOAssessorClasses[n]?new this._CustomSEOAssessorClasses[n](this._researcher,this._CustomSEOAssessorOptions[n]):new Ki(this._researcher),this._registeredAssessments.forEach((({name:e,assessment:t,type:r})=>{(0,v.isUndefined)(s.getAssessment(e))&&"seo"===r&&s.addAssessment(e,t)})),s}createInclusiveLanguageAssessor(){const{inclusiveLanguageAnalysisActive:e}=this._configuration;return!1===e?null:new nl(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 pl(this._researcher):!0===t?this._CustomCornerstoneRelatedKeywordAssessorClasses[n]?new this._CustomCornerstoneRelatedKeywordAssessorClasses[n](this._researcher,this._CustomCornerstoneRelatedKeywordAssessorOptions[n]):new ol(this._researcher):this._CustomRelatedKeywordAssessorClasses[n]?new this._CustomRelatedKeywordAssessorClasses[n](this._researcher,this._CustomRelatedKeywordAssessorOptions[n]):new ia(this._researcher),this._registeredAssessments.forEach((({name:e,assessment:t,type:r})=>{(0,v.isUndefined)(s.getAssessment(e))&&"relatedKeyphrase"===r&&s.addAssessment(e,t)})),s}send(e,t,r={}){Sl.debug("AnalysisWebWorker outgoing:",e,t,r),r=vl(r),this._scope.postMessage({type:e,id:t,payload:r})}static shouldAssessorsUpdate(e,t=null,r=null,n=null){const s=Object.keys(e);return{readability:(0,v.isNull)(t)||ul(s,["contentAnalysisActive","useCornerstone","locale","translations","customAnalysisType"]),seo:(0,v.isNull)(r)||ul(s,["keywordAnalysisActive","useCornerstone","useTaxonomy","locale","translations","researchData","customAnalysisType"]),inclusiveLanguage:(0,v.isNull)(n)||ul(s,["inclusiveLanguageAnalysisActive","locale","translations"])}}initialize(e,t){const r=Ol.shouldAssessorsUpdate(t,this._contentAssessor,this._seoAssessor,this._inclusiveLanguageAssessor);var n;(0,v.has)(t,"translations")&&Object.values(t.translations).forEach((e=>{if(e){const{domain:t,locale_data:r}=e;(0,_.setLocaleData)(r[t],t)}})),(0,v.has)(t,"researchData")&&((0,v.forEach)(t.researchData,((e,t)=>{this._researcher.addResearchData(t,e)})),delete t.researchData),(0,v.has)(t,"defaultQueryParams")&&(n={params:t.defaultQueryParams},Ts().configure(n),delete t.defaultQueryParams),(0,v.has)(t,"logLevel")&&(Sl.setLevel(t.logLevel,!1),delete t.logLevel),(0,v.has)(t,"enabledFeatures")&&((0,m.enableFeatures)(t.enabledFeatures),delete t.enabledFeatures),this._configuration=(0,v.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,n="seo"){const{useCornerstone:s}=this._configuration;if(!(0,v.isString)(e))throw new he("Failed to register assessment for plugin "+r+". Expected parameter `name` to be a string.");if(!(0,v.isObject)(t))throw new he("Failed to register assessment for plugin "+r+". Expected parameter `assessment` to be a function.");if(!(0,v.isString)(r))throw new he("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(!(0,v.isString)(e))throw new he("Failed to register handler for plugin "+r+". Expected parameter `name` to be a string.");if(!(0,v.isObject)(t))throw new he("Failed to register handler for plugin "+r+". Expected parameter `handler` to be a function.");if(!(0,v.isString)(r))throw new he("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(!(0,v.isString)(e))throw new he("Failed to refresh assessment for plugin "+t+". Expected parameter `name` to be a string.");if(!(0,v.isString)(t))throw new he("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 he("Failed to register the custom parser. Expected parameter 'parser' to have a method 'isApplicable'.");if("function"!=typeof e.parse)throw new he("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,{keyword:t,synonyms:r}){return!!(0,v.isUndefined)(this._relatedKeywords[e])||this._relatedKeywords[e].keyword!==t||this._relatedKeywords[e].synonyms!==r}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,{paper:t,relatedKeywords:r={}}){const n=null===this._paper||!this._paper.equals(t),s=this.shouldReadabilityUpdate(t),i=this.shouldInclusiveLanguageUpdate(t),a=this.shouldAdditionalAssessorsUpdate(t);if(n){this._paper=t,this._researcher.setPaper(this._paper);const e=new Ys(this._researcher),r=this._paper._attributes&&this._paper._attributes.shortcodes;this._paper.setTree(Si(this._paper,e,r)),this.setLocale(this._paper.getLocale())}if(this._configuration.keywordAnalysisActive&&this._seoAssessor&&(n&&(this._results.seo[""]=await this.assess(this._paper,this._tree,{oldAssessor:this._seoAssessor,treeAssessor:this._seoTreeAssessor,scoreAggregator:this._seoScoreAggregator})),!(0,v.isEmpty)(r))){const e=Object.keys(r);(await this.assessRelatedKeywords(t,this._tree,r)).forEach((e=>{this._results.seo[e.key]=e.results})),e.length>1&&(this._results.seo=(0,v.pickBy)(this._results.seo,((t,r)=>(0,v.includes)(e,r)||""===r)))}if(this._configuration.contentAnalysisActive&&this._contentAssessor&&s){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(i),this.updateAdditionalAssessors(a),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 As;return t.setScore(-1),t.setText((0,_.sprintf)(/* translators: %1$s expands to the name of the assessment. */ -(0,_.__)("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=na.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,{url:t}){if((0,v.isUndefined)(t))return{loaded:!1,url:t,message:"Load Script was called without an URL."};try{this._scope.importScripts(t)}catch(e){return{loaded:!1,url:t,message:e.message}}return{loaded:!0,url:t}}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,{name:t,data:r}){try{return{success:!0,data:this._registeredMessageHandlers[t](r)}}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(!(0,v.isString)(e))throw new he("Failed to register the custom research. Expected parameter `name` to be a string.");if(!(0,v.isObject)(t))throw new he("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,{name:t,paper:r=null}){const n=this._researcher.getData("morphology"),s=this._researcher;if(null!==r&&(s.setPaper(r),s.addResearchData("morphology",n),null===r.getTree())){const e=new Ys(s),t=r._attributes&&r._attributes.shortcodes;r.setTree(Si(r,e,t))}return s.getResearch(t)}runResearchDone(e,t){t.error?this.send("runResearch:failed",e,t):this.send("runResearch:done",e,t)}registerHelper(e,t){if(!(0,v.isString)(e))throw new he("Failed to register the custom helper. Expected parameter `name` to be a string.");if(!(0,v.isObject)(t))throw new he("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(!(0,v.isString)(e))throw new he("Failed to register the custom researcher config. Expected parameter `name` to be a string.");if((0,v.isUndefined)(t)||(0,v.isEmpty)(t))throw new de("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 Nl{constructor(e,t={}){this.result=e,this.data=t}}const xl=class{constructor(e,t,r={}){this._resolve=e,this._reject=t,this._data=r}resolve(e={}){const t=new Nl(e,this._data);this._resolve(t)}reject(e={}){const t=new Nl(e,this._data);this._reject(t)}},Rl=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({data:{type:e,id:t,payload:r}}){const n=this._requests[t];if(n){switch(r=_l(r),e){case"initialize:done":case"loadScript:done":case"customMessage:done":case"runResearch:done":case"analyzeRelatedKeywords:done":case"analyze:done":n.resolve(r);break;case"analyze:failed":case"loadScript:failed":case"customMessage:failed":case"runResearch:failed":case"analyzeRelatedKeywords:failed":n.reject(r);break;default:console.warn("AnalysisWebWorker unrecognized action:",e)}delete this._requests[t]}else console.warn("AnalysisWebWorker unmatched response:",r)}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,t={}){return new Promise(((r,n)=>{this._requests[e]=new xl(r,n,t)}))}sendRequest(e,t,r={}){const n=this.createRequestId(),s=this.createRequestPromise(n,r);return this.send(e,n,t),s}send(e,t,r={}){r=vl(r),this._worker.postMessage({type:e,id:t,payload:r})}initialize(e){return this.sendRequest("initialize",e)}analyzeRelatedKeywords(e,t={}){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,t=null){return this.sendRequest("runResearch",{name:e,paper:t})}};function Il(e){const t=function(e){const t=window.URL||window.webkitURL,r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,n=(s=function(e){return`\n\t\tself.yoastOriginalUrl = '${e}';\n\t\timportScripts('${e}');\n\t`}(e),`\n\t\ttry {\n\t\t\t${s}\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`);var s;let i;try{i=new Blob([n],{type:"application/javascript"})}catch(e){const t=new r;t.append(n),i=t.getBlob("application/javascript")}return t.createObjectURL(i)}(e);return new Worker(t)}const Ll=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 Il(e);let t=null;try{t=new Worker(e)}catch(r){try{t=Il(e)}catch(e){throw e}}return t},Ml={ParagraphTooLongAssessment:qi,PassiveVoiceAssessment:Wi,SentenceBeginningsAssessment:Yi,SentenceLengthInTextAssessment:ji,SubheadingDistributionTooLongAssessment:Gi,TextPresenceAssessment:Vi,TransitionWordsAssessment:zi},Dl={FunctionWordsInKeyphraseAssessment:Bi,InternalLinksAssessment:Us,IntroductionKeywordAssessment:ws,KeyphraseLengthAssessment:Os,KeyphraseDensityAssessment:Fs,KeywordDensityAssessment:class extends Ps{constructor(e={}){super(e),this.identifier="keywordDensity",console.warn("This object is deprecated, use KeyphraseDensityAssessment instead.")}},MetaDescriptionKeywordAssessment:Bs,MetaDescriptionLengthAssessment:Ri,OutboundLinksAssessment:Pi,PageTitleWidthAssessment:Fi,SingleH1Assessment:Ui,SubheadingsKeywordAssessment:Ii,TextCompetingLinksAssessment:Hs,TextLengthAssessment:Di,KeyphraseInSEOTitleAssessment:$s,SlugKeywordAssessment:Ks,UrlKeywordAssessment:class extends Ks{constructor(e={}){super(e),this.identifier="urlKeyword",console.warn("This object is deprecated, use SlugKeywordAssessment instead.")}},ImageKeyphraseAssessment:Li,ImageCountAssessment:Mi},Pl={InclusiveLanguageAssessment:tl};var Fl=function(e,t){if((0,v.isUndefined)(e))throw new de("The previously keyword plugin requires the YoastSEO app");(0,v.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=ys("https://yoa.st/33x"),this.urlCallToAction=ys("https://yoa.st/33y")};Fl.prototype.registerPlugin=function(){this.app.registerAssessment("usedKeywords",{getResult:this.assess.bind(this),isApplicable:function(e){return e.hasKeyword()}},"previouslyUsedKeywords")},Fl.prototype.updateKeywordUsage=function(e,t){this.usedKeywords=e,this.usedKeywordsPostTypes=t},Fl.prototype.scoreAssessment=function(e,t){const r=e.count,n=e.id,s=e.postTypeToDisplay;let i;return 0===r?{text:(0,_.sprintf)( +(0,_.__)("%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 Cs}}const Ji=function(e){return-1===e?"error":0===e?"feedback":e<=4?"bad":e>4&&e<=7?"ok":e>7?"good":""},Zi=function(e,t={}){Ri.call(this,e,t),this.type="contentAssessor",this._assessments=[new Wi,new Gi,new zi,new Yi,new Vi,new Xi,new Qi]};r(9539).inherits(Zi,Ri),Zi.prototype.calculatePenaltyPointsFullSupport=function(e){switch(e){case"bad":return 3;case"ok":return 2;default:return 0}},Zi.prototype.calculatePenaltyPointsPartialSupport=function(e){switch(e){case"bad":return 4;case"ok":return 2;default:return 0}},Zi.prototype._allAssessmentsSupported=function(){const e=this._assessments.length;return this.getApplicableAssessments().length===e},Zi.prototype.calculatePenaltyPoints=function(){const e=this.getValidResults(),t=(0,v.map)(e,function(e){const t=Ji(e.getScore());return this._allAssessmentsSupported()?this.calculatePenaltyPointsFullSupport(t):this.calculatePenaltyPointsPartialSupport(t)}.bind(this));return(0,v.sum)(t)},Zi.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},Zi.prototype.calculateOverallScore=function(){if(0===this.getValidResults().length)return 30;const e=this.calculatePenaltyPoints();return this._ratePenaltyPoints(e)};const ea=Zi,ta=function(e,t){Ri.call(this,e,t),this.type="taxonomyAssessor",this._assessments=[new ks,new Ns,new Hs,new Us,new Li,new Fi({recommendedMinimum:250,slightlyBelowMinimum:200,belowMinimum:100,veryFarBelowMinimum:50,urlTitle:bs("https://yoa.st/34j"),urlCallToAction:bs("https://yoa.st/34k"),customContentType:"taxonomyAssessor"}),new qs,new Hi({scores:{widthTooShort:9}},!0),new Gs,new Ui,new Ki]};(0,y.inherits)(ta,Ri);const ra=ta,na={keyword:"",synonyms:"",description:"",title:"",titleWidth:0,slug:"",locale:"en_US",permalink:"",date:"",customData:{},textTitle:"",writingDirection:"LTR"};function sa(e,t){this._text=e||"",this._tree=null,t=t||{},(0,v.defaults)(t,na),""===t.locale&&(t.locale=na.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,"");(0,v.isEmpty)(r)&&(t.keyword=na.keyword),this._attributes=t}sa.prototype.hasKeyword=function(){return""!==this._attributes.keyword},sa.prototype.getKeyword=function(){return this._attributes.keyword},sa.prototype.hasSynonyms=function(){return""!==this._attributes.synonyms},sa.prototype.getSynonyms=function(){return this._attributes.synonyms},sa.prototype.hasText=function(){return""!==this._text},sa.prototype.getText=function(){return this._text},sa.prototype.setTree=function(e){this._tree=e},sa.prototype.getTree=function(){return this._tree},sa.prototype.hasDescription=function(){return""!==this._attributes.description},sa.prototype.getDescription=function(){return this._attributes.description},sa.prototype.hasTitle=function(){return""!==this._attributes.title},sa.prototype.getTitle=function(){return this._attributes.title},sa.prototype.hasTitleWidth=function(){return 0!==this._attributes.titleWidth},sa.prototype.getTitleWidth=function(){return this._attributes.titleWidth},sa.prototype.hasSlug=function(){return""!==this._attributes.slug},sa.prototype.getSlug=function(){return this._attributes.slug},sa.prototype.hasUrl=function(){return console.warn("This function is deprecated, use hasSlug instead"),this.hasSlug()},sa.prototype.getUrl=function(){return console.warn("This function is deprecated, use getSlug instead"),this.getSlug()},sa.prototype.hasLocale=function(){return""!==this._attributes.locale},sa.prototype.getLocale=function(){return this._attributes.locale},sa.prototype.getWritingDirection=function(){return this._attributes.writingDirection},sa.prototype.hasPermalink=function(){return""!==this._attributes.permalink},sa.prototype.getPermalink=function(){return this._attributes.permalink},sa.prototype.hasDate=function(){return""!==this._attributes.date},sa.prototype.getDate=function(){return this._attributes.date},sa.prototype.hasCustomData=function(){return!(0,v.isEmpty)(this._attributes.customData)},sa.prototype.getCustomData=function(){return this._attributes.customData},sa.prototype.hasTextTitle=function(){return""!==this._attributes.textTitle&&!(0,v.isNil)(this._attributes.textTitle)},sa.prototype.getTextTitle=function(){return this._attributes.textTitle},sa.prototype.serialize=function(){return{_parseClass:"Paper",text:this._text,...this._attributes}},sa.prototype.equals=function(e){return this._text===e.getText()&&(0,v.isEqual)(this._attributes,e._attributes)},sa.parse=function(e){if(e instanceof sa)return e;const{text:t,_parseClass:r,...n}=e;return new sa(t,n)};const ia=sa,aa=function(e,t){Ri.call(this,e,t),this.type="relatedKeywordAssessor",this._assessments=[new ks,new Ns({isRelatedKeyphrase:!0}),new Hs,new Us,new $s,new Ui,new Di]};(0,y.inherits)(aa,Ri);const oa=aa,la="Avoid using %1$s as it is potentially harmful.",ca="Be careful when using %1$s as it is potentially harmful.",ua="Consider using an alternative, such as %2$s.",ha=[la,ua].join(" "),pa=[ca,ua].join(" "),da=[ca,"Consider using an alternative, such as %2$s, unless referring to someone who explicitly wants to be referred to with this term."].join(" "),ga="Alternatively, if talking about a specific person, use their preferred descriptor if known.",fa=[ca,"Unless you are referring to objects or animals, consider using an alternative, such as %2$s."].join(" ");function ma(e,t,r){return e.every(((e,n)=>r[t+n]===e))}function _a(e,t){const r=t.map((e=>ce(e,"\\s",!1)));return t=>r.some((r=>{const n=t-r.length;return n>=0&&ma(r,n,e)}))}function va(e,t){return r=>!_a(e,t)(r)}function Ta(e,t,r){const n=r.map((e=>ce(e,"\\s",!1)));return r=>n.some((n=>{const s=r+t.length;return s>=0&&ma(n,s,e)}))}function ya(e,t,r){return n=>!Ta(e,t,r)(n)}function Ea(e,t){const r=[];return e.forEach(((n,s)=>{ma(t,s,e)&&r.push(s)})),r}const ba=["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"],Aa=/\w+ed($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi;const wa=["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"],Ca=["being","getting","having","what's"],ka=wa.concat(Ca),Sa=["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"];function Oa(e){let t=e;return e.forEach((r=>{(r=r.split("-")).length>0&&r.filter((t=>!e.includes(t))).length>0&&(t=t.concat(r))})),t}Sa.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 xa=["the","an","a"],Na=["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"],Ra=["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth"],Ia=["i","you","he","she","it","we","they"],La=["me","him","us","them"],Ma=["this","that","these","those"],Da=["my","your","his","her","its","their","our","mine","yours","hers","theirs","ours"],Pa=["all","some","many","lot","lots","ton","tons","bit","no","every","enough","little","much","more","most","plenty","several","few","fewer","kind","kinds"],Fa=["myself","yourself","himself","herself","itself","oneself","ourselves","yourselves","themselves"],Ba=["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"],Ha=["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"],Ua=["which","what","whose"],$a=["who","whom"],Ka=["where","how","why","whether","wherever","whyever","wheresoever","whensoever","howsoever","whysoever","whatsoever","whereso","whomso","whenso","howso","whyso","whoso","whatso"],qa=["therefor","therein","hereby","hereto","wherein","therewith","herewith","wherewith","thereby"],ja=["there","here","whither","thither","hither","whence","thence"],Ga=["always","once","twice","thrice"],za=["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"],Wa=["appear","appears","appeared","become","becomes","became","come","comes","came","keep","keeps","kept","remain","remains","remained","stay","stays","stayed","turn","turns","turned"],Ya=["doing","daring","having","appearing","becoming","coming","keeping","remaining","staying","saying","asking","stating","seeming","letting","making","setting","showing","putting","adding","going","using","trying","containing"],Va=["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","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"],Qa=["back","within","forward","backward","ahead"],Xa=["and","or","and/or","yet"],Ja=["sooner","just","only"],Za=["if","even"],eo=["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"],to=["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"],ro=["highly","very","really","extremely","absolutely","completely","totally","utterly","quite","somewhat","seriously","fairly","fully","amazingly"],no=["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"],so=["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"],io=["oh","wow","tut-tut","tsk-tsk","ugh","whew","phew","yeah","yea","shh","oops","ouch","aha","yikes"],ao=["tbs","tbsp","spk","lb","qt","pk","bu","oz","pt","mod","doz","hr","f.g","ml","dl","cl","l","mg","g","kg","quart"],oo=["seconds","minute","minutes","hour","hours","day","days","week","weeks","month","months","year","years","today","tomorrow","yesterday"],lo=["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"],co=["not","yes","sure","top","bottom","ok","okay","amen","aka","etc","etcetera","sorry","please"],uo=["jr","sr"],ho=(Oa([].concat(Ra,Ya,so)),Oa([].concat(xa,Va,Xa,Ma,ro,Pa,Da)),Oa([].concat(Sa,Ga,Ia,La,Fa,io,Na,wa,za,Wa,eo,no,Ba,Ja,Za,Ua,$a,Ka,ja,co,Qa,qa,ao,oo,lo)),Oa([].concat(xa,Va,Ma,Da,Ra,Ya,Pa)),Oa([].concat(za,Wa,eo,no)),Oa([].concat(xa,Na,Ra,Ma,Da,Fa,Ia,La,Pa,Ba,Ya,Ha,Ua,$a,Ka,qa,ja,Ga,Qa,wa,Ca,za,Wa,Va,Xa,Ja,Za,eo,Sa,to,ro,no,io,so,ao,co,uo))),po=(Oa([].concat(xa,Na,Ra,Ma,Da,Fa,Ia,La,Pa,Ba,Ya,Ha,Ua,$a,Ka,qa,ja,Ga,Qa,wa,Ca,za,Wa,Va,Xa,Ja,Za,eo,Sa,to,ro,no,io,so,ao,lo,co,oo,["ms","mss","mrs","mr","dr","prof"],uo)),se.filter((e=>ce(e,"\\s",!1).length>0)));function go(e,t){return r=>Ta(e,t,ho)(r)||function(e,t){return r=>{const n=r+t.length;return nolder person, older citizen","person older than 70"],score:6,feedbackFormat:[da,fo].join(" ")},{identifier:"seniorCitizens",nonInclusivePhrases:["senior citizens"],inclusiveAlternatives:["older people, older citizens","people older than 70"],score:6,feedbackFormat:[da,fo].join(" ")},{identifier:"agingDependants",nonInclusivePhrases:["aging dependants"],inclusiveAlternatives:["older people","people older than 70"],score:6,feedbackFormat:[da,fo].join(" ")},{identifier:"elderly",nonInclusivePhrases:["elderly"],inclusiveAlternatives:["older people","people older than 70"],score:6,feedbackFormat:[da,fo].join(" ")},{identifier:"senile",nonInclusivePhrases:["senile"],inclusiveAlternatives:"",score:3,feedbackFormat:[la,"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:ha},{identifier:"seniors",nonInclusivePhrases:["seniors"],inclusiveAlternatives:["older people","people older than 70"],score:6,feedbackFormat:[da,fo].join(" "),rule:(e,t)=>Ea(e,t).filter(va(e,["high school","college","graduating","juniors and"])).filter(ya(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:[ha,fo].join(" "),rule:(e,t)=>Ea(e,t).filter(go(e,t))}];mo.forEach((e=>{e.category="age",e.learnMoreUrl="https://yoa.st/inclusive-language-age"}));const _o=mo,vo=[{identifier:"albinos",nonInclusivePhrases:["albinos"],inclusiveAlternatives:"people with albinism, albino people",score:6,feedbackFormat:da},{identifier:"anAlbino",nonInclusivePhrases:["an albino"],inclusiveAlternatives:"person with albinism, albino person",score:6,feedbackFormat:da,rule:(e,t)=>Ea(e,t).filter(go(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:[da,ga].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:[da,ga].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:[da].join(" ")},{identifier:"verticallyChallenged",nonInclusivePhrases:["vertically challenged"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism",score:3,feedbackFormat:ha},{identifier:"midget",nonInclusivePhrases:["midget"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism",score:3,feedbackFormat:ha},{identifier:"midgets",nonInclusivePhrases:["midgets"],inclusiveAlternatives:"little people, have short stature, people with dwarfism",score:3,feedbackFormat:ha},{identifier:"harelip",nonInclusivePhrases:["harelip"],inclusiveAlternatives:"cleft lip, cleft palate",score:3,feedbackFormat:ha}];vo.forEach((e=>{e.category="appearance",e.learnMoreUrl="https://yoa.st/inclusive-language-appearance"}));const To=vo;const yo=["so","very","a bit","really","pretty","kind of","that","too","totally","completely","absolutely","even","also","as"],Eo=ka.slice(0,-2),bo=Eo.splice(19,4),Ao=function(e,t){return(0,v.flatMap)(e,(e=>(0,v.flatMap)(t,(t=>`${e} ${t}`))))},wo=Ao(Eo,yo).concat(Eo);let Co=(0,v.flatMap)(Eo,(e=>`${e} not`));Co=Co.concat(bo);const ko=Ao(Co,yo).concat(Co),So=wo.concat(ko),Oo=Ao(["driving","drive","drove","drives","driven"],["me","you","them","him","her","someone","somebody","anyone","anybody","everyone","everybody"]),xo=["go","goes","going","gone","went"],No=Oo.concat(xo),Ro=["in love"],Io=wo.concat(ko),Lo=["about"],Mo="Avoid using %1$s as it is derogatory. Consider using an alternative, such as %2$s.",Do=ca+" Unless you are referencing the specific medical condition, consider using another alternative to describe the trait or behavior, such as %2$s.",Po=[{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)=>Ea(e,t).filter(ya(e,t,["drink","drinks","drinking","eating disorder","and purge","behavior","behaviors","behaviour","behaviours"]))},{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.",rule:(e,t)=>Ea(e,t).filter(ya(e,t,["and purging","behavior","behaviors","behaviour","behaviours"]))},{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.",rule:(e,t)=>Ea(e,t).filter(ya(e,t,["and purged"]))},{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.",rule:(e,t)=>Ea(e,t).filter(ya(e,t,["and purges"]))},{identifier:"wheelchairBound",nonInclusivePhrases:["wheelchair-bound","wheelchair bound","confined to a wheelchair"],inclusiveAlternatives:"uses a wheelchair, is a wheelchair user",score:3,feedbackFormat:ha},{identifier:"mentallyRetarded",nonInclusivePhrases:["mentally retarded"],inclusiveAlternatives:"person with an intellectual disability",score:3,feedbackFormat:ha},{identifier:"retarded",nonInclusivePhrases:["retarded"],inclusiveAlternatives:"uninformed, ignorant, foolish, irrational, insensible",score:3,feedbackFormat:Mo,rule:(e,t)=>Ea(e,t).filter(va(e,["mentally"]))},{identifier:"alcoholic",nonInclusivePhrases:["an alcoholic"],inclusiveAlternatives:"person with alcohol use disorder",score:6,feedbackFormat:da,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["drink","beverage"]))},{identifier:"alcoholics",nonInclusivePhrases:["alcoholics"],inclusiveAlternatives:"people with alcohol use disorder",score:6,feedbackFormat:da,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["anonymous"]))},{identifier:"cripple",nonInclusivePhrases:["a cripple"],inclusiveAlternatives:"person with a physical disability, a physically disabled person",score:3,feedbackFormat:Mo},{identifier:"crippled",nonInclusivePhrases:["crippled"],inclusiveAlternatives:"has a physical disability, is physically disabled",score:3,feedbackFormat:ha},{identifier:"daft",nonInclusivePhrases:["daft"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless",score:3,feedbackFormat:ha},{identifier:"handicapped",nonInclusivePhrases:["handicapped"],inclusiveAlternatives:"disabled, person with a disability",score:3,feedbackFormat:ha},{identifier:"handicap",nonInclusivePhrases:["handicap"],inclusiveAlternatives:"disability",score:3,feedbackFormat:ha,rule:(e,t)=>Ea(e,t).filter(ya(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:ha},{identifier:"imbecile",nonInclusivePhrases:["imbecile"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless",score:3,feedbackFormat:Mo},{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:ha},{identifier:"hearingImpaired",nonInclusivePhrases:["hearing impaired"],inclusiveAlternatives:"deaf or hard of hearing, partially deaf, has partial hearing loss",score:3,feedbackFormat:ha},{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)=>Ea(e,t).filter(ya(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:ha},{identifier:"lamer",nonInclusivePhrases:["lamer"],inclusiveAlternatives:"more boring, lousier, more unimpressive, sadder, cornier",score:3,feedbackFormat:ha},{identifier:"lamest",nonInclusivePhrases:["lamest"],inclusiveAlternatives:"most boring, lousiest, most unimpressive, saddest, corniest",score:3,feedbackFormat:ha},{identifier:"commitSuicide",nonInclusivePhrases:["commit suicide"],inclusiveAlternatives:"take one's life, die by suicide, kill oneself",score:3,feedbackFormat:ha},{identifier:"committingSuicide",nonInclusivePhrases:["committing suicide"],inclusiveAlternatives:"taking one's life, dying by suicide, killing oneself",score:3,feedbackFormat:ha},{identifier:"commitsSuicide",nonInclusivePhrases:["commits suicide"],inclusiveAlternatives:"takes one's life, dies by suicide, kills oneself",score:3,feedbackFormat:ha},{identifier:"committedSuicide",nonInclusivePhrases:["committed suicide"],inclusiveAlternatives:"took one's life, died by suicide, killed themself",score:3,feedbackFormat:ha},{identifier:"handicapParking",nonInclusivePhrases:["handicap parking"],inclusiveAlternatives:"accessible parking",score:3,feedbackFormat:ha},{identifier:"fellOnDeafEars",nonInclusivePhrases:["fell on deaf ears"],inclusiveAlternatives:"was not addressed, was ignored, was disregarded",score:3,feedbackFormat:ha},{identifier:"turnOnBlindEye",nonInclusivePhrases:["turn a blind eye"],inclusiveAlternatives:"ignore, pretend not to notice",score:3,feedbackFormat:ha},{identifier:"blindLeadingBlind",nonInclusivePhrases:["the blind leading the blind"],inclusiveAlternatives:"ignorant, misguided, incompetent, unqualified, insensitive, unaware",score:3,feedbackFormat:ha},{identifier:"handicapBathroom",nonInclusivePhrases:["handicap bathroom","handicap bathrooms"],inclusiveAlternatives:"accessible bathroom(s)",score:3,feedbackFormat:ha},{identifier:"handicapToilet",nonInclusivePhrases:["handicap toilet","handicap toilets"],inclusiveAlternatives:"accessible toilet(s)",score:3,feedbackFormat:ha},{identifier:"handicapStall",nonInclusivePhrases:["handicap stall","handicap stalls"],inclusiveAlternatives:"accessible stall(s)",score:3,feedbackFormat:ha},{identifier:"stupid",nonInclusivePhrases:["stupid"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless"],score:3,feedbackFormat:ha},{identifier:"dumb",nonInclusivePhrases:["dumb","dumber","dumbest"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless"],score:3,feedbackFormat:ha,rule:(e,t)=>Ea(e,t).filter(va(e,["deaf and"]))},{identifier:"deaf",nonInclusivePhrases:["deaf-mute","deaf and dumb"],inclusiveAlternatives:"deaf",score:3,feedbackFormat:ha},{identifier:"addict",nonInclusivePhrases:["addict"],inclusiveAlternatives:"person with a (drug, alcohol, ...) addiction, person with substance abuse disorder",score:6,feedbackFormat:da},{identifier:"addicts",nonInclusivePhrases:["addicts"],inclusiveAlternatives:"people with a (drug, alcohol, ...) addiction, people with substance abuse disorder",score:6,feedbackFormat:da},{identifier:"brainDamaged",nonInclusivePhrases:["brain-damaged"],inclusiveAlternatives:"person with a (traumatic) brain injury",score:6,feedbackFormat:da},{identifier:"differentlyAbled",nonInclusivePhrases:["differently abled","differently-abled"],inclusiveAlternatives:"disabled, person with a disability",score:6,feedbackFormat:da},{identifier:"epilepticFit",nonInclusivePhrases:["epileptic fit"],inclusiveAlternatives:"epileptic seizure",score:3,feedbackFormat:ha},{identifier:"epilepticFits",nonInclusivePhrases:["epileptic fits"],inclusiveAlternatives:"epileptic seizures",score:3,feedbackFormat:ha},{identifier:"sanityCheck",nonInclusivePhrases:["sanity check"],inclusiveAlternatives:"final check, confidence check, rationality check, soundness check",score:3,feedbackFormat:ha},{identifier:"to not be crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to not be impressed by, to not be enthusiastic about, to not be into, to not like",score:3,feedbackFormat:["Avoid using to not be crazy about as it is potentially harmful.",ua].join(" "),rule:(e,t)=>Ea(e,t).filter(_a(e,ko))},{identifier:"to be crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to love, to be obsessed with, to be infatuated with",score:3,feedbackFormat:["Avoid using to be crazy about as it is potentially harmful.",ua].join(" "),rule:(e,t)=>Ea(e,t).filter(_a(e,wo))},{identifier:"crazy in love",nonInclusivePhrases:["crazy in love"],inclusiveAlternatives:"wildly in love, head over heels, infatuated",score:3,feedbackFormat:ha},{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:["Avoid using to go crazy as it is potentially harmful.",ua].join(" "),rule:(e,t)=>Ea(e,t).filter(_a(e,xo))},{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:["Avoid using to drive crazy as it is potentially harmful.",ua].join(" "),rule:(e,t)=>Ea(e,t).filter(_a(e,Oo))},{identifier:"crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:ha,rule:(e,t)=>Ea(e,t).filter(va(e,No)).filter(ya(e,t,Ro)).filter(function(e,t,r,n){return s=>!function(e,t,r,n){return s=>Ta(e,t,n)(s)&&_a(e,r)(s)}(e,t,r,n)(s)}(e,t,Io,Lo))},{identifier:"crazier",nonInclusivePhrases:["crazier"],inclusiveAlternatives:"more wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:ha},{identifier:"craziest",nonInclusivePhrases:["craziest"],inclusiveAlternatives:"most wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed",score:3,feedbackFormat:ha},{identifier:"psychopathic",nonInclusivePhrases:["psychopath","psychopaths","psychopathic"],inclusiveAlternatives:"toxic, manipulative, unpredictable, impulsive, reckless, out of control",score:3,feedbackFormat:ha},{identifier:"schizophrenic",nonInclusivePhrases:["schizophrenic","bipolar"],inclusiveAlternatives:"of two minds, chaotic, confusing",score:6,feedbackFormat:Do,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["disorder"]))},{identifier:"paranoid",nonInclusivePhrases:["paranoid"],inclusiveAlternatives:"overly suspicious, unreasonable, defensive",score:6,feedbackFormat:Do,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["personality disorder","delusion","delusions","ideation"]))},{identifier:"manic",nonInclusivePhrases:["manic"],inclusiveAlternatives:"excited, raving, unbalanced, wild",score:6,feedbackFormat:Do,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["episode","episodes","state","states","symptoms","and depressive episodes","and hypomanic","or hypomanic"]))},{identifier:"hysterical",nonInclusivePhrases:["hysterical"],inclusiveAlternatives:"intense, vehement, piercing, chaotic",score:3,feedbackFormat:ha},{identifier:"psycho",nonInclusivePhrases:["psycho","psychos"],inclusiveAlternatives:"toxic, distraught, unpredictable, reckless, out of control",score:3,feedbackFormat:ha},{identifier:"neurotic",nonInclusivePhrases:["neurotic","lunatic"],inclusiveAlternatives:"distraught, unstable, startling, confusing, baffling",score:3,feedbackFormat:ha},{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, 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.",rule:(e,t)=>Ea(e,t).filter(ya(e,t,["personality disorder"]))},{identifier:"OCD",nonInclusivePhrases:["ocd"],inclusiveAlternatives:"pedantic, obsessed, perfectionist",score:6,feedbackFormat:[(0,_.sprintf)(Do,"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)=>Ea(e,t).filter(_a(e,So))},{identifier:"theMentallyIll",nonInclusivePhrases:["the mentally ill"],inclusiveAlternatives:"people who are mentally ill, mentally ill people",score:3,feedbackFormat:ha,rule:(e,t)=>Ea(e,t).filter(go(e,t))},{identifier:"theDisabled",nonInclusivePhrases:["the disabled"],inclusiveAlternatives:"people who have a disability, disabled people",score:3,feedbackFormat:ha,rule:(e,t)=>Ea(e,t).filter(go(e,t))}];Po.forEach((e=>{e.category="disability",e.learnMoreUrl="https://yoa.st/inclusive-language-disability"}));const Fo=Po,Bo="Avoid using %1$s as it is exclusionary. Consider using an alternative, such as %2$s.",Ho="Be careful when using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",Uo="Avoid using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",$o="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.",Ko="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.",qo="Avoid using %1$s as it is derogatory.",jo=[{identifier:"firemen",nonInclusivePhrases:["firemen"],inclusiveAlternatives:"firefighters",score:6,feedbackFormat:Ko},{identifier:"policemen",nonInclusivePhrases:["policemen"],inclusiveAlternatives:"police officers",score:6,feedbackFormat:Ko},{identifier:"menAndWomen",nonInclusivePhrases:["men and women","women and men"],inclusiveAlternatives:"people, people of all genders, individuals, human beings",score:6,feedbackFormat:$o},{identifier:"boysAndGirls",nonInclusivePhrases:["boys and girls","girls and boys"],inclusiveAlternatives:"kids, children",score:6,feedbackFormat:$o},{identifier:"heOrShe",nonInclusivePhrases:["he/she","he or she","she or he","(s)he"],inclusiveAlternatives:"they",score:6,feedbackFormat:Ho},{identifier:"birthSex",nonInclusivePhrases:["birth sex","natal sex"],inclusiveAlternatives:"assigned sex, assigned sex at birth",score:3,feedbackFormat:ha},{identifier:"mankind",nonInclusivePhrases:["mankind"],inclusiveAlternatives:"individuals, people, persons, human beings, humanity",score:3,feedbackFormat:Bo},{identifier:"preferredPronouns",nonInclusivePhrases:["preferred pronouns"],inclusiveAlternatives:"pronouns",score:6,feedbackFormat:[pa.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:Bo},{identifier:"oppositeSex",nonInclusivePhrases:["opposite sex"],inclusiveAlternatives:"another sex",score:3,feedbackFormat:Bo},{identifier:"femaleBodied",nonInclusivePhrases:["female-bodied"],inclusiveAlternatives:"assigned female at birth",score:3,feedbackFormat:Uo.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:Uo.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:ha},{identifier:"hermaphrodites",nonInclusivePhrases:["hermaphrodites"],inclusiveAlternatives:"intersex people",score:3,feedbackFormat:ha},{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:Ho.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:Bo},{identifier:"preferredName",nonInclusivePhrases:["preferred name"],inclusiveAlternatives:"name, affirming name",score:6,feedbackFormat:[pa.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:[qo,ua].join(" ")},{identifier:"transsexual",nonInclusivePhrases:["transsexual"],inclusiveAlternatives:"transgender",score:6,feedbackFormat:da},{identifier:"transsexuals",nonInclusivePhrases:["transsexuals"],inclusiveAlternatives:"trans people, transgender people",score:6,feedbackFormat:da},{identifier:"transWoman",nonInclusivePhrases:["transwoman"],inclusiveAlternatives:"trans woman, transgender woman",score:6,feedbackFormat:da},{identifier:"transWomen",nonInclusivePhrases:["transwomen"],inclusiveAlternatives:"trans women, transgender women",score:6,feedbackFormat:da},{identifier:"transMan",nonInclusivePhrases:["transman"],inclusiveAlternatives:"trans man, transgender man",score:6,feedbackFormat:da},{identifier:"transMen",nonInclusivePhrases:["transmen"],inclusiveAlternatives:"trans men, transgender men",score:6,feedbackFormat:da},{identifier:"transgendered",nonInclusivePhrases:["transgendered"],inclusiveAlternatives:["transgender, trans","transitioned, went through a gender transition"],score:3,feedbackFormat:[ha.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:da},{identifier:"femaleToMale",nonInclusivePhrases:["female-to-male","ftm"],inclusiveAlternatives:"trans man, transgender man",score:6,feedbackFormat:da},{identifier:"heShe",nonInclusivePhrases:["he-she"],inclusiveAlternatives:"",score:3,feedbackFormat:qo},{identifier:"shemale",nonInclusivePhrases:["shemale","she-male"],inclusiveAlternatives:"",score:3,feedbackFormat:qo},{identifier:"manMade",nonInclusivePhrases:["man-made","manmade"],inclusiveAlternatives:"artificial, synthetic, machine-made",score:3,feedbackFormat:Bo},{identifier:"toEachTheirOwn",nonInclusivePhrases:["to each his own"],inclusiveAlternatives:"to each their own",score:3,feedbackFormat:Bo},{identifier:"manned",nonInclusivePhrases:["manned"],inclusiveAlternatives:"crewed",score:3,feedbackFormat:Bo},{identifier:"aTransgender",nonInclusivePhrases:["a transgender","the transgender"],inclusiveAlternatives:"transgender person",score:3,feedbackFormat:ha,rule:(e,t)=>Ea(e,t).filter(go(e,t))}];jo.forEach((e=>{e.category="gender",e.learnMoreUrl="https://yoa.st/inclusive-language-gender"}));const Go=jo,zo="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.",Wo=[{identifier:"firstWorld",nonInclusivePhrases:["First World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:ha,caseSensitive:!0,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["War","war","Assembly","assembly"]))},{identifier:"thirdWorld",nonInclusivePhrases:["Third World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:ha,caseSensitive:!0,rule:(e,t)=>Ea(e,t).filter(ya(e,t,["War","war","Quarterly","quarterly","country"]))},{identifier:"tribe",nonInclusivePhrases:["tribe"],inclusiveAlternatives:"group, cohort, crew, league, guild, team, union",score:6,feedbackFormat:zo.slice(0,-42)+"a culture that uses this term."},{identifier:"tribes",nonInclusivePhrases:["tribes"],inclusiveAlternatives:"groups, cohorts, crews, leagues, guilds, teams, unions",score:6,feedbackFormat:zo.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:ca+" Unless you are referring to animals, consider using an alternative, such as %2$s.",rule:(e,t)=>Ea(e,t).filter(ya(e,t,["longhair","longhairs","shorthair","shorthairs"]))},{identifier:"sherpa",nonInclusivePhrases:["sherpa"],inclusiveAlternatives:"commander, coach, mastermind, coach, mentor",score:6,feedbackFormat:zo},{identifier:"guru",nonInclusivePhrases:["guru"],inclusiveAlternatives:"mentor, doyen, coach, mastermind, virtuoso, expert",score:6,feedbackFormat:zo},{identifier:"gurus",nonInclusivePhrases:["gurus"],inclusiveAlternatives:"mentors, doyens, coaches, masterminds, virtuosos, experts",score:6,feedbackFormat:zo},{identifier:"nonWhite",nonInclusivePhrases:["non-white"],inclusiveAlternatives:"people of color, POC, BIPOC or specifying the racial groups mentioned",score:3,feedbackFormat:ha},{identifier:"oriental",nonInclusivePhrases:["oriental"],inclusiveAlternatives:"Asian. When possible, be more specific (e.g. East Asian)",score:6,feedbackFormat:fa},{identifier:"asianAmerican",nonInclusivePhrases:["Asian-American"],inclusiveAlternatives:"Asian American",score:3,feedbackFormat:ha,caseSensitive:!0},{identifier:"asianAmericans",nonInclusivePhrases:["Asian-Americans"],inclusiveAlternatives:"Asian Americans",score:3,feedbackFormat:ha,caseSensitive:!0},{identifier:"africanAmerican",nonInclusivePhrases:["African-American"],inclusiveAlternatives:"African American, Black, American of African descent",score:3,feedbackFormat:ha,caseSensitive:!0},{identifier:"africanAmericans",nonInclusivePhrases:["African-Americans"],inclusiveAlternatives:"African Americans, Black, Americans of African descent",score:3,feedbackFormat:ha,caseSensitive:!0},{identifier:"whiteRace",nonInclusivePhrases:["the White race"],inclusiveAlternatives:"",score:3,feedbackFormat:la,caseSensitive:!0},{identifier:"whitelist",nonInclusivePhrases:["whitelist"],inclusiveAlternatives:"allowlist",score:3,feedbackFormat:ha},{identifier:"whitelists",nonInclusivePhrases:["whitelists"],inclusiveAlternatives:"allowlists",score:3,feedbackFormat:ha},{identifier:"whitelisting",nonInclusivePhrases:["whitelisting"],inclusiveAlternatives:"allowlisting",score:3,feedbackFormat:ha},{identifier:"whitelisted",nonInclusivePhrases:["whitelisted"],inclusiveAlternatives:"allowlisted",score:3,feedbackFormat:ha},{identifier:"blacklist",nonInclusivePhrases:["blacklist"],inclusiveAlternatives:"blocklist, denylist, faillist, redlist",score:3,feedbackFormat:ha},{identifier:"blacklists",nonInclusivePhrases:["blacklists"],inclusiveAlternatives:"blocklists, denylists, faillists, redlists",score:3,feedbackFormat:ha},{identifier:"blacklisting",nonInclusivePhrases:["blacklisting"],inclusiveAlternatives:"blocklisting, denylisting, faillisting, redlisting",score:3,feedbackFormat:ha},{identifier:"blacklisted",nonInclusivePhrases:["blacklisted"],inclusiveAlternatives:"blocklisted, denylisted, faillisted, redlisted",score:3,feedbackFormat:ha},{identifier:"gyp",nonInclusivePhrases:["gyp"],inclusiveAlternatives:"fraud, cheat, swindle, rip-off",score:3,feedbackFormat:ha},{identifier:"gyps",nonInclusivePhrases:["gyps"],inclusiveAlternatives:"frauds, cheats, swindles, rips off, rip-offs",score:3,feedbackFormat:ha},{identifier:"gypped",nonInclusivePhrases:["gypped"],inclusiveAlternatives:"cheated, swindled, ripped off",score:3,feedbackFormat:ha},{identifier:"gypping",nonInclusivePhrases:["gypping"],inclusiveAlternatives:"cheating, swindling, ripping off",score:3,feedbackFormat:ha},{identifier:"gypsy",nonInclusivePhrases:["gypsy","gipsy"],inclusiveAlternatives:["Rom, Roma person, Romani, Romani person","traveler, wanderer, free-spirited"],score:6,feedbackFormat:[da,"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:["Roma, Romani, Romani people","travelers, wanderers, free-spirited"],score:6,feedbackFormat:[da,"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:da},{identifier:"coloredPerson",nonInclusivePhrases:["colored person"],inclusiveAlternatives:"person of color, POC, BIPOC",score:3,feedbackFormat:ha},{identifier:"coloredPeople",nonInclusivePhrases:["colored people"],inclusiveAlternatives:"people of color, POC, BIPOC",score:3,feedbackFormat:ha},{identifier:"americanIndians",nonInclusivePhrases:["American Indian","American Indians"],inclusiveAlternatives:"Native American(s), Indigenous peoples of America",score:6,feedbackFormat:da,caseSensitive:!0},{identifier:"mulatto",nonInclusivePhrases:["mulatto","mulattos","mulattoes"],inclusiveAlternatives:"mixed, biracial, multiracial",score:3,feedbackFormat:ha},{identifier:"savage",nonInclusivePhrases:["savage"],inclusiveAlternatives:"severe, dreadful, untamed, brutal, fearless, fierce, brilliant, amazing",score:3,feedbackFormat:ha},{identifier:"civilized",nonInclusivePhrases:["civilized"],inclusiveAlternatives:"proper, well-mannered, enlightened, respectful",score:3,feedbackFormat:ha},{identifier:"primitive",nonInclusivePhrases:["primitive"],inclusiveAlternatives:"early, rudimentary",score:3,feedbackFormat:ha},{identifier:"powWow",nonInclusivePhrases:["pow-wow"],inclusiveAlternatives:"chat, brief conversation, brainstorm, huddle",score:6,feedbackFormat:zo},{identifier:"lowManOnTheTotemPole",nonInclusivePhrases:["low man on the totem pole"],inclusiveAlternatives:"person of lower rank, junior-level",score:3,feedbackFormat:ha},{identifier:"spiritAnimal",nonInclusivePhrases:["spirit animal"],inclusiveAlternatives:"inspiration, hero, icon, idol",score:6,feedbackFormat:zo},{identifier:"firstWorldCountries",nonInclusivePhrases:["first world countries"],inclusiveAlternatives:"the specific name for the regions or countries",score:3,feedbackFormat:ha},{identifier:"firstWorldHyphen",nonInclusivePhrases:["first-world"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:ha},{identifier:"third-worldCountry",nonInclusivePhrases:["third-world country"],inclusiveAlternatives:"low-income country, developing country",score:3,feedbackFormat:ha},{identifier:"third-worldCountry",nonInclusivePhrases:["third world country"],inclusiveAlternatives:"low-income country, developing country",score:3,feedbackFormat:ha},{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."}];Wo.forEach((e=>{e.category="culture",e.learnMoreUrl="https://yoa.st/inclusive-language-culture"}));const Yo=Wo,Vo=[{identifier:"illegalImmigrant",nonInclusivePhrases:["illegal immigrant","illegal alien"],inclusiveAlternatives:"undocumented person, person without papers, immigrant without papers",score:3,feedbackFormat:ha},{identifier:"illegalImmigrants",nonInclusivePhrases:["illegal immigrants","illegal aliens"],inclusiveAlternatives:"undocumented people, people without papers, immigrants without papers",score:3,feedbackFormat:ha},{identifier:"povertyStricken",nonInclusivePhrases:["poverty stricken"],inclusiveAlternatives:"people whose income is below the poverty threshold, people with low-income",score:3,feedbackFormat:ha},{identifier:"welfareReliant",nonInclusivePhrases:["welfare reliant"],inclusiveAlternatives:"receiving welfare",score:3,feedbackFormat:ha},{identifier:"prostitute",nonInclusivePhrases:["prostitute"],inclusiveAlternatives:"sex worker",score:6,feedbackFormat:da},{identifier:"prostitutes",nonInclusivePhrases:["prostitutes"],inclusiveAlternatives:"sex workers",score:6,feedbackFormat:da},{identifier:"ex-con",nonInclusivePhrases:["ex-con"],inclusiveAlternatives:"person who has had felony convictions, person who has been incarcerated",score:3,feedbackFormat:ha},{identifier:"ex-cons",nonInclusivePhrases:["ex-cons"],inclusiveAlternatives:"people who have had felony convictions, people who have been incarcerated",score:3,feedbackFormat:ha},{identifier:"felon",nonInclusivePhrases:["felon"],inclusiveAlternatives:"person with felony convictions, person who has been incarcerated",score:3,feedbackFormat:ha},{identifier:"felons",nonInclusivePhrases:["felons"],inclusiveAlternatives:"people with felony convictions, people who have been incarcerated",score:3,feedbackFormat:ha},{identifier:"ex-offender",nonInclusivePhrases:["ex-offender"],inclusiveAlternatives:"formerly incarcerated person",score:3,feedbackFormat:ha},{identifier:"ex-offenders",nonInclusivePhrases:["ex-offenders"],inclusiveAlternatives:"formerly incarcerated people",score:3,feedbackFormat:ha},{identifier:"theHomeless",nonInclusivePhrases:["the homeless"],inclusiveAlternatives:"people experiencing homelessness",score:3,feedbackFormat:ha,rule:(e,t)=>Ea(e,t).filter(go(e,t))},{identifier:"theUndocumented",nonInclusivePhrases:["the undocumented"],inclusiveAlternatives:"people who are undocumented, undocumented people, people without papers",score:3,feedbackFormat:ha,rule:(e,t)=>Ea(e,t).filter(go(e,t))},{identifier:"thePoor",nonInclusivePhrases:["the poor"],inclusiveAlternatives:"people whose income is below the poverty threshold, people with low-income",score:3,feedbackFormat:ha,rule:(e,t)=>Ea(e,t).filter(go(e,t))}];Vo.forEach((e=>{e.category="ses",e.learnMoreUrl="https://yoa.st/inclusive-language-ses"}));const Qo=Vo,Xo=[{identifier:"minorities",nonInclusivePhrases:["minorities"],inclusiveAlternatives:["members of the LGBTQ+ community","Indigenous peoples","marginalized groups","religious minorities"],score:6,feedbackFormat:[ca,"Consider using an alternative by being specific about which group(s) of people you are referring to. For example: %2$s, %3$s, %4$s. In case an alternative is not available, make sure to specify the type of minorities you are referring to, e.g., %5$s."].join(" ")},{identifier:"normalPerson",nonInclusivePhrases:["normal person"],inclusiveAlternatives:["typical person, average person or describing the person's specific trait, experience, or behavior"],score:3,feedbackFormat:ha,rule:(e,t)=>Ea(e,t).filter(va(e,["mentally","behaviorally","behaviourally"]))},{identifier:"normalPeople",nonInclusivePhrases:["normal people","Normal people"],inclusiveAlternatives:["typical people, average people or describing people's specific trait, experience, or behavior"],score:3,feedbackFormat:ha,caseSensitive:!0,rule:(e,t)=>Ea(e,t).filter(va(e,["mentally","behaviorally","behaviourally"]))},{identifier:"mentallyNormal",nonInclusivePhrases:["mentally normal"],inclusiveAlternatives:["people without mental health conditions, mentally healthy people"],score:3,feedbackFormat:[la,"Consider using an alternative, such as %2$s. If possible, be more specific. For example: people who don’t have anxiety disorders, people who haven't experienced trauma, etc. Be careful when using mental health descriptors and try to avoid making assumptions about someone's mental health."].join(" ")},{identifier:"behaviorallyNormal",nonInclusivePhrases:["behaviorally normal","behaviourally normal"],inclusiveAlternatives:["showing typical behavior or describing the specific behavior"],score:6,feedbackFormat:fa},{identifier:"abnormalPerson",nonInclusivePhrases:["abnormal person"],inclusiveAlternatives:["describing the person's specific trait, experience, or behavior"],score:3,feedbackFormat:ha},{identifier:"abnormalPeople",nonInclusivePhrases:["abnormal people"],inclusiveAlternatives:["describing people's specific trait, experience, or behavior"],score:3,feedbackFormat:ha},{identifier:"mentallyAbnormal",nonInclusivePhrases:["mentally abnormal"],inclusiveAlternatives:["people with a mental health condition, people with mental health problems"],score:3,feedbackFormat:[la,"Consider using an alternative, such as %2$s. If possible, be more specific. For example: people who have anxiety disorders, people who have experienced trauma, etc. Be careful when using mental health descriptors and try to avoid making assumptions about someone's mental health."].join(" ")},{identifier:"behaviorallyAbnormal",nonInclusivePhrases:["behaviorally abnormal","behaviourally abnormal"],inclusiveAlternatives:["showing atypical behavior, showing dysfunctional behavior or describing the specific behavior"],score:6,feedbackFormat:fa},{identifier:"abnormalBehavior",nonInclusivePhrases:["abnormal behavior","abnormal behaviour"],inclusiveAlternatives:["atypical behavior, unusual behavior or describing the specific behavior"],score:6,feedbackFormat:fa}];Xo.forEach((e=>{e.category="other",e.learnMoreUrl="https://yoa.st/inclusive-language-other"}));const Jo=Xo,Zo=[{identifier:"homosexuals",nonInclusivePhrases:["homosexuals"],inclusiveAlternatives:"gay people, queer people, lesbians, gay men, people in same-gender relationships",score:6,feedbackFormat:[da,"Be as specific possible and use people's preferred labels if they are known."].join(" ")}];Zo.forEach((e=>{e.category="sexualOrientation",e.learnMoreUrl="https://yoa.st/inclusive-language-orientation"}));const el=[..._o,...To,...Fo,...Go,...Yo,...Qo,...Jo,...Zo];class tl{constructor({identifier:e,nonInclusivePhrases:t,inclusiveAlternatives:r,score:n,feedbackFormat:s,learnMoreUrl:i,rule:a,caseSensitive:o,category:l}){this.identifier=e,this.nonInclusivePhrases=t,this.inclusiveAlternatives=r,(0,v.isString)(this.inclusiveAlternatives)&&(this.inclusiveAlternatives=[this.inclusiveAlternatives]),this.score=n,this.feedbackFormat=s,this.learnMoreUrl=bs(i),this.rule=a||Ea,this.caseSensitive=o||!1,this.category=l}isApplicable(e,t){const r=t.getResearch("sentences"),n=e.getTextTitle();return r.push(n),this.foundPhrases=[],r.forEach((e=>{let t=ce(e,"\\s",!1);this.caseSensitive||(t=t.map((e=>e.toLocaleLowerCase())));const r=this.nonInclusivePhrases.find((e=>this.rule(t,ce(e,"\\s",!1)).length>=1));r&&this.foundPhrases.push({sentence:e,phrase:r})})),this.foundPhrases.length>=1}getResult(){const e=(0,_.sprintf)("%1$sLearn more.%2$s",this.learnMoreUrl,""),t=(0,_.sprintf)(this.feedbackFormat,this.foundPhrases[0].phrase,...this.inclusiveAlternatives),r=new Cs({score:this.score,text:`${t} ${e}`});return r.setIdentifier(this.identifier),r.setHasMarks(!0),r}getMarks(){return this.foundPhrases?this.foundPhrases.map((e=>new jr({original:e.sentence,marked:$i(e.sentence)}))):[]}}const rl={infoLinks:{}},nl=class extends Ri{constructor(e,t={}){super(e,t),this.type="inclusiveLanguageAssessor",this._options=Object.assign({},rl,t);const r=this._options.infoLinks;this._assessments=el.map((e=>(r[e.category]&&(e.learnMoreUrl=r[e.category]),new tl(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}},sl=function(e,t={}){Ri.call(this,e,t),this.type="cornerstoneContentAssessor",this._assessments=[new Wi({parameters:{slightlyTooMany:250,farTooMany:300,recommendedMaximumLength:250},applicableIfTextLongerThan:250,cornerstoneContent:!0}),new Gi,new zi({slightlyTooMany:20,farTooMany:25},!0),new Yi,new Vi,new Xi,new Qi]};r(9539).inherits(sl,ea);const il=sl,al=function(e,t){Ri.call(this,e,t),this.type="cornerstoneRelatedKeywordAssessor",this._assessments=[new ks,new Ns({isRelatedKeyphrase:!0}),new Hs,new Us,new $s,new Ui,new Di({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}})]};(0,y.inherits)(al,Ri);const ol=al,ll=function(e,t){Ri.call(this,e,t),this.type="cornerstoneSEOAssessor",this._assessments=[new ks,new Ns,new Hs,new Us,new Li({scores:{tooLong:3,tooShort:3}}),new Mi,new $s,new Di({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}}),new Pi,new Fi({recommendedMinimum:900,slightlyBelowMinimum:400,belowMinimum:300,scores:{belowMinimum:-20,farBelowMinimum:-20},cornerstoneContent:!0}),new Bi({scores:{noLinks:3}}),new qs,new Ks,new Hi({scores:{widthTooShort:9}},!0),new Gs({scores:{okay:3}}),new Ui,new Ki]};(0,y.inherits)(ll,ji);const cl=ll;function ul(e,t){for(let r=0;r{this._pollHandle=setTimeout(this.tick,this._configuration.pollTime)}))}stopPolling(){clearTimeout(this._pollHandle),this._pollHandle=null,this._started=!1}schedule({id:e,execute:t,done:r,data:n,type:s}){const i=new dl(e,t,r,n,s);switch(s){case"customMessage":case"loadScript":this._tasks.extensions.push(i);break;case"analyze":this._tasks.analyze=[i];break;case"analyzeRelatedKeywords":this._tasks.analyzeRelatedKeywords=[i];break;default:this._tasks.standard.push(i)}}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)))}},ml={AssessmentResult:Cs,Mark:jr,Paper:ia,Sentence:fr,Clause:os,ProminentWord:yr},_l=function e(t){if((0,v.isArray)(t))return t.map(e);const r=(0,v.isObject)(t);return r&&t._parseClass&&ml[t._parseClass]?"Sentence"===t._parseClass||"Clause"===t._parseClass?ml[t._parseClass].prototype.parse(t):ml[t._parseClass].parse(t):r?(0,v.mapValues)(t,(t=>e(t))):t},vl=function e(t){if((0,v.isArray)(t))return t.map(e);const r=(0,v.isObject)(t);return r&&t.serialize?t.serialize():r?(0,v.mapValues)(t,(t=>e(t))):t},Tl=function(e,t,r,n=""){r&&(n=function(e,t,r="%%"){r=(0,v.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}${(0,v.escapeRegExp)(e)}${r}`,"g");e in t&&(i=i.replace(n,t[e]))}return i}(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 yl(e,t,r=""){return async(...n)=>{try{return await t(...n)}catch(t){return{error:Tl(e,t,n[1],r)}}}}const El=class{aggregate(e){console.warn("'aggregate' must be implemented by a child class of 'ScoreAggregator'")}},bl={bad:3,ok:2,good:0},Al={bad:4,ok:2,good:0},wl=["en","nl","de","it","ru","fr","es"],Cl=class extends El{isFullySupported(e){if(e&&e.includes("_")){const t=A(e);return wl.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=Ji(t.getScore()),n=this.isFullySupported(this.locale)?bl[r]:Al[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)}},kl=class extends El{aggregate(e){const t=e.reduce(((e,t)=>e+t.getScore()),0);return Math.round(100*t/(9*e.length))||0}},Sl=(0,T.getLogger)("yoast-analysis-worker");Sl.setDefaultLevel("error");class Ol{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 fl,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=yl(Sl,this.analyze,"An error occurred while running the related keywords analysis."),this.analyze=yl(Sl,this.analyze,"An error occurred while running the analysis."),this.runResearch=yl(Sl,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 kl,this._contentScoreAggregator=new Cl,this._tree=null,this._treeBuilder=null}register(){this._scope.onmessage=this.handleMessage,this._scope.analysisWorker=this}handleMessage({data:{type:e,id:t,payload:r}}){switch(r=_l(r),Sl.debug("AnalysisWebWorker incoming:",e,t,r),e){case"initialize":this.initialize(t,r),this._scheduler.startPolling();break;case"analyze":this._scheduler.schedule({id:t,execute:this.analyze,done:this.analyzeDone,data:r,type:e});break;case"analyzeRelatedKeywords":this._scheduler.schedule({id:t,execute:this.analyzeRelatedKeywords,done:this.analyzeRelatedKeywordsDone,data:r,type:e});break;case"loadScript":this._scheduler.schedule({id:t,execute:this.loadScript,done:this.loadScriptDone,data:r,type:e});break;case"runResearch":this._scheduler.schedule({id:t,execute:this.runResearch,done:this.runResearchDone,data:r});break;case"customMessage":{const n=r.name;if(n&&this._registeredMessageHandlers[n]){this._scheduler.schedule({id:t,execute:this.customMessage,done:this.customMessageDone,data:r,type:e});break}this.customMessageDone(t,{error:new Error("No message handler registered for messages with name: "+n)});break}default:console.warn("AnalysisWebWorker unrecognized action:",e)}}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 il(this._researcher),this._registeredAssessments.forEach((({name:e,assessment:t,type:r})=>{(0,v.isUndefined)(n.getAssessment(e))&&"cornerstoneReadability"===r&&n.addAssessment(e,t)}))):(n=this._CustomContentAssessorClasses[r]?new this._CustomContentAssessorClasses[r](this._researcher,this._CustomContentAssessorOptions[r]):new ea(this._researcher),this._registeredAssessments.forEach((({name:e,assessment:t,type:r})=>{(0,v.isUndefined)(n.getAssessment(e))&&"readability"===r&&n.addAssessment(e,t)}))),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 ra(this._researcher):!0===t?this._CustomCornerstoneSEOAssessorClasses[n]?new this._CustomCornerstoneSEOAssessorClasses[n](this._researcher,this._CustomCornerstoneSEOAssessorOptions[n]):new cl(this._researcher):this._CustomSEOAssessorClasses[n]?new this._CustomSEOAssessorClasses[n](this._researcher,this._CustomSEOAssessorOptions[n]):new ji(this._researcher),this._registeredAssessments.forEach((({name:e,assessment:t,type:r})=>{(0,v.isUndefined)(s.getAssessment(e))&&"seo"===r&&s.addAssessment(e,t)})),s}createInclusiveLanguageAssessor(){const{inclusiveLanguageAnalysisActive:e}=this._configuration;return!1===e?null:new nl(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 pl(this._researcher):!0===t?this._CustomCornerstoneRelatedKeywordAssessorClasses[n]?new this._CustomCornerstoneRelatedKeywordAssessorClasses[n](this._researcher,this._CustomCornerstoneRelatedKeywordAssessorOptions[n]):new ol(this._researcher):this._CustomRelatedKeywordAssessorClasses[n]?new this._CustomRelatedKeywordAssessorClasses[n](this._researcher,this._CustomRelatedKeywordAssessorOptions[n]):new oa(this._researcher),this._registeredAssessments.forEach((({name:e,assessment:t,type:r})=>{(0,v.isUndefined)(s.getAssessment(e))&&"relatedKeyphrase"===r&&s.addAssessment(e,t)})),s}send(e,t,r={}){Sl.debug("AnalysisWebWorker outgoing:",e,t,r),r=vl(r),this._scope.postMessage({type:e,id:t,payload:r})}static shouldAssessorsUpdate(e,t=null,r=null,n=null){const s=Object.keys(e);return{readability:(0,v.isNull)(t)||ul(s,["contentAnalysisActive","useCornerstone","locale","translations","customAnalysisType"]),seo:(0,v.isNull)(r)||ul(s,["keywordAnalysisActive","useCornerstone","useTaxonomy","locale","translations","researchData","customAnalysisType"]),inclusiveLanguage:(0,v.isNull)(n)||ul(s,["inclusiveLanguageAnalysisActive","locale","translations"])}}initialize(e,t){const r=Ol.shouldAssessorsUpdate(t,this._contentAssessor,this._seoAssessor,this._inclusiveLanguageAssessor);var n;(0,v.has)(t,"translations")&&Object.values(t.translations).forEach((e=>{if(e){const{domain:t,locale_data:r}=e;(0,_.setLocaleData)(r[t],t)}})),(0,v.has)(t,"researchData")&&((0,v.forEach)(t.researchData,((e,t)=>{this._researcher.addResearchData(t,e)})),delete t.researchData),(0,v.has)(t,"defaultQueryParams")&&(n={params:t.defaultQueryParams},Es().configure(n),delete t.defaultQueryParams),(0,v.has)(t,"logLevel")&&(Sl.setLevel(t.logLevel,!1),delete t.logLevel),(0,v.has)(t,"enabledFeatures")&&((0,m.enableFeatures)(t.enabledFeatures),delete t.enabledFeatures),this._configuration=(0,v.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,n="seo"){const{useCornerstone:s}=this._configuration;if(!(0,v.isString)(e))throw new he("Failed to register assessment for plugin "+r+". Expected parameter `name` to be a string.");if(!(0,v.isObject)(t))throw new he("Failed to register assessment for plugin "+r+". Expected parameter `assessment` to be a function.");if(!(0,v.isString)(r))throw new he("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(!(0,v.isString)(e))throw new he("Failed to register handler for plugin "+r+". Expected parameter `name` to be a string.");if(!(0,v.isObject)(t))throw new he("Failed to register handler for plugin "+r+". Expected parameter `handler` to be a function.");if(!(0,v.isString)(r))throw new he("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(!(0,v.isString)(e))throw new he("Failed to refresh assessment for plugin "+t+". Expected parameter `name` to be a string.");if(!(0,v.isString)(t))throw new he("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 he("Failed to register the custom parser. Expected parameter 'parser' to have a method 'isApplicable'.");if("function"!=typeof e.parse)throw new he("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,{keyword:t,synonyms:r}){return!!(0,v.isUndefined)(this._relatedKeywords[e])||this._relatedKeywords[e].keyword!==t||this._relatedKeywords[e].synonyms!==r}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,{paper:t,relatedKeywords:r={}}){const n=null===this._paper||!this._paper.equals(t),s=this.shouldReadabilityUpdate(t),i=this.shouldInclusiveLanguageUpdate(t),a=this.shouldAdditionalAssessorsUpdate(t);if(n){this._paper=t,this._researcher.setPaper(this._paper);const e=new Qs(this._researcher),r=this._paper._attributes&&this._paper._attributes.shortcodes;this._paper.setTree(xi(this._paper,e,r)),this.setLocale(this._paper.getLocale())}if(this._configuration.keywordAnalysisActive&&this._seoAssessor&&(n&&(this._results.seo[""]=await this.assess(this._paper,this._tree,{oldAssessor:this._seoAssessor,treeAssessor:this._seoTreeAssessor,scoreAggregator:this._seoScoreAggregator})),!(0,v.isEmpty)(r))){const e=Object.keys(r);(await this.assessRelatedKeywords(t,this._tree,r)).forEach((e=>{this._results.seo[e.key]=e.results})),e.length>1&&(this._results.seo=(0,v.pickBy)(this._results.seo,((t,r)=>(0,v.includes)(e,r)||""===r)))}if(this._configuration.contentAnalysisActive&&this._contentAssessor&&s){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(i),this.updateAdditionalAssessors(a),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 Cs;return t.setScore(-1),t.setText((0,_.sprintf)(/* translators: %1$s expands to the name of the assessment. */ +(0,_.__)("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=ia.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,{url:t}){if((0,v.isUndefined)(t))return{loaded:!1,url:t,message:"Load Script was called without an URL."};try{this._scope.importScripts(t)}catch(e){return{loaded:!1,url:t,message:e.message}}return{loaded:!0,url:t}}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,{name:t,data:r}){try{return{success:!0,data:this._registeredMessageHandlers[t](r)}}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(!(0,v.isString)(e))throw new he("Failed to register the custom research. Expected parameter `name` to be a string.");if(!(0,v.isObject)(t))throw new he("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,{name:t,paper:r=null}){const n=this._researcher.getData("morphology"),s=this._researcher;if(null!==r&&(s.setPaper(r),s.addResearchData("morphology",n),null===r.getTree())){const e=new Qs(s),t=r._attributes&&r._attributes.shortcodes;r.setTree(xi(r,e,t))}return s.getResearch(t)}runResearchDone(e,t){t.error?this.send("runResearch:failed",e,t):this.send("runResearch:done",e,t)}registerHelper(e,t){if(!(0,v.isString)(e))throw new he("Failed to register the custom helper. Expected parameter `name` to be a string.");if(!(0,v.isObject)(t))throw new he("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(!(0,v.isString)(e))throw new he("Failed to register the custom researcher config. Expected parameter `name` to be a string.");if((0,v.isUndefined)(t)||(0,v.isEmpty)(t))throw new de("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 xl{constructor(e,t={}){this.result=e,this.data=t}}const Nl=class{constructor(e,t,r={}){this._resolve=e,this._reject=t,this._data=r}resolve(e={}){const t=new xl(e,this._data);this._resolve(t)}reject(e={}){const t=new xl(e,this._data);this._reject(t)}},Rl=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({data:{type:e,id:t,payload:r}}){const n=this._requests[t];if(n){switch(r=_l(r),e){case"initialize:done":case"loadScript:done":case"customMessage:done":case"runResearch:done":case"analyzeRelatedKeywords:done":case"analyze:done":n.resolve(r);break;case"analyze:failed":case"loadScript:failed":case"customMessage:failed":case"runResearch:failed":case"analyzeRelatedKeywords:failed":n.reject(r);break;default:console.warn("AnalysisWebWorker unrecognized action:",e)}delete this._requests[t]}else console.warn("AnalysisWebWorker unmatched response:",r)}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,t={}){return new Promise(((r,n)=>{this._requests[e]=new Nl(r,n,t)}))}sendRequest(e,t,r={}){const n=this.createRequestId(),s=this.createRequestPromise(n,r);return this.send(e,n,t),s}send(e,t,r={}){r=vl(r),this._worker.postMessage({type:e,id:t,payload:r})}initialize(e){return this.sendRequest("initialize",e)}analyzeRelatedKeywords(e,t={}){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,t=null){return this.sendRequest("runResearch",{name:e,paper:t})}};function Il(e){const t=function(e){const t=window.URL||window.webkitURL,r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,n=(s=function(e){return`\n\t\tself.yoastOriginalUrl = '${e}';\n\t\timportScripts('${e}');\n\t`}(e),`\n\t\ttry {\n\t\t\t${s}\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`);var s;let i;try{i=new Blob([n],{type:"application/javascript"})}catch(e){const t=new r;t.append(n),i=t.getBlob("application/javascript")}return t.createObjectURL(i)}(e);return new Worker(t)}const Ll=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 Il(e);let t=null;try{t=new Worker(e)}catch(r){try{t=Il(e)}catch(e){throw e}}return t},Ml={ParagraphTooLongAssessment:Gi,PassiveVoiceAssessment:Vi,SentenceBeginningsAssessment:Qi,SentenceLengthInTextAssessment:zi,SubheadingDistributionTooLongAssessment:Wi,TextPresenceAssessment:Xi,TransitionWordsAssessment:Yi},Dl={FunctionWordsInKeyphraseAssessment:Ui,InternalLinksAssessment:Ks,IntroductionKeywordAssessment:ks,KeyphraseLengthAssessment:Ns,KeyphraseDensityAssessment:Hs,KeywordDensityAssessment:class extends Bs{constructor(e={}){super(e),this.identifier="keywordDensity",console.warn("This object is deprecated, use KeyphraseDensityAssessment instead.")}},MetaDescriptionKeywordAssessment:Us,MetaDescriptionLengthAssessment:Li,OutboundLinksAssessment:Bi,PageTitleWidthAssessment:Hi,SingleH1Assessment:Ki,SubheadingsKeywordAssessment:Mi,TextCompetingLinksAssessment:$s,TextLengthAssessment:Fi,KeyphraseInSEOTitleAssessment:qs,SlugKeywordAssessment:js,UrlKeywordAssessment:class extends js{constructor(e={}){super(e),this.identifier="urlKeyword",console.warn("This object is deprecated, use SlugKeywordAssessment instead.")}},ImageKeyphraseAssessment:Di,ImageCountAssessment:Pi},Pl={InclusiveLanguageAssessment:tl};var Fl=function(e,t){if((0,v.isUndefined)(e))throw new de("The previously keyword plugin requires the YoastSEO app");(0,v.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=bs("https://yoa.st/33x"),this.urlCallToAction=bs("https://yoa.st/33y")};Fl.prototype.registerPlugin=function(){this.app.registerAssessment("usedKeywords",{getResult:this.assess.bind(this),isApplicable:function(e){return e.hasKeyword()}},"previouslyUsedKeywords")},Fl.prototype.updateKeywordUsage=function(e,t){this.usedKeywords=e,this.usedKeywordsPostTypes=t},Fl.prototype.scoreAssessment=function(e,t){const r=e.count,n=e.id,s=e.postTypeToDisplay;let i;return 0===r?{text:(0,_.sprintf)( /* translators: %1$s expands to a link to an article on yoast.com, %2$s expands to an anchor tag. */ @@ -278,4 +278,4 @@ text:(0,_.sprintf)((0,_.__)("%3$sPreviously used keyphrase%5$s: You've used this /* 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:(0,_.sprintf)((0,_.__)("%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},Fl.prototype.researchPreviouslyUsedKeywords=function(e){const t=e.getKeyword();let r=0,n="",s=0;return!(0,v.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}},Fl.prototype.assess=function(e){var t=this.researchPreviouslyUsedKeywords(e),r=this.scoreAssessment(t,e),n=new As;return n.setScore(r.score),n.setText(r.text),n};const Bl=Fl;function Hl(e){return e.replace(new RegExp("]*>","g"),"").replace(new RegExp("
    ","g"),"")}function Ul(){const e=(0,_.__)("Content optimization:","wordpress-seo");return{feedback:{className:"na",screenReaderText:(0,_.__)("Feedback","wordpress-seo"),fullText:`${e} ${(0,_.__)("Has feedback","wordpress-seo")}`,screenReaderReadabilityText:""},bad:{className:"bad",screenReaderText:(0,_.__)("Needs improvement","wordpress-seo"),fullText:`${e} ${(0,_.__)("Needs improvement","wordpress-seo")}`,screenReaderReadabilityText:(0,_.__)("Needs improvement","wordpress-seo")},ok:{className:"ok",screenReaderText:(0,_.__)("OK SEO score","wordpress-seo"),fullText:`${e} ${(0,_.__)("OK SEO score","wordpress-seo")}`,screenReaderReadabilityText:(0,_.__)("OK","wordpress-seo")},good:{className:"good",screenReaderText:(0,_.__)("Good SEO score","wordpress-seo"),fullText:`${e} ${(0,_.__)("Good SEO score","wordpress-seo")}`,screenReaderReadabilityText:(0,_.__)("Good","wordpress-seo")}}}var $l=function(e){this.app=e,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this.customTests=[],setTimeout(this._pollLoadingPlugins.bind(this),1500)};$l.prototype._registerPlugin=function(e,t){return"string"!=typeof e?(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1):(0,v.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)},$l.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):(0,v.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)},$l.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):(0,v.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)},$l.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(0,v.isUndefined)(this.modifications[e])&&(this.modifications[e]=[]),this.modifications[e].push(s),!0},$l.prototype._registerTest=function(){console.error("This function is deprecated, please use _registerAssessment")},$l.prototype._registerAssessment=function(e,t,r,n){if(!(0,v.isString)(t))throw new he("Failed to register test for plugin "+n+". Expected parameter `name` to be a string.");if(!(0,v.isObject)(r))throw new he("Failed to register assessment for plugin "+n+". Expected parameter `assessment` to be a function.");if(!(0,v.isString)(n))throw new he("Failed to register assessment for plugin "+n+". Expected parameter `pluginName` to be a string.");return t=n+"-"+t,e.addAssessment(t,r),!0},$l.prototype._pollLoadingPlugins=function(e){e=(0,v.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))},$l.prototype._allReady=function(){return(0,v.reduce)(this.plugins,(function(e,t){return e&&"ready"===t.status}),!0)},$l.prototype._pollTimeExceeded=function(){(0,v.forEach)(this.plugins,(function(e,t){(0,v.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()},$l.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})),(0,v.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},$l.prototype._addPluginTests=function(e){this.customTests.map((function(t){this._addPluginTest(e,t)}),this)},$l.prototype._addPluginTest=function(e,t){e.addAnalysis({name:t.name,callable:t.analysis}),e.analyzeScorer.addScoring({name:t.name,scoring:t.scoring})},$l.prototype._stripIllegalModifications=function(e){return(0,v.forEach)(e,function(t,r){!1===this._validateOrigin(t.origin)&&delete e[r]}.bind(this)),e},$l.prototype._validateOrigin=function(e){return"ready"===this.plugins[e].status},$l.prototype._validateUniqueness=function(e){return!!(0,v.isUndefined)(this.plugins[e])};const Kl=$l;var ql=r(1598),jl=r.n(ql),Gl=function(e){this.keyword=e.keyword,this.assessor=e.assessor,this.output=e.targets.output,this.overall=e.targets.overall||"overallScore",this.presenterConfig=Ul(),this._disableMarkerButtons=!1,this._activeMarker=!1};Gl.prototype.setKeyword=function(e){this.keyword=e},Gl.prototype.configHasProperty=function(e){return this.presenterConfig.hasOwnProperty(e)},Gl.prototype.getIndicator=function(e){return{className:this.getIndicatorColorClass(e),screenReaderText:this.getIndicatorScreenReaderText(e),fullText:this.getIndicatorFullText(e),screenReaderReadabilityText:this.getIndicatorScreenReaderReadabilityText(e)}},Gl.prototype.getIndicatorColorClass=function(e){return this.configHasProperty(e)?this.presenterConfig[e].className:""},Gl.prototype.getIndicatorScreenReaderText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderText:""},Gl.prototype.getIndicatorScreenReaderReadabilityText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderReadabilityText:""},Gl.prototype.getIndicatorFullText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].fullText:""},Gl.prototype.resultToRating=function(e){return(0,v.isObject)(e)?(e.rating=Qi(e.score),e):""},Gl.prototype.getIndividualRatings=function(){var e={},t=this.sort(this.assessor.getValidResults()).map(this.resultToRating);return(0,v.forEach)(t,function(t,r){e[r]=this.addRating(t)}.bind(this)),e},Gl.prototype.excludeFromResults=function(e,t){return(0,v.difference)(e,t)},Gl.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)},Gl.prototype.getUndefinedScores=function(e){return e.filter((function(e){return(0,v.isUndefined)(e.score)||0===e.score}))},Gl.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},Gl.prototype.getOverallRating=function(e){var t=0;return""===this.keyword||(0,v.isNumber)(e)&&(t=e/10),this.resultToRating({score:t})},Gl.prototype.markAssessment=function(e,t){this._activeMarker===e?(this.removeAllMarks(),this._activeMarker=!1):(t(),this._activeMarker=e),this.render()},Gl.prototype.disableMarker=function(){this._activeMarker=!1,this.render()},Gl.prototype.disableMarkerButtons=function(){this._disableMarkerButtons=!0,this.render()},Gl.prototype.enableMarkerButtons=function(){this._disableMarkerButtons=!1,this.render()},Gl.prototype.addMarkerEventHandler=function(e,t){document.getElementById(this.output).getElementsByClassName("js-assessment-results__mark-"+e)[0].addEventListener("click",this.markAssessment.bind(this,e,t))},Gl.prototype.render=function(){this.renderIndividualRatings(),this.renderOverallRating()},Gl.prototype.bindMarkButtons=function(e){(0,v.forEach)(e,function(e){e.hasOwnProperty("marker")&&this.addMarkerEventHandler(e.identifier,e.marker)}.bind(this))},Gl.prototype.removeAllMarks=function(){this.assessor.getSpecificMarker()(this.assessor.getPaper(),[])},Gl.prototype.renderIndividualRatings=function(){var e=document.getElementById(this.output),t=this.getIndividualRatings();e.innerHTML=(0,ql.assessmentPresenterResult)({scores:t,i18n:{disabledMarkText:(0,_.__)("Marks are disabled in current view","wordpress-seo"),markInText:(0,_.__)("Mark this result in the text","wordpress-seo"),removeMarksInText:(0,_.__)("Remove marks in the text","wordpress-seo")},activeMarker:this._activeMarker,markerButtonsDisabled:this._disableMarkerButtons}),this.bindMarkButtons(t)},Gl.prototype.renderOverallRating=function(){var e=this.getOverallRating(this.assessor.calculateOverallScore()),t=document.getElementById(this.overall);t&&(t.className="overallScore "+this.getIndicatorColorClass(e.rating))};const zl=Gl,Wl=(0,v.memoize)((function(e,t,r){return(0,v.isUndefined)(t)&&(t=""),((0,v.isUndefined)(r)||!0===r)&&(e=b(e)),e=X(e),e=k(e=(0,v.escapeRegExp)(e),!1,t),new RegExp(e,"ig")})),Yl={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){(0,v.forEach)(t,this.removeClass.bind(null,e))}};var Vl={desktop:"snippet-editor__view--desktop",mobile:"snippet-editor__view--mobile"},Ql=function(e,t){this.previewMode=e,this.previewToggles=t,this.viewElement=document.getElementById("snippet-preview-view")};Ql.prototype.initialize=function(){this._setPreviewMode(this.previewMode,this._findElementByMode(this.previewMode))},Ql.prototype.bindClickEvent=function(e){e.addEventListener("click",function(){this._setPreviewMode(e.getAttribute("data-type"),e),this.removeTooltipAbility(e)}.bind(this))},Ql.prototype.bindMouseleaveEvent=function(e){e.addEventListener("mouseleave",function(){this.removeTooltipAbility(e)}.bind(this))},Ql.prototype.bindBlurEvent=function(e){e.addEventListener("blur",function(){this.restoreTooltipAbility(e)}.bind(this))},Ql.prototype.bindMouseenterEvent=function(e){e.addEventListener("mouseenter",function(){this.restoreTooltipAbility(e)}.bind(this))},Ql.prototype.bindEvents=function(){(0,v.forEach)(this.previewToggles,function(e){this.bindClickEvent(e),this.bindMouseleaveEvent(e),this.bindBlurEvent(e),this.bindMouseenterEvent(e)}.bind(this))},Ql.prototype._findElementByMode=function(e){return document.getElementsByClassName("snippet-editor__view-icon-"+e)[0]},Ql.prototype._setPreviewMode=function(e,t){this._removeActiveStates(),this._setActiveState(t),Yl.removeClass(this.viewElement,Vl[this.previewMode]),Yl.addClass(this.viewElement,Vl[e]),this.previewMode=e},Ql.prototype.setDesktopMode=function(){this._setPreviewMode("desktop",this._findElementByMode("desktop"))},Ql.prototype.setMobileMode=function(){this._setPreviewMode("mobile",this._findElementByMode("mobile"))},Ql.prototype.setVisibility=function(e){e<640?(this.setMobileMode(),Yl.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")):this.setDesktopMode()},Ql.prototype.setScrollHintVisibility=function(e){Yl.removeClass(this.viewElement,"snippet-editor__view--desktop-has-scroll"),e<640&&Yl.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")},Ql.prototype._removeActiveStates=function(){(0,v.forEach)(this.previewToggles,this._removeActiveState.bind(this))},Ql.prototype._removeActiveState=function(e){Yl.removeClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Yl.removeClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","false")},Ql.prototype.removeTooltipAbility=function(e){Yl.addClass(e,"yoast-tooltip-hidden")},Ql.prototype.restoreTooltipAbility=function(e){Yl.removeClass(e,"yoast-tooltip-hidden")},Ql.prototype._setActiveState=function(e){Yl.addClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Yl.addClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","true")};const Xl=Ql;var Jl=jl().snippetEditor,Zl=jl().hiddenSpan,ec={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"},tc=600;const rc=156;var nc=[{preview:"title_container",inputField:"title"},{preview:"url_container",inputField:"urlPath"},{preview:"meta_container",inputField:"metaDesc"}],sc=function(){var e=this.opts.baseURL;return this.hasApp()&&!(0,v.isEmpty)(this.refObj.rawData.baseUrl)&&this.opts.baseURL===ec.baseURL&&(e=this.refObj.rawData.baseUrl),e};function ic(e){return this.data[e]}function ac(e,t){this.element.input[e].value=t,this.data[e]=t}function oc(e,t,r,n){var s;e.value=t,Yl.removeClasses(e,["snippet-editor__progress--bad","snippet-editor__progress--ok","snippet-editor__progress--good"]),Yl.addClass(e,"snippet-editor__progress--"+n),this.hasProgressSupport||(s=t/r*100,e.getElementsByClassName("snippet-editor__progress-bar")[0].style.width=s+"%")}var lc=function(e){if((0,v.defaultsDeep)(e,ec),this.data=e.data,(0,v.isUndefined)(e.analyzerApp)||(this.refObj=e.analyzerApp,this.data={title:this.refObj.rawData.snippetTitle||"",urlPath:this.refObj.rawData.snippetCite||"",metaDesc:this.refObj.rawData.snippetMeta||""},(0,v.isEmpty)(this.refObj.rawData.metaTitle)||(e.placeholder.title=this.refObj.rawData.metaTitle)),!(0,v.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:ic.bind(this,"urlPath"),set:ac.bind(this,"urlPath")}),Object.defineProperty(this.unformattedText,"snippet_meta",{get:ic.bind(this,"metaDesc"),set:ac.bind(this,"metaDesc")}),Object.defineProperty(this.unformattedText,"snippet_title",{get:ic.bind(this,"title"),set:ac.bind(this,"title")})};function cc(){var e=this.data.title;return(0,v.isEmpty)(e)&&(e=this.opts.defaultValue.title),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),S(e)}lc.prototype.renderTemplate=function(){var e,t=this.opts.targetElement;t.innerHTML=Jl({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:(0,_.__)("Edit snippet","wordpress-seo"),title:(0,_.__)("SEO title","wordpress-seo"),slug:(0,_.__)("Slug","wordpress-seo"),metaDescription:(0,_.__)("Meta description","wordpress-seo"),save:(0,_.__)("Close snippet editor","wordpress-seo"),snippetPreview:(0,_.__)("Search appearance","wordpress-seo"),titleLabel:(0,_.__)("SEO title preview:","wordpress-seo"),slugLabel:(0,_.__)("Slug preview:","wordpress-seo"),metaDescriptionLabel:(0,_.__)("Meta description preview:","wordpress-seo"),snippetPreviewDescription:(0,_.__)("You can click on each element in the preview to jump to the Snippet Editor.","wordpress-seo"),desktopPreviewMode:(0,_.__)("Desktop preview","wordpress-seo"),mobilePreviewMode:(0,_.__)("Mobile preview","wordpress-seo"),isScrollableHint:(0,_.__)("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"),!(0,v.isUndefined)(e.max)),this.hasProgressSupport?(this.element.progress.title.max=tc,this.element.progress.metaDesc.max=rc):(0,v.forEach)(this.element.progress,(function(e){Yl.addClass(e,"snippet-editor__progress--fallback")})),this.initPreviewToggler(),this.setInitialView(),this.opened=!1,this.createMeasurementElements(),this.updateProgressBars()},lc.prototype.initPreviewToggler=function(){this.snippetPreviewToggle=new Xl(this.opts.previewMode,this.opts.targetElement.getElementsByClassName("snippet-editor__view-icon")),this.snippetPreviewToggle.initialize(),this.snippetPreviewToggle.bindEvents()},lc.prototype.refresh=function(){this.output=this.htmlOutput(),this.renderOutput(),this.renderSnippetStyle(),this.measureTitle(),this.measureMetaDescription(),this.updateProgressBars()};var uc=function(){var e=this.data.metaDesc;return(0,v.isEmpty)(e)&&(e=this.opts.defaultValue.metaDesc),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),(0,v.isEmpty)(this.opts.metaDescriptionDate)||(0,v.isEmpty)(e)||(e=this.opts.metaDescriptionDate+" - "+this.data.metaDesc),S(e)};lc.prototype.getAnalyzerData=function(){return{title:cc.call(this),url:this.data.urlPath,metaDesc:uc.call(this)}},lc.prototype.callRegisteredEventBinder=function(){this.hasApp()&&this.refObj.callbacks.bindElementEvents(this.refObj)},lc.prototype.init=function(){this.hasApp()&&null!==this.refObj.rawData.metaTitle&&null!==this.refObj.rawData.cite&&this.refresh()},lc.prototype.htmlOutput=function(){var e={};return e.title=this.formatTitle(),e.cite=this.formatCite(),e.meta=this.formatMeta(),e.url=this.formatUrl(),e},lc.prototype.formatTitle=function(){var e=this.data.title;return(0,v.isEmpty)(e)&&(e=this.opts.defaultValue.title),(0,v.isEmpty)(e)&&(e=this.opts.placeholder.title),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),e=Y(e),(0,v.isEmpty)(e)&&(e=(0,_.__)("Please provide an SEO title by editing the snippet below.","wordpress-seo")),e},lc.prototype.formatUrl=function(){return sc.call(this).replace(/http:\/\//gi,"")},lc.prototype.formatCite=function(){var e=this.data.urlPath;return e=b(Y(e)),(0,v.isEmpty)(e)&&(e=this.opts.placeholder.urlPath),this.hasApp()&&!(0,v.isEmpty)(this.refObj.rawData.keyword)&&(e=this.formatKeywordUrl(e)),this.opts.addTrailingSlash&&!function(e){return e.indexOf("/")===e.length-1}(e)&&(e+="/"),(e=e.replace(/\s/g,"-")).replace(/\?|#/g,"")},lc.prototype.formatMeta=function(){var e=this.data.metaDesc;return(0,v.isEmpty)(e)&&(e=this.getMetaText()),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),e=(e=Y(e)).substring(0,rc),this.hasApp()&&!(0,v.isEmpty)(this.refObj.rawData.keyword)&&(e=this.formatKeyword(e)),(0,v.isEmpty)(e)&&(e=(0,_.__)("Please provide a meta description by editing the snippet below.","wordpress-seo")),e},lc.prototype.getMetaText=function(){var e=this.opts.defaultValue.metaDesc;return this.hasApp()&&!(0,v.isUndefined)(this.refObj.rawData.excerpt)&&(0,v.isEmpty)(e)&&(e=this.refObj.rawData.excerpt),this.hasApp()&&!(0,v.isUndefined)(this.refObj.rawData.text)&&(0,v.isEmpty)(e)&&(e=this.refObj.rawData.text,this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("content",e))),(e=Y(e)).substring(0,rc)},lc.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},lc.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},lc.prototype.formatKeyword=function(e){var t=this.refObj.rawData.keyword,r=Wl(t,"",!1);e=e.replace(r,(function(e){return""+e+""}));var n=C(t,this.refObj.rawData.locale);return n!==t&&(r=Wl(n,"",!1),e=e.replace(r,(function(e){return""+e+""}))),e},lc.prototype.formatKeywordUrl=function(e){var t=this.refObj.rawData.keyword,r=(t=(t=C(t,this.refObj.rawData.locale)).replace(/'/,"")).replace(/\s/g,"-"),n=Wl(r,"\\-");return e.replace(n,(function(e){return""+e+""}))},lc.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},lc.prototype.renderSnippetStyle=function(){var e=this.element.rendered.metaDesc,t=uc.call(this);(0,v.isEmpty)(t)?(Yl.addClass(e,"desc-render"),Yl.removeClass(e,"desc-default")):(Yl.addClass(e,"desc-default"),Yl.removeClass(e,"desc-render"))},lc.prototype.reRender=function(){this.init()},lc.prototype.checkTextLength=function(e){var t=e.currentTarget.textContent;switch(e.currentTarget.id){case"snippet_meta":e.currentTarget.className="desc",t.length>rc&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,rc));break;case"snippet_title":e.currentTarget.className="title",t.length>tc&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,tc))}},lc.prototype.getUnformattedText=function(e){var t=e.currentTarget.id;void 0!==this.unformattedText[t]&&(e.currentTarget.textContent=this.unformattedText[t])},lc.prototype.setUnformattedText=function(e){var t=e.currentTarget.id;this.unformattedText[t]=document.getElementById(t).textContent},lc.prototype.validateFields=function(){var e=uc.call(this),t=cc.call(this);e.length>rc?Yl.addClass(this.element.input.metaDesc,"snippet-editor__field--invalid"):Yl.removeClass(this.element.input.metaDesc,"snippet-editor__field--invalid"),t.length>tc?Yl.addClass(this.element.input.title,"snippet-editor__field--invalid"):Yl.removeClass(this.element.input.title,"snippet-editor__field--invalid")},lc.prototype.updateProgressBars=function(){var e,t,r;r=uc.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>rc:t="ok";break;case e>=120&&e<=rc:t="good";break;default:t="bad"}return t}(r.length),oc.call(this,this.element.progress.title,this.data.titleWidth,tc,t),oc.call(this,this.element.progress.metaDesc,r.length,rc,e)},lc.prototype.setInitialView=function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setVisibility(e)},lc.prototype.handleWindowResizing=(0,v.debounce)((function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setScrollHintVisibility(e)}),25),lc.prototype.bindEvents=function(){var e;(0,v.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)),(0,v.forEach)(nc,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))},lc.prototype.changedInput=(0,v.debounce)((function(){this.updateDataFromDOM(),this.validateFields(),this.updateProgressBars(),this.refresh(),this.hasApp()&&this.refObj.refresh()}),25),lc.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((0,v.clone)(this.data))},lc.prototype.openEditor=function(){this.element.editToggle.setAttribute("aria-expanded","true"),Yl.removeClass(this.element.formContainer,"snippet-editor--hidden"),this.opened=!0},lc.prototype.closeEditor=function(){Yl.addClass(this.element.formContainer,"snippet-editor--hidden"),this.element.editToggle.setAttribute("aria-expanded","false"),this.element.editToggle.focus(),this.opened=!1},lc.prototype.toggleEditor=function(){this.opened?this.closeEditor():this.openEditor()},lc.prototype._updateFocusCarets=function(){var e,t;(0,v.forEach)(this.element.label,(function(e){Yl.removeClass(e,"snippet-editor__label--focus")})),(0,v.forEach)(this.element.preview,(function(e){Yl.removeClass(e,"snippet-editor__container--focus")})),null!==this._currentFocus&&(e=this.element.label[this._currentFocus],t=this.element.preview[this._currentFocus],Yl.addClass(e,"snippet-editor__label--focus"),Yl.addClass(t,"snippet-editor__container--focus"))},lc.prototype._updateHoverCarets=function(){var e;(0,v.forEach)(this.element.label,(function(e){Yl.removeClass(e,"snippet-editor__label--hover")})),null!==this._currentHover&&(e=this.element.label[this._currentHover],Yl.addClass(e,"snippet-editor__label--hover"))},lc.prototype.setTitle=function(e){this.element.input.title.value=e,this.changedInput()},lc.prototype.setUrlPath=function(e){this.element.input.urlPath.value=e,this.changedInput()},lc.prototype.setMetaDescription=function(e){this.element.input.metaDesc.value=e,this.changedInput()},lc.prototype.createMeasurementElements=function(){var e,t;e=Zl({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]},lc.prototype.measureTitle=function(){0===this.element.rendered.title.offsetWidth&&""!==this.element.rendered.title.textContent||(this.data.titleWidth=this.element.rendered.title.offsetWidth)},lc.prototype.measureMetaDescription=function(){var e=this.element.measurers.metaHeight;e.innerHTML=this.element.rendered.metaDesc.innerHTML,this.data.metaHeight=e.offsetHeight},lc.prototype.getTitleWidth=function(){return this.data.titleWidth},lc.prototype.setTitleWidth=function(e){this.data.titleWidth=e},lc.prototype.hasApp=function(){return!(0,v.isUndefined)(this.refObj)},lc.prototype.hasPluggable=function(){return!(0,v.isUndefined)(this.refObj)&&!(0,v.isUndefined)(this.refObj.pluggable)},lc.prototype.disableEnter=function(e){},lc.prototype.textFeedback=function(e){},lc.prototype.showEditIcon=function(e){},lc.prototype.hideEditIcon=function(){},lc.prototype.setFocus=function(e){};const hc=lc;var pc={callbacks:{bindElementEvents:v.noop,updateSnippetValues:v.noop,saveScores:v.noop,saveContentScore:v.noop,updatedContentResults:v.noop,updatedKeywordsResults:v.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:v.noop,keywordAnalysisActive:!0,contentAnalysisActive:!0,hasSnippetPreview:!0,debounceRefresh:!0};function dc(){var e=document.getElementById(this.config.targets.snippet);return new hc({analyzerApp:this,targetElement:e,callbacks:{saveSnippetData:this.config.callbacks.saveSnippetData}})}function gc(e){return!(0,v.isUndefined)(e)&&hc.prototype.isPrototypeOf(e)}var fc=function(e){(0,v.isObject)(e)||(e={}),(0,v.defaultsDeep)(e,pc),function(e){if(!(0,v.isObject)(e.callbacks.getData))throw new de("The app requires an object with a getdata callback.");if(!(0,v.isObject)(e.targets))throw new de("`targets` is a required App argument, `targets` is not an object.");if(e.hasSnippetPreview&&!gc(e.snippetPreview)&&!(0,v.isString)(e.targets.snippet))throw new de("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=(0,v.debounce)(this.refresh.bind(this),800)),this._pureRefresh=(0,v.throttle)(this._pureRefresh.bind(this),this.config.typeDelay),this.callbacks=this.config.callbacks,(0,_.setLocaleData)(this.config.translations.locale_data["wordpress-seo"],"wordpress-seo"),this.initializeAssessors(e),this.pluggable=new Kl(this),this.getData(),this.defaultOutputElement=this.getDefaultOutputElement(e),""!==this.defaultOutputElement&&this.showLoadingDialog(),gc(e.snippetPreview)?(this.snippetPreview=e.snippetPreview,this.snippetPreview.refObj!==this&&(this.snippetPreview.refObj=this)):e.hasSnippetPreview&&(this.snippetPreview=dc.call(this)),this._assessorOptions={useCornerStone:!1},this.initSnippetPreview(),this.initAssessorPresenters()};fc.prototype.getDefaultOutputElement=function(e){return e.keywordAnalysisActive?e.targets.output:e.contentAnalysisActive?e.targets.contentOutput:""},fc.prototype.changeAssessorOptions=function(e){this._assessorOptions=(0,v.merge)(this._assessorOptions,e),this.seoAssessor=this.getSeoAssessor(),this.contentAssessor=this.getContentAssessor(),this.initAssessorPresenters(),this.refresh()},fc.prototype.getSeoAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneSeoAssessor:this.defaultSeoAssessor},fc.prototype.getContentAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneContentAssessor:this.defaultContentAssessor},fc.prototype.initializeAssessors=function(e){this.initializeSEOAssessor(e),this.initializeContentAssessor(e)},fc.prototype.initializeSEOAssessor=function(e){e.keywordAnalysisActive&&(this.defaultSeoAssessor=new Ki({marker:this.config.marker}),this.cornerStoneSeoAssessor=new cl({marker:this.config.marker}),(0,v.isUndefined)(e.seoAssessor)?this.seoAssessor=this.defaultSeoAssessor:this.seoAssessor=e.seoAssessor)},fc.prototype.initializeContentAssessor=function(e){e.contentAnalysisActive&&(this.defaultContentAssessor=new Ji({marker:this.config.marker,locale:this.config.locale}),this.cornerStoneContentAssessor=new il({marker:this.config.marker,locale:this.config.locale}),(0,v.isUndefined)(e._contentAssessor)?this.contentAssessor=this.defaultContentAssessor:this.contentAssessor=e._contentAssessor)},fc.prototype.extendConfig=function(e){return e.sampleText=this.extendSampleText(e.sampleText),e.locale=e.locale||"en_US",e},fc.prototype.extendSampleText=function(e){var t=pc.sampleText;if((0,v.isUndefined)(e))return t;for(var r in e)(0,v.isUndefined)(e[r])&&(e[r]=t[r]);return e},fc.prototype.registerCustomDataCallback=function(e){this.callbacks.custom||(this.callbacks.custom=[]),(0,v.isFunction)(e)&&this.callbacks.custom.push(e)},fc.prototype.getData=function(){if(this.rawData=this.callbacks.getData(),(0,v.isArray)(this.callbacks.custom)&&this.callbacks.custom.forEach((e=>{const t=e();this.rawData=(0,v.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=Is(this.rawData.metaTitle),this.rawData.locale=this.config.locale},fc.prototype.refresh=function(){this.pluggable.loaded&&this._pureRefresh()},fc.prototype._pureRefresh=function(){this.getData(),this.runAnalyzer()},fc.prototype.hasSnippetPreview=function(){return null!==this.snippetPreview&&!(0,v.isUndefined)(this.snippetPreview)},fc.prototype.initSnippetPreview=function(){this.hasSnippetPreview()&&(this.snippetPreview.renderTemplate(),this.snippetPreview.callRegisteredEventBinder(),this.snippetPreview.bindEvents(),this.snippetPreview.init())},fc.prototype.initAssessorPresenters=function(){(0,v.isUndefined)(this.config.targets.output)||(this.seoAssessorPresenter=new zl({targets:{output:this.config.targets.output},assessor:this.seoAssessor})),(0,v.isUndefined)(this.config.targets.contentOutput)||(this.contentAssessorPresenter=new zl({targets:{output:this.config.targets.contentOutput},assessor:this.contentAssessor}))},fc.prototype.bindInputEvent=function(){for(var e=0;ethis.config.typeDelay&&this.config.typeDelay"+t+""+e.status+"
    "})),r.innerHTML+=""}},fc.prototype.removeLoadingDialog=function(){var e=document.getElementById(this.defaultOutputElement),t=document.getElementById("YoastSEO-plugin-loading");""===this.defaultOutputElement||(0,v.isEmpty)(e)||(0,v.isEmpty)(t)||document.getElementById(this.defaultOutputElement).removeChild(document.getElementById("YoastSEO-plugin-loading"))},fc.prototype.registerPlugin=function(e,t){return this.pluggable._registerPlugin(e,t)},fc.prototype.pluginReady=function(e){return this.pluggable._ready(e)},fc.prototype.pluginReloaded=function(e){return this.pluggable._reloaded(e)},fc.prototype.registerModification=function(e,t,r,n){return this.pluggable._registerModification(e,t,r,n)},fc.prototype.registerAssessment=function(e,t,r){if(!(0,v.isUndefined)(this.seoAssessor))return this.pluggable._registerAssessment(this.defaultSeoAssessor,e,t,r)&&this.pluggable._registerAssessment(this.cornerStoneSeoAssessor,e,t,r)},fc.prototype.disableMarkers=function(){(0,v.isUndefined)(this.seoAssessorPresenter)||this.seoAssessorPresenter.disableMarker(),(0,v.isUndefined)(this.contentAssessorPresenter)||this.contentAssessorPresenter.disableMarker()},fc.prototype._renderAnalysisResults=function(){this.config.contentAnalysisActive&&!(0,v.isUndefined)(this.contentAssessorPresenter)&&this.contentAssessorPresenter.renderIndividualRatings(),this.config.keywordAnalysisActive&&!(0,v.isUndefined)(this.seoAssessorPresenter)&&(this.seoAssessorPresenter.setKeyword(this.paper.getKeyword()),this.seoAssessorPresenter.render())},fc.prototype.analyzeTimer=function(){this.refresh()},fc.prototype.registerTest=function(){console.error("This function is deprecated, please use registerAssessment")},fc.prototype.createSnippetPreview=function(){this.snippetPreview=dc.call(this),this.initSnippetPreview()},fc.prototype.switchAssessors=function(e){console.warn("Switch assessor is deprecated since YoastSEO.js version 1.35.0"),this.changeAssessorOptions({useCornerStone:e})};const mc=fc,_c=function(){};_c.prototype.buildMockElement=function(){const e=[];return e.nodeType=1,e},_c.prototype.buildMockResearcher=function(e,t=!1,r=!1,n=!1,s=!1){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!(0,v.isUndefined)(e[t])}}:{getResearch:function(t){return e[t]},hasResearch:function(t){return!(0,v.isUndefined)(e[t])},addResearch:function(t,r){e[t]=r},getData:function(){return r},getHelper:function(e){return s[e]},hasHelper:function(e){return!(0,v.isUndefined)(s[e])},addHelper:function(e,t){s||(s={}),s[e]=t},getConfig:function(e){return n[e]},hasConfig:function(e){return!(0,v.isUndefined)(n[e])},addConfig:function(e,t){n[e]=t}}},_c.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},Fl.prototype.researchPreviouslyUsedKeywords=function(e){const t=e.getKeyword();let r=0,n="",s=0;return!(0,v.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}},Fl.prototype.assess=function(e){var t=this.researchPreviouslyUsedKeywords(e),r=this.scoreAssessment(t,e),n=new Cs;return n.setScore(r.score),n.setText(r.text),n};const Bl=Fl;function Hl(e){return e.replace(new RegExp("]*>","g"),"").replace(new RegExp("","g"),"")}function Ul(){const e=(0,_.__)("Content optimization:","wordpress-seo");return{feedback:{className:"na",screenReaderText:(0,_.__)("Feedback","wordpress-seo"),fullText:`${e} ${(0,_.__)("Has feedback","wordpress-seo")}`,screenReaderReadabilityText:""},bad:{className:"bad",screenReaderText:(0,_.__)("Needs improvement","wordpress-seo"),fullText:`${e} ${(0,_.__)("Needs improvement","wordpress-seo")}`,screenReaderReadabilityText:(0,_.__)("Needs improvement","wordpress-seo")},ok:{className:"ok",screenReaderText:(0,_.__)("OK SEO score","wordpress-seo"),fullText:`${e} ${(0,_.__)("OK SEO score","wordpress-seo")}`,screenReaderReadabilityText:(0,_.__)("OK","wordpress-seo")},good:{className:"good",screenReaderText:(0,_.__)("Good SEO score","wordpress-seo"),fullText:`${e} ${(0,_.__)("Good SEO score","wordpress-seo")}`,screenReaderReadabilityText:(0,_.__)("Good","wordpress-seo")}}}var $l=function(e){this.app=e,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this.customTests=[],setTimeout(this._pollLoadingPlugins.bind(this),1500)};$l.prototype._registerPlugin=function(e,t){return"string"!=typeof e?(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1):(0,v.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)},$l.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):(0,v.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)},$l.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):(0,v.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)},$l.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(0,v.isUndefined)(this.modifications[e])&&(this.modifications[e]=[]),this.modifications[e].push(s),!0},$l.prototype._registerTest=function(){console.error("This function is deprecated, please use _registerAssessment")},$l.prototype._registerAssessment=function(e,t,r,n){if(!(0,v.isString)(t))throw new he("Failed to register test for plugin "+n+". Expected parameter `name` to be a string.");if(!(0,v.isObject)(r))throw new he("Failed to register assessment for plugin "+n+". Expected parameter `assessment` to be a function.");if(!(0,v.isString)(n))throw new he("Failed to register assessment for plugin "+n+". Expected parameter `pluginName` to be a string.");return t=n+"-"+t,e.addAssessment(t,r),!0},$l.prototype._pollLoadingPlugins=function(e){e=(0,v.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))},$l.prototype._allReady=function(){return(0,v.reduce)(this.plugins,(function(e,t){return e&&"ready"===t.status}),!0)},$l.prototype._pollTimeExceeded=function(){(0,v.forEach)(this.plugins,(function(e,t){(0,v.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()},$l.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})),(0,v.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},$l.prototype._addPluginTests=function(e){this.customTests.map((function(t){this._addPluginTest(e,t)}),this)},$l.prototype._addPluginTest=function(e,t){e.addAnalysis({name:t.name,callable:t.analysis}),e.analyzeScorer.addScoring({name:t.name,scoring:t.scoring})},$l.prototype._stripIllegalModifications=function(e){return(0,v.forEach)(e,function(t,r){!1===this._validateOrigin(t.origin)&&delete e[r]}.bind(this)),e},$l.prototype._validateOrigin=function(e){return"ready"===this.plugins[e].status},$l.prototype._validateUniqueness=function(e){return!!(0,v.isUndefined)(this.plugins[e])};const Kl=$l;var ql=r(1598),jl=r.n(ql),Gl=function(e){this.keyword=e.keyword,this.assessor=e.assessor,this.output=e.targets.output,this.overall=e.targets.overall||"overallScore",this.presenterConfig=Ul(),this._disableMarkerButtons=!1,this._activeMarker=!1};Gl.prototype.setKeyword=function(e){this.keyword=e},Gl.prototype.configHasProperty=function(e){return this.presenterConfig.hasOwnProperty(e)},Gl.prototype.getIndicator=function(e){return{className:this.getIndicatorColorClass(e),screenReaderText:this.getIndicatorScreenReaderText(e),fullText:this.getIndicatorFullText(e),screenReaderReadabilityText:this.getIndicatorScreenReaderReadabilityText(e)}},Gl.prototype.getIndicatorColorClass=function(e){return this.configHasProperty(e)?this.presenterConfig[e].className:""},Gl.prototype.getIndicatorScreenReaderText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderText:""},Gl.prototype.getIndicatorScreenReaderReadabilityText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderReadabilityText:""},Gl.prototype.getIndicatorFullText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].fullText:""},Gl.prototype.resultToRating=function(e){return(0,v.isObject)(e)?(e.rating=Ji(e.score),e):""},Gl.prototype.getIndividualRatings=function(){var e={},t=this.sort(this.assessor.getValidResults()).map(this.resultToRating);return(0,v.forEach)(t,function(t,r){e[r]=this.addRating(t)}.bind(this)),e},Gl.prototype.excludeFromResults=function(e,t){return(0,v.difference)(e,t)},Gl.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)},Gl.prototype.getUndefinedScores=function(e){return e.filter((function(e){return(0,v.isUndefined)(e.score)||0===e.score}))},Gl.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},Gl.prototype.getOverallRating=function(e){var t=0;return""===this.keyword||(0,v.isNumber)(e)&&(t=e/10),this.resultToRating({score:t})},Gl.prototype.markAssessment=function(e,t){this._activeMarker===e?(this.removeAllMarks(),this._activeMarker=!1):(t(),this._activeMarker=e),this.render()},Gl.prototype.disableMarker=function(){this._activeMarker=!1,this.render()},Gl.prototype.disableMarkerButtons=function(){this._disableMarkerButtons=!0,this.render()},Gl.prototype.enableMarkerButtons=function(){this._disableMarkerButtons=!1,this.render()},Gl.prototype.addMarkerEventHandler=function(e,t){document.getElementById(this.output).getElementsByClassName("js-assessment-results__mark-"+e)[0].addEventListener("click",this.markAssessment.bind(this,e,t))},Gl.prototype.render=function(){this.renderIndividualRatings(),this.renderOverallRating()},Gl.prototype.bindMarkButtons=function(e){(0,v.forEach)(e,function(e){e.hasOwnProperty("marker")&&this.addMarkerEventHandler(e.identifier,e.marker)}.bind(this))},Gl.prototype.removeAllMarks=function(){this.assessor.getSpecificMarker()(this.assessor.getPaper(),[])},Gl.prototype.renderIndividualRatings=function(){var e=document.getElementById(this.output),t=this.getIndividualRatings();e.innerHTML=(0,ql.assessmentPresenterResult)({scores:t,i18n:{disabledMarkText:(0,_.__)("Marks are disabled in current view","wordpress-seo"),markInText:(0,_.__)("Mark this result in the text","wordpress-seo"),removeMarksInText:(0,_.__)("Remove marks in the text","wordpress-seo")},activeMarker:this._activeMarker,markerButtonsDisabled:this._disableMarkerButtons}),this.bindMarkButtons(t)},Gl.prototype.renderOverallRating=function(){var e=this.getOverallRating(this.assessor.calculateOverallScore()),t=document.getElementById(this.overall);t&&(t.className="overallScore "+this.getIndicatorColorClass(e.rating))};const zl=Gl,Wl=(0,v.memoize)((function(e,t,r){return(0,v.isUndefined)(t)&&(t=""),((0,v.isUndefined)(r)||!0===r)&&(e=b(e)),e=X(e),e=k(e=(0,v.escapeRegExp)(e),!1,t),new RegExp(e,"ig")})),Yl={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){(0,v.forEach)(t,this.removeClass.bind(null,e))}};var Vl={desktop:"snippet-editor__view--desktop",mobile:"snippet-editor__view--mobile"},Ql=function(e,t){this.previewMode=e,this.previewToggles=t,this.viewElement=document.getElementById("snippet-preview-view")};Ql.prototype.initialize=function(){this._setPreviewMode(this.previewMode,this._findElementByMode(this.previewMode))},Ql.prototype.bindClickEvent=function(e){e.addEventListener("click",function(){this._setPreviewMode(e.getAttribute("data-type"),e),this.removeTooltipAbility(e)}.bind(this))},Ql.prototype.bindMouseleaveEvent=function(e){e.addEventListener("mouseleave",function(){this.removeTooltipAbility(e)}.bind(this))},Ql.prototype.bindBlurEvent=function(e){e.addEventListener("blur",function(){this.restoreTooltipAbility(e)}.bind(this))},Ql.prototype.bindMouseenterEvent=function(e){e.addEventListener("mouseenter",function(){this.restoreTooltipAbility(e)}.bind(this))},Ql.prototype.bindEvents=function(){(0,v.forEach)(this.previewToggles,function(e){this.bindClickEvent(e),this.bindMouseleaveEvent(e),this.bindBlurEvent(e),this.bindMouseenterEvent(e)}.bind(this))},Ql.prototype._findElementByMode=function(e){return document.getElementsByClassName("snippet-editor__view-icon-"+e)[0]},Ql.prototype._setPreviewMode=function(e,t){this._removeActiveStates(),this._setActiveState(t),Yl.removeClass(this.viewElement,Vl[this.previewMode]),Yl.addClass(this.viewElement,Vl[e]),this.previewMode=e},Ql.prototype.setDesktopMode=function(){this._setPreviewMode("desktop",this._findElementByMode("desktop"))},Ql.prototype.setMobileMode=function(){this._setPreviewMode("mobile",this._findElementByMode("mobile"))},Ql.prototype.setVisibility=function(e){e<640?(this.setMobileMode(),Yl.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")):this.setDesktopMode()},Ql.prototype.setScrollHintVisibility=function(e){Yl.removeClass(this.viewElement,"snippet-editor__view--desktop-has-scroll"),e<640&&Yl.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")},Ql.prototype._removeActiveStates=function(){(0,v.forEach)(this.previewToggles,this._removeActiveState.bind(this))},Ql.prototype._removeActiveState=function(e){Yl.removeClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Yl.removeClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","false")},Ql.prototype.removeTooltipAbility=function(e){Yl.addClass(e,"yoast-tooltip-hidden")},Ql.prototype.restoreTooltipAbility=function(e){Yl.removeClass(e,"yoast-tooltip-hidden")},Ql.prototype._setActiveState=function(e){Yl.addClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Yl.addClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","true")};const Xl=Ql;var Jl=jl().snippetEditor,Zl=jl().hiddenSpan,ec={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"},tc=600;const rc=156;var nc=[{preview:"title_container",inputField:"title"},{preview:"url_container",inputField:"urlPath"},{preview:"meta_container",inputField:"metaDesc"}],sc=function(){var e=this.opts.baseURL;return this.hasApp()&&!(0,v.isEmpty)(this.refObj.rawData.baseUrl)&&this.opts.baseURL===ec.baseURL&&(e=this.refObj.rawData.baseUrl),e};function ic(e){return this.data[e]}function ac(e,t){this.element.input[e].value=t,this.data[e]=t}function oc(e,t,r,n){var s;e.value=t,Yl.removeClasses(e,["snippet-editor__progress--bad","snippet-editor__progress--ok","snippet-editor__progress--good"]),Yl.addClass(e,"snippet-editor__progress--"+n),this.hasProgressSupport||(s=t/r*100,e.getElementsByClassName("snippet-editor__progress-bar")[0].style.width=s+"%")}var lc=function(e){if((0,v.defaultsDeep)(e,ec),this.data=e.data,(0,v.isUndefined)(e.analyzerApp)||(this.refObj=e.analyzerApp,this.data={title:this.refObj.rawData.snippetTitle||"",urlPath:this.refObj.rawData.snippetCite||"",metaDesc:this.refObj.rawData.snippetMeta||""},(0,v.isEmpty)(this.refObj.rawData.metaTitle)||(e.placeholder.title=this.refObj.rawData.metaTitle)),!(0,v.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:ic.bind(this,"urlPath"),set:ac.bind(this,"urlPath")}),Object.defineProperty(this.unformattedText,"snippet_meta",{get:ic.bind(this,"metaDesc"),set:ac.bind(this,"metaDesc")}),Object.defineProperty(this.unformattedText,"snippet_title",{get:ic.bind(this,"title"),set:ac.bind(this,"title")})};function cc(){var e=this.data.title;return(0,v.isEmpty)(e)&&(e=this.opts.defaultValue.title),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),S(e)}lc.prototype.renderTemplate=function(){var e,t=this.opts.targetElement;t.innerHTML=Jl({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:(0,_.__)("Edit snippet","wordpress-seo"),title:(0,_.__)("SEO title","wordpress-seo"),slug:(0,_.__)("Slug","wordpress-seo"),metaDescription:(0,_.__)("Meta description","wordpress-seo"),save:(0,_.__)("Close snippet editor","wordpress-seo"),snippetPreview:(0,_.__)("Search appearance","wordpress-seo"),titleLabel:(0,_.__)("SEO title preview:","wordpress-seo"),slugLabel:(0,_.__)("Slug preview:","wordpress-seo"),metaDescriptionLabel:(0,_.__)("Meta description preview:","wordpress-seo"),snippetPreviewDescription:(0,_.__)("You can click on each element in the preview to jump to the Snippet Editor.","wordpress-seo"),desktopPreviewMode:(0,_.__)("Desktop preview","wordpress-seo"),mobilePreviewMode:(0,_.__)("Mobile preview","wordpress-seo"),isScrollableHint:(0,_.__)("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"),!(0,v.isUndefined)(e.max)),this.hasProgressSupport?(this.element.progress.title.max=tc,this.element.progress.metaDesc.max=rc):(0,v.forEach)(this.element.progress,(function(e){Yl.addClass(e,"snippet-editor__progress--fallback")})),this.initPreviewToggler(),this.setInitialView(),this.opened=!1,this.createMeasurementElements(),this.updateProgressBars()},lc.prototype.initPreviewToggler=function(){this.snippetPreviewToggle=new Xl(this.opts.previewMode,this.opts.targetElement.getElementsByClassName("snippet-editor__view-icon")),this.snippetPreviewToggle.initialize(),this.snippetPreviewToggle.bindEvents()},lc.prototype.refresh=function(){this.output=this.htmlOutput(),this.renderOutput(),this.renderSnippetStyle(),this.measureTitle(),this.measureMetaDescription(),this.updateProgressBars()};var uc=function(){var e=this.data.metaDesc;return(0,v.isEmpty)(e)&&(e=this.opts.defaultValue.metaDesc),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),(0,v.isEmpty)(this.opts.metaDescriptionDate)||(0,v.isEmpty)(e)||(e=this.opts.metaDescriptionDate+" - "+this.data.metaDesc),S(e)};lc.prototype.getAnalyzerData=function(){return{title:cc.call(this),url:this.data.urlPath,metaDesc:uc.call(this)}},lc.prototype.callRegisteredEventBinder=function(){this.hasApp()&&this.refObj.callbacks.bindElementEvents(this.refObj)},lc.prototype.init=function(){this.hasApp()&&null!==this.refObj.rawData.metaTitle&&null!==this.refObj.rawData.cite&&this.refresh()},lc.prototype.htmlOutput=function(){var e={};return e.title=this.formatTitle(),e.cite=this.formatCite(),e.meta=this.formatMeta(),e.url=this.formatUrl(),e},lc.prototype.formatTitle=function(){var e=this.data.title;return(0,v.isEmpty)(e)&&(e=this.opts.defaultValue.title),(0,v.isEmpty)(e)&&(e=this.opts.placeholder.title),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),e=Y(e),(0,v.isEmpty)(e)&&(e=(0,_.__)("Please provide an SEO title by editing the snippet below.","wordpress-seo")),e},lc.prototype.formatUrl=function(){return sc.call(this).replace(/http:\/\//gi,"")},lc.prototype.formatCite=function(){var e=this.data.urlPath;return e=b(Y(e)),(0,v.isEmpty)(e)&&(e=this.opts.placeholder.urlPath),this.hasApp()&&!(0,v.isEmpty)(this.refObj.rawData.keyword)&&(e=this.formatKeywordUrl(e)),this.opts.addTrailingSlash&&!function(e){return e.indexOf("/")===e.length-1}(e)&&(e+="/"),(e=e.replace(/\s/g,"-")).replace(/\?|#/g,"")},lc.prototype.formatMeta=function(){var e=this.data.metaDesc;return(0,v.isEmpty)(e)&&(e=this.getMetaText()),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),e=(e=Y(e)).substring(0,rc),this.hasApp()&&!(0,v.isEmpty)(this.refObj.rawData.keyword)&&(e=this.formatKeyword(e)),(0,v.isEmpty)(e)&&(e=(0,_.__)("Please provide a meta description by editing the snippet below.","wordpress-seo")),e},lc.prototype.getMetaText=function(){var e=this.opts.defaultValue.metaDesc;return this.hasApp()&&!(0,v.isUndefined)(this.refObj.rawData.excerpt)&&(0,v.isEmpty)(e)&&(e=this.refObj.rawData.excerpt),this.hasApp()&&!(0,v.isUndefined)(this.refObj.rawData.text)&&(0,v.isEmpty)(e)&&(e=this.refObj.rawData.text,this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("content",e))),(e=Y(e)).substring(0,rc)},lc.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},lc.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},lc.prototype.formatKeyword=function(e){var t=this.refObj.rawData.keyword,r=Wl(t,"",!1);e=e.replace(r,(function(e){return""+e+""}));var n=C(t,this.refObj.rawData.locale);return n!==t&&(r=Wl(n,"",!1),e=e.replace(r,(function(e){return""+e+""}))),e},lc.prototype.formatKeywordUrl=function(e){var t=this.refObj.rawData.keyword,r=(t=(t=C(t,this.refObj.rawData.locale)).replace(/'/,"")).replace(/\s/g,"-"),n=Wl(r,"\\-");return e.replace(n,(function(e){return""+e+""}))},lc.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},lc.prototype.renderSnippetStyle=function(){var e=this.element.rendered.metaDesc,t=uc.call(this);(0,v.isEmpty)(t)?(Yl.addClass(e,"desc-render"),Yl.removeClass(e,"desc-default")):(Yl.addClass(e,"desc-default"),Yl.removeClass(e,"desc-render"))},lc.prototype.reRender=function(){this.init()},lc.prototype.checkTextLength=function(e){var t=e.currentTarget.textContent;switch(e.currentTarget.id){case"snippet_meta":e.currentTarget.className="desc",t.length>rc&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,rc));break;case"snippet_title":e.currentTarget.className="title",t.length>tc&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,tc))}},lc.prototype.getUnformattedText=function(e){var t=e.currentTarget.id;void 0!==this.unformattedText[t]&&(e.currentTarget.textContent=this.unformattedText[t])},lc.prototype.setUnformattedText=function(e){var t=e.currentTarget.id;this.unformattedText[t]=document.getElementById(t).textContent},lc.prototype.validateFields=function(){var e=uc.call(this),t=cc.call(this);e.length>rc?Yl.addClass(this.element.input.metaDesc,"snippet-editor__field--invalid"):Yl.removeClass(this.element.input.metaDesc,"snippet-editor__field--invalid"),t.length>tc?Yl.addClass(this.element.input.title,"snippet-editor__field--invalid"):Yl.removeClass(this.element.input.title,"snippet-editor__field--invalid")},lc.prototype.updateProgressBars=function(){var e,t,r;r=uc.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>rc:t="ok";break;case e>=120&&e<=rc:t="good";break;default:t="bad"}return t}(r.length),oc.call(this,this.element.progress.title,this.data.titleWidth,tc,t),oc.call(this,this.element.progress.metaDesc,r.length,rc,e)},lc.prototype.setInitialView=function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setVisibility(e)},lc.prototype.handleWindowResizing=(0,v.debounce)((function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setScrollHintVisibility(e)}),25),lc.prototype.bindEvents=function(){var e;(0,v.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)),(0,v.forEach)(nc,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))},lc.prototype.changedInput=(0,v.debounce)((function(){this.updateDataFromDOM(),this.validateFields(),this.updateProgressBars(),this.refresh(),this.hasApp()&&this.refObj.refresh()}),25),lc.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((0,v.clone)(this.data))},lc.prototype.openEditor=function(){this.element.editToggle.setAttribute("aria-expanded","true"),Yl.removeClass(this.element.formContainer,"snippet-editor--hidden"),this.opened=!0},lc.prototype.closeEditor=function(){Yl.addClass(this.element.formContainer,"snippet-editor--hidden"),this.element.editToggle.setAttribute("aria-expanded","false"),this.element.editToggle.focus(),this.opened=!1},lc.prototype.toggleEditor=function(){this.opened?this.closeEditor():this.openEditor()},lc.prototype._updateFocusCarets=function(){var e,t;(0,v.forEach)(this.element.label,(function(e){Yl.removeClass(e,"snippet-editor__label--focus")})),(0,v.forEach)(this.element.preview,(function(e){Yl.removeClass(e,"snippet-editor__container--focus")})),null!==this._currentFocus&&(e=this.element.label[this._currentFocus],t=this.element.preview[this._currentFocus],Yl.addClass(e,"snippet-editor__label--focus"),Yl.addClass(t,"snippet-editor__container--focus"))},lc.prototype._updateHoverCarets=function(){var e;(0,v.forEach)(this.element.label,(function(e){Yl.removeClass(e,"snippet-editor__label--hover")})),null!==this._currentHover&&(e=this.element.label[this._currentHover],Yl.addClass(e,"snippet-editor__label--hover"))},lc.prototype.setTitle=function(e){this.element.input.title.value=e,this.changedInput()},lc.prototype.setUrlPath=function(e){this.element.input.urlPath.value=e,this.changedInput()},lc.prototype.setMetaDescription=function(e){this.element.input.metaDesc.value=e,this.changedInput()},lc.prototype.createMeasurementElements=function(){var e,t;e=Zl({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]},lc.prototype.measureTitle=function(){0===this.element.rendered.title.offsetWidth&&""!==this.element.rendered.title.textContent||(this.data.titleWidth=this.element.rendered.title.offsetWidth)},lc.prototype.measureMetaDescription=function(){var e=this.element.measurers.metaHeight;e.innerHTML=this.element.rendered.metaDesc.innerHTML,this.data.metaHeight=e.offsetHeight},lc.prototype.getTitleWidth=function(){return this.data.titleWidth},lc.prototype.setTitleWidth=function(e){this.data.titleWidth=e},lc.prototype.hasApp=function(){return!(0,v.isUndefined)(this.refObj)},lc.prototype.hasPluggable=function(){return!(0,v.isUndefined)(this.refObj)&&!(0,v.isUndefined)(this.refObj.pluggable)},lc.prototype.disableEnter=function(e){},lc.prototype.textFeedback=function(e){},lc.prototype.showEditIcon=function(e){},lc.prototype.hideEditIcon=function(){},lc.prototype.setFocus=function(e){};const hc=lc;var pc={callbacks:{bindElementEvents:v.noop,updateSnippetValues:v.noop,saveScores:v.noop,saveContentScore:v.noop,updatedContentResults:v.noop,updatedKeywordsResults:v.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:v.noop,keywordAnalysisActive:!0,contentAnalysisActive:!0,hasSnippetPreview:!0,debounceRefresh:!0};function dc(){var e=document.getElementById(this.config.targets.snippet);return new hc({analyzerApp:this,targetElement:e,callbacks:{saveSnippetData:this.config.callbacks.saveSnippetData}})}function gc(e){return!(0,v.isUndefined)(e)&&hc.prototype.isPrototypeOf(e)}var fc=function(e){(0,v.isObject)(e)||(e={}),(0,v.defaultsDeep)(e,pc),function(e){if(!(0,v.isObject)(e.callbacks.getData))throw new de("The app requires an object with a getdata callback.");if(!(0,v.isObject)(e.targets))throw new de("`targets` is a required App argument, `targets` is not an object.");if(e.hasSnippetPreview&&!gc(e.snippetPreview)&&!(0,v.isString)(e.targets.snippet))throw new de("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=(0,v.debounce)(this.refresh.bind(this),800)),this._pureRefresh=(0,v.throttle)(this._pureRefresh.bind(this),this.config.typeDelay),this.callbacks=this.config.callbacks,(0,_.setLocaleData)(this.config.translations.locale_data["wordpress-seo"],"wordpress-seo"),this.initializeAssessors(e),this.pluggable=new Kl(this),this.getData(),this.defaultOutputElement=this.getDefaultOutputElement(e),""!==this.defaultOutputElement&&this.showLoadingDialog(),gc(e.snippetPreview)?(this.snippetPreview=e.snippetPreview,this.snippetPreview.refObj!==this&&(this.snippetPreview.refObj=this)):e.hasSnippetPreview&&(this.snippetPreview=dc.call(this)),this._assessorOptions={useCornerStone:!1},this.initSnippetPreview(),this.initAssessorPresenters()};fc.prototype.getDefaultOutputElement=function(e){return e.keywordAnalysisActive?e.targets.output:e.contentAnalysisActive?e.targets.contentOutput:""},fc.prototype.changeAssessorOptions=function(e){this._assessorOptions=(0,v.merge)(this._assessorOptions,e),this.seoAssessor=this.getSeoAssessor(),this.contentAssessor=this.getContentAssessor(),this.initAssessorPresenters(),this.refresh()},fc.prototype.getSeoAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneSeoAssessor:this.defaultSeoAssessor},fc.prototype.getContentAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneContentAssessor:this.defaultContentAssessor},fc.prototype.initializeAssessors=function(e){this.initializeSEOAssessor(e),this.initializeContentAssessor(e)},fc.prototype.initializeSEOAssessor=function(e){e.keywordAnalysisActive&&(this.defaultSeoAssessor=new ji({marker:this.config.marker}),this.cornerStoneSeoAssessor=new cl({marker:this.config.marker}),(0,v.isUndefined)(e.seoAssessor)?this.seoAssessor=this.defaultSeoAssessor:this.seoAssessor=e.seoAssessor)},fc.prototype.initializeContentAssessor=function(e){e.contentAnalysisActive&&(this.defaultContentAssessor=new ea({marker:this.config.marker,locale:this.config.locale}),this.cornerStoneContentAssessor=new il({marker:this.config.marker,locale:this.config.locale}),(0,v.isUndefined)(e._contentAssessor)?this.contentAssessor=this.defaultContentAssessor:this.contentAssessor=e._contentAssessor)},fc.prototype.extendConfig=function(e){return e.sampleText=this.extendSampleText(e.sampleText),e.locale=e.locale||"en_US",e},fc.prototype.extendSampleText=function(e){var t=pc.sampleText;if((0,v.isUndefined)(e))return t;for(var r in e)(0,v.isUndefined)(e[r])&&(e[r]=t[r]);return e},fc.prototype.registerCustomDataCallback=function(e){this.callbacks.custom||(this.callbacks.custom=[]),(0,v.isFunction)(e)&&this.callbacks.custom.push(e)},fc.prototype.getData=function(){if(this.rawData=this.callbacks.getData(),(0,v.isArray)(this.callbacks.custom)&&this.callbacks.custom.forEach((e=>{const t=e();this.rawData=(0,v.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=Ms(this.rawData.metaTitle),this.rawData.locale=this.config.locale},fc.prototype.refresh=function(){this.pluggable.loaded&&this._pureRefresh()},fc.prototype._pureRefresh=function(){this.getData(),this.runAnalyzer()},fc.prototype.hasSnippetPreview=function(){return null!==this.snippetPreview&&!(0,v.isUndefined)(this.snippetPreview)},fc.prototype.initSnippetPreview=function(){this.hasSnippetPreview()&&(this.snippetPreview.renderTemplate(),this.snippetPreview.callRegisteredEventBinder(),this.snippetPreview.bindEvents(),this.snippetPreview.init())},fc.prototype.initAssessorPresenters=function(){(0,v.isUndefined)(this.config.targets.output)||(this.seoAssessorPresenter=new zl({targets:{output:this.config.targets.output},assessor:this.seoAssessor})),(0,v.isUndefined)(this.config.targets.contentOutput)||(this.contentAssessorPresenter=new zl({targets:{output:this.config.targets.contentOutput},assessor:this.contentAssessor}))},fc.prototype.bindInputEvent=function(){for(var e=0;ethis.config.typeDelay&&this.config.typeDelay"+t+""+e.status+"
    "})),r.innerHTML+=""}},fc.prototype.removeLoadingDialog=function(){var e=document.getElementById(this.defaultOutputElement),t=document.getElementById("YoastSEO-plugin-loading");""===this.defaultOutputElement||(0,v.isEmpty)(e)||(0,v.isEmpty)(t)||document.getElementById(this.defaultOutputElement).removeChild(document.getElementById("YoastSEO-plugin-loading"))},fc.prototype.registerPlugin=function(e,t){return this.pluggable._registerPlugin(e,t)},fc.prototype.pluginReady=function(e){return this.pluggable._ready(e)},fc.prototype.pluginReloaded=function(e){return this.pluggable._reloaded(e)},fc.prototype.registerModification=function(e,t,r,n){return this.pluggable._registerModification(e,t,r,n)},fc.prototype.registerAssessment=function(e,t,r){if(!(0,v.isUndefined)(this.seoAssessor))return this.pluggable._registerAssessment(this.defaultSeoAssessor,e,t,r)&&this.pluggable._registerAssessment(this.cornerStoneSeoAssessor,e,t,r)},fc.prototype.disableMarkers=function(){(0,v.isUndefined)(this.seoAssessorPresenter)||this.seoAssessorPresenter.disableMarker(),(0,v.isUndefined)(this.contentAssessorPresenter)||this.contentAssessorPresenter.disableMarker()},fc.prototype._renderAnalysisResults=function(){this.config.contentAnalysisActive&&!(0,v.isUndefined)(this.contentAssessorPresenter)&&this.contentAssessorPresenter.renderIndividualRatings(),this.config.keywordAnalysisActive&&!(0,v.isUndefined)(this.seoAssessorPresenter)&&(this.seoAssessorPresenter.setKeyword(this.paper.getKeyword()),this.seoAssessorPresenter.render())},fc.prototype.analyzeTimer=function(){this.refresh()},fc.prototype.registerTest=function(){console.error("This function is deprecated, please use registerAssessment")},fc.prototype.createSnippetPreview=function(){this.snippetPreview=dc.call(this),this.initSnippetPreview()},fc.prototype.switchAssessors=function(e){console.warn("Switch assessor is deprecated since YoastSEO.js version 1.35.0"),this.changeAssessorOptions({useCornerStone:e})};const mc=fc,_c=function(){};_c.prototype.buildMockElement=function(){const e=[];return e.nodeType=1,e},_c.prototype.buildMockResearcher=function(e,t=!1,r=!1,n=!1,s=!1){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!(0,v.isUndefined)(e[t])}}:{getResearch:function(t){return e[t]},hasResearch:function(t){return!(0,v.isUndefined)(e[t])},addResearch:function(t,r){e[t]=r},getData:function(){return r},getHelper:function(e){return s[e]},hasHelper:function(e){return!(0,v.isUndefined)(s[e])},addHelper:function(e,t){s||(s={}),s[e]=t},getConfig:function(e){return n[e]},hasConfig:function(e){return!(0,v.isUndefined)(n[e])},addConfig:function(e,t){n[e]=t}}},_c.prototype.buildMockString=function(e,t){let r="";e=e||"Test ",t=t||1;for(let n=0;n{"use strict";var e={n:t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return e.d(i,{a:i}),i},d:(t,i)=>{for(var o in i)e.o(i,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:i[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{FACEBOOK_IMAGE_SIZES:()=>b,SocialMetadataPreviewForm:()=>W,TWITTER_IMAGE_SIZES:()=>I,actions:()=>i,determineFacebookImageMode:()=>v,selectorsFactory:()=>E,socialReducer:()=>R});var i={};e.r(i),e.d(i,{CLEAR_SOCIAL_IMAGE:()=>c,SET_SOCIAL_DESCRIPTION:()=>r,SET_SOCIAL_IMAGE:()=>l,SET_SOCIAL_IMAGE_ID:()=>s,SET_SOCIAL_IMAGE_TYPE:()=>a,SET_SOCIAL_IMAGE_URL:()=>n,SET_SOCIAL_TITLE:()=>o,clearSocialPreviewImage:()=>S,setSocialPreviewDescription:()=>p,setSocialPreviewImage:()=>h,setSocialPreviewImageId:()=>u,setSocialPreviewImageType:()=>g,setSocialPreviewImageUrl:()=>m,setSocialPreviewTitle:()=>d});const o="SET_SOCIAL_TITLE",r="SET_SOCIAL_DESCRIPTION",n="SET_SOCIAL_IMAGE_URL",a="SET_SOCIAL_IMAGE_TYPE",s="SET_SOCIAL_IMAGE_ID",l="SET_SOCIAL_IMAGE",c="CLEAR_SOCIAL_IMAGE",d=(e,t)=>({type:o,platform:t,title:e}),p=(e,t)=>({type:r,platform:t,description:e}),m=(e,t)=>({type:n,platform:t,imageUrl:e}),g=(e,t)=>({type:a,platform:t,imageType:e}),u=(e,t)=>({type:s,platform:t,imageId:e}),h=(e,t)=>({type:l,platform:t,image:e}),S=e=>({type:c,platform:e}),w=window.lodash,E=e=>{const t={getFacebookData:t=>(0,w.get)(t,`${e}.facebook`,{}),getFacebookTitle:e=>t.getFacebookData(e).title,getFacebookDescription:e=>t.getFacebookData(e).description,getFacebookImageUrl:e=>t.getFacebookData(e).image.url,getFacebookImageType:e=>t.getFacebookData(e).image.type,getTwitterData:t=>(0,w.get)(t,`${e}.twitter`,{}),getTwitterTitle:e=>t.getTwitterData(e).title,getTwitterDescription:e=>t.getTwitterData(e).description,getTwitterImageUrl:e=>t.getTwitterData(e).image.url,getTwitterImageType:e=>t.getTwitterData(e).image.type};return t},I={squareWidth:125,squareHeight:125,landscapeWidth:506,landscapeHeight:265,aspectRatio:50.2},b={squareWidth:158,squareHeight:158,landscapeWidth:527,landscapeHeight:273,portraitWidth:158,portraitHeight:237,aspectRatio:52.2,largeThreshold:{width:446,height:233}},v=function(e){const{largeThreshold:t}=b;return e.height>e.width?"portrait":e.width{const{platform:r}=o;return void 0===i?f:r!==t?i:e(i,o)}}const R=(0,T.combineReducers)({facebook:y(_,"facebook"),twitter:y(_,"twitter")}),A=window.React,C=window.wp.i18n,P=window.yoast.helpers,M=window.yoast.replacementVariableEditor,D=window.yoast.styleGuide,L=window.yoast.propTypes;var O=e.n(L);const k=window.yoast.styledComponents;var F=e.n(k);const H=window.yoast.componentsNew,x=e=>e?D.colors.$color_snippet_focus:D.colors.$color_snippet_hover,V=F().div` +(()=>{"use strict";var e={n:t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return e.d(i,{a:i}),i},d:(t,i)=>{for(var o in i)e.o(i,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:i[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{FACEBOOK_IMAGE_SIZES:()=>I,SocialMetadataPreviewForm:()=>W,TWITTER_IMAGE_SIZES:()=>w,actions:()=>i,determineFacebookImageMode:()=>b,selectorsFactory:()=>T,socialReducer:()=>R});var i={};e.r(i),e.d(i,{CLEAR_SOCIAL_IMAGE:()=>c,SET_SOCIAL_DESCRIPTION:()=>r,SET_SOCIAL_IMAGE:()=>l,SET_SOCIAL_IMAGE_ID:()=>s,SET_SOCIAL_IMAGE_TYPE:()=>a,SET_SOCIAL_IMAGE_URL:()=>n,SET_SOCIAL_TITLE:()=>o,clearSocialPreviewImage:()=>E,setSocialPreviewDescription:()=>p,setSocialPreviewImage:()=>h,setSocialPreviewImageId:()=>u,setSocialPreviewImageType:()=>g,setSocialPreviewImageUrl:()=>m,setSocialPreviewTitle:()=>d});const o="SET_SOCIAL_TITLE",r="SET_SOCIAL_DESCRIPTION",n="SET_SOCIAL_IMAGE_URL",a="SET_SOCIAL_IMAGE_TYPE",s="SET_SOCIAL_IMAGE_ID",l="SET_SOCIAL_IMAGE",c="CLEAR_SOCIAL_IMAGE",d=(e,t)=>({type:o,platform:t,title:e}),p=(e,t)=>({type:r,platform:t,description:e}),m=(e,t)=>({type:n,platform:t,imageUrl:e}),g=(e,t)=>({type:a,platform:t,imageType:e}),u=(e,t)=>({type:s,platform:t,imageId:e}),h=(e,t)=>({type:l,platform:t,image:e}),E=e=>({type:c,platform:e}),S=window.lodash,T=e=>{const t={getFacebookData:t=>(0,S.get)(t,`${e}.facebook`,{}),getFacebookTitle:e=>t.getFacebookData(e).title,getFacebookDescription:e=>t.getFacebookData(e).description,getFacebookImageUrl:e=>t.getFacebookData(e).image.url,getFacebookImageType:e=>t.getFacebookData(e).image.type,getTwitterData:t=>(0,S.get)(t,`${e}.twitter`,{}),getTwitterTitle:e=>t.getTwitterData(e).title,getTwitterDescription:e=>t.getTwitterData(e).description,getTwitterImageUrl:e=>t.getTwitterData(e).image.url,getTwitterImageType:e=>t.getTwitterData(e).image.type};return t},w={squareWidth:125,squareHeight:125,landscapeWidth:506,landscapeHeight:265,aspectRatio:50.2},I={squareWidth:158,squareHeight:158,landscapeWidth:527,landscapeHeight:273,portraitWidth:158,portraitHeight:237,aspectRatio:52.2,largeThreshold:{width:446,height:233}},b=function(e){const{largeThreshold:t}=I;return e.height>e.width?"portrait":e.width{const{platform:r}=o;return void 0===i?_:r!==t?i:e(i,o)}}const R=(0,v.combineReducers)({facebook:y(f,"facebook"),twitter:y(f,"twitter")}),A=window.React,C=window.wp.i18n,P=window.yoast.helpers,M=window.yoast.replacementVariableEditor,D=window.yoast.styleGuide,L=window.yoast.propTypes;var F=e.n(L);const O=window.yoast.styledComponents;var k=e.n(O);const H=window.yoast.componentsNew,x=e=>e?D.colors.$color_snippet_focus:D.colors.$color_snippet_hover,V=k().div` position: relative; ${e=>!e.isPremium&&"\n\t\t.yoast-image-select__preview {\n\t\t\twidth: 130px;\n\t\t\tmin-height: 72px;\n\t\t\tmax-height: 130px;\n\t\t}\n\t"}; -`;V.propTypes={isPremium:O().bool},V.defaultProps={isPremium:!1};const q=F().div` +`;V.propTypes={isPremium:F().bool},V.defaultProps={isPremium:!1};const q=k().div` display: ${e=>e.isActive||e.isHovered?"block":"none"}; ::before { @@ -20,4 +20,4 @@ background-position: center; content: ""; } -`;q.propTypes={isActive:O().bool,isHovered:O().bool},q.defaultProps={isActive:!1,isHovered:!1};const G=(U=H.ImageSelect,function e(t){e.propTypes={isActive:O().bool.isRequired,isHovered:O().bool.isRequired,isPremium:O().bool};const{isActive:i,isHovered:o,isPremium:r,...n}=t;return(0,A.createElement)(V,{isPremium:r},(0,A.createElement)(q,{isActive:i,isHovered:o}),(0,A.createElement)(U,{...n}))});var U;class j extends A.Component{constructor(e){super(e),this.onImageEnter=e.onMouseHover.bind(this,"image"),this.onTitleEnter=e.onMouseHover.bind(this,"title"),this.onDescriptionEnter=e.onMouseHover.bind(this,"description"),this.onLeave=e.onMouseHover.bind(this,""),this.onImageSelectBlur=e.onSelect.bind(this,""),this.onSelectTitleEditor=this.onSelectEditor.bind(this,"title"),this.onSelectDescriptionEditor=this.onSelectEditor.bind(this,"description"),this.onDeselectEditor=this.onSelectEditor.bind(this,""),this.onTitleEditorRef=this.onSetEditorRef.bind(this,"title"),this.onDescriptionEditorRef=this.onSetEditorRef.bind(this,"description")}onSelectEditor(e){this.props.onSelect(e)}onSetEditorRef(e,t){this.props.setEditorRef(e,t)}render(){const{socialMediumName:e,onSelectImageClick:t,onRemoveImageClick:i,title:o,titleInputPlaceholder:r,description:n,descriptionInputPlaceholder:a,onTitleChange:s,onDescriptionChange:l,onReplacementVariableSearchChange:c,hoveredField:d,activeField:p,isPremium:m,replacementVariables:g,recommendedReplacementVariables:u,imageWarnings:h,imageUrl:S,imageAltText:w,idSuffix:E}=this.props,I=!!S,b="Twitter"===e?(0,C.__)("Twitter image","wordpress-seo"):(0,C.__)("Social image","wordpress-seo"),v="Twitter"===e?(0,C.__)("Twitter title","wordpress-seo"):(0,C.__)("Social title","wordpress-seo"),T="Twitter"===e?(0,C.__)("Twitter description","wordpress-seo"):(0,C.__)("Social description","wordpress-seo"),f=e.toLowerCase();return(0,A.createElement)(A.Fragment,null,(0,A.createElement)(G,{label:b,onClick:t,onRemoveImageClick:i,warnings:h,imageSelected:I,onMouseEnter:this.onImageEnter,onMouseLeave:this.onLeave,isActive:"image"===p,isHovered:"image"===d,imageUrl:S,imageAltText:w,hasPreview:!m,imageUrlInputId:(0,P.join)([f,"url-input",E]),selectImageButtonId:(0,P.join)([f,"select-button",E]),replaceImageButtonId:(0,P.join)([f,"replace-button",E]),removeImageButtonId:(0,P.join)([f,"remove-button",E]),isPremium:m}),(0,A.createElement)(M.ReplacementVariableEditor,{onChange:s,content:o,placeholder:r,replacementVariables:g,recommendedReplacementVariables:u,type:"title",fieldId:(0,P.join)([f,"title-input",E]),label:v,onMouseEnter:this.onTitleEnter,onMouseLeave:this.onLeave,onSearchChange:c,isActive:"title"===p,isHovered:"title"===d,withCaret:!0,onFocus:this.onSelectTitleEditor,onBlur:this.onDeselectEditor,editorRef:this.onTitleEditorRef}),(0,A.createElement)(M.ReplacementVariableEditor,{onChange:l,content:n,placeholder:a,replacementVariables:g,recommendedReplacementVariables:u,type:"description",fieldId:(0,P.join)([f,"description-input",E]),label:T,onMouseEnter:this.onDescriptionEnter,onMouseLeave:this.onLeave,onSearchChange:c,isActive:"description"===p,isHovered:"description"===d,withCaret:!0,onFocus:this.onSelectDescriptionEditor,onBlur:this.onDeselectEditor,editorRef:this.onDescriptionEditorRef}))}}j.propTypes={socialMediumName:O().oneOf(["Twitter","Social"]).isRequired,onSelectImageClick:O().func.isRequired,onRemoveImageClick:O().func.isRequired,title:O().string.isRequired,description:O().string.isRequired,onTitleChange:O().func.isRequired,onDescriptionChange:O().func.isRequired,onReplacementVariableSearchChange:O().func,isPremium:O().bool,hoveredField:O().string,activeField:O().string,onSelect:O().func,replacementVariables:M.replacementVariablesShape,recommendedReplacementVariables:O().arrayOf(O().string),imageWarnings:O().array,imageUrl:O().string,imageAltText:O().string,titleInputPlaceholder:O().string,descriptionInputPlaceholder:O().string,setEditorRef:O().func,onMouseHover:O().func,idSuffix:O().string},j.defaultProps={replacementVariables:[],recommendedReplacementVariables:[],imageWarnings:[],hoveredField:"",activeField:"",onSelect:()=>{},onReplacementVariableSearchChange:null,imageUrl:"",imageAltText:"",titleInputPlaceholder:"",descriptionInputPlaceholder:"",isPremium:!1,setEditorRef:()=>{},onMouseHover:()=>{},idSuffix:""};const W=j;(window.yoast=window.yoast||{}).socialMetadataForms=t})(); \ No newline at end of file +`;q.propTypes={isActive:F().bool,isHovered:F().bool},q.defaultProps={isActive:!1,isHovered:!1};const G=(U=H.ImageSelect,function e(t){e.propTypes={isActive:F().bool.isRequired,isHovered:F().bool.isRequired,isPremium:F().bool};const{isActive:i,isHovered:o,isPremium:r,...n}=t;return(0,A.createElement)(V,{isPremium:r},(0,A.createElement)(q,{isActive:i,isHovered:o}),(0,A.createElement)(U,{...n}))});var U;class j extends A.Component{constructor(e){super(e),this.onImageEnter=e.onMouseHover.bind(this,"image"),this.onTitleEnter=e.onMouseHover.bind(this,"title"),this.onDescriptionEnter=e.onMouseHover.bind(this,"description"),this.onLeave=e.onMouseHover.bind(this,""),this.onImageSelectBlur=e.onSelect.bind(this,""),this.onSelectTitleEditor=this.onSelectEditor.bind(this,"title"),this.onSelectDescriptionEditor=this.onSelectEditor.bind(this,"description"),this.onDeselectEditor=this.onSelectEditor.bind(this,""),this.onTitleEditorRef=this.onSetEditorRef.bind(this,"title"),this.onDescriptionEditorRef=this.onSetEditorRef.bind(this,"description")}onSelectEditor(e){this.props.onSelect(e)}onSetEditorRef(e,t){this.props.setEditorRef(e,t)}getFieldsTitles(e){return"Twitter"===e?{imageSelectTitle:(0,C.__)("Twitter image","wordpress-seo"),titleEditorTitle:(0,C.__)("Twitter title","wordpress-seo"),descEditorTitle:(0,C.__)("Twitter description","wordpress-seo")}:"X"===e?{imageSelectTitle:(0,C.__)("X image","wordpress-seo"),titleEditorTitle:(0,C.__)("X title","wordpress-seo"),descEditorTitle:(0,C.__)("X description","wordpress-seo")}:{imageSelectTitle:(0,C.__)("Social image","wordpress-seo"),titleEditorTitle:(0,C.__)("Social title","wordpress-seo"),descEditorTitle:(0,C.__)("Social description","wordpress-seo")}}render(){const{socialMediumName:e,onSelectImageClick:t,onRemoveImageClick:i,title:o,titleInputPlaceholder:r,description:n,descriptionInputPlaceholder:a,onTitleChange:s,onDescriptionChange:l,onReplacementVariableSearchChange:c,hoveredField:d,activeField:p,isPremium:m,replacementVariables:g,recommendedReplacementVariables:u,imageWarnings:h,imageUrl:E,imageAltText:S,idSuffix:T}=this.props,w=this.getFieldsTitles(e),I=!!E,b=w.imageSelectTitle,v=w.titleEditorTitle,_=w.descEditorTitle,f=e.toLowerCase();return(0,A.createElement)(A.Fragment,null,(0,A.createElement)(G,{label:b,onClick:t,onRemoveImageClick:i,warnings:h,imageSelected:I,onMouseEnter:this.onImageEnter,onMouseLeave:this.onLeave,isActive:"image"===p,isHovered:"image"===d,imageUrl:E,imageAltText:S,hasPreview:!m,imageUrlInputId:(0,P.join)([f,"url-input",T]),selectImageButtonId:(0,P.join)([f,"select-button",T]),replaceImageButtonId:(0,P.join)([f,"replace-button",T]),removeImageButtonId:(0,P.join)([f,"remove-button",T]),isPremium:m}),(0,A.createElement)(M.ReplacementVariableEditor,{onChange:s,content:o,placeholder:r,replacementVariables:g,recommendedReplacementVariables:u,type:"title",fieldId:(0,P.join)([f,"title-input",T]),label:v,onMouseEnter:this.onTitleEnter,onMouseLeave:this.onLeave,onSearchChange:c,isActive:"title"===p,isHovered:"title"===d,withCaret:!0,onFocus:this.onSelectTitleEditor,onBlur:this.onDeselectEditor,editorRef:this.onTitleEditorRef}),(0,A.createElement)(M.ReplacementVariableEditor,{onChange:l,content:n,placeholder:a,replacementVariables:g,recommendedReplacementVariables:u,type:"description",fieldId:(0,P.join)([f,"description-input",T]),label:_,onMouseEnter:this.onDescriptionEnter,onMouseLeave:this.onLeave,onSearchChange:c,isActive:"description"===p,isHovered:"description"===d,withCaret:!0,onFocus:this.onSelectDescriptionEditor,onBlur:this.onDeselectEditor,editorRef:this.onDescriptionEditorRef}))}}j.propTypes={socialMediumName:F().oneOf(["Twitter","X","Social"]).isRequired,onSelectImageClick:F().func.isRequired,onRemoveImageClick:F().func.isRequired,title:F().string.isRequired,description:F().string.isRequired,onTitleChange:F().func.isRequired,onDescriptionChange:F().func.isRequired,onReplacementVariableSearchChange:F().func,isPremium:F().bool,hoveredField:F().string,activeField:F().string,onSelect:F().func,replacementVariables:M.replacementVariablesShape,recommendedReplacementVariables:F().arrayOf(F().string),imageWarnings:F().array,imageUrl:F().string,imageAltText:F().string,titleInputPlaceholder:F().string,descriptionInputPlaceholder:F().string,setEditorRef:F().func,onMouseHover:F().func,idSuffix:F().string},j.defaultProps={replacementVariables:[],recommendedReplacementVariables:[],imageWarnings:[],hoveredField:"",activeField:"",onSelect:()=>{},onReplacementVariableSearchChange:null,imageUrl:"",imageAltText:"",titleInputPlaceholder:"",descriptionInputPlaceholder:"",isPremium:!1,setEditorRef:()=>{},onMouseHover:()=>{},idSuffix:""};const W=j;(window.yoast=window.yoast||{}).socialMetadataForms=t})(); \ No newline at end of file diff --git a/wp/wp-content/plugins/wordpress-seo/js/dist/externals/uiLibrary.js b/wp/wp-content/plugins/wordpress-seo/js/dist/externals/uiLibrary.js index aab49327..da8f5307 100644 --- a/wp/wp-content/plugins/wordpress-seo/js/dist/externals/uiLibrary.js +++ b/wp/wp-content/plugins/wordpress-seo/js/dist/externals/uiLibrary.js @@ -1 +1 @@ -(()=>{var e={4896:(e,t)=>{var n;!function(){"use strict";var a={}.hasOwnProperty;function r(){for(var e=[],t=0;t{"use strict";e.exports=window.React}},t={};function n(a){var r=t[a];if(void 0!==r)return r.exports;var s=t[a]={exports:{}};return e[a].call(s.exports,s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};(()=>{"use strict";n.r(a),n.d(a,{Alert:()=>O,Autocomplete:()=>kt,AutocompleteField:()=>Qa,Badge:()=>It,Button:()=>Vt,Card:()=>nr,Checkbox:()=>en,CheckboxGroup:()=>rr,ChildrenLimiter:()=>mr,Code:()=>sn,ErrorBoundary:()=>on,FILE_IMPORT_STATUS:()=>wr,FeatureUpsell:()=>vr,FileImport:()=>_r,Label:()=>Yt,Link:()=>pn,Modal:()=>ws,Notifications:()=>ks,Pagination:()=>zs,Paper:()=>En,ProgressBar:()=>wn,Radio:()=>Cn,RadioGroup:()=>Vs,Root:()=>Qs,Select:()=>ea,SelectField:()=>Js,SidebarNavigation:()=>yo,SkeletonLoader:()=>na,Spinner:()=>Ht,Table:()=>ua,TagField:()=>ho,TagInput:()=>ya,TextField:()=>Ro,TextInput:()=>ha,Textarea:()=>wa,TextareaField:()=>Po,Title:()=>Sa,Toggle:()=>Ua,ToggleField:()=>_o,VALIDATION_ICON_MAP:()=>y,VALIDATION_VARIANTS:()=>f,ValidationIcon:()=>g,ValidationInput:()=>Rt,ValidationMessage:()=>x,useBeforeUnload:()=>Lo,useDescribedBy:()=>Va,useMediaQuery:()=>Io,useModalContext:()=>hs,useNavigationContext:()=>mo,usePrevious:()=>Fo,useRootContext:()=>Mo,useSvgAria:()=>c,useToggleState:()=>dr});var e=n(9196),t=n(4896),r=n.n(t);const s=window.yoast.propTypes;var o=n.n(s);const l=window.wp.element,i=window.lodash,c=(e=null)=>(0,l.useMemo)((()=>{const t={role:"img","aria-hidden":"true"};return null!==e&&(t.focusable=e?"true":"false"),t}),[e]),u=e.forwardRef((function(t,n){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:n},t),e.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"}))})),d=e.forwardRef((function(t,n){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:n},t),e.createElement("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"}))})),p=e.forwardRef((function(t,n){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:n},t),e.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"}))})),m=e.forwardRef((function(t,n){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:n},t),e.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z",clipRule:"evenodd"}))})),f={success:"success",warning:"warning",info:"info",error:"error"},y={success:u,warning:d,info:p,error:m},b={variant:{success:"yst-validation-icon--success",warning:"yst-validation-icon--warning",info:"yst-validation-icon--info",error:"yst-validation-icon--error"}},v=({variant:t="info",className:n="",...a})=>{const s=(0,l.useMemo)((()=>y[t]),[t]),o=c();return s?(0,e.createElement)(s,{...o,...a,className:r()("yst-validation-icon",b.variant[t],n)}):null};v.propTypes={variant:o().oneOf((0,i.values)(f)),className:o().string};const g=v,h={variant:{success:"yst-validation-message--success",warning:"yst-validation-message--warning",info:"yst-validation-message--info",error:"yst-validation-message--error"}},E=({as:t="p",variant:n="info",children:a,className:s="",...o})=>(0,e.createElement)(t,{...o,className:r()("yst-validation-message",h.variant[n],s)},a);E.propTypes={as:o().elementType,variant:o().oneOf((0,i.keys)(h.variant)),message:o().node,className:o().string,children:o().node.isRequired};const x=E,N={variant:{info:"yst-alert--info",warning:"yst-alert--warning",success:"yst-alert--success",error:"yst-alert--error"}},R={alert:"alert",status:"status"},w=(0,l.forwardRef)((({children:t,role:n="status",as:a="span",variant:s="info",className:o="",...l},i)=>(0,e.createElement)(a,{ref:i,className:r()("yst-alert",N.variant[s],o),role:R[n],...l},(0,e.createElement)(g,{variant:s,className:"yst-alert__icon"}),(0,e.createElement)(x,{as:"div",variant:s,className:"yst-alert__message"},t)))),T={children:o().node.isRequired,as:o().elementType,variant:o().oneOf(Object.keys(N.variant)),className:o().string,role:o().oneOf(Object.keys(R))};w.propTypes=T,w.defaultProps={as:"span",variant:"info",className:"",role:"status"};const O=w,P=t=>(0,e.createElement)(w,{...t});P.propTypes=w.propTypes,P.DefaultProps=w.defaultProps,P.displayName="Alert";var C=Object.defineProperty,S=(e,t,n)=>(((e,t,n)=>{t in e?C(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n})(e,"symbol"!=typeof t?t+"":t,n),n);let k=new class{constructor(){S(this,"current",this.detect()),S(this,"handoffState","pending"),S(this,"currentId",0)}set(e){this.current!==e&&(this.handoffState="pending",this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}handoff(){"pending"===this.handoffState&&(this.handoffState="complete")}get isHandoffComplete(){return"complete"===this.handoffState}},_=(t,n)=>{k.isServer?(0,e.useEffect)(t,n):(0,e.useLayoutEffect)(t,n)};function L(t){let n=(0,e.useRef)(t);return _((()=>{n.current=t}),[t]),n}function F(t,n){let[a,r]=(0,e.useState)(t),s=L(t);return _((()=>r(s.current)),[s,r,...n]),a}function M(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch((e=>setTimeout((()=>{throw e}))))}function I(){let e=[],t=[],n={enqueue(e){t.push(e)},addEventListener:(e,t,a,r)=>(e.addEventListener(t,a,r),n.add((()=>e.removeEventListener(t,a,r)))),requestAnimationFrame(...e){let t=requestAnimationFrame(...e);return n.add((()=>cancelAnimationFrame(t)))},nextFrame:(...e)=>n.requestAnimationFrame((()=>n.requestAnimationFrame(...e))),setTimeout(...e){let t=setTimeout(...e);return n.add((()=>clearTimeout(t)))},microTask(...e){let t={current:!0};return M((()=>{t.current&&e[0]()})),n.add((()=>{t.current=!1}))},add:t=>(e.push(t),()=>{let n=e.indexOf(t);if(n>=0){let[t]=e.splice(n,1);t()}}),dispose(){for(let t of e.splice(0))t()},async workQueue(){for(let e of t.splice(0))await e()}};return n}function D(){let[t]=(0,e.useState)(I);return(0,e.useEffect)((()=>()=>t.dispose()),[t]),t}let q=function(t){let n=L(t);return e.useCallback(((...e)=>n.current(...e)),[n])};function A(){let[t,n]=(0,e.useState)(k.isHandoffComplete);return t&&!1===k.isHandoffComplete&&n(!1),(0,e.useEffect)((()=>{!0!==t&&n(!0)}),[t]),(0,e.useEffect)((()=>k.handoff()),[]),t}var j;let B=null!=(j=e.useId)?j:function(){let t=A(),[n,a]=e.useState(t?()=>k.nextId():null);return _((()=>{null===n&&a(k.nextId())}),[n]),null!=n?""+n:void 0};function H(e,t,...n){if(e in t){let a=t[e];return"function"==typeof a?a(...n):a}let a=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((e=>`"${e}"`)).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(a,H),a}function z(e){return k.isServer?null:e instanceof Node?e.ownerDocument:null!=e&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}let $=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map((e=>`${e}:not([tabindex='-1'])`)).join(",");var U,V,W=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(W||{}),G=((V=G||{})[V.Error=0]="Error",V[V.Overflow=1]="Overflow",V[V.Success=2]="Success",V[V.Underflow=3]="Underflow",V),K=((U=K||{})[U.Previous=-1]="Previous",U[U.Next=1]="Next",U);var Q=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Q||{});function Y(e,t=0){var n;return e!==(null==(n=z(e))?void 0:n.body)&&H(t,{0:()=>e.matches($),1(){let t=e;for(;null!==t;){if(t.matches($))return!0;t=t.parentElement}return!1}})}function Z(e){null==e||e.focus({preventScroll:!0})}let X=["textarea","input"].join(",");function J(e,t=(e=>e)){return e.slice().sort(((e,n)=>{let a=t(e),r=t(n);if(null===a||null===r)return 0;let s=a.compareDocumentPosition(r);return s&Node.DOCUMENT_POSITION_FOLLOWING?-1:s&Node.DOCUMENT_POSITION_PRECEDING?1:0}))}function ee(e,t,{sorted:n=!0,relativeTo:a=null,skipElements:r=[]}={}){let s=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,o=Array.isArray(e)?n?J(e):e:function(e=document.body){return null==e?[]:Array.from(e.querySelectorAll($)).sort(((e,t)=>Math.sign((e.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER))))}(e);r.length>0&&o.length>1&&(o=o.filter((e=>!r.includes(e)))),a=null!=a?a:s.activeElement;let l,i=(()=>{if(5&t)return 1;if(10&t)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),c=(()=>{if(1&t)return 0;if(2&t)return Math.max(0,o.indexOf(a))-1;if(4&t)return Math.max(0,o.indexOf(a))+1;if(8&t)return o.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),u=32&t?{preventScroll:!0}:{},d=0,p=o.length;do{if(d>=p||d+p<=0)return 0;let e=c+d;if(16&t)e=(e+p)%p;else{if(e<0)return 3;if(e>=p)return 1}l=o[e],null==l||l.focus(u),d+=i}while(l!==s.activeElement);return 6&t&&function(e){var t,n;return null!=(n=null==(t=null==e?void 0:e.matches)?void 0:t.call(e,X))&&n}(l)&&l.select(),l.hasAttribute("tabindex")||l.setAttribute("tabindex","0"),2}function te(t,n,a){let r=L(n);(0,e.useEffect)((()=>{function e(e){r.current(e)}return document.addEventListener(t,e,a),()=>document.removeEventListener(t,e,a)}),[t,a])}function ne(t,n,a=!0){let r=(0,e.useRef)(!1);function s(e,a){if(!r.current||e.defaultPrevented)return;let s=function e(t){return"function"==typeof t?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(t),o=a(e);if(null!==o&&o.getRootNode().contains(o)){for(let t of s){if(null===t)continue;let n=t instanceof HTMLElement?t:t.current;if(null!=n&&n.contains(o)||e.composed&&e.composedPath().includes(n))return}return!Y(o,Q.Loose)&&-1!==o.tabIndex&&e.preventDefault(),n(e,o)}}(0,e.useEffect)((()=>{requestAnimationFrame((()=>{r.current=a}))}),[a]);let o=(0,e.useRef)(null);te("mousedown",(e=>{var t,n;r.current&&(o.current=(null==(n=null==(t=e.composedPath)?void 0:t.call(e))?void 0:n[0])||e.target)}),!0),te("click",(e=>{!o.current||(s(e,(()=>o.current)),o.current=null)}),!0),te("blur",(e=>s(e,(()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null))),!0)}function ae(e){var t;if(e.type)return e.type;let n=null!=(t=e.as)?t:"button";return"string"==typeof n&&"button"===n.toLowerCase()?"button":void 0}function re(t,n){let[a,r]=(0,e.useState)((()=>ae(t)));return _((()=>{r(ae(t))}),[t.type,t.as]),_((()=>{a||!n.current||n.current instanceof HTMLButtonElement&&!n.current.hasAttribute("type")&&r("button")}),[a,n]),a}let se=Symbol();function oe(e,t=!0){return Object.assign(e,{[se]:t})}function le(...t){let n=(0,e.useRef)(t);(0,e.useEffect)((()=>{n.current=t}),[t]);let a=q((e=>{for(let t of n.current)null!=t&&("function"==typeof t?t(e):t.current=e)}));return t.every((e=>null==e||(null==e?void 0:e[se])))?void 0:a}var ie=(e=>(e[e.First=0]="First",e[e.Previous=1]="Previous",e[e.Next=2]="Next",e[e.Last=3]="Last",e[e.Specific=4]="Specific",e[e.Nothing=5]="Nothing",e))(ie||{});function ce(e,t){let n=t.resolveItems();if(n.length<=0)return null;let a=t.resolveActiveIndex(),r=null!=a?a:-1,s=(()=>{switch(e.focus){case 0:return n.findIndex((e=>!t.resolveDisabled(e)));case 1:{let e=n.slice().reverse().findIndex(((e,n,a)=>!(-1!==r&&a.length-n-1>=r||t.resolveDisabled(e))));return-1===e?e:n.length-1-e}case 2:return n.findIndex(((e,n)=>!(n<=r||t.resolveDisabled(e))));case 3:{let e=n.slice().reverse().findIndex((e=>!t.resolveDisabled(e)));return-1===e?e:n.length-1-e}case 4:return n.findIndex((n=>t.resolveId(n)===e.id));case 5:return null;default:!function(e){throw new Error("Unexpected object: "+e)}(e)}})();return-1===s?a:s}function ue(...e){return e.filter(Boolean).join(" ")}var de,pe=((de=pe||{})[de.None=0]="None",de[de.RenderStrategy=1]="RenderStrategy",de[de.Static=2]="Static",de),me=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(me||{});function fe({ourProps:e,theirProps:t,slot:n,defaultTag:a,features:r,visible:s=!0,name:o}){let l=be(t,e);if(s)return ye(l,n,a,o);let i=null!=r?r:0;if(2&i){let{static:e=!1,...t}=l;if(e)return ye(t,n,a,o)}if(1&i){let{unmount:e=!0,...t}=l;return H(e?0:1,{0:()=>null,1:()=>ye({...t,hidden:!0,style:{display:"none"}},n,a,o)})}return ye(l,n,a,o)}function ye(t,n={},a,r){var s;let{as:o=a,children:l,refName:i="ref",...c}=he(t,["unmount","static"]),u=void 0!==t.ref?{[i]:t.ref}:{},d="function"==typeof l?l(n):l;c.className&&"function"==typeof c.className&&(c.className=c.className(n));let p={};if(n){let e=!1,t=[];for(let[a,r]of Object.entries(n))"boolean"==typeof r&&(e=!0),!0===r&&t.push(a);e&&(p["data-headlessui-state"]=t.join(" "))}if(o===e.Fragment&&Object.keys(ge(c)).length>0){if(!(0,e.isValidElement)(d)||Array.isArray(d)&&d.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${r} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(c).map((e=>` - ${e}`)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map((e=>` - ${e}`)).join("\n")].join("\n"));let t=ue(null==(s=d.props)?void 0:s.className,c.className),n=t?{className:t}:{};return(0,e.cloneElement)(d,Object.assign({},be(d.props,ge(he(c,["ref"]))),p,u,function(...e){return{ref:e.every((e=>null==e))?void 0:t=>{for(let n of e)null!=n&&("function"==typeof n?n(t):n.current=t)}}}(d.ref,u.ref),n))}return(0,e.createElement)(o,Object.assign({},he(c,["ref"]),o!==e.Fragment&&u,o!==e.Fragment&&p),d)}function be(...e){if(0===e.length)return{};if(1===e.length)return e[0];let t={},n={};for(let a of e)for(let e in a)e.startsWith("on")&&"function"==typeof a[e]?(null!=n[e]||(n[e]=[]),n[e].push(a[e])):t[e]=a[e];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map((e=>[e,void 0]))));for(let e in n)Object.assign(t,{[e](t,...a){let r=n[e];for(let e of r){if((t instanceof Event||(null==t?void 0:t.nativeEvent)instanceof Event)&&t.defaultPrevented)return;e(t,...a)}}});return t}function ve(t){var n;return Object.assign((0,e.forwardRef)(t),{displayName:null!=(n=t.displayName)?n:t.name})}function ge(e){let t=Object.assign({},e);for(let e in t)void 0===t[e]&&delete t[e];return t}function he(e,t=[]){let n=Object.assign({},e);for(let e of t)e in n&&delete n[e];return n}function Ee(e){let t=e.parentElement,n=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(n=t),t=t.parentElement;let a=""===(null==t?void 0:t.getAttribute("disabled"));return(!a||!function(e){if(!e)return!1;let t=e.previousElementSibling;for(;null!==t;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}(n))&&a}function xe(e={},t=null,n=[]){for(let[a,r]of Object.entries(e))Re(n,Ne(t,a),r);return n}function Ne(e,t){return e?e+"["+t+"]":t}function Re(e,t,n){if(Array.isArray(n))for(let[a,r]of n.entries())Re(e,Ne(t,a.toString()),r);else n instanceof Date?e.push([t,n.toISOString()]):"boolean"==typeof n?e.push([t,n?"1":"0"]):"string"==typeof n?e.push([t,n]):"number"==typeof n?e.push([t,`${n}`]):null==n?e.push([t,""]):xe(n,t,e)}var we=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(we||{});let Te=ve((function(e,t){let{features:n=1,...a}=e;return fe({ourProps:{ref:t,"aria-hidden":2==(2&n)||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...4==(4&n)&&2!=(2&n)&&{display:"none"}}},theirProps:a,slot:{},defaultTag:"div",name:"Hidden"})})),Oe=(0,e.createContext)(null);Oe.displayName="OpenClosedContext";var Pe=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Pe||{});function Ce(){return(0,e.useContext)(Oe)}function Se({value:t,children:n}){return e.createElement(Oe.Provider,{value:t},n)}var ke=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(ke||{});function _e(t,n,a){let[r,s]=(0,e.useState)(a),o=void 0!==t,l=(0,e.useRef)(o),i=(0,e.useRef)(!1),c=(0,e.useRef)(!1);return!o||l.current||i.current?!o&&l.current&&!c.current&&(c.current=!0,l.current=o,console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")):(i.current=!0,l.current=o,console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")),[o?t:r,q((e=>(o||s(e),null==n?void 0:n(e))))]}function Le(t,n){let a=(0,e.useRef)([]),r=q(t);(0,e.useEffect)((()=>{let e=[...a.current];for(let[t,s]of n.entries())if(a.current[t]!==s){let t=r(n,e);return a.current=n,t}}),[r,...n])}function Fe(e){return[e.screenX,e.screenY]}function Me(){let t=(0,e.useRef)([-1,-1]);return{wasMoved(e){let n=Fe(e);return(t.current[0]!==n[0]||t.current[1]!==n[1])&&(t.current=n,!0)},update(e){t.current=Fe(e)}}}var Ie=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Ie||{}),De=(e=>(e[e.Single=0]="Single",e[e.Multi=1]="Multi",e))(De||{}),qe=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(qe||{}),Ae=(e=>(e[e.OpenCombobox=0]="OpenCombobox",e[e.CloseCombobox=1]="CloseCombobox",e[e.GoToOption=2]="GoToOption",e[e.RegisterOption=3]="RegisterOption",e[e.UnregisterOption=4]="UnregisterOption",e[e.RegisterLabel=5]="RegisterLabel",e))(Ae||{});function je(e,t=(e=>e)){let n=null!==e.activeOptionIndex?e.options[e.activeOptionIndex]:null,a=J(t(e.options.slice()),(e=>e.dataRef.current.domRef.current)),r=n?a.indexOf(n):null;return-1===r&&(r=null),{options:a,activeOptionIndex:r}}let Be={1:e=>e.dataRef.current.disabled||1===e.comboboxState?e:{...e,activeOptionIndex:null,comboboxState:1},0(e){if(e.dataRef.current.disabled||0===e.comboboxState)return e;let t=e.activeOptionIndex,{isSelected:n}=e.dataRef.current,a=e.options.findIndex((e=>n(e.dataRef.current.value)));return-1!==a&&(t=a),{...e,comboboxState:0,activeOptionIndex:t}},2(e,t){var n;if(e.dataRef.current.disabled||e.dataRef.current.optionsRef.current&&!e.dataRef.current.optionsPropsRef.current.static&&1===e.comboboxState)return e;let a=je(e);if(null===a.activeOptionIndex){let e=a.options.findIndex((e=>!e.dataRef.current.disabled));-1!==e&&(a.activeOptionIndex=e)}let r=ce(t,{resolveItems:()=>a.options,resolveActiveIndex:()=>a.activeOptionIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.current.disabled});return{...e,...a,activeOptionIndex:r,activationTrigger:null!=(n=t.trigger)?n:1}},3:(e,t)=>{let n={id:t.id,dataRef:t.dataRef},a=je(e,(e=>[...e,n]));null===e.activeOptionIndex&&e.dataRef.current.isSelected(t.dataRef.current.value)&&(a.activeOptionIndex=a.options.indexOf(n));let r={...e,...a,activationTrigger:1};return e.dataRef.current.__demoMode&&void 0===e.dataRef.current.value&&(r.activeOptionIndex=0),r},4:(e,t)=>{let n=je(e,(e=>{let n=e.findIndex((e=>e.id===t.id));return-1!==n&&e.splice(n,1),e}));return{...e,...n,activationTrigger:1}},5:(e,t)=>({...e,labelId:t.id})},He=(0,e.createContext)(null);function ze(t){let n=(0,e.useContext)(He);if(null===n){let e=new Error(`<${t} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,ze),e}return n}He.displayName="ComboboxActionsContext";let $e=(0,e.createContext)(null);function Ue(t){let n=(0,e.useContext)($e);if(null===n){let e=new Error(`<${t} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,Ue),e}return n}function Ve(e,t){return H(t.type,Be,e,t)}$e.displayName="ComboboxDataContext";let We=e.Fragment,Ge=ve((function(t,n){let{value:a,defaultValue:r,onChange:s,name:o,by:l=((e,t)=>e===t),disabled:i=!1,__demoMode:c=!1,nullable:u=!1,multiple:d=!1,...p}=t,[m=(d?[]:void 0),f]=_e(a,s,r),[y,b]=(0,e.useReducer)(Ve,{dataRef:(0,e.createRef)(),comboboxState:c?0:1,options:[],activeOptionIndex:null,activationTrigger:1,labelId:null}),v=(0,e.useRef)(!1),g=(0,e.useRef)({static:!1,hold:!1}),h=(0,e.useRef)(null),E=(0,e.useRef)(null),x=(0,e.useRef)(null),N=(0,e.useRef)(null),R=q("string"==typeof l?(e,t)=>{let n=l;return(null==e?void 0:e[n])===(null==t?void 0:t[n])}:l),w=(0,e.useCallback)((e=>H(T.mode,{1:()=>m.some((t=>R(t,e))),0:()=>R(m,e)})),[m]),T=(0,e.useMemo)((()=>({...y,optionsPropsRef:g,labelRef:h,inputRef:E,buttonRef:x,optionsRef:N,value:m,defaultValue:r,disabled:i,mode:d?1:0,get activeOptionIndex(){if(v.current&&null===y.activeOptionIndex&&y.options.length>0){let e=y.options.findIndex((e=>!e.dataRef.current.disabled));if(-1!==e)return e}return y.activeOptionIndex},compare:R,isSelected:w,nullable:u,__demoMode:c})),[m,r,i,d,u,c,y]);_((()=>{y.dataRef.current=T}),[T]),ne([T.buttonRef,T.inputRef,T.optionsRef],(()=>A.closeCombobox()),0===T.comboboxState);let O=(0,e.useMemo)((()=>({open:0===T.comboboxState,disabled:i,activeIndex:T.activeOptionIndex,activeOption:null===T.activeOptionIndex?null:T.options[T.activeOptionIndex].dataRef.current.value,value:m})),[T,i,m]),P=q((e=>{let t=T.options.find((t=>t.id===e));!t||I(t.dataRef.current.value)})),C=q((()=>{if(null!==T.activeOptionIndex){let{dataRef:e,id:t}=T.options[T.activeOptionIndex];I(e.current.value),A.goToOption(ie.Specific,t)}})),S=q((()=>{b({type:0}),v.current=!0})),k=q((()=>{b({type:1}),v.current=!1})),L=q(((e,t,n)=>(v.current=!1,e===ie.Specific?b({type:2,focus:ie.Specific,id:t,trigger:n}):b({type:2,focus:e,trigger:n})))),F=q(((e,t)=>(b({type:3,id:e,dataRef:t}),()=>b({type:4,id:e})))),M=q((e=>(b({type:5,id:e}),()=>b({type:5,id:null})))),I=q((e=>H(T.mode,{0:()=>null==f?void 0:f(e),1(){let t=T.value.slice(),n=t.findIndex((t=>R(t,e)));return-1===n?t.push(e):t.splice(n,1),null==f?void 0:f(t)}}))),A=(0,e.useMemo)((()=>({onChange:I,registerOption:F,registerLabel:M,goToOption:L,closeCombobox:k,openCombobox:S,selectActiveOption:C,selectOption:P})),[]),j=null===n?{}:{ref:n},B=(0,e.useRef)(null),z=D();return(0,e.useEffect)((()=>{!B.current||void 0!==r&&z.addEventListener(B.current,"reset",(()=>{I(r)}))}),[B,I]),e.createElement(He.Provider,{value:A},e.createElement($e.Provider,{value:T},e.createElement(Se,{value:H(T.comboboxState,{0:Pe.Open,1:Pe.Closed})},null!=o&&null!=m&&xe({[o]:m}).map((([t,n],a)=>e.createElement(Te,{features:we.Hidden,ref:0===a?e=>{var t;B.current=null!=(t=null==e?void 0:e.closest("form"))?t:null}:void 0,...ge({key:t,as:"input",type:"hidden",hidden:!0,readOnly:!0,name:t,value:n})}))),fe({ourProps:j,theirProps:p,slot:O,defaultTag:We,name:"Combobox"}))))})),Ke=ve((function(t,n){var a,r,s,o;let l=B(),{id:i=`headlessui-combobox-input-${l}`,onChange:c,displayValue:u,type:d="text",...p}=t,m=Ue("Combobox.Input"),f=ze("Combobox.Input"),y=le(m.inputRef,n),b=(0,e.useRef)(!1),v=D();var g;Le((([e,t],[n,a])=>{b.current||!m.inputRef.current||(0===a&&1===t||e!==n)&&(m.inputRef.current.value=e)}),["function"==typeof u&&void 0!==m.value?null!=(g=u(m.value))?g:"":"string"==typeof m.value?m.value:"",m.comboboxState]),Le((([e],[t])=>{if(0===e&&1===t){let e=m.inputRef.current;if(!e)return;let t=e.value,{selectionStart:n,selectionEnd:a,selectionDirection:r}=e;e.value="",e.value=t,null!==r?e.setSelectionRange(n,a,r):e.setSelectionRange(n,a)}}),[m.comboboxState]);let h=(0,e.useRef)(!1),E=q((()=>{h.current=!0})),x=q((()=>{setTimeout((()=>{h.current=!1}))})),N=q((e=>{switch(b.current=!0,e.key){case ke.Backspace:case ke.Delete:if(0!==m.mode||!m.nullable)return;let t=e.currentTarget;v.requestAnimationFrame((()=>{""===t.value&&(f.onChange(null),m.optionsRef.current&&(m.optionsRef.current.scrollTop=0),f.goToOption(ie.Nothing))}));break;case ke.Enter:if(b.current=!1,0!==m.comboboxState||h.current)return;if(e.preventDefault(),e.stopPropagation(),null===m.activeOptionIndex)return void f.closeCombobox();f.selectActiveOption(),0===m.mode&&f.closeCombobox();break;case ke.ArrowDown:return b.current=!1,e.preventDefault(),e.stopPropagation(),H(m.comboboxState,{0:()=>{f.goToOption(ie.Next)},1:()=>{f.openCombobox()}});case ke.ArrowUp:return b.current=!1,e.preventDefault(),e.stopPropagation(),H(m.comboboxState,{0:()=>{f.goToOption(ie.Previous)},1:()=>{f.openCombobox(),v.nextFrame((()=>{m.value||f.goToOption(ie.Last)}))}});case ke.Home:if(e.shiftKey)break;return b.current=!1,e.preventDefault(),e.stopPropagation(),f.goToOption(ie.First);case ke.PageUp:return b.current=!1,e.preventDefault(),e.stopPropagation(),f.goToOption(ie.First);case ke.End:if(e.shiftKey)break;return b.current=!1,e.preventDefault(),e.stopPropagation(),f.goToOption(ie.Last);case ke.PageDown:return b.current=!1,e.preventDefault(),e.stopPropagation(),f.goToOption(ie.Last);case ke.Escape:return b.current=!1,0!==m.comboboxState?void 0:(e.preventDefault(),m.optionsRef.current&&!m.optionsPropsRef.current.static&&e.stopPropagation(),f.closeCombobox());case ke.Tab:if(b.current=!1,0!==m.comboboxState)return;0===m.mode&&f.selectActiveOption(),f.closeCombobox()}})),R=q((e=>{f.openCombobox(),null==c||c(e)})),w=q((()=>{b.current=!1})),T=F((()=>{if(m.labelId)return[m.labelId].join(" ")}),[m.labelId]),O=(0,e.useMemo)((()=>({open:0===m.comboboxState,disabled:m.disabled})),[m]);return fe({ourProps:{ref:y,id:i,role:"combobox",type:d,"aria-controls":null==(a=m.optionsRef.current)?void 0:a.id,"aria-expanded":m.disabled?void 0:0===m.comboboxState,"aria-activedescendant":null===m.activeOptionIndex||null==(r=m.options[m.activeOptionIndex])?void 0:r.id,"aria-multiselectable":1===m.mode||void 0,"aria-labelledby":T,"aria-autocomplete":"list",defaultValue:null!=(o=null!=(s=t.defaultValue)?s:void 0!==m.defaultValue?null==u?void 0:u(m.defaultValue):null)?o:m.defaultValue,disabled:m.disabled,onCompositionStart:E,onCompositionEnd:x,onKeyDown:N,onChange:R,onBlur:w},theirProps:p,slot:O,defaultTag:"input",name:"Combobox.Input"})})),Qe=ve((function(t,n){var a;let r=Ue("Combobox.Button"),s=ze("Combobox.Button"),o=le(r.buttonRef,n),l=B(),{id:i=`headlessui-combobox-button-${l}`,...c}=t,u=D(),d=q((e=>{switch(e.key){case ke.ArrowDown:return e.preventDefault(),e.stopPropagation(),1===r.comboboxState&&s.openCombobox(),u.nextFrame((()=>{var e;return null==(e=r.inputRef.current)?void 0:e.focus({preventScroll:!0})}));case ke.ArrowUp:return e.preventDefault(),e.stopPropagation(),1===r.comboboxState&&(s.openCombobox(),u.nextFrame((()=>{r.value||s.goToOption(ie.Last)}))),u.nextFrame((()=>{var e;return null==(e=r.inputRef.current)?void 0:e.focus({preventScroll:!0})}));case ke.Escape:return 0!==r.comboboxState?void 0:(e.preventDefault(),r.optionsRef.current&&!r.optionsPropsRef.current.static&&e.stopPropagation(),s.closeCombobox(),u.nextFrame((()=>{var e;return null==(e=r.inputRef.current)?void 0:e.focus({preventScroll:!0})})));default:return}})),p=q((e=>{if(Ee(e.currentTarget))return e.preventDefault();0===r.comboboxState?s.closeCombobox():(e.preventDefault(),s.openCombobox()),u.nextFrame((()=>{var e;return null==(e=r.inputRef.current)?void 0:e.focus({preventScroll:!0})}))})),m=F((()=>{if(r.labelId)return[r.labelId,i].join(" ")}),[r.labelId,i]),f=(0,e.useMemo)((()=>({open:0===r.comboboxState,disabled:r.disabled,value:r.value})),[r]);return fe({ourProps:{ref:o,id:i,type:re(t,r.buttonRef),tabIndex:-1,"aria-haspopup":"listbox","aria-controls":null==(a=r.optionsRef.current)?void 0:a.id,"aria-expanded":r.disabled?void 0:0===r.comboboxState,"aria-labelledby":m,disabled:r.disabled,onClick:p,onKeyDown:d},theirProps:c,slot:f,defaultTag:"button",name:"Combobox.Button"})})),Ye=ve((function(t,n){let a=B(),{id:r=`headlessui-combobox-label-${a}`,...s}=t,o=Ue("Combobox.Label"),l=ze("Combobox.Label"),i=le(o.labelRef,n);_((()=>l.registerLabel(r)),[r]);let c=q((()=>{var e;return null==(e=o.inputRef.current)?void 0:e.focus({preventScroll:!0})})),u=(0,e.useMemo)((()=>({open:0===o.comboboxState,disabled:o.disabled})),[o]);return fe({ourProps:{ref:i,id:r,onClick:c},theirProps:s,slot:u,defaultTag:"label",name:"Combobox.Label"})})),Ze=pe.RenderStrategy|pe.Static,Xe=ve((function(t,n){let a=B(),{id:r=`headlessui-combobox-options-${a}`,hold:s=!1,...o}=t,l=Ue("Combobox.Options"),i=le(l.optionsRef,n),c=Ce(),u=null!==c?c===Pe.Open:0===l.comboboxState;_((()=>{var e;l.optionsPropsRef.current.static=null!=(e=t.static)&&e}),[l.optionsPropsRef,t.static]),_((()=>{l.optionsPropsRef.current.hold=s}),[l.optionsPropsRef,s]),function({container:t,accept:n,walk:a,enabled:r=!0}){let s=(0,e.useRef)(n),o=(0,e.useRef)(a);(0,e.useEffect)((()=>{s.current=n,o.current=a}),[n,a]),_((()=>{if(!t||!r)return;let e=z(t);if(!e)return;let n=s.current,a=o.current,l=Object.assign((e=>n(e)),{acceptNode:n}),i=e.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,l,!1);for(;i.nextNode();)a(i.currentNode)}),[t,r,s,o])}({container:l.optionsRef.current,enabled:0===l.comboboxState,accept:e=>"option"===e.getAttribute("role")?NodeFilter.FILTER_REJECT:e.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT,walk(e){e.setAttribute("role","none")}});let d=F((()=>{var e,t;return null!=(t=l.labelId)?t:null==(e=l.buttonRef.current)?void 0:e.id}),[l.labelId,l.buttonRef.current]);return fe({ourProps:{"aria-labelledby":d,role:"listbox",id:r,ref:i},theirProps:o,slot:(0,e.useMemo)((()=>({open:0===l.comboboxState})),[l]),defaultTag:"ul",features:Ze,visible:u,name:"Combobox.Options"})})),Je=ve((function(t,n){var a,r;let s=B(),{id:o=`headlessui-combobox-option-${s}`,disabled:l=!1,value:i,...c}=t,u=Ue("Combobox.Option"),d=ze("Combobox.Option"),p=null!==u.activeOptionIndex&&u.options[u.activeOptionIndex].id===o,m=u.isSelected(i),f=(0,e.useRef)(null),y=L({disabled:l,value:i,domRef:f,textValue:null==(r=null==(a=f.current)?void 0:a.textContent)?void 0:r.toLowerCase()}),b=le(n,f),v=q((()=>d.selectOption(o)));_((()=>d.registerOption(o,y)),[y,o]);let g=(0,e.useRef)(!u.__demoMode);_((()=>{if(!u.__demoMode)return;let e=I();return e.requestAnimationFrame((()=>{g.current=!0})),e.dispose}),[]),_((()=>{if(0!==u.comboboxState||!p||!g.current||0===u.activationTrigger)return;let e=I();return e.requestAnimationFrame((()=>{var e,t;null==(t=null==(e=f.current)?void 0:e.scrollIntoView)||t.call(e,{block:"nearest"})})),e.dispose}),[f,p,u.comboboxState,u.activationTrigger,u.activeOptionIndex]);let h=q((e=>{if(l)return e.preventDefault();v(),0===u.mode&&d.closeCombobox()})),E=q((()=>{if(l)return d.goToOption(ie.Nothing);d.goToOption(ie.Specific,o)})),x=Me(),N=q((e=>x.update(e))),R=q((e=>{!x.wasMoved(e)||l||p||d.goToOption(ie.Specific,o,0)})),w=q((e=>{!x.wasMoved(e)||l||!p||u.optionsPropsRef.current.hold||d.goToOption(ie.Nothing)})),T=(0,e.useMemo)((()=>({active:p,selected:m,disabled:l})),[p,m,l]);return fe({ourProps:{id:o,ref:b,role:"option",tabIndex:!0===l?void 0:-1,"aria-disabled":!0===l||void 0,"aria-selected":m,disabled:void 0,onClick:h,onFocus:E,onPointerEnter:N,onMouseEnter:N,onPointerMove:R,onMouseMove:R,onPointerLeave:w,onMouseLeave:w},theirProps:c,slot:T,defaultTag:"li",name:"Combobox.Option"})})),et=Object.assign(Ge,{Input:Ke,Button:Qe,Label:Ye,Options:Xe,Option:Je});function tt(){let t=(0,e.useRef)(!1);return _((()=>(t.current=!0,()=>{t.current=!1})),[]),t}function nt(e,...t){e&&t.length>0&&e.classList.add(...t)}function at(e,...t){e&&t.length>0&&e.classList.remove(...t)}function rt(e=""){return e.split(" ").filter((e=>e.trim().length>1))}let st=(0,e.createContext)(null);st.displayName="TransitionContext";var ot=(e=>(e.Visible="visible",e.Hidden="hidden",e))(ot||{});let lt=(0,e.createContext)(null);function it(e){return"children"in e?it(e.children):e.current.filter((({el:e})=>null!==e.current)).filter((({state:e})=>"visible"===e)).length>0}function ct(t,n){let a=L(t),r=(0,e.useRef)([]),s=tt(),o=D(),l=q(((e,t=me.Hidden)=>{let n=r.current.findIndex((({el:t})=>t===e));-1!==n&&(H(t,{[me.Unmount](){r.current.splice(n,1)},[me.Hidden](){r.current[n].state="hidden"}}),o.microTask((()=>{var e;!it(r)&&s.current&&(null==(e=a.current)||e.call(a))})))})),i=q((e=>{let t=r.current.find((({el:t})=>t===e));return t?"visible"!==t.state&&(t.state="visible"):r.current.push({el:e,state:"visible"}),()=>l(e,me.Unmount)})),c=(0,e.useRef)([]),u=(0,e.useRef)(Promise.resolve()),d=(0,e.useRef)({enter:[],leave:[],idle:[]}),p=q(((e,t,a)=>{c.current.splice(0),n&&(n.chains.current[t]=n.chains.current[t].filter((([t])=>t!==e))),null==n||n.chains.current[t].push([e,new Promise((e=>{c.current.push(e)}))]),null==n||n.chains.current[t].push([e,new Promise((e=>{Promise.all(d.current[t].map((([e,t])=>t))).then((()=>e()))}))]),"enter"===t?u.current=u.current.then((()=>null==n?void 0:n.wait.current)).then((()=>a(t))):a(t)})),m=q(((e,t,n)=>{Promise.all(d.current[t].splice(0).map((([e,t])=>t))).then((()=>{var e;null==(e=c.current.shift())||e()})).then((()=>n(t)))}));return(0,e.useMemo)((()=>({children:r,register:i,unregister:l,onStart:p,onStop:m,wait:u,chains:d})),[i,l,r,p,m,d,u])}function ut(){}lt.displayName="NestingContext";let dt=["beforeEnter","afterEnter","beforeLeave","afterLeave"];function pt(e){var t;let n={};for(let a of dt)n[a]=null!=(t=e[a])?t:ut;return n}let mt=pe.RenderStrategy,ft=ve((function(t,n){let{beforeEnter:a,afterEnter:r,beforeLeave:s,afterLeave:o,enter:l,enterFrom:i,enterTo:c,entered:u,leave:d,leaveFrom:p,leaveTo:m,...f}=t,y=(0,e.useRef)(null),b=le(y,n),v=f.unmount?me.Unmount:me.Hidden,{show:g,appear:h,initial:E}=function(){let t=(0,e.useContext)(st);if(null===t)throw new Error("A is used but it is missing a parent or .");return t}(),[x,N]=(0,e.useState)(g?"visible":"hidden"),R=function(){let t=(0,e.useContext)(lt);if(null===t)throw new Error("A is used but it is missing a parent or .");return t}(),{register:w,unregister:T}=R,O=(0,e.useRef)(null);(0,e.useEffect)((()=>w(y)),[w,y]),(0,e.useEffect)((()=>{if(v===me.Hidden&&y.current)return g&&"visible"!==x?void N("visible"):H(x,{hidden:()=>T(y),visible:()=>w(y)})}),[x,y,w,T,g,v]);let P=L({enter:rt(l),enterFrom:rt(i),enterTo:rt(c),entered:rt(u),leave:rt(d),leaveFrom:rt(p),leaveTo:rt(m)}),C=function(t){let n=(0,e.useRef)(pt(t));return(0,e.useEffect)((()=>{n.current=pt(t)}),[t]),n}({beforeEnter:a,afterEnter:r,beforeLeave:s,afterLeave:o}),S=A();(0,e.useEffect)((()=>{if(S&&"visible"===x&&null===y.current)throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")}),[y,x,S]);let F=E&&!h,M=!S||F||O.current===g?"idle":g?"enter":"leave",j=q((e=>H(e,{enter:()=>C.current.beforeEnter(),leave:()=>C.current.beforeLeave(),idle:()=>{}}))),B=q((e=>H(e,{enter:()=>C.current.afterEnter(),leave:()=>C.current.afterLeave(),idle:()=>{}}))),z=ct((()=>{N("hidden"),T(y)}),R);(function({container:e,direction:t,classes:n,onStart:a,onStop:r}){let s=tt(),o=D(),l=L(t);_((()=>{let t=I();o.add(t.dispose);let i=e.current;if(i&&"idle"!==l.current&&s.current)return t.dispose(),a.current(l.current),t.add(function(e,t,n,a){let r=n?"enter":"leave",s=I(),o=void 0!==a?function(e){let t={called:!1};return(...n)=>{if(!t.called)return t.called=!0,e(...n)}}(a):()=>{};"enter"===r&&(e.removeAttribute("hidden"),e.style.display="");let l=H(r,{enter:()=>t.enter,leave:()=>t.leave}),i=H(r,{enter:()=>t.enterTo,leave:()=>t.leaveTo}),c=H(r,{enter:()=>t.enterFrom,leave:()=>t.leaveFrom});return at(e,...t.enter,...t.enterTo,...t.enterFrom,...t.leave,...t.leaveFrom,...t.leaveTo,...t.entered),nt(e,...l,...c),s.nextFrame((()=>{at(e,...c),nt(e,...i),function(e,t){let n=I();if(!e)return n.dispose;let{transitionDuration:a,transitionDelay:r}=getComputedStyle(e),[s,o]=[a,r].map((e=>{let[t=0]=e.split(",").filter(Boolean).map((e=>e.includes("ms")?parseFloat(e):1e3*parseFloat(e))).sort(((e,t)=>t-e));return t}));if(s+o!==0){let a=n.addEventListener(e,"transitionend",(e=>{e.target===e.currentTarget&&(t(),a())}))}else t();n.add((()=>t())),n.dispose}(e,(()=>(at(e,...l),nt(e,...t.entered),o())))})),s.dispose}(i,n.current,"enter"===l.current,(()=>{t.dispose(),r.current(l.current)}))),t.dispose}),[t])})({container:y,classes:P,direction:M,onStart:L((e=>{z.onStart(y,e,j)})),onStop:L((e=>{z.onStop(y,e,B),"leave"===e&&!it(z)&&(N("hidden"),T(y))}))}),(0,e.useEffect)((()=>{!F||(v===me.Hidden?O.current=null:O.current=g)}),[g,F,x]);let $=f,U={ref:b};return h&&g&&k.isServer&&($={...$,className:ue(f.className,...P.current.enter,...P.current.enterFrom)}),e.createElement(lt.Provider,{value:z},e.createElement(Se,{value:H(x,{visible:Pe.Open,hidden:Pe.Closed})},fe({ourProps:U,theirProps:$,defaultTag:"div",features:mt,visible:"visible"===x,name:"Transition.Child"})))})),yt=ve((function(t,n){let{show:a,appear:r=!1,unmount:s,...o}=t,l=(0,e.useRef)(null),i=le(l,n);A();let c=Ce();if(void 0===a&&null!==c&&(a=H(c,{[Pe.Open]:!0,[Pe.Closed]:!1})),![!0,!1].includes(a))throw new Error("A is used but it is missing a `show={true | false}` prop.");let[u,d]=(0,e.useState)(a?"visible":"hidden"),p=ct((()=>{d("hidden")})),[m,f]=(0,e.useState)(!0),y=(0,e.useRef)([a]);_((()=>{!1!==m&&y.current[y.current.length-1]!==a&&(y.current.push(a),f(!1))}),[y,a]);let b=(0,e.useMemo)((()=>({show:a,appear:r,initial:m})),[a,r,m]);(0,e.useEffect)((()=>{if(a)d("visible");else if(it(p)){let e=l.current;if(!e)return;let t=e.getBoundingClientRect();0===t.x&&0===t.y&&0===t.width&&0===t.height&&d("hidden")}else d("hidden")}),[a,p]);let v={unmount:s};return e.createElement(lt.Provider,{value:p},e.createElement(st.Provider,{value:b},fe({ourProps:{...v,as:e.Fragment,children:e.createElement(ft,{ref:i,...v,...o})},theirProps:{},defaultTag:e.Fragment,features:mt,visible:"visible"===u,name:"Transition"})))})),bt=ve((function(t,n){let a=null!==(0,e.useContext)(st),r=null!==Ce();return e.createElement(e.Fragment,null,!a&&r?e.createElement(yt,{ref:n,...t}):e.createElement(ft,{ref:n,...t}))})),vt=Object.assign(yt,{Child:bt,Root:yt});const gt=e.forwardRef((function(t,n){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:n},t),e.createElement("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"}))})),ht=e.forwardRef((function(t,n){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:n},t),e.createElement("path",{fillRule:"evenodd",d:"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",clipRule:"evenodd"}))})),Et=e.forwardRef((function(t,n){return e.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:n},t),e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}))})),xt={variant:{success:"yst-validation-input--success",warning:"yst-validation-input--warning",info:"yst-validation-input--info",error:"yst-validation-input--error"}},Nt=(0,l.forwardRef)((({as:t,validation:n={},className:a="",...s},o)=>(0,e.createElement)("div",{className:r()("yst-validation-input",(null==n?void 0:n.message)&&xt.variant[null==n?void 0:n.variant])},(0,e.createElement)(t,{ref:o,...s,className:r()("yst-validation-input__input",a)}),(null==n?void 0:n.message)&&(0,e.createElement)(g,{variant:null==n?void 0:n.variant,className:"yst-validation-input__icon"}))));Nt.propTypes={as:o().elementType.isRequired,validation:o().shape({variant:o().string,message:o().node}),className:o().string};const Rt=Nt,wt=(0,l.forwardRef)(((t,n)=>(0,e.createElement)(et.Button,{as:"div",ref:n,...t}))),Tt=({children:t,value:n})=>{const a=c(),s=(0,l.useCallback)((({active:e,selected:t})=>r()("yst-autocomplete__option",t&&"yst-autocomplete__option--selected",e&&!t&&"yst-autocomplete__option--active")),[]);return(0,e.createElement)(et.Option,{className:s,value:n},(({selected:n})=>(0,e.createElement)(l.Fragment,null,(0,e.createElement)("span",{className:r()("yst-autocomplete__option-label",n&&"yst-font-semibold")},t),n&&(0,e.createElement)(gt,{className:"yst-autocomplete__option-check",...a}))))},Ot={children:o().node,value:o().oneOfType([o().string,o().number,o().bool]).isRequired};Tt.propTypes=Ot;const Pt=({onChange:t,svgAriaProps:n,screenReaderText:a})=>{const r=(0,l.useCallback)((e=>{e.preventDefault(),t(null)}),[t]);return(0,e.createElement)("button",{type:"button",className:"yst-mr-4 yst-flex yst-items-center",onClick:r},(0,e.createElement)("span",{className:"yst-sr-only"},a),(0,e.createElement)(Et,{className:"yst-text-slate-400 yst-w-5 yst-h-5",...n}),(0,e.createElement)("div",{className:"yst-w-2 yst-mr-2 yst-border-r-slate-200 yst-border-r yst-h-7"}))};Pt.propTypes={onChange:o().func.isRequired,svgAriaProps:o().object.isRequired,screenReaderText:o().string.isRequired};const Ct=(0,l.forwardRef)((({id:t,value:n,children:a,selectedLabel:s,label:o,labelProps:u,labelSuffix:d,onChange:p,onQueryChange:m,validation:f,placeholder:y,className:b,buttonProps:v,clearButtonScreenReaderText:g,...h},E)=>{const x=(0,l.useCallback)((0,i.constant)(s),[s]),N=c();return(0,e.createElement)(et,{ref:E,as:"div",value:n,onChange:p,className:r()("yst-autocomplete",b),...h},o&&(0,e.createElement)("div",{className:"yst-flex yst-items-center yst-mb-2"},(0,e.createElement)(et.Label,{...u},o),d),(0,e.createElement)("div",{className:"yst-relative"},(0,e.createElement)(Rt,{as:wt,"data-id":t,validation:f,className:"yst-autocomplete__button",...v},(0,e.createElement)(et.Input,{className:"yst-autocomplete__input",autoComplete:"off",placeholder:y,displayValue:x,onChange:m}),h.nullable&&s&&(0,e.createElement)(Pt,{onChange:p,svgAriaProps:N,screenReaderText:g}),!(null!=f&&f.message)&&(0,e.createElement)(ht,{className:"yst-autocomplete__button-icon",...N})),(0,e.createElement)(vt,{as:l.Fragment,enter:"yst-transition yst-duration-100 yst-ease-out",enterFrom:"yst-transform yst-scale-95 yst-opacity-0",enterTo:"yst-transform yst-scale-100 yst-opacity-100",leave:"yst-transition yst-duration-75 yst-ease-out",leaveFrom:"yst-transform yst-scale-100 yst-opacity-100",leaveTo:"yst-transform yst-scale-95 yst-opacity-0"},(0,e.createElement)(et.Options,{className:"yst-autocomplete__options"},a))))}));Ct.Option=Tt,Ct.Option.displayName="Autocomplete.Option";const St={id:o().string.isRequired,value:o().oneOfType([o().string,o().number,o().bool]),children:o().node,selectedLabel:o().string,label:o().string,labelProps:o().object,labelSuffix:o().node,onChange:o().func.isRequired,onQueryChange:o().func.isRequired,validation:o().shape({variant:o().string,message:o().node}),placeholder:o().string,className:o().string,buttonProps:o().object,clearButtonScreenReaderText:o().string};Ct.propTypes=St,Ct.defaultProps={children:null,value:null,selectedLabel:"",label:"",labelProps:{},labelSuffix:null,validation:{},placeholder:"",className:"",buttonProps:{},clearButtonScreenReaderText:"Clear"};const kt=Ct,_t=t=>(0,e.createElement)(Ct,{...t});_t.propTypes=St,_t.defaultProps=Ct.defaultProps,_t.displayName="Autocomplete";const Lt={variant:{info:"yst-badge--info",upsell:"yst-badge--upsell",plain:"yst-badge--plain"},size:{default:"",small:"yst-badge--small",large:"yst-badge--large"}},Ft=(0,l.forwardRef)((({children:t,as:n,variant:a,size:s,className:o,...l},i)=>(0,e.createElement)(n,{ref:i,className:r()("yst-badge",Lt.variant[a],Lt.size[s],o),...l},t))),Mt={children:o().node.isRequired,as:o().elementType,variant:o().oneOf(Object.keys(Lt.variant)),size:o().oneOf(Object.keys(Lt.size)),className:o().string};Ft.propTypes=Mt,Ft.defaultProps={as:"span",variant:"info",size:"default",className:""};const It=Ft,Dt=t=>(0,e.createElement)(Ft,{...t});Dt.propTypes=Mt,Dt.defaultProps=Ft.defaultProps,Dt.displayName="Badge";const qt={variant:{default:"",primary:"yst-text-primary-500",white:"yst-text-white"},size:{3:"yst-w-3 yst-h-3",4:"yst-w-4 yst-h-4",8:"yst-w-8 yst-h-8"}},At=(0,l.forwardRef)((({variant:t,size:n,className:a},s)=>{const o=c();return(0,e.createElement)("svg",{ref:s,xmlns:"http://www.w3.org/2000/svg/",fill:"none",viewBox:"0 0 24 24",className:r()("yst-animate-spin",qt.variant[t],qt.size[n],a),...o},(0,e.createElement)("circle",{className:"yst-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,e.createElement)("path",{className:"yst-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"}))})),jt={variant:o().oneOf((0,i.keys)(qt.variant)),size:o().oneOf((0,i.keys)(qt.size)),className:o().string};At.propTypes=jt,At.defaultProps={variant:"default",size:"4",className:""};const Bt=t=>(0,e.createElement)(At,{...t});Bt.propTypes=jt,Bt.defaultProps=At.defaultProps,Bt.displayName="Spinner";const Ht=At,zt={variant:{primary:"yst-button--primary",secondary:"yst-button--secondary",tertiary:"yst-button--tertiary",error:"yst-button--error",upsell:"yst-button--upsell"},size:{default:"",small:"yst-button--small",large:"yst-button--large"}},$t=(0,l.forwardRef)((({children:t,as:n,type:a,variant:s,size:o,isLoading:l,disabled:i,className:c,...u},d)=>(0,e.createElement)(n,{type:a||"button"===n&&"button"||void 0,disabled:i,ref:d,className:r()("yst-button",zt.variant[s],zt.size[o],l&&"yst-cursor-wait",i&&"yst-button--disabled",c),...u},l&&(0,e.createElement)(Ht,{size:"small"===o?"3":"4",className:"yst--ml-1 yst-mr-2"}),t))),Ut={children:o().node.isRequired,as:o().elementType,type:o().oneOf(["button","submit"]),variant:o().oneOf((0,i.keys)(zt.variant)),size:o().oneOf((0,i.keys)(zt.size)),isLoading:o().bool,disabled:o().bool,className:o().string};$t.propTypes=Ut,$t.defaultProps={as:"button",type:void 0,variant:"primary",size:"default",isLoading:!1,disabled:!1,className:""};const Vt=$t,Wt=t=>(0,e.createElement)($t,{...t});Wt.propTypes=Ut,Wt.defaultProps=$t.defaultProps,Wt.displayName="Button";const Gt=(0,l.forwardRef)((({as:t,className:n,label:a,children:s,...o},l)=>(0,e.createElement)(t,{ref:l,className:r()("yst-label",n),...o},a||s||null))),Kt={label:o().string,children:o().string,as:o().elementType,className:o().string};Gt.propTypes=Kt,Gt.defaultProps={label:"",children:"",as:"label",className:""};const Qt=t=>(0,e.createElement)(Gt,{...t});Qt.propTypes=Kt,Qt.defaultProps=Gt.defaultProps,Qt.displayName="Label";const Yt=Gt,Zt=(0,l.forwardRef)((({id:t,name:n,value:a,label:s,disabled:o,className:l,...i},c)=>(0,e.createElement)("div",{className:r()("yst-checkbox",o&&"yst-checkbox--disabled",l)},(0,e.createElement)("input",{ref:c,type:"checkbox",id:t,name:n,value:a,disabled:o,className:"yst-checkbox__input",...i}),(0,e.createElement)(Yt,{htmlFor:t,className:"yst-checkbox__label",label:s})))),Xt={id:o().string.isRequired,name:o().string.isRequired,value:o().string.isRequired,label:o().string.isRequired,className:o().string,disabled:o().bool};Zt.propTypes=Xt,Zt.defaultProps={className:""};const Jt=t=>(0,e.createElement)(Zt,{...t});Jt.propTypes=Xt,Jt.defaultProps=Zt.defaultProps,Jt.displayName="Checkbox";const en=Zt,tn={variant:{default:"",block:"yst-code--block"}},nn=(0,l.forwardRef)((({children:t,variant:n="default",className:a="",...s},o)=>(0,e.createElement)("code",{ref:o,className:r()("yst-code",tn.variant[n],a),...s},t))),an={children:o().node.isRequired,variant:o().oneOf(Object.keys(tn.variant)),className:o().string};nn.propTypes=an;const rn=t=>(0,e.createElement)(nn,{...t});rn.propTypes=an,rn.defaultProps=nn.defaultProps,rn.displayName="Code";const sn=nn,on=n(5948).ErrorBoundary,ln={variant:{default:"yst-link--default",primary:"yst-link--primary",error:"yst-link--error"}},cn=(0,l.forwardRef)((({as:t,variant:n,className:a,children:s,...o},l)=>(0,e.createElement)(t,{ref:l,className:r()("yst-link",ln.variant[n],a),...o},s))),un={children:o().node.isRequired,variant:o().oneOf(Object.keys(ln.variant)),as:o().elementType,className:o().string};cn.propTypes=un,cn.defaultProps={as:"a",variant:"default",className:""};const dn=t=>(0,e.createElement)(cn,{...t});dn.propTypes=un,dn.defaultProps=cn.defaultProps,dn.displayName="Link";const pn=cn,mn=({as:t,className:n,children:a})=>(0,e.createElement)(t,{className:r()("yst-paper__content",n)},a);mn.propTypes={as:o().node,className:o().string,children:o().node.isRequired},mn.defaultProps={as:"div",className:""};const fn=mn,yn=({as:t,className:n,children:a})=>(0,e.createElement)(t,{className:r()("yst-paper__header",n)},a);yn.propTypes={as:o().node,className:o().string,children:o().node.isRequired},yn.defaultProps={as:"header",className:""};const bn=yn,vn=(0,l.forwardRef)((({as:t="div",className:n="",children:a},s)=>(0,e.createElement)(t,{ref:s,className:r()("yst-paper",n)},a))),gn={as:o().node,className:o().string,children:o().node.isRequired};vn.propTypes=gn,vn.defaultProps={as:"div",className:""},vn.Header=bn,vn.Header.displayName="Paper.Header",vn.Content=fn,vn.Content.displayName="Paper.Content";const hn=t=>(0,e.createElement)(vn,{...t});hn.propTypes=gn,hn.defaultProps=vn.defaultProps,hn.displayName="Paper";const En=vn,xn=(0,l.forwardRef)((({min:t,max:n,progress:a,className:s,...o},i)=>{const c=(0,l.useMemo)((()=>a/(n-t)*100),[t,n,a]);return(0,e.createElement)("div",{ref:i,"aria-hidden":"true",className:r()("yst-progress-bar",s),...o},(0,e.createElement)("div",{className:"yst-progress-bar__progress",style:{width:`${c}%`}}))})),Nn={min:o().number.isRequired,max:o().number.isRequired,progress:o().number.isRequired,className:o().string};xn.propTypes=Nn,xn.defaultProps={className:""};const Rn=t=>(0,e.createElement)(xn,{...t});Rn.propTypes=Nn,Rn.defaultProps=xn.defaultProps,Rn.displayName="ProgressBar";const wn=xn,Tn=(0,l.forwardRef)((({id:t,name:n,value:a,label:s,screenReaderLabel:o,variant:l,disabled:i,className:d,isLabelDangerousHtml:p,...m},f)=>{const y=c();return"inline-block"===l?(0,e.createElement)("div",{className:r()("yst-radio","yst-radio--inline-block",i&&"yst-radio--disabled",d)},(0,e.createElement)("input",{type:"radio",id:t,name:n,value:a,disabled:i,className:"yst-radio__input","aria-label":o,...m}),(0,e.createElement)("span",{className:"yst-radio__content"},(0,e.createElement)(Yt,{htmlFor:t,className:"yst-radio__label",label:p?null:s,dangerouslySetInnerHTML:p?{__html:s}:null}),(0,e.createElement)(u,{className:"yst-radio__check",...y}))):(0,e.createElement)("div",{className:r()("yst-radio",i&&"yst-radio--disabled",d)},(0,e.createElement)("input",{ref:f,type:"radio",id:t,name:n,value:a,disabled:i,className:"yst-radio__input",...m}),(0,e.createElement)(Yt,{htmlFor:t,className:"yst-radio__label",label:p?null:s,dangerouslySetInnerHTML:p?{__html:s}:null}))})),On={name:o().string.isRequired,id:o().string.isRequired,value:o().string.isRequired,label:o().string.isRequired,isLabelDangerousHtml:o().bool,screenReaderLabel:o().string,variant:o().oneOf(Object.keys({default:"","inline-block":"yst-radio--inline-block"})),disabled:o().bool,className:o().string};Tn.propTypes=On,Tn.defaultProps={screenReaderLabel:"",variant:"default",disabled:!1,className:"",isLabelDangerousHtml:!1};const Pn=t=>(0,e.createElement)(Tn,{...t});Pn.propTypes=On,Pn.defaultProps=Tn.defaultProps,Pn.displayName="Radio";const Cn=Tn;var Sn=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Sn||{}),kn=(e=>(e[e.Single=0]="Single",e[e.Multi=1]="Multi",e))(kn||{}),Ln=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(Ln||{}),Fn=(e=>(e[e.OpenListbox=0]="OpenListbox",e[e.CloseListbox=1]="CloseListbox",e[e.GoToOption=2]="GoToOption",e[e.Search=3]="Search",e[e.ClearSearch=4]="ClearSearch",e[e.RegisterOption=5]="RegisterOption",e[e.UnregisterOption=6]="UnregisterOption",e[e.RegisterLabel=7]="RegisterLabel",e))(Fn||{});function Mn(e,t=(e=>e)){let n=null!==e.activeOptionIndex?e.options[e.activeOptionIndex]:null,a=J(t(e.options.slice()),(e=>e.dataRef.current.domRef.current)),r=n?a.indexOf(n):null;return-1===r&&(r=null),{options:a,activeOptionIndex:r}}let In={1:e=>e.dataRef.current.disabled||1===e.listboxState?e:{...e,activeOptionIndex:null,listboxState:1},0(e){if(e.dataRef.current.disabled||0===e.listboxState)return e;let t=e.activeOptionIndex,{isSelected:n}=e.dataRef.current,a=e.options.findIndex((e=>n(e.dataRef.current.value)));return-1!==a&&(t=a),{...e,listboxState:0,activeOptionIndex:t}},2(e,t){var n;if(e.dataRef.current.disabled||1===e.listboxState)return e;let a=Mn(e),r=ce(t,{resolveItems:()=>a.options,resolveActiveIndex:()=>a.activeOptionIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.current.disabled});return{...e,...a,searchQuery:"",activeOptionIndex:r,activationTrigger:null!=(n=t.trigger)?n:1}},3:(e,t)=>{if(e.dataRef.current.disabled||1===e.listboxState)return e;let n=""!==e.searchQuery?0:1,a=e.searchQuery+t.value.toLowerCase(),r=(null!==e.activeOptionIndex?e.options.slice(e.activeOptionIndex+n).concat(e.options.slice(0,e.activeOptionIndex+n)):e.options).find((e=>{var t;return!e.dataRef.current.disabled&&(null==(t=e.dataRef.current.textValue)?void 0:t.startsWith(a))})),s=r?e.options.indexOf(r):-1;return-1===s||s===e.activeOptionIndex?{...e,searchQuery:a}:{...e,searchQuery:a,activeOptionIndex:s,activationTrigger:1}},4:e=>e.dataRef.current.disabled||1===e.listboxState||""===e.searchQuery?e:{...e,searchQuery:""},5:(e,t)=>{let n={id:t.id,dataRef:t.dataRef},a=Mn(e,(e=>[...e,n]));return null===e.activeOptionIndex&&e.dataRef.current.isSelected(t.dataRef.current.value)&&(a.activeOptionIndex=a.options.indexOf(n)),{...e,...a}},6:(e,t)=>{let n=Mn(e,(e=>{let n=e.findIndex((e=>e.id===t.id));return-1!==n&&e.splice(n,1),e}));return{...e,...n,activationTrigger:1}},7:(e,t)=>({...e,labelId:t.id})},Dn=(0,e.createContext)(null);function qn(t){let n=(0,e.useContext)(Dn);if(null===n){let e=new Error(`<${t} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,qn),e}return n}Dn.displayName="ListboxActionsContext";let An=(0,e.createContext)(null);function jn(t){let n=(0,e.useContext)(An);if(null===n){let e=new Error(`<${t} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,jn),e}return n}function Bn(e,t){return H(t.type,In,e,t)}An.displayName="ListboxDataContext";let Hn=e.Fragment,zn=ve((function(t,n){let{value:a,defaultValue:r,name:s,onChange:o,by:l=((e,t)=>e===t),disabled:i=!1,horizontal:c=!1,multiple:u=!1,...d}=t;const p=c?"horizontal":"vertical";let m=le(n),[f=(u?[]:void 0),y]=_e(a,o,r),[b,v]=(0,e.useReducer)(Bn,{dataRef:(0,e.createRef)(),listboxState:1,options:[],searchQuery:"",labelId:null,activeOptionIndex:null,activationTrigger:1}),g=(0,e.useRef)({static:!1,hold:!1}),h=(0,e.useRef)(null),E=(0,e.useRef)(null),x=(0,e.useRef)(null),N=q("string"==typeof l?(e,t)=>{let n=l;return(null==e?void 0:e[n])===(null==t?void 0:t[n])}:l),R=(0,e.useCallback)((e=>H(w.mode,{1:()=>f.some((t=>N(t,e))),0:()=>N(f,e)})),[f]),w=(0,e.useMemo)((()=>({...b,value:f,disabled:i,mode:u?1:0,orientation:p,compare:N,isSelected:R,optionsPropsRef:g,labelRef:h,buttonRef:E,optionsRef:x})),[f,i,u,b]);_((()=>{b.dataRef.current=w}),[w]),ne([w.buttonRef,w.optionsRef],((e,t)=>{var n;v({type:1}),Y(t,Q.Loose)||(e.preventDefault(),null==(n=w.buttonRef.current)||n.focus())}),0===w.listboxState);let T=(0,e.useMemo)((()=>({open:0===w.listboxState,disabled:i,value:f})),[w,i,f]),O=q((e=>{let t=w.options.find((t=>t.id===e));!t||M(t.dataRef.current.value)})),P=q((()=>{if(null!==w.activeOptionIndex){let{dataRef:e,id:t}=w.options[w.activeOptionIndex];M(e.current.value),v({type:2,focus:ie.Specific,id:t})}})),C=q((()=>v({type:0}))),S=q((()=>v({type:1}))),k=q(((e,t,n)=>e===ie.Specific?v({type:2,focus:ie.Specific,id:t,trigger:n}):v({type:2,focus:e,trigger:n}))),L=q(((e,t)=>(v({type:5,id:e,dataRef:t}),()=>v({type:6,id:e})))),F=q((e=>(v({type:7,id:e}),()=>v({type:7,id:null})))),M=q((e=>H(w.mode,{0:()=>null==y?void 0:y(e),1(){let t=w.value.slice(),n=t.findIndex((t=>N(t,e)));return-1===n?t.push(e):t.splice(n,1),null==y?void 0:y(t)}}))),I=q((e=>v({type:3,value:e}))),A=q((()=>v({type:4}))),j=(0,e.useMemo)((()=>({onChange:M,registerOption:L,registerLabel:F,goToOption:k,closeListbox:S,openListbox:C,selectActiveOption:P,selectOption:O,search:I,clearSearch:A})),[]),B={ref:m},z=(0,e.useRef)(null),$=D();return(0,e.useEffect)((()=>{!z.current||void 0!==r&&$.addEventListener(z.current,"reset",(()=>{M(r)}))}),[z,M]),e.createElement(Dn.Provider,{value:j},e.createElement(An.Provider,{value:w},e.createElement(Se,{value:H(w.listboxState,{0:Pe.Open,1:Pe.Closed})},null!=s&&null!=f&&xe({[s]:f}).map((([t,n],a)=>e.createElement(Te,{features:we.Hidden,ref:0===a?e=>{var t;z.current=null!=(t=null==e?void 0:e.closest("form"))?t:null}:void 0,...ge({key:t,as:"input",type:"hidden",hidden:!0,readOnly:!0,name:t,value:n})}))),fe({ourProps:B,theirProps:d,slot:T,defaultTag:Hn,name:"Listbox"}))))})),$n=ve((function(t,n){var a;let r=B(),{id:s=`headlessui-listbox-button-${r}`,...o}=t,l=jn("Listbox.Button"),i=qn("Listbox.Button"),c=le(l.buttonRef,n),u=D(),d=q((e=>{switch(e.key){case ke.Space:case ke.Enter:case ke.ArrowDown:e.preventDefault(),i.openListbox(),u.nextFrame((()=>{l.value||i.goToOption(ie.First)}));break;case ke.ArrowUp:e.preventDefault(),i.openListbox(),u.nextFrame((()=>{l.value||i.goToOption(ie.Last)}))}})),p=q((e=>{e.key===ke.Space&&e.preventDefault()})),m=q((e=>{if(Ee(e.currentTarget))return e.preventDefault();0===l.listboxState?(i.closeListbox(),u.nextFrame((()=>{var e;return null==(e=l.buttonRef.current)?void 0:e.focus({preventScroll:!0})}))):(e.preventDefault(),i.openListbox())})),f=F((()=>{if(l.labelId)return[l.labelId,s].join(" ")}),[l.labelId,s]),y=(0,e.useMemo)((()=>({open:0===l.listboxState,disabled:l.disabled,value:l.value})),[l]);return fe({ourProps:{ref:c,id:s,type:re(t,l.buttonRef),"aria-haspopup":"listbox","aria-controls":null==(a=l.optionsRef.current)?void 0:a.id,"aria-expanded":l.disabled?void 0:0===l.listboxState,"aria-labelledby":f,disabled:l.disabled,onKeyDown:d,onKeyUp:p,onClick:m},theirProps:o,slot:y,defaultTag:"button",name:"Listbox.Button"})})),Un=ve((function(t,n){let a=B(),{id:r=`headlessui-listbox-label-${a}`,...s}=t,o=jn("Listbox.Label"),l=qn("Listbox.Label"),i=le(o.labelRef,n);_((()=>l.registerLabel(r)),[r]);let c=q((()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.focus({preventScroll:!0})})),u=(0,e.useMemo)((()=>({open:0===o.listboxState,disabled:o.disabled})),[o]);return fe({ourProps:{ref:i,id:r,onClick:c},theirProps:s,slot:u,defaultTag:"label",name:"Listbox.Label"})})),Vn=pe.RenderStrategy|pe.Static,Wn=ve((function(t,n){var a;let r=B(),{id:s=`headlessui-listbox-options-${r}`,...o}=t,l=jn("Listbox.Options"),i=qn("Listbox.Options"),c=le(l.optionsRef,n),u=D(),d=D(),p=Ce(),m=null!==p?p===Pe.Open:0===l.listboxState;(0,e.useEffect)((()=>{var e;let t=l.optionsRef.current;!t||0===l.listboxState&&t!==(null==(e=z(t))?void 0:e.activeElement)&&t.focus({preventScroll:!0})}),[l.listboxState,l.optionsRef]);let f=q((e=>{switch(d.dispose(),e.key){case ke.Space:if(""!==l.searchQuery)return e.preventDefault(),e.stopPropagation(),i.search(e.key);case ke.Enter:if(e.preventDefault(),e.stopPropagation(),null!==l.activeOptionIndex){let{dataRef:e}=l.options[l.activeOptionIndex];i.onChange(e.current.value)}0===l.mode&&(i.closeListbox(),I().nextFrame((()=>{var e;return null==(e=l.buttonRef.current)?void 0:e.focus({preventScroll:!0})})));break;case H(l.orientation,{vertical:ke.ArrowDown,horizontal:ke.ArrowRight}):return e.preventDefault(),e.stopPropagation(),i.goToOption(ie.Next);case H(l.orientation,{vertical:ke.ArrowUp,horizontal:ke.ArrowLeft}):return e.preventDefault(),e.stopPropagation(),i.goToOption(ie.Previous);case ke.Home:case ke.PageUp:return e.preventDefault(),e.stopPropagation(),i.goToOption(ie.First);case ke.End:case ke.PageDown:return e.preventDefault(),e.stopPropagation(),i.goToOption(ie.Last);case ke.Escape:return e.preventDefault(),e.stopPropagation(),i.closeListbox(),u.nextFrame((()=>{var e;return null==(e=l.buttonRef.current)?void 0:e.focus({preventScroll:!0})}));case ke.Tab:e.preventDefault(),e.stopPropagation();break;default:1===e.key.length&&(i.search(e.key),d.setTimeout((()=>i.clearSearch()),350))}})),y=F((()=>{var e,t,n;return null!=(n=null==(e=l.labelRef.current)?void 0:e.id)?n:null==(t=l.buttonRef.current)?void 0:t.id}),[l.labelRef.current,l.buttonRef.current]),b=(0,e.useMemo)((()=>({open:0===l.listboxState})),[l]);return fe({ourProps:{"aria-activedescendant":null===l.activeOptionIndex||null==(a=l.options[l.activeOptionIndex])?void 0:a.id,"aria-multiselectable":1===l.mode||void 0,"aria-labelledby":y,"aria-orientation":l.orientation,id:s,onKeyDown:f,role:"listbox",tabIndex:0,ref:c},theirProps:o,slot:b,defaultTag:"ul",features:Vn,visible:m,name:"Listbox.Options"})})),Gn=ve((function(t,n){let a=B(),{id:r=`headlessui-listbox-option-${a}`,disabled:s=!1,value:o,...l}=t,i=jn("Listbox.Option"),c=qn("Listbox.Option"),u=null!==i.activeOptionIndex&&i.options[i.activeOptionIndex].id===r,d=i.isSelected(o),p=(0,e.useRef)(null),m=L({disabled:s,value:o,domRef:p,get textValue(){var e,t;return null==(t=null==(e=p.current)?void 0:e.textContent)?void 0:t.toLowerCase()}}),f=le(n,p);_((()=>{if(0!==i.listboxState||!u||0===i.activationTrigger)return;let e=I();return e.requestAnimationFrame((()=>{var e,t;null==(t=null==(e=p.current)?void 0:e.scrollIntoView)||t.call(e,{block:"nearest"})})),e.dispose}),[p,u,i.listboxState,i.activationTrigger,i.activeOptionIndex]),_((()=>c.registerOption(r,m)),[m,r]);let y=q((e=>{if(s)return e.preventDefault();c.onChange(o),0===i.mode&&(c.closeListbox(),I().nextFrame((()=>{var e;return null==(e=i.buttonRef.current)?void 0:e.focus({preventScroll:!0})})))})),b=q((()=>{if(s)return c.goToOption(ie.Nothing);c.goToOption(ie.Specific,r)})),v=Me(),g=q((e=>v.update(e))),h=q((e=>{!v.wasMoved(e)||s||u||c.goToOption(ie.Specific,r,0)})),E=q((e=>{!v.wasMoved(e)||s||!u||c.goToOption(ie.Nothing)})),x=(0,e.useMemo)((()=>({active:u,selected:d,disabled:s})),[u,d,s]);return fe({ourProps:{id:r,ref:f,role:"option",tabIndex:!0===s?void 0:-1,"aria-disabled":!0===s||void 0,"aria-selected":d,disabled:void 0,onClick:y,onFocus:b,onPointerEnter:g,onMouseEnter:g,onPointerMove:h,onMouseMove:h,onPointerLeave:E,onMouseLeave:E},theirProps:l,slot:x,defaultTag:"li",name:"Listbox.Option"})})),Kn=Object.assign(zn,{Button:$n,Label:Un,Options:Wn,Option:Gn});const Qn={value:o().oneOfType([o().string,o().number,o().bool]).isRequired,label:o().string.isRequired},Yn=({value:t,label:n})=>{const a=c(),s=(0,l.useCallback)((({active:e,selected:t})=>r()("yst-select__option",e&&"yst-select__option--active",t&&"yst-select__option--selected")),[]);return(0,e.createElement)(Kn.Option,{value:t,className:s},(({selected:t})=>(0,e.createElement)(l.Fragment,null,(0,e.createElement)("span",{className:r()("yst-select__option-label",t&&"yst-font-semibold")},n),t&&(0,e.createElement)(gt,{className:"yst-select__option-check",...a}))))};Yn.propTypes=Qn;const Zn=(0,l.forwardRef)((({id:t,value:n,options:a,children:s,selectedLabel:o,label:i,labelProps:u,labelSuffix:d,onChange:p,disabled:m,validation:f,className:y,buttonProps:b,...v},g)=>{const h=(0,l.useMemo)((()=>a.find((e=>n===(null==e?void 0:e.value)))||a[0]),[n,a]),E=c();return(0,e.createElement)(Kn,{ref:g,as:"div",value:n,onChange:p,disabled:m,className:r()("yst-select",m&&"yst-select--disabled",y),...v},i&&(0,e.createElement)("div",{className:"yst-flex yst-items-center yst-mb-2"},(0,e.createElement)(Kn.Label,{as:Yt,...u},i),d),(0,e.createElement)(Rt,{as:Kn.Button,"data-id":t,className:"yst-select__button",validation:f,...b},(0,e.createElement)("span",{className:"yst-select__button-label"},o||(null==h?void 0:h.label)||""),!(null!=f&&f.message)&&(0,e.createElement)(ht,{className:"yst-select__button-icon",...E})),(0,e.createElement)(vt,{as:l.Fragment,enter:"yst-transition yst-duration-100 yst-ease-out",enterFrom:"yst-transform yst-scale-95 yst-opacity-0",enterTo:"yst-transform yst-scale-100 yst-opacity-100",leave:"yst-transition yst-duration-75 yst-ease-out",leaveFrom:"yst-transform yst-scale-100 yst-opacity-100",leaveTo:"yst-transform yst-scale-95 yst-opacity-0"},(0,e.createElement)(Kn.Options,{className:"yst-select__options"},s||a.map((t=>(0,e.createElement)(Yn,{key:t.value,...t}))))))})),Xn={id:o().string.isRequired,value:o().oneOfType([o().string,o().number,o().bool]).isRequired,options:o().arrayOf(o().shape(Qn)),children:o().node,selectedLabel:o().string,label:o().string,labelProps:o().object,labelSuffix:o().node,onChange:o().func.isRequired,disabled:o().bool,validation:o().shape({variant:o().string,message:o().node}),className:o().string,buttonProps:o().object};Zn.propTypes=Xn,Zn.Option=Yn,Zn.Option.displayName="Select.Option",Zn.defaultProps={options:[],children:null,selectedLabel:"",label:"",labelProps:{},labelSuffix:null,disabled:!1,validation:{},className:"",buttonProps:{}};const Jn=t=>(0,e.createElement)(Zn,{...t});Jn.propTypes=Xn,Jn.defaultProps=Zn.defaultProps,Jn.displayName="Select";const ea=Zn,ta=({as:t,className:n,children:a})=>(0,e.createElement)(t,{className:r()("yst-skeleton-loader",n)},a&&(0,e.createElement)("div",{className:"yst-pointer-events-none yst-invisible"},a));ta.propTypes={as:o().elementType,className:o().string,children:o().node},ta.defaultProps={as:"span",className:"",children:null};const na=ta,aa={variant:{striped:"even:yst-bg-slate-50 odd:yst-bg-white",plain:""}},ra=({children:t,className:n="",...a})=>(0,e.createElement)("td",{className:r()("yst-px-3 yst-py-4 yst-text-sm yst-text-slate-500",n),...a},t);ra.propTypes={children:o().node.isRequired,variant:o().oneOf(Object.keys(aa.variant)),className:o().string};const sa=({children:t,variant:n="plain",className:a="",...s})=>(0,e.createElement)("tr",{className:r()(aa.variant[n],a),...s},t);sa.propTypes={children:o().node.isRequired,variant:o().oneOf(Object.keys(aa.variant)),className:o().string};const oa=({children:t,className:n="",...a})=>(0,e.createElement)("th",{className:r()("yst-px-3 yst-py-4 yst-text-left yst-text-sm yst-font-semibold yst-text-slate-900",n),...a},t);oa.propTypes={children:o().node.isRequired,className:o().string};const la=({children:t,className:n="",...a})=>(0,e.createElement)("thead",{className:r()("yst-bg-slate-50",n),...a},t);la.propTypes={children:o().node.isRequired,className:o().string};const ia=({children:t,className:n="",...a})=>(0,e.createElement)("tbody",{className:r()("yst-divide-y yst-divide-gray-200 yst-bg-white",n),...a},t);ia.propTypes={children:o().node.isRequired,className:o().string};const ca=(0,l.forwardRef)((({children:t,className:n="",...a},s)=>(0,e.createElement)("div",{className:"yst-overflow-hidden yst-shadow yst-ring-1 yst-ring-black yst-ring-opacity-5 yst-rounded-lg"},(0,e.createElement)("table",{className:r()("yst-min-w-full yst-divide-y yst-divide-slate-300",n),...a,ref:s},t))));ca.propTypes={children:o().node.isRequired,className:o().string},ca.Head=la,ca.Head.displayName="Table.Head",ca.Body=ia,ca.Body.displayName="Table.Body",ca.Header=oa,ca.Header.displayName="Table.Header",ca.Row=sa,ca.Row.displayName="Table.Row",ca.Cell=ra,ca.Cell.displayName="Table.Cell";const ua=ca,da=e.forwardRef((function(t,n){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:n},t),e.createElement("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"}))})),pa=({tag:t,index:n,disabled:a=!1,onRemoveTag:r,screenReaderRemoveTag:s,...o})=>{const i=(0,l.useCallback)((e=>{if(!a)switch(null==e?void 0:e.key){case"Delete":case"Backspace":return r(n),e.preventDefault(),!0}}),[n,a,r]),c=(0,l.useCallback)((e=>{if(!a)return r(n),e.preventDefault(),!0}),[n,a,r]);return(0,e.createElement)(It,{onKeyDown:i,...o,variant:"plain",className:"yst-tag-input__tag"},(0,e.createElement)("span",{className:"yst-mb-px"},t),(0,e.createElement)("button",{type:"button",onClick:c,className:"yst-tag-input__remove-tag"},(0,e.createElement)("span",{className:"yst-sr-only"},s),(0,e.createElement)(da,{className:"yst-h-3 yst-w-3"})))};pa.propTypes={tag:o().string.isRequired,index:o().number.isRequired,disabled:o().bool,onRemoveTag:o().func.isRequired,screenReaderRemoveTag:o().string.isRequired};const ma=(0,l.forwardRef)((({tags:t=[],children:n,className:a,disabled:s,onAddTag:o,onRemoveTag:c,onSetTags:u,onBlur:d,screenReaderRemoveTag:p,...m},f)=>{const[y,b]=(0,l.useState)(""),v=(0,l.useCallback)((e=>{var t;(0,i.isString)(null==e||null===(t=e.target)||void 0===t?void 0:t.value)&&b(e.target.value)}),[b]),g=(0,l.useCallback)((e=>{switch(e.key){case",":case"Enter":return y.length>0&&(o(y),b("")),e.preventDefault(),!0;case"Backspace":if(0!==y.length||0===t.length)break;return c(t.length-1),e.ctrlKey&&u([]),e.preventDefault(),!0}}),[y,t,b,o]),h=(0,l.useCallback)((e=>{y.length>0&&(o(y),b("")),d(e)}),[y,o,b,d]);return(0,e.createElement)("div",{className:r()("yst-tag-input",s&&"yst-tag-input--disabled",a)},n||(0,i.map)(t,((t,n)=>(0,e.createElement)(pa,{key:`tag-${n}`,tag:t,index:n,disabled:s,onRemoveTag:c,screenReaderRemoveTag:p}))),(0,e.createElement)("input",{ref:f,type:"text",disabled:s,className:"yst-tag-input__input",onKeyDown:g,...m,onChange:v,onBlur:h,value:y}))})),fa={tags:o().arrayOf(o().string),children:o().node,className:o().string,disabled:o().bool,onAddTag:o().func,onRemoveTag:o().func,onSetTags:o().func,onBlur:o().func,screenReaderRemoveTag:o().string};ma.propTypes=fa,ma.Tag=pa,ma.Tag.displayName="TagInput.Tag",ma.defaultProps={tags:[],children:null,className:"",disabled:!1,onAddTag:i.noop,onRemoveTag:i.noop,onSetTags:i.noop,onBlur:i.noop,screenReaderRemoveTag:"Remove tag"};const ya=ma,ba=t=>(0,e.createElement)(ma,{...t});ba.propTypes=fa,ba.defaultProps=ma.defaultProps,ba.displayName="TagInput";const va=(0,l.forwardRef)((({type:t,className:n,disabled:a,readOnly:s,...o},l)=>(0,e.createElement)("input",{ref:l,type:t,className:r()(!(null!=o&&o.value)&&"yst-text-input--empty","yst-text-input",a&&"yst-text-input--disabled",s&&"yst-text-input--read-only",n),disabled:a,readOnly:s,...o}))),ga={type:o().string,className:o().string,disabled:o().bool,readOnly:o().bool};va.propTypes=ga,va.defaultProps={type:"text",className:"",disabled:!1,readOnly:!1};const ha=va,Ea=t=>(0,e.createElement)(va,{...t});Ea.propTypes=ga,Ea.defaultProps=va.defaultProps,Ea.displayName="TextInput";const xa=(0,l.forwardRef)((({disabled:t,rows:n,className:a,...s},o)=>(0,e.createElement)("textarea",{ref:o,disabled:t,rows:n,className:r()("yst-textarea",t&&"yst-textarea--disabled",a),...s}))),Na={className:o().string,disabled:o().bool,cols:o().number,rows:o().number};xa.propTypes=Na,xa.defaultProps={className:"",disabled:!1,cols:20,rows:2};const Ra=t=>(0,e.createElement)(xa,{...t});Ra.propTypes=Na,Ra.defaultProps=xa.defaultProps,Ra.displayName="Textarea";const wa=xa,Ta={size:{1:"yst-title--1",2:"yst-title--2",3:"yst-title--3",4:"yst-title--4",5:"yst-title--5"}},Oa=(0,l.forwardRef)((({children:t,as:n,size:a,className:s,...o},l)=>(0,e.createElement)(n,{ref:l,className:r()("yst-title",Ta.size[a||n[1]],s),...o},t))),Pa={children:o().node.isRequired,as:o().elementType,size:o().oneOf(Object.keys(Ta.size)),className:o().string};Oa.propTypes=Pa,Oa.defaultProps={as:"h1",size:void 0,className:""};const Ca=t=>(0,e.createElement)(Oa,{...t});Ca.propTypes=Pa,Ca.defaultProps=Oa.defaultProps,Ca.displayName="Title";const Sa=Oa;let ka=(0,e.createContext)(null);function _a(){let t=(0,e.useContext)(ka);if(null===t){let e=new Error("You used a